728x90

※유튜브 또는 구글에 'David silver'를 쳐서 나오는 강의를 바탕으로 이해한 것을 설명하였습니다.

 

Reinforcement Learning, 직역하면 '강화 학습'이다. 강화 학습이란 무엇일까?

우선 강화학습이란 '주어진 환경 속에서 계속해서 어떠한 모델을 보완해나가는 것'이라고 생각하면 쉬울 거 같다.

<그림 1. 머신러닝과 강화학습의 관계>

Supervised Learning : 데이터(문제)와 레이블(정답)을 주고 답을 맞추는 것

Unsupervised Learning : 데이터는 주어지지만 레이블은 주어지지않아 정답을 유추하는 것

Reinforcement Learning : 어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법

 

Reinforcement Learning의 정의 중에 보상을 최대화한다고 했는데 보상(Reward)이란 무엇일까. 보상은 형태는 다양하지만 목적은 같다. 게임의 승패로 +1점 또는 -1점을 주어 최대한 많은 승리를 위한 행동을 취하게 한다던가 미로를 탈출하는데 걸리는 시간에서 1초당 -1점을 주어 최대한 빨리 미로를 탈출하게 만드는 등 행동의 결정 이유가 되는 것이 보상이다.


여기까지가 서론이고 이제부터 강화학습이 어떻게 진행되는지에 대해 알아보자. 강화 학습에는 observation, action, reward라는 3가지 요소가 사용된다.

<그림 2.Env와 agent의 상호작용>

강화 학습의 가장 큰 틀은 Env에서 맨 처음 상황 O_0를 agent에게 전달한 뒤 agent는 받은 observation을 보고 action(A_0)를 취하게 된다. 그럼 Env내부에서는 action에 따른 reward 값을 계산하고 action에 의한 결과를

각각 R_1, O_1으로 다시 agent에게 전달한다. 위 같은 과정을 끝날 때까지 반복하면서 reward에 대한 정보를 얻고 학습하여 reward를 최대화하는 방향으로 action을 선택하는 것이 reinforcement learning의 목표이자 순서이다.

 


이러한 과정들이 제대로 진행되려면 가장 중요한게 있는데 바로 state가 Markov 하다는 것이다.

<그림 3. Markov State>

어떠한 특정 state(S_t)에서 다음 state(S_t+1)로 갈 때, 이전 상황을 모두 고려하는 것과 S_t만 고려하는 것이 확률이 같다 라는 게 정의이다.

<그림 3-1. Markov State>

<그림 3-1>은 극단적으로 markov하다 라는 것을 설명하기 위한 그림으로 해당 환경에서 start로부터 시작하여 좌우로 랜덤 하게 움직인다고 가정하였을 때, 위 상황에서는 S_1부터 시작하여 S_t까지 모든 상황을 가지고 계산하는 것이고, 아래 그림은 과거는 잊은 채로 현재 S_t만을 가지고 계산하는 상황이다. 결과적으로는 두 상황 모두 1/2의 확률로 S_t+1에 도달하게 된다. 즉, 모든 과거를 가지고 계산하는 것과 현재만 가지고 계산하는 것이 결과가 같을 때를 Markov하다 라고 말하는 것이다. 여기서 주의해야할 점은 현재 상태만을 고려한다고 해서 과거가 필요 없는 것은 아니고, 과거의 모든 데이터가 현재 상황에 축적되어 있기에 현재 상황만 사용한다 라는 것이다.

 

[출처]<그림1>, <그림2>, <그림3>

https://www.davidsilver.uk/wp-content/uploads/2020/03/intro_RL.pdf

'~2025' 카테고리의 다른 글

백준 While문 문제풀이  (0) 2022.01.14
백준 for문 문제풀이-2  (0) 2022.01.13
백준 for문 문제풀이-1  (0) 2022.01.12
백준 if문 문제풀이  (0) 2022.01.11
Reinfocement Learning이란?-2  (0) 2021.06.30

+ Recent posts