AI

RL : Reinforcement Learning 기본 개념

월곡동로봇팔 2020. 8. 30. 22:50

 

Reinforcement Learning이 어디에 적용되고 있는지 간략하게 알아보았었다.

2020/08/30 - [AI/RL] - RL : Reinforcement Learning 사례

 

RL : Reinforcement Learning 사례

강화학습은 관찰, 행동, 보상 이렇게 3가지 스텝으로 알고리즘이 동작한다. 가장 보상이 큰 쪽으로 행동을 실행하도록 만들어진 알고리즘인 것이다. 이를 이용해서 정말 많은 분야에서 현재 적��

mambo-coding-note.tistory.com

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

 

[RL] Elements of Reinforcement Learning

지난 포스트에서도 간단히 소개했지만 강화학습의 구성요소는 다음과 같다.  우선 크게 놓고 보았을때 행동을 하는 주체인 Agent와 행동에 대한 반응을 보여주는 Environment가 있다. Agent는 자신이

talkingaboutme.tistory.com


Referenece

출처 : talkingaboutme.tistory.com/entry/RL-The-Bellman-Equation?category=538748

 

[RL] The Bellman Equation

Richard Ernest Bellman이 제안한 Bellman Equation은 이전 포스트에서 잠깐 소개했던 State와 Action, reward(+ discounted value)를 이용해서 특정 값으로 도출하는 공식으로, 강화학습에서 거의 처음으로 나오..

talkingaboutme.tistory.com

www.facebook.com/SKTBrain/photos/pcb.311444575893030/311444092559745/?type=3&theater

 

SK T-Brain

최근 인공지능/머신러닝 분야에서 많은 주목을 받고있는 강화학습 (Reinforcement Learning)에 대해 아주 간단한 입문자료를 만들었습니다. 본 ”15분안에 끝내는 강화학습 입문 자료”는 관련 분야에

www.facebook.com

solarisailab.com/archives/57

 

Game AI #2 – 강화학습(Reinforcement Learning) – Introduction | 솔라리스의 인공지능 연구실

현재 4기 모집중입니다. 2020.08.23까지 얼리버드 15% 할인 이벤트 중이니 관심 있는 분들의 많은 신청 부탁드립니다. Game AI에 대한 두번째 강의로 Reinforcement Learning 알고리즘을 살펴보자. Reinforcemen

solarisailab.com