[Video Lectures]
RL by Sung Kim: youtu.be/dZ4vw6v3LcA
Pang-Yo Lab: youtu.be/wYgyiCEkwC8
Actor Critic: youtu.be/2vJtbAha3To
Agent: 사람
Enviornment: 강아지
Action: 행동
Reward(R): 느낌
사람(Agent)이 강아지(Enviornment)를 꾸짖었는데(Action), 강아지가 좋아했다(Reward).
사람(Agent)이 강아지(Enviornment)를 끌어안았는데(Action), 강아지가 싫어했다(Reward).
Environment를 정의하는 것이 중요
Policy Iteration
- Policy 평가(가치함수를 업데이트)와 Policy 발전(Policy를 업데이트)으로 구성
Value Iteration
- Policy 없이 가치함수로만 Agent가 어디로 갈 지 결정(가치함수가 각 방향의 Q함수의 최댓값으로 업데이트되기 때문에, 각각의 가치함수가 최고의 판단을 하는 가정을 함)
Markow Decision Process(MDP)
- 순차적으로 행동을 결정하는 문제를 정의할 때 사용하는 방법
- 순차적 행동 결정 문제를 수학적으로 정의해서 에이전트가 순차적으로 행동 결정 문제 접근
State: Agent의 정보
- Agent가 움직이는 속도와 같은 동적인 요소 또는 상태를 표현
Policy(π)
- 모든 State에서 Agent가 할 행동
- 순차적 행동 결정 문제에서 구해야 할 답
- Agent가 Reward를 얻으려면 모든 상태에 대해 어떤 행동을 해야 하는지 정해놓은 것
- 순차적 행동 결정 문제를 풀면 제일 좋은 Policy를 Agent가 얻음
- 제일 좋은 Policy는 Optimal Policy라고하며 Reward를 최대로 받음
Discount Factor(γ)
- Agent는 Reward가 얼마나 시간이 지나서 받는지를 고려해서 감가시켜 현재의 가치로 따짐
- 0과 1 사이값
Value Function
- Agent가 어떤 Policy가 더 좋은 Policy인지 판단하는 기준
- 현재의 Policy(π)를 따라갔을 때 받을 Reward에 대한 기댓값
- Agent는 Policy를 업데이트할 때 가치함수를 사용, 보통 가치함수보다는 Agent가 선택할 각 Action의 가치를 직접적으로 나타내는 Q Function을 사용
Q Function(행동 가치함수)
- 어떤 행동이 얼마나 좋은지 알려주는 함수
Bellman Equation
- 현재 State의 가치함수와 다음 상태 가치함수의 관계식
- Optimal Policy에서 가치함수 사이의 관계식 → Optimal Bellman Equation
Policy Iteration
- Dynamic Programming으로 Bellman 기대 방정식을 푸는 것
Value Iteration
- Optimal Bellman Equation을 푸는 것
Reinforcement Leraning Algorithm Flow
Monte Carlo Method
- Dynamic Programming에서 RL로 넘어가는 가장 기본적인 아이디어
- 기댓값을 샘플링을 통한 평균으로 대체하는 기법
- 에피소드를 하나 진행하고 에피소드 동안 지나온 상태의 반환값을 구함. 이 반환값은 하나의 샘플이 되어서 각 상태의 가치함수를 업데이트
Temporal-Difference Prediction
- Monte Carlo Method와 달리 타임스텝마다 Q함수를 업데이트
- Bellman Expection Equation을 이용해 Q함수를 업데이트
SARSA = Temporal-Drifference Control
- RL 제어에서 Action을 선택할 때 ε-탐욕 Policy를 사용. 가치함수를 사용하면 Env의 모델을 알아야 하기 때문에 제어에서 Q함수를 사용
- Q함수를 사용할 때 시간차 제어에서는 하나의 샘플로 필요
Q-Learning = Off-Policy Temporal-Difference Control
- SARSA는 On-Policy RL. On-Policy의 단점을 개선하는 것이 Off-Policy이며 Q-Learning이 대표적.
- Action 선택에서 ε-탐욕 Policy를 사용하고 Q함수의 업데이트에서 Bellman Optimal Equation을 이용.
- SARSA는 자신이 행동하는 대로 학습하는 시간차 제어. 탐험을 위해 선택한 ε-탐욕 정책 때문에 Agent는 오히려 Optimal Policy를 학습하지 못하고 잘못된 Policy를 학습한다. (탐험이 절대적으로 필요한데, Q함수 Q값이 낮다고 판단되어 탐험하지 않고 갇혀버리는 현상이 발생)이러한 딜레마를 해결하기 위해 사용하는 것
- 현재 행동하는 Policy와는 독립적으로 학습한다는 것(행동하는 Policy와 학습하는 Policy를 따로 분리)
Policy Gradient
- 인공신경망으로 Policy를 근사하고 목표함수의 기울기를 다라 정책신경망을 업데이트하는 것. 그중에서도 반환값을 업데이트의 기준으로 사용하는 것이 Reiforce Algorithm
Actor-Critic(Advantage Actor-Critic, A2C)
- Reinforce Algorithm은 일종의 Monte Carlo Policy Gradient로서 Episode마다만 학습하는 단점이 있다. 또한 Episode의 길이가 길어질수록 특정상태(s, a)에 대한 반환값의 변화가 커져서 반환값의 분산이 커지고 학습을 느리게 만든다. 이 단점을 극복하고 매 Time Step마다 학습할 수 있도록 한 것이 Actor-Critic이다.
'둘 > [ Machine Learning ]' 카테고리의 다른 글
[Reinforcement Learning] Pang-Yo Lab (0) | 2021.01.15 |
---|---|
[Reinforcement Learning] Reinforcement Learning by Sung Kim (0) | 2021.01.14 |
[PyTorch] PyTorch 설치 (0) | 2021.01.07 |
DataFrame 엑셀(xlsx, csv) 파일 형식으로 저장하기 (0) | 2021.01.06 |
Tensorflow-GPU 사용하기 (0) | 2020.12.27 |