

Dynamic Programming은 environment의 transition probabilities를 알 때 적용할 수 있는 method라고 할 수 있다.


Monte Carlo methods는 큰 수로 random sampling한 sample set에 대하여 평균낸 값으로 value를 estimate하는 방법론이다.


이후 episodic tasks를 반복해가며 State-Action-Reward-State-Action을 취한다.

이전에 우리가 했던 K-armed Bandit problem이 Monte-Carlo methods와 같은 맥락이라고 볼 수 있다.

MC prediction 알고리즘의 코드는 아래와 같다.

3→4→7→1→2의 reward를 return으로 얻는 방법은 아래와 같이 전개될 수 있다.

이를 와 reward 로 전개해 표현하면 아래와 같아진다.


MC prediction에서 return을 정의하는 방법은 다음과 같이 를 0으로 initialize하는 것으로부터 출발한다.




Blackjack 게임은 21의 수를 초과하지 않고 딜러보다 21에 가까우면 이기는 게임이다.
Ace는 11과 1로 선택할 수 있으며, player가 21에 도달할 경우 게임은 player의 승리로 끝나게 된다.

이 게임은 Undiscounted MDP(감쇠되지 않는)로 매번 episode에 도달할 수 있는 system이다.

만약 player가 13의 숫자를 가지는 상황에서 한 장을 더 뽑아 20을 만족했다고 해보자.



방금 전 상황을 되돌려(Backward) 보자.


10,000번의 episodes를 경험하여 추정한 state-value functions의 surface와 500,000번의 surface가 아래와 같다.
주목할 만한 점은 Ace를 사용할 수 있을 때의 surface가 그렇지 않을 때의 surface보다 좀 더 dynamic하다는 점이다.
그리고 player sum이 21에 가까울수록 value 값이 높아지며 episodes가 많을수록 stable한 곡면을 갖는다.

Monte Carlo learning이 암시하는 바는 다음과 같다.
우리는 Monte Carlo Prediction을 통해 매 순간 다른 states를 경험하며 independently하게 value를 estimate할 수 있다.






Action-values를 argmax하여 action을 선택하다 보면 policy를 learning하기에 아주 유용한 방법일 수 있다.
지금 당장 집을 가기 위해 매일 다니던 길을 선택하면 최단 거리임을 보장할 수가 없다.

이를 테면 갈색으로 표시된 policy를 따르는 board판이 존재한다고 해보자.

다음과 같이 board의 기존 policy를 따르는 방향대로 흘러갈 것이다.




Generalized policy iteration은 k번째 action-value를 argmax 취하여, k+1번째에서의 policy 를 improve하는 과정을 말한다.


이 알고리즘의 전체적인 로직은 아래와 같다.




현재 player는 13의 결과값을 가지고, dealer는 8의 결과를 가지고 있다.


이제 dealer의 차례가 되어 카드를 한 장 뽑았더니 dealer가 22의 값을 갖게 되었다.

이제 다시 backward로 향하며 value를 역으로 계산해 나가 보자.

Player가 13인 상황에서는 Hit을 선택했기 때문에 게임을 (전체적으로) 이길 수 있었으므로 Hit 선택지에 Reward 1을 적는다.

Ace를 사용할 수 있는 상황과 그럴 수 없는 상황에서의 action 선택지로 policy를 유추해보자.
Ace가 존재하는 상황에서는 Hit 선택지의 action probability 가중치가 그렇지 않을 때의 상황에 비해 높다.



이번 강의에서는 exploring을 수행하기 위한 시작 지점을 현실에서는 알아낼 수 없다는 점에 대해 주목한다.

위에서 보았던 board판 내에서의 움직임은 Start 지점을 initialize하여 exploration할 수 있는 MC control이었다.

그래서 나온 방법론이 바로 -Soft policies control이다.

-Soft policies에서는 policy 를 stochastic하게 바라본다.

기존 Deterministic한 방법론과 -greedy 방법론의 차이는 아래와 같다.

-Soft policies를 따르는 optimal policy는 기존 optimal policy 에 비해 soft하다.

-Soft policies를 따르는 MC control의 알고리즘이다.




-soft policy는 suboptimal policy를 따르는 Values와 Actions를 활용한다.

지금까지 배웠던 내용은 사실 On-policy를 따르는 방법론에 대해 소개한 것이다.
On-policy는 optimal policy를 찾기 위해 value function을 이용하여 evaluation하고 improve(by selected action)하는 과정이었다.
Off-policy는 "다른" policy를 따를 때 생성되는 데이터를 통해 policy를 학습한다는 점에서 차이를 갖는다.

Target policy 는 Agent가 학습하는 policy를 대상으로 한다.
Agent가 학습하는 value function은 대상 policy를 기반으로 한다.

Behavior policy 는 Agent가 action을 선택하도록 하는 역할을 한다.

Target policy는 Agent가 경험하는 경로가 매우 한정적이다.

는 어떠한 state가 주어진 상황에서, 어떠한 action을 선택할지 대상 policy 내에서 선택할 확률을 말한다.

만약 On-policy라면 와 는 같은 경로를 따르게 된다.




만약 sample 가 를 따른다고 하고, expected value의 estimation이 라고 하자.

는 를 구하는 과정이다.


이로써 우리는 를 따르는 실제 expected value를 sample space를 표현하는 에 대한 expected value로 변형시켜 표현할 수 있게 되었다.

Data를 통해 Expected value를 계산하는 과정은 매우 간단하다.



실제 Expected value는 갈색으로 표시된 지점이다.
Sample space인 distribution에서 random variable 을 뽑았다고 가정하여 ratio에 따른 기댓값을 계산해 보았다.

그 다음 random variable 이 뽑혔다고 가정해보자.

또 다음 random variable 이 뽑혔다.
기댓값을 계산하면 이다.



이번 강의에서는 정확한 returns를 계산하기 위해 importance sampling을 어떻게 사용할 수 있을 것인지에 대해 이해한다.


그러나 위에서 얻은 returns는 모두 space에서 sampling된 것이기 때문에 엄연히 말하자면 와 같다고 말할 수는 없다.


값은 under / under ratio를 말한다.

Actions는 behavior 에 대해 sampling되었다.

Behavior 에 관한 chain-rule로 풀어서 정리하면 다음과 같이 전개된다.

우리가 구하고 싶은 는 under / under 로 정의한다.
이 값은 로 정리할 수 있고,
약분하면 로 표현된다.


이는 behavior 에 대하여 sampling된 데이터의 기댓값이라 말할 수 있다.

기존 MC prediction에서의 value estimation은 아래와 같은 알고리즘으로 구현되어 있다.

Off-policy MC prediction 알고리즘은 sample space와 real space의 ratio를 고려한 값까지 함께 returns 값에 추가시킨다.

를 incremental하게 계산하는 방법은 다음과 같이, 가장 최근의 과거로부터 initial 까지의 값을 곱해주는 과정으로 전개된다.

