2021. 3. 25. 14:41ㆍReinforcement learning
이번 게시물에서는 강화 학습의 개념에 대해 다루어 보려한다. 강화 학습은 실수와 보상을 통해 학습을 하여 목표를 찾아가는 알고리즘이다. 보상이라는 개념을 통해 weight 와 bias를 학습하며 목적은 최적의 행동양식 또는 정책을 학습하는 것이다.
기본적으로 강화학습은 결정을 순차적으로 내려야 하는 문제에 적용을 한다. 이를 위해서 MDP(Markov Decision Process) 라는 개념을 사용한다.
1.순차적 행동 문제를 MDP로 전환
2.가치함수를 벨만 방정식으로 반복적 계산
3.최적 가치함수와 최적 정책을 찾는다
MP(Markov Process, Chain) : MP는 이산 시간이 진행함에 따라 상태가 확률적으로 변화하는 과정을 의미함. 시간 간격이 이산적이고 현재의 상태가 이전 상태에 영향을 받는 확률 과정이다. 즉 앞으로 발생할 수 있는 이벤트들에 대한 순서를 확률로 모델링하는것이다.
상태(state) : 정적인 요소 + 동적인 요소
행동(action) : 어떠한 상태에서 취할 수 있는 행동을 의미
stochastic transition model : 어떤 상태에서 특정 행동을 하여 다음 상태에 도달할 확률
보상(reward) : agent 가 학습할 수 있는 유일한 정보를 의미함. 어떤 상태에서 행동을 하여 다음 상태가 되고, 이때 받는 보상값은 다음 상태가 되는 것에 대한 보상이다.
정책(policy) : 순차적 행동 결정 문제(MDP)에서 구해야할 답을 의미함. 모든 상태에 대해 Agent가 어떠한 action을 해야하는지 정해놓을 것을 의미하며 최적의 정책을 찾는것이 목표이다.
MRP는 이러한 MP에서 각 state마다 좋고 나쁨을 나타낼 수 있는 reward가 추가된 개념이다.
여기서 지금의 reward와 미래의 reward는 다르기에 Discounting factor라는 개념을 사용한다.
이렇게 현재 state에서 return의 기대값을 정의한게 State-value function이다.
MDP는 MRP에서 Decision이 추가된 개념이다. 강화학습에서는 MDP를 통해 모델링을 한다. MP와 MRP에서는 현재 State에서 다음 State로 바로 이어졌지만, MDP에서는 다음 State로 넘어갈 때. 어떤 action을 수행하느냐에 따라서 바뀐다.
State로 봤을때 reward로 계산하면 State-value이고 State에서의 각 Action을 reward로 계산하면 Action-value라 할 수 있다.
Q-learning은 Action-value가 최적이 되도록 하는 알고리즘이다. 이 외에도 위 그림과 같이 수만은 알고리즘이 존재하며 상황별로 어떠한 알고리즘을 사용하는것이 좋을지 판단하는것이 좋을듯 하다.