6. Temporal-Difference Learning
데이터사이언스 대학원 강화학습 수업을 듣고 정리한 내용입니다.
Temporal Difference Learning 방법은 Monte Carlo(MC)와 Dynamic Programming(DP)의 아이디어를 결합한 방식이다. MC와 비슷하게 경험으로부터 직접 배우고, DP처럼 학습된 추정치(V, Q, ...)로 다른 추정치를 업데이트 한다.
TD Prediction¶
Monte Carlo 업데이트 규칙(every-visit)을 생각해보면 다음과 같다.
여기서
하지만, TD는 다르다. One-step TD, TD(0)의 업데이트 규칙은 다음과 같다.
따라서 one-step TD 방법은 하나의 타임 스텝만 기다리면 업데이트 할 수 있다.
Tabular TD(0)
TD(0)가 기존에 추정된 값들을 기반으로 업데이트 하기 때문에 bootstrapping 방법이라고도 한다. 그러기에 오차(TD Error)도 존재한다. 오차는 현재의 추정치
다만,
Example: Driving-Home
책에서 소개한 차를 타고 집으로가는 예제를 보자. 집으로 가는데 얼마나 걸리는 지를 예측하고 싶다. 그림과 같이 6개의 state가 있고, 실제 걸린 시간(Elapsed Time)과 예측된 남은 시간(Predicted Time to Go)이 있다. 매 State가 변할 때마다 예측된 남은 시간은 달라진다. 여기서 Reward는 실제 걸린시간이 된다.
위 그림은 MC 방법과 TD 방법의 차이를 극명하게 보여주고 있다. y 축은 예측된 전체 소모 시간(=
Example: Chain MDP
두 번째 예시로 5개의 state를 가지고,
해당 MRP의 true value는 bellman equation
따라서
아래 있는 그림 중 왼쪽은 TD(0) 방법을 사용 했을 때, 경험을 반복 할 때마다 emsimated 한 value function이 실제 값(검은선)에 근접하는 것을 확인 할 수 있다. 오른쪽 그림은 MC 방법과 TD 방법이 learning rate
SARSA¶
보통 우리는 진짜 모델을 모르기 때문에,
Sarsa (on-policy TD Control)
여기서 Greedy in the Limit with Infinite Exploration(GLIE)라는 가정이 들어간다.
-
모든 state-action 쌍은 무한의 횟수로 탐색이 가능하다는 것이다.
-
또한, policy는 greedy policy으로 수렴한다. 즉, state-action 쌍의 추정치가 개선됨에 따라 policy가 점점 결정론적으로 항상 최대의 가치를 가지는 policy가 된다는 뜻이다.
예를 들어,
Convergence of SARSA¶
아래의 조건하에 SARSA는 최적의 action-value function으로 수렴한다
가 GLIE를 만족한다.- 학습률(learning rate = step size)가 확률적 수렴에 만족한다.
Windy grid world
한번 움직일 때마다
import matplotlib.pyplot as plt
episodes = [[1]*1500 + [2]*600 + ... [episode번호]*종료까지_걸린_횟수 ]
plt.plot(episodes)
plt.xlabel('time steps')
plt.ylabel('episodes')
plt.show()
Q-Learning¶
Q-Learning은 SARSA와 비슷하지만, 다음 state의 action을 greedy하게 선택한다는 점이 다르다. 즉,
Q-Learning (off-policy TD Control)
Q-Learning은 off policy이다. 학습하고자 하는 target policy는
Cliff Walking
- 조건: undiscounted, episodic, deterministic environment
- Action: 4개(상, 하, 좌, 우)
- Reward: 모든 state에서 -1 이지만, "The Cliff"에서는 -100의 보상을 받고 즉시 Start state
로 돌아간다. -greedy policy를 사용하며 로 설정한다.
위 그림은 Sarsa와 Q-Learning을 비교한 것이다. Q-Learning이 각 에피소드 별로 더 많은 negative reward를 얻는 것을 볼 수 있다. 이는 고정적인
다만,
Expected SARSA¶
Expected SARSA의 업데이트 규칙은 다음과 같다.
Expected SARSA는 SARSA 보다 계산적으로 복잡하지만, action 선택에 있어서 variance 줄여주기 때문에 조금 더 안정적이다.