본문 바로가기
Machine Learning

ML #16 : 머신러닝 강화학습 MDP 특징 및 파라미터 (Markov Decision Process)

by 무적물리 2020. 4. 26.

강화학습이란 인간이 어떤 행동을 습득했을 때와 비슷한 방법으로 컴퓨터를 학습시키는 방법입니다. 어떠한 공식이 있는 것이 아니고, 경험에 의해 모델을 학습하는 것입니다. 강화학습의 목적은 Optimal Policy를 찾는 것이며, 누적보상을 최대화하는 Policy를 찾도록 학습합니다. 이번 포스팅에서는 강화학습에 대해 소개해보겠습니다.




강화학습이란?

학습에 의해 답이 정해지는 것이 아니고, 모르는 환경에서 보상 값(Reward)이 최대가 되게 행동하도록 컴퓨터를 학습시키는 방법이 강화학습입니다. 기존에 학습했던 지도학습, 비지도학습(자율학습)과 비교한 강화학습의 특성은 아래와 같습니다.


- 지도학습 : 정답을 알 수 있는 학습

- 비지도학습 : 정답이 없는 값의 특성 파악

- 강화학습 : 정답은 모르지만 최대 보상을 받도록 학습


강화학습의 특징은 시행착오적 탐색과 지연보상 입니다. 시행착오적 탐색은 Trial and Error를 통해 머신러닝 모델을 학습시키는 방법이며, 지연보상은 모델에 시간의 개념을 포함시키는 방법입니다.


특징 #1 : 시행착오적 탐색(Trial and Error)

무엇인가를 수행하면서 학습하는 방법이 시행착오적 탐색 방법입니다. Trial and Error 말 그대로 시도해보고 수정하면서 학습하는 방법입니다. 이는, 더 많은 보상(Reward)을 받도록 모델이 학습되며 기존 Reward에 따라 앞으로의 행동이 결정됩니다. 예를 들면, 공부를 열심히하면 엄마가 용돈을 주는 것과 비슷한 이치입니다.


특징 #2 : 지연보상(Delayed Reward)

강화학습에는 시간의 개념이 포함됩니다. 지금의 행동이 Reward로 이어질지, 지금의 행동이 향후 더 큰 Reward로 이어질지, 다른 행동과 합해져서 더 큰 Reward가 될지로 지연보상을 나눌수가 있습니다. 이를 활용해서 시간의 순서가 있는 문제를 학습시킬 수 있습니다.


1. 지금의 행동이 Reward로 이어질지

2. 지금의 행동이 향후 더 큰 Reward로 이어질지

3. 다른 행동과 합해져서 더 큰 Reward가 될지



Markov Decision Process (MDP)

MDP는 강화학습 수행절차 중 하나이며, MDP의 개념은 로봇이 바라보는 관점입니다. 로봇이 행동하면서 어떤 행동이 정답인지는 모르지만 보상(Reward)경험을 통해 보석을 향해 이동하는 방법입니다. MDP는 간단하게 로봇이 보석을 얻기 위해 어떻게 해야 할 지를 학습하는 것입니다. 


MDP의 구성은 로봇의 위치(State), 앞/뒤/좌/우 이동 행동(Action), 로봇이 가지려는 보석(Reward)로 이루어집니다. MDP는 아래와 같은 Factor로 강화학습을 수행합니다.


- S : State

- A : Action

- P : State Transition Matrix

- R : Reward

- γ : Discount Factor


State는 로봇의 현재 상태이며, Action은 사람의 뇌와 같은 역할을 해서 Action에 의해 State가 변합니다. 상태 전이 확률 행렬(State Transition Matrix)은 로봇이 움직이면 위치가 변하게 되는데, 외부 요인에 의해 어떠한 Action을 취했을 때 State가 정확하게 정해질 수 없고 확률적으로 정해진다는 것입니다. 이것은 일종의 Noise가 되는데, 강화학습에서는 이러한 점을 고려해야 합니다. Reward는 Action을 취했을 때, 그에 따른 보상입니다. 


보상 중에서도 즉각적으로 나오는 Reward는 Immediate Reward 입니다. 이렇게 시간에 따라 달라지는 가치를 표현하는 파라미터는 Discount Factor 입니다. Discount Factor는 0~1 사이의 값으로 표현되며 0에 가까우면 근시안적, 1에 가까우면 미래지향적인 것입니다.


Discount Factor 범위 : 0~1

Discount Factor 0 : 근시안적

Discount Factor 1 : 미래지향적



Value Function

# State-Value Function

어떠한 상태 S에 대한 가치에서 다음으로 이동할 수 있는 상태들의 가치를 보고 높은 가치의 상태로 이동하는 것입니다. 이동할 상태의 Value Function이 매우 중요합니다. 효율적이고 정확한 Value Function을 구하는 것이 중요한 문제 입니다.


# Action-Value Function

다음 상태로 가기 위해서는 어떻게 해야 하는지 알아야 하는데, 어떤 상태 S에서 행동 A를 취할 경우 받을 기대값 입니다. 다른 말로 Q-Value라고도 합니다.


마무리 

이번 포스팅에서는 머신러닝 방법 중 강화학습에 대해 알아보았습니다. 기본적으로 현재 상태와 현재 상태에 따른 액션, 그리고 보상으로 수행되는 머신러닝 방법입니다. 이는 모르는 환경에서 보상이 최대가 되도록 정책을 만드는 기법입니다.


댓글