강화학습/RL Introduction 책 요약

강화학습이란 무엇인가(Chapter 1)

APinCan 2020. 5. 17. 20:28

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기

Chapter 1 요약(?)

강화학습이란?

강화학습은 에이전트가 받는 보상을 최대화하면서 학습하는 방법으로 에이전트는 어떤 action을 해야하는지가 아니라 어떤 action을 해야 가장 많은 보상을 받을 수 있는지를 학습한다. 그리고 에이전트가 선택하는 action은 바로 눈앞의 reward뿐만 아니라 한참 나중에 받을 reward에도 영향을 미친다. 이런 두가지 특성 trial and error search(보상을 많이 주는 action 탐색) delayed reward(즉각적인 보상뿐만 아니라 나중에 받을 보상)는 강화학습의 중요한 특징이다.

강화학습은 지도학습, 비지도학습과는 다른 머신러닝의 3번째 패러다임이다.

지도학습

지도학습의 경우 training data set과 그에 맞는 정답이 주어진상태로 학습하는 방법이다. 하지만 강화학습의 경우 주어진 정답이 없고 에이전트의 action에 따라 그 다음 state(data set)가 변하는 것이 지도학습과는 다른점이다.

비지도학습

비지도학습은 정답이 주어지지 않은 data set에서 데이터의 구조를 파악하는 것이다. 강화학습은 숨겨진 구조의 파악이 아닌 state(data set)을 보고 action을 하고 받은 reward를 최대화시키는 것이 목표로 비지도학습과는 다르다.

강화학습

강화학습은 다른 학습 방법들과 다르게 explorationexploitationtrade-off관계에 있다. 에이전트는 과거에 많은 reward를 얻었던 action을 선호하는데, 사실 더 많은 reward를 받기 위해서는 그 전에 선택하지 않았던 action을 선택해야 한다. 이런 exploitation(과거에 가장 나은 action 선택)-exploration(새로운 action 선택) 사이에서 균형을 맞추는 문제는 지도, 비지도 학습에서는 드러나지 않는 문제이다.

또한 강화학습의 또 다른 특징은 에이전트가 확실하지 않은 환경과 상호작용하는 것이다. 에이전트는 환경에 대해서 잘 모르지만 명확한 목표를 가지고 action을 선택해 환경에 영향을 준다. 그리고 그 환경은 다시 에이전트에게 영향을 미친다.

 

Example

  • 태어난지 얼마 안된 가젤은 제대로 걷지 못하지만, 어떻게 걷는지를 학습하며 곧 20마일의 속도로 달린다
  • 로봇청소기는 지금 청소를 해야할지 아니면 배터리를 충전해야할지 결정한다.

강화학습의 4가지 요소

강화학습에는 4가지 요소가 있다. policy, reward signal, value function 그리고 model of environment(옵션).

 

  1. Policy는 어쩐 시점에 에이전트가 인식한 환경에서 어떻게 행동해야 하는지를 학습하는 것이다. Policy는 에이전트가 어떤 action을 선택할지를 결정한다.
  2. Reward signal은 강화학습 문제의 goal이다. action을 선택한 후의 각 시점에서 환경은 에이전트에게 reward라는 숫자를 보낸다. 에이전트의 목표는 앞으로 에이전트가 받을 reward의 총합을 최대화하는 것으로 reward signal은 policy를 바꿀 수 있다. 만약 policy에 의해 선택된 action이 낮은 reward를 준다면 미래에는 다른 action을 선택하는 것으로 policy를 바꿀 수 있다.
  3. reward signal이 즉각적인 이득이라면 value function은 장기적인 이득이라고 할 수 있다. Value function은 미래에 받을 수 있는 에이전트가 기대하는 reward의 총합이다. Value function을 구하는데 reward가 필수이므로 reward가 제일 중요한 요소이다. 하지만 에이전트가 의사결정을 할 때는 value를 고려하는데 왜냐하면 장기적인 관점에서 value가 높은 action을 선택해야 에이전트는 더 많은 reward를 받을 것이기 때문이다.
  4. Model of environment에서 모델에 stateaction이 주어지면 모델은 다음 statereward를 알려준다. 모델은 planning에 사용되는데 planning이란 실제로 경험하기 전 미래의 상황들을 고려해 action을 결정할 수 있는 방법이다. 즉 에이전트가 실제로 환경을 경험하며 탐색하지 않아도 어떤 state에서 action을 선택해야할지 알게 해준다. 강화학습에서 모델과 planning을 사용하는 방법을 model-based방법이라 부른다.

State : 강화학습의 핵심 컨셉은 state. State는 에이전트가 환경에서 이용가능한 정보로 policy value function의 입력으로 사용되고 모델에서는 입력과 출력 둘 다에 사용된다.

 책에서 설명하는 내용들은 value function을 이용해 강화학습 문제들을 푸는 것들이지만 value function이 항상 필수적인 것은 아니다. 예를 들어 Evolutionary method value function을 사용하지 않는데 환경을 최대로 줄이거나 데이터를 관찰할 시간이 있다면 장점이 많은 방법이다.

틱택토 예제

그림1.1: 틱택토 게임

Value function을 이용해 풀 수 있는 간단한 예제로 틱택토 게임이 있다. ‘삼목이라고 할 수 있는 게임으로 3x3테이블에 먼저 한줄을 만들면 승리한다. 다만 게임이 끝날때까지 아무도 한줄을 만들지 못하면 무승부다.

테이블의 각 칸은 state이고 각 칸 마다 게임에서 이길 수 있는 확률을 써놓는다. 그리고 이 확률이 value이다. 게임을 하는동안 현재의 value 테이블을 참고해 statevalue들을 업데이트 한다. 대부분의 시점 t에서 승리할 확률이 높은 valuegreedy하게 선택을 하지만 아예 무작위로 선택할 수 있는데 이 방법이 위에서 설명한 exploratory방법이다.

수식1.1 : Value 업데이트 식

간단한 틱택토 게임을 푸는 최적화 알고리즘은 많다. Dynamic programming, evolutionary method 등이 있고 minimax algorighm은 상대의 행동을 예측하기 때문에 적절하지 않다.

현재 state들의 value를 업데이트하는 식은 수식1.1과 같다. 업데이트 방법을 temporal-differece 방법이라 한다. 이유는 연속적인 시간 t, t+1에서 value 차이를 기본으로 식을 업데이트하기 때문이다. V(s) state s value이고 v(s’) 어떤 action state s value이다. 여기서 \( \alpha \) 스텝사이즈 파라미터로 학습률에 영향을 준다. 이렇게 back up방식으로 next state 현재 state 영향을 주는 방식으로 value 업데이트한다. 플레이어는 여러 action을 선택할 수 있고 이중에서 가장 value가 높은 action을 선택한다. 결국 계속 학습을 하다보면 state에서 승리할 있는 확률을 알게 되고 state에서 최선의 action 선택할 있는 optimal policy 수렴하게 된다.

그림1.2: 틱택토 게임의 순서

다만 exploration 통해 아예 무작위로 action 선택할 있다. 강화학습과 evolutionary method의 차이를 알 수 있는데 evolutionary method 틱택토게임에서 이용하면 state에서 어떤 action 선택할지에 대한 policy 결과만을 있다. , 게임을 하는 동안 일어났던 일들에 대해서는 무시한다. 하지만 value function방법은 각각의 state들의 value 계산한다.

결국 강화학습이란

강화학습은 목표지향학습과 의사결정을 이해하고 자동화하기 위한 computational approach이며 에이전트가 환경과 직접 상호작용하며 학습하는 것을 강조한다. 강화학습에서는 MDP를 사용해 필수적인 특징들을 간단한 방법으로 표현하려고 한다. 이는 다음에 다룰 것이다.

강화학습에서 valuevalue function의 컨셉은 대다수의 강화학습 방법에서 중요하다. 이 Value function을 이용해 효과적으로 policy를 찾는 것은 강화학습에서 중요하고 value function을 사용하는 것으로 evolutionary method와 강화학습은 구분된다.

 

Reference : Reinforcement Learning : An Introduction

Reinforcement Learning 책 읽고 공부하기(1)