Model-free control이란 환경이 주어져 있지 않거나, 또는 환경을 알 수 있으나 다루기에 너무 큰 상황(예. Robot walking 등)에서 optimal policy를 찾기 위한 방법을 말한다.

Model-free Policy Improvement

Model-free policy improvement 역시 현재 상태에서 얻어낸 value function을 maximize하는 action을 선택하는 것을 통해 얻어낼 수 있다. 이렇게 얻은 **greedy policy **은 다음과 같다.

다만 model-free 환경에서는 transition probability와 reward를 미리 알 수 없기 때문에, action-value function 을 사용해야만 한다.

즉, model-free prediction 방법론을 에 대해 적용하는 것이 필요하다.

-greedy Policy Improvement

하지만, 를 이용한 greedy policy는 우리가 충분한 action-state pair에 대해 탐색하지 않으면 제대로 동작하지 않을 가능성이 높다. 이러한 문제를 개선하기 위해 등장한 것이 바로 -greedy policy improvement이다.

일반적인 -greedy policy improvement에서는 의 확률로 greedy action을, 의 확률로 임의의 행동을 선택한다. 이를 수식으로 표현하면 다음과 같다.

Model-free Control

앞서 언급했듯이, model-free control의 경우 에 대해 evaluation하는 방법이 필요하다. 일전에 설명한 Monte-Carlo (MC) evaluation 또는 temporal difference (TD) learning을 사용할 수 있다.

하지만 일반적으로 MC evaluation에 비해 TD learning 방법이 더 널리 사용되므로 여기서는 TD learning을 이용한 evaluation에 대해서만 설명하고자 한다. TD learning을 이용한 model-free evaluation 방법은 SARSAQ-learning이 있다.

On-policy vs. Off-policy

SARSA와 Q-learning은 유사한 알고리즘이나, 각각 on-policy와 off-policy 알고리즘이라는 차이가 존재한다.

Agent가 action을 선택할 때 사용되는 policy와 agent가 value function을 update할 때 사용되는 policy가 같은 경우 on-policy 알고리즘, 다른 경우 off-policy 알고리즘이라고 한다.

On-policy 알고리즘의 경우 학습에 사용되는 policy와 value function을 평가하는데 사용되는 policy가 동일하므로 안정적으로 학습이 가능하다. 하지만, 현재 action을 선택하는 policy로 얻은 데이터만 사용할 수 있으므로 데이터 효율성이 떨어지고, exploration과 exploitation 사이의 균형을 맞추기가 어렵다는 단점이 있다.

반면, Off-policy 알고리즘은 exploration을 더 적극적으로 수행할 수 있기 때문에 더 빠른 수렴이 가능하다. 하지만, 학습에 사용되는 policy와 value function을 평가하는데 사용되는 policy가 다르기에 학습이 불안정할 수 있다.

SARSA

SARSA는 대표적인 on-policy 알고리즘으로 다음과 같이 동작한다.

  1. 모든 에 대해서 를 초기화한다.

  2. 현재 state 에서 policy 를 기반으로 action 를 선택한다.

  3. Action 를 수행하고, 새로운 state 과 reward 을 얻는다.

  4. 새로운 state 에서 policy 를 기반으로 action 를 선택한다.

  5. 다음 식으로 에서의 action-value 를 update한다.

  6. , . 이후, 2번으로 돌아간다.

SARSA는 state-action-reward-state-action 각각의 앞글자를 따 정해진 이름이다.

SARSA는 GLIE를 만족하는 policy 와 Robbins-Monro sequence에 해당하는 step-size 에 대해 optimal로 수렴한다는 것이 알려져 있다.

  • GLIE: Greedy in the Limit with Infinite Exploration, 모든 state-action pair가 무수히 많이 explored되는 경우 greedy policy로 수렴하는 (in probability) 성질.

  • Robbins-Monro sequence: and .

Q-learning

Q-learning는 대표적인 off-policy 알고리즘이다.

Off-policy 알고리즘에서는 두 개의 서로 다른 policy를 사용한다.

  • Agent의 action-value를 update할 때 사용되는 다음 시점의 을 결정하는 policy: target policy ()

  • Agent의 실제 action 결정하는 policy: behavior policy ()

Q-learning에서는 target policy로 greedy policy (를, behavior policy로 -greedy policy를 사용한다. 즉, Q-learning은 다음과 같이 동작한다.

  1. 모든 에 대해서 를 초기화한다.

  2. 현재 state 에서 -greedy policy를 기반으로 action 를 선택한다.

  3. Action 를 수행하고, 새로운 state 과 reward 을 얻는다.

  4. 다음 식으로 에서의 action-value 를 update한다.

  5. . 이후, 2번으로 돌아간다.

Q-learning 역시 SARSA와 마찬가지로 optimal로 수렴한다는 것이 알려져 있다.

Cliff Walking Example

두 알고리즘의 학습 결과의 차이를 극명하게 보여주는 가장 좋은 예시가 바로 cliff walking problem이다.

이는 아래 그림과 같은 환경에서 S에서 출발해 G로 도착하는 것을 학습하는 문제이다.

  • Action: up, down, left, right
  • Reward = -1 per time-step, -100 in the cliff, = 0
  • -greedy with = 0.1, = 0.5
  • Initialize

위 문제를 학습시켜보면, 중간 시점에 체크해보는 경우 일반적으로 SARSA는 safe path(local optimal)로 수렴하고, Q-learning은 optimal path로 수렴하게 된다.

단, 무수히 많은 episode를 거치면서 이 0에 수렴하면 두 알고리즘 모두 optimal path를 찾는다.

SARSA는 next state에서의 action을 실제로 수행해보고 이를 현재 state의 value에 반영한다. 즉, optimal path로 가다가 한번 cliff로 떨어지는 경우, 이 때의 경험이 현재 state에 반영되어 cliff 쪽으로 가지 않으려는 성향을 띄게 된다.

반면, Q-learning의 경우 next state에서 cliff에 떨어지는 경험은, next state 에서의 action-state value ()에만 반영되며, 현재 state의 value에는 반영되지 않는다 (greedy action으로 선택이 되지 않기 때문). 이러한 이유로 Q-learning은 보다 모험적이나 optimal한 path에 가깝게 행동한다.

이렇게 보면, off-policy 알고리즘이 항상 더 좋다고 느껴질 수 있으나, 이는 SARSA와 Q-learning에 한정한 비교이므로 문제와 특성에 따른 적절한 알고리즘 선택이 필요하다는 점을 주의하자.