강화학습 - 개요

2022. 12. 22. 19:13AI/RL

최근 많은 연구가 이루어지는 인공지능 분야 중에서도 강화학습 분야의 개념들을 공부하고 이해한대로 정리해보고자 한다.

Deep Mind사의 수석연구원인 David Silver가 UCL에서 강의한 내용을 바탕으로 10개정도의 강화학습 개념 정리 글을 쓸 것 같다.

 


Introduce to Reinforcement Learning

 

Reinforcement Learning 강화학습은 기계학습의 한 분야로, 단지 Reward를 받으며 학습이 이루어지는 형태의 기계학습이다. 지도학습과의 차이점을 살펴보면 강화학습은 정답 데이터를 제공하지 않고 agent의 action에 따라 reward만 부여할 뿐이라는 점이다. 또한 분류 작업과는 다르게 (prediction을 하면 loss, accuracy 등 지표가 즉각적으로 나타남.) 결과가 즉각적으로 나타나지 않는 것도 특징이다. 즉, feedback이 즉각적이지 않을 수 있다는 것이다.

 

Reward

스칼라 신호로, 행동자인 agent가 time step t에서 얼마나 적절히 행동하고 있는지 알려주는 지표이다. 강화학습에서의 목적은 누적 reward를 최대화 시키는 방향으로 agent를 학습하는 것이다. time step t란 이산적으로 쪼개어진 시간에 대한 t번째 순서로 해석하면 된다.

 

Sequential decision making

강화학습에서는 주로 순차적인 데이터에 기반하여 결정하는 경우가 많다. 거의 모든 경우가 그렇다고 할 수도 있다. 가령 알파고의 경우 현재 수들을 보고 (observation) 수를 놓는다 (action) 그리고 알파고 소프트웨어 내부적으로 reward가 계산되어 다음 행동을 결정하는데 영향을 끼친다. 이렇게 순차적으로 결정하는 sequential decision making은 순차적으로 주어지는 변수들에 대해서 decision을 만드는 것을 뜻한다. 여기서 변수란, action, reward, observation 등이 될 것이다. 여기서 decision making은 두 관점으로 나누어진다. 

첫 째, agent 관점이다.

Time step t에서의 agent는 action을 실행하고 environment로부터 observation과 reward를 받는다.

둘 째로, environment 관점이다.

Time step t 에서의 environment는 agent로부터 action을 받고 observation과 reward를 방출한다.

 

sequential decision making은 지금부터 설명할 history 개념을 이해하면 이해하기 수월할 것이다.

 

History

강화학습에서 history란 observations, actions, rewards의 순서이다. 정확히는 episode의 개념이 필요한데, 강화학습의 시작과 종료에 있어서 중간과정은 매우 여러가지들이 나올수 있다. 여기서 시작부터 종료까지에 이르는 한 과정을 episode라고 하며 history는 episode 1개의 모든 observations, actions, rewards 집합이다.

 

History : Ht = O1, R1, A1, ..... , At-1, Ot, Rt 

 

State

앞서 소개한 observation, reward, action 들은 특정 상황에 기인하여 일어난다. 강화학습에서는 이러한 상황들을 state라고 정의하는데, 정확히는 다음 행동을 결정하기 위해 사용되는 정보들이 state의 뜻이다. state St 는 history의 함수로 표현된다.

state 또한 environment와 agent 측면으로 나누어 볼 수 있는데,

environment state : Agent는 모르고 있는 환경을 구성하기 위한 정보들

agent state : Agent가 action을 하는데 사용되는 정보들

 

Markov State

강화학습을 푸는 것은 Markov state를 푸는 것과 동일하다 라는 말이 있을정도로 Markov state는 중요한 개념이다.

보통 사람이 살면서 결정을 할 때에 결정의 근간을 이루는 것들은 정말 여러가지이다. 당장 오늘의 정보일 수도 있고, 1주일 전의 정보일 수도 있다. Markov State는 현재 상황 time step T에서 바로 직전의 time step인 T-1 time step의 정보에 근거해서 결정하는 state이다.

"The future is independent of the past given the present"라는 말도 있다고 한다.

수식적으로 확인해보면 다음과 같다.

 

P[St+1 | St] = P[St+1 | S1 ,..., St]

 

Environment state는 정의를 따져봤을 때 Markov state인데, 이유는 environment state는 오직 time step t에서의 action of agent에 의해 결정되기 때문이다.

 

Fully observable environment

agent가 environment state를 직접적으로 볼 수 있는 경우에 fully observable environment라 칭하고 이를 Markov Decision Process, 즉 MDP라고 한다.

 

Partially observable environment

agent가 활용하는 정보인 agent state가 environment state와 다를 때를 칭하며 POMDP(partially observable MDP)라고 한다.

 

Agent의 구성 요소 3가지

  • Policy

Policy란 agent의 action을 결정하는데 있어서 기준이라고 할 수 있다. deterministic policy가 있고 stochastic policy가 있는데 차이점은 다음과 같다.

Deterministic policy : a = π(s)

Stochastic policy : π(a|s) = P[At = a | St = s]

deterministic policy는 특정 state에 대해서 행동이 정해지는 것이고 stochastic policy는 행동에 대한 확률이 주어지는 것이다.

  • Value function

Value function은 미래 reward의 prediction이라고 이해하면 된다. value function도 있고, action - value function도 있는데 이는 이후 블로그에서 차차 소개할 것이다. value function을 수식적으로 쓰면 다음과 같다.

 

Vπ(s) = Eπ[Rt+1 + ΓRt+2 + .... | St = s]

 

여기서 Γ는 discount factor로 미래에 일어날 보상에 대해서 얼마나 고려할지 정하는 계수이다.

  • Model

RL에서의 Model은 딥러닝이나 머신러닝과는 다르게 해석하는데, environment가 어떻게 될지 예측하는 요소라고 생각하면 된다.

Model - free RL과 Model - based RL로 나뉘게 된다.

model에는 다음 state를 예측하는 P값과 다음 reward를 예측하는 R값이 있다. 수식적으로 살펴보면 다음과 같다.

 

Pss'a = P[St+1 = s' | St = s, At = a]

Rss'a = E[Rt+1 | St = s, At = a]

 

RL의 agent는 위와 같이 세가지로 분류가 되며 value와 policy를 활용하느냐에 따라서 value based, policy based, actor-critic으로 나누어진다. actor - critic은 value + policy 모두 활용하는 방법.

 

Learning and Planning

Learning : 환경을 모르는 상황에서 환경과 상호작용하며 정책 향상, 모델이 없는 상황

Planning : 환경을 알 때, agent가 모델로부터 계산하며 정책 향상, 모델이 있는 상황

 

Exploration and Exploitation

Exploration : 환경에 대한 정보를 찾는 과정. ex) 주변 맛집을 모르는 상황에서 하나씩 도전해보며 맛집을 찾는 것

Exploitation : 보상을 최대화 시키는 과정. ex) 주변 맛집을 알고 있는 상황에서 식사를 가장 만족스럽게 하는 것

 

Prediction and Control

Prediction : Policy가 주어졌을 때, 미래를 평가. value function을 학습시키는 것

Control : Policy를 최적화 시키는 것. policy를 학습시키는 것.

 

여기까지가 강화학습의 개요 설명이였다. 강화학습의 간단한 개념들과 학습이 이루어지는 기초적인 방식에 대해서 설명을 했다. 추후에 나올 개념들은 이번 개요에서 언급한 여러 개념들의 세부적인 이론과 방법론들에 대해서 다뤄볼 것이다. MDP, Model - based/free RL, Control, Prediction 등 개념 하나하나에 대해 자세히 다룬다.