Reinforcement Learning

Reinforcement Learning(강화학습) #0 배경 이해와 강화학습 요약 : 강화학습이란, MDP(마르코프 결정 과정), model, dp

공돼 2022. 6. 22. 00:30

Reinforcement Learning ? 

"trial-and-error learning approach to optimal control"

시간에 따라 변화하는 환경에서 agent가 최대 목표치를 이룰 수 있는 controller를 design 하는 것

value-based method인 Q-learning, DQN, policy-based method인 policy gradient, 두 방법을 섞은 actor-critic 이 대표적

 

아래 5가지가 RL이 어려운 근본 원인들이다. 

- Supervisor 없이 reward로만 학습해야된다는 점.

- Feedback(reward)가 delayed 된다는 점.

- Time에 따라 영향을 받는다는 점. data가 i.i.d가 아닌 점.

- Agent가 정한 action에 따라 뒤에 나타나는 data들이 달라진다는 점

- Exploration, exploitation tradeoff

 

MDP

RL로 풀고자하는 문제는 MDP로 표현할 수 있다. 

MDP는 마르코프 결정 과정(MDP, Markov Decision Process)으로 " 의사결정 과정을 모델링하는 수학적인 틀" 이다. 의사결정 과정을 모델링하는 표현 방법으로 이해했다. 

 

https://www.deepmind.com/learning-resources/reinforcement-learning-lecture-series-2021

 

MDP 문제는 optimal(누적 reward 기대값을 최대로 하는) policy를 찾는 것이다. 

 

MDP 문제를 푸는 과정에서 얻고자 하는 최종 목표인 policy와 이를 위해 사용하는 value function이 있는데 이 둘의 의미에 대해 이해하고 넘어가야 한다.

 

policy ? 

입력으로 state주면 그 state에서 할 수 있는 최적의 action 값을 판단하는 함수로 보면되며, deteministic policy는 하나의 state에 하나의 action이 고정되어 있고, stocahstic policy는 state를 주면, 여러 action이 확률로 나온다. 

 

value ?

특정 state 혹은 특정 state, action 상태에서 시작했을 때, 기대할 수 있는 최대 누적 reward 값 이다.

state-value function은 특정 state에서 시작했을 때 기대할 수 있는 최대 누적 reward 값이고, state-action value function은 특정 state, action에서 시작했을 때 기대할 수 있는 최대 누적 reward 값 이다.

현재까지 진행하고 남아있는 상황에 대해 기대할 수 있는 최대 누적 보상 값을 표현할 때 주로 사용한다.

 

 

MDP문제의 model을 알고 있느냐, 모르고 있느냐에 따라 푸는 방법이 다르다. 여기서 model은 state transition probability인 p와, reward이다. model을 알고 있다면 RL을 사용하지 않고 dynamic programming(DP)로 풀 수 있고, 이 둘을 몰랐을 때(model-free) RL로 풀어낸다.

 

다시 정리하면, model ( state transition probability, reward )를 알고 있을 때는 MDP를 dynamic programming으로 푼다.

 

Model을 알 때,

DP로 푸는 방법은 value iteration 방법과 policy iteration 방법이 있다. 

 

- value iteration 

value iteration은 value function만을 계속해서 update 해나가 optimal value function을 찾는 방법으로, optimal value function으로부터 policy를 구한다. optimal value function을 아니까, 모든 state에 대해 optimal action을 얻어내면 policy가 구해진다. value iteration을 따라 value function을 update하면 optimal value function가 구해진다는 것은 fixed point theorem에 따른다. 

 

- policy iteration

policy evaluation과 policy improvement를 반복하며, value function update, policy update를 반복한다.

이론적으로 (monotone convergence theorem) 이와 같은 improvement를 반복하면 policy는 점점 더 좋아진다. 따라서 수렴할 때까지 반복하고, 수렴하면 optimal policy인 것이다. 

 

 

 

하지만, 대부분의 현실 환경은 model을 알기 어렵다. 

 

Model을 모를 때, RL로 policy를 구한다. 

 

RL 을 통한 policy 구하는 과정도 DP와 같이 크게 Value-based method, Policy-based method로 나눌 수 있으며, 두 방법을 섞은 방법도 많이 사용된다. 각 과정에 대한 주요 연구 및 발전 과정은 이후 설명한다. 

https://u-b-h.tistory.com/3?category=944295