Reinforcement Learning이 어디에 적용되고 있는지 간략하게 알아보았었다.
2020/08/30 - [AI/RL] - RL : Reinforcement Learning 사례
RL의 성능을 좌지우지 하는 것은 결국 어떤 action을 취할지에 대한 의사결정이다.
따라서 우리는 의사결정 방법 중 하나인 Markov Decision Process, MDP 라는 것에 대해 알아볼 것 이다.
RL의 Motivation
보통 우리가 처음부터 모르는 게임을 한다고 가정을 해보자.
처음 게임을 할 때는 작동방법, 득점하는 방법도 모르기 때문에 계속 죽어가면서, 계속 게임을 하면서 익힐 것이다.
우린 게임 콘솔창을 보면서 게임을 여러번 해보고 작동방법도 터득하고, 작동을 해서 득점하는 방법도 터득할 것 이다. 그러면서 우리는 게임을 해보면 이 게임은 어떻게 동작해야 득점을 높게 하는지를 알 수 있다.
이러한 방법을 Trial & Error Learning 이라고 들 한다.
게임을 많이 하면 할 수록 게임을 더 잘하게되는, 이러한 강화 학습과정을 우리보다 연산능력이 빠른 컴퓨터가 하게 된다면, 어떻게 될까? 에서 시작한 것이 바로 Reinforcement Learning, 강화학습이다.
강화학습은 시간에 따라 step별로 action을 취하는 문제를 MDP로 정의하여 푸는 방법 중에 하나인데, DP도 마찬가지다.
RL은 어떻게 구성되어있는가?
구성요소 (MDP)
게임 콘솔창 == enviroment
게임 안에서의 나의 상태 (죽었는지 살았는지 or 벽과 얼마나 가까운지, 위치) == internal state
게임 콘솔창에서의 내 주변 환경을 체크 == observation
어떻게 동작해야하는지 == action
어떻게 득점을 하는지 == reward
어떤 방향으로 가야하는지 == transition (여기 그림에는 안 나옴)
이제 이를 일반화해서 말해보겠다.
Basic Mechanism
행동을 하는 주체 Agent, 행동에 대한 반응을 나타내는 환경 Enviroment가 있다. 처음 단계에서는 Enviroment에 대한 정보가 없기 때문에 현재의 Enviroment에 대한 주어진 정보, State만 받고 이 State에 대해서 Action을 취한다. 이 Agent가 취한 Action에 대해서 Reward를 메긴다. 그리고 Reward를 준 후, Agent의 Action이 Enviroment에 어떠한 영향을 주었는지 다시 Agent에게 알려준다. 이게 기본적인 틀이다.
Policy (간단히)
Policy 는 특정 상태에서 Agent의 Action과 Environment 의 State간의 관계를 도식화한 개념이다. Action이 취하는 과정이 확률적으로 접근할 수 도 있고 (Stochastic) 정형화된 규칙 (Deterministic) 에 의해서도 결정될 수 있다.
Value Function (간단히)
Value Function은 Policy에 의해서 Agent 를 통해 계산되는 State의 Return을 나타내는 함수이다. Value Function은 입력조건에 따라 두 가지로 나뉜다.
1. 현재의 State만을 고려한 간단한 State-Value Function, 오로지 현재의 State만을 고려해서 Reward를 측정한다. 수식으로는 V^π( s (state) ). V(s)는 s라는 상태로부터 주어진 policy (현재 state에서 어떤 action을 취할지) 를 따라 행동했을때 얻어지는 reward의 sum 값인 return의 기댓값이다.
2. 현재의 State + Action 까지 고려한 경우를 Action-Value Function이라고 부른다. Q(s,a)는 현재 상태에서 선택한 행동을 취하면 결과적으로 얼마나 많은 return을 얻게될지 예상한 값이다. 흔히 RL에서 Q-function이라고 부르는 경우를 말한다.
즉, 현재 상태로부터 policy를 따라 행동했을 때 얻어지는 return의 기대값과 현재 State에서 선택한 Action을 취했을 때, 얼마나 많은 return를 얻게 될 것인지 두 개를 합한 값이 Value-Function이다.
이런식으로 반복적인 과정을 취하게 된다면, Agent가 취한 Action에 대해서 그 Action에 대한 총 Reward 값이 나오고 당연히 총 Reward가 높은 Action이 가장 이상적인 Action이 될 것이다.
아래에서 자세히 설명할 것이다.
RL의 성능 요인
Reward Criterion
사실 여기서 제일 중요한 부분은 "어떻게 Reward를 할 것인가?" 가 중요하다. 왜냐하면 Reward를 어떠한 기준으로 줄 것인가에 따라 Agent의 Action이 정해질 것이기 때문이다. 따라서 Reward Criterion, 결정하는 기준은 Model의 성능에 직결된다고 볼 수 있다.
Policy : Exploration & Exploitation Dillema
위의 그림처럼 우리는 3가지 선택이 존재한다. 1만원, 5천원, ? 세가지 경우가 존재할 때, 우리는 기존의 알고 있는 경우의 수에서는 1만원을 선택하는 것이 최선의 보상이다. 이를 Exploration, 답사 라고 한다. (해석하니까 좀 이상하다..)
근데, 만약 ? 를 선택한다고 했을 때, 최상의 보상을 얻는 것이 확률적으로 보았을 때는 33.3% 이기 때문에 ? 를 선택하는 것이 더 좋을 수 도 있다.
이렇게 Reward를 주는 방식 과 Exploration & Exploitation 중에서 어떻게 조화롭게 model에 넣을지가 이제 Bellman Equation, Markov Decision Process (MDP) 등등 여러가지 Solution 들이 나온다.
출처 : talkingaboutme.tistory.com/entry/RL-Elements-of-Reinforcement-Learning?category=538748
Referenece
출처 : talkingaboutme.tistory.com/entry/RL-The-Bellman-Equation?category=538748
www.facebook.com/SKTBrain/photos/pcb.311444575893030/311444092559745/?type=3&theater
'AI' 카테고리의 다른 글
RL : Reinforcement Learning Element (0) | 2020.09.06 |
---|---|
RL : Dynamic Programming (0) | 2020.09.06 |
RL : Reinforcement Learning 사례 (0) | 2020.08.30 |
ML : Kernel 개념 (0) | 2020.06.08 |
ML : Gaussian Process's Kernel (0) | 2020.06.08 |
댓글