본문 바로가기
논문 리뷰/RL

Lecture 1: Introduction to Reinforcement Learning

by xi2d 2021. 1. 4.
반응형

Deepmind의 David Silver 교수님의 RL(강화학습) 관련 lecture, slides, 추가 자료들을 참고하여 이해에 도움이 되도록 정리해보았습니다. 처음 접하는 영역이라 필자도 잘 모르니, 틀린 부분 지적 혹은 정보 공유 해주시면 감사하겠습니다.  

1장은 Reinforcement가 무엇인지 알아보고, 어떤 방식이 존재하는지 기본 개념과 원리의 키워드 위주로 나와있습니다.

 

 

Many Faces of Reinforcement Learning

 

Branches of Machine Learning

Machine Learning = Supervised + Unsupervised + Reinforcement Learning으로 구성

Reinforcement Learning(이하 RL)은 기존의 Supervised, Unsupervised Learning과는 다른 방법론

 

 


Characteristics of RL

- RL에는 Supervisor이 없고, 오직 reward signal만 존재한다. 

정답을 제공해주는 지도자 대신, agent가 reward signal만 받으면서 최적의 해결방안을 모색

- Feedback이 즉각적이지 않고, 늦어질 수 있다. 

action에 대한 reward가 즉발적으로 주어지지않을 수 있고, Supervised/Unsupervised와는 다른 RL의 특징

- Time이 매우 중요하다.  

각 샘플이 독립적으로 뽑히고, 다음 샘플에 영향을 주지 않는 identical independent distributed(i.i.d)와는 다르게 sequential. 경로에 따른 reward가 다름

- Agent의 action이 다음 데이터에 영향을 준다. 

Supervised/Unsupervised이 받는 정해진 데이터셋과는 다르게, action에 따라 다음에 받는 데이터가 달라지고 어떤 데이터를 어떻게 받을지에 대한 고려도 필요

RL ex) Google Alphago, 넘어지면 -1, 일어서면 +10의 reward를 주는 walking robot

 

 


Rewards

- Rt: reward는 특정 time step인 step t에서 scalar한 feedback signal이다.

어떤 선택에 의한 결과가 reward로 주어지는데 좋은 결과가 나타나면 양의 수, 나쁜 결과가 나타났다면 음의 수가 되고good / bad한 reward가 명확해야 함. vector한 reward는 불가능하고, 스칼라 값으로만 표현이 힘든 문제는 RL로 풀기 어려움

- Reward Hypothesis에 근거하여 agent의 목적은 cumulative reward를 극대화하는 것이다. 

기대하는 보상이 큰 쪽으로 행동을 하는 것이 효과적

 

 


Sequential Decision Making

Sequential한 결정이 중요, 지금 당장의 보상보다는 미래의 받게 될 모든 보상의 총 합을 키우는 것이 좋음

- Goal: 미래의 total reward값을 극대화하는 것

- reward는 delayed 될 수 있다.

- 현재의 보상을 희생하여 장기적인 관점에서의 최대 reward를 얻는 것이 효과적이다. 

 

 


Agent and Environment

action, observation, reward는 서로 상호작용하며 동작

Agent: action을 하는 주체 

agent의 action => 그에 반응한 environment(이하 env)가 observation과 reward를 agent에 제공 => agent는 받은 observation과 reward를 토대로 판단하여 다시 action (sequential한 반복 진행)

- agent: At 시행 / Ot , Rt 수신

- environment: At 수신/ Ot+1, Rt+1 배출

t에서 action을 하게 되면 env는 At를 받고 Ot+1과 scalar reward인 Rt+1을 방출하여 agent에 전달한다. 

- 이때 time step; t는 env에서 증가함 

 

 


History of State

- History: agent가 진행한 Ot, Rt, At들의 순서에 대한 기록

agent는 history를 보고 action을 정하고, env는 history를 보고 observation, reward를 전송

- State: 다음에 뭘 할지 결정하기 위해 쓰이는 정보, State는 History의 함수 = history의 정보를 가공하여 State를 생성

 

 


Environment State

- env State: env가 action 후 observation, reward를 계산하는 데 쓴 정보들

- agent에게 일반적으로 보이지 않지만 env State가 보이더라도 너무 쓸모없는 정보가 많을 수 있다. 

 

 


 

 

Agent State

- agent State: 다음 action을 하기위해 참조하는 정보들. State는 History의 함수

 

 


Information State

- Information State(a.k.a. Markov State): history로부터 모든 정보들을 포함하는 State

- Markov State: "현재가 주어져있다면, 과거와는 독립적이다."

[St에 왔을때 St+1이 될 확률] = [S1...St까지 모두 주어진 뒤의 St+1이 될 확률 ]

- 과거는 무시하고, 현재의 State만 미래에 영향을 준다.

- State는 미래에 대한 충분한 통계치이다.

State만이 미래를 결정한다. history는 더이상 필요없다  

- env State는 Markov State일 수 밖에 없다.

- history 또한 Markov하다. 

RL이 거의 Markov 상태에서 문제를 풀이

 

Markov State ex) 현재 State에 내 차의 속도를 포함하여 정해 놓은 상태에서, 속도를 추측 

Not Markov State ex) 현재 State에 내 차의 속도를 모르는 상태에서 엑셀을 밞았을 때, 그 전 state의 다른 매개변수를 확인해야지만 속도를 추측 가능한 경우

 

 


Rat example

마지막 3개의 items만 agent state라고 정의할 경우

전구 => 레버 => 종    : 감전

전구 => 레버 => 레버 : 치즈

전구 => 레버 => 종    : 감전

 

전구, 레버, 종의 개수를 agent state라고 정의할 경우 

전구2 레버1 종1 : 감전

전구1 레버2 종1 : 치즈

전구1 레버2 종1 : 치즈

 

4개의 sequence 전체를 agent state라고 정의할 경우

전구 => 전구 => 레버 => 종    : 감전

종 => 전구 => 레버 => 레버    : 치즈 

레버 => 전구 => 레버 => 종    : ???

따라서 State를 어떻게 정하느냐에 따라 같은 데이터라도 결과가 달라질 수 있음

 

 


Fully Observable Environments

- Full observability: agent가 env State를 모두 관찰 가능한 경우, Agent St = env St = information St

- 이와 같은 경우를 형식적으로 Markov decision process(MDP)라고 칭한다.

 

 


Partially Observable Environments

- Partial observability: agent가 env State를 관찰 불가능한 경우, Agent St ≠ env St

ex) 포커 시에 상대 패를 알 수 없는 경우, 로봇의 카메라가 정확한 위치를 알려주지 않는 경우 

- 형식적으로 partially observable MDP(POMDP)라고 칭한다. 

agent는 state를 표현하는 방법에는 여러가지 방법이 존재한다. history, RNN등의 방법 사용이 가능하다. 

 

 


Major Components of an RL Agent

RL의 구성요소인 Policy, Value function, Model

 

 


- Policy: Agent의 행동을 규정

State를 넣어주면 action를 뱉어내는 역할

- Detetministic policy: state 대입 시 action를 결정적으로 선택

- Stochastic policy: state 대입 시 여러 action별로 확률을 고려하여 선택

 

 


Value function

- Value function: 미래 reward에 대한 합산 예측

- 현재 state가 좋고 나쁘고에 대한 평가 

[State 대입시에 어떤 policy를 따라갔을 때의 얻을 총 reward의 기댓값] = [reward들의 기댓값, t가 증가할 수록 discount vector를 적용하여 현재 혹은 미래에 대한 가중치 또한 고려]

Stochastic policy의 경우 두가지 경우를 모두 고려하여 평균해 기댓값 측정

Deterministic policy의 경우에도 환경 자체도 확률적 요소가 있기 때문에 같은 action 진행 시에도 결과값이 달라짐 그러한 경우도 모두 고려해 기댓값 측정 

policy가 없으면 value function이 정의가 불가능

 

 


Model

- model: 환경이 어떻게 될지 다음을 예측, RL에서는 쓰일 수도 안 쓰일 수도 있다. 

reward 혹은 state transition을 예측하는 두가지 방식이 존재

 

 


rewards: 한칸 갈때마다 -1

actions: 동, 서, 남, 북

states: agents의 위치

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

각 state마다의 arrow형 optimal policy(deterministic)를 표현한 상태

 

 

 

 

 

 

 

 

 

value function은 policy에 dependent

optimal policy를 따랐을 때의 value를 표현

- Agent는 내부적으로 환경에 대한 model을 보유함

위 grid는 실제 env가 아니라, agent가 생각하는 model임

model은 reward와 state transition을 예측해야함

- model은 imperfect할 수 있기 때문 

- Dynamics: action에 따라 state가 어떻게 바뀌는지

- Rewards: 각 state마다의 reward

Pass': s에서 a를 하면 s'으로 가는 확률

Ras: s에서 a를 하면 받는 reward

 

 


Categorizing RL Agent 

Categorizing RL Agents

Value function만 존재하는 Agent 

제일 좋아보이는 value로만 이동 

 

 

Policy만 존재하는 Agent 

 

 

 

Value function, Policy가 모두 존재하는 Agent

 

 

 

 

 

model을 만들지 않고, Policy+Value function로만 구성되는 Agent

 

 

내부적으로 env model를 추측하여 환경을 추측하여 동작

 

 

 

RL Agent Taxonomy(분류법)

종류에 따른 다양한 학습 방법이 가능함

 

 


Learning and Planning

- Learning: env를 모르는 상태에서 env과의 상호작용을 통해 policy를 개선

- Planning: env를 아는 상태(reward, state transition)에서 agent는 실제로 동작하지 않아도, 내부적으로 계산을 통해서 다른 상황에 대해 접근이 가능한 상태에서 policy를 개선 ex) Monte-carlo

모델을 아느냐 모르냐에 따라 policy 개선 방식에 차이가 존재

 

 


- env와 상호작용하면서 겪었던 경험들을 통해 좋은 policy를 찾는 learning 과정 

 

 

- Exploration: env로부터 정보를 얻어 env를 이해하는 과정

- Exploitation: 얻은 정보를 바탕으로 reward를 maximise하는 과정

두 가지 방법 모두 중요하며, exploration을 통한 정보 수집과 그에 대한 exploitation으로 이루어지는 tradeoff 관계

 

 


 

- Prediction: 미래를 평가, value function을 잘 학습시키는 것

- Control: 미래를 최적화, best policy를 찾는 것 

 

 


Prediction Example

Grid world에서 random uniform policy로 무한히 선택했을 때 state 마다의 value function(future reward)

어떻게 찾는 지는 중요하지 않고, 학습을 통한 value 값을 찾는 문제 

 

 

Value Function Example

state에서 어떻게 움직여야 하는 지를 찾는 문제, optimal policy를 찾는 것

v*는 optimal한 value funcion, pi*는 optimal한 policy를 의미 

 


 아래는 교재 및 참고 블로그, 유튜브 강좌입니다. 

 

deepmind.com/learning-resources/-introduction-reinforcement-learning-david-silver

 

Interested in learning more about reinforcement learning? Follow along in this video series as DeepMind Principal Scientist, cre

We research and build safe AI systems that learn how to solve problems and advance scientific discovery for all. Explore our work: deepmind.com/research

deepmind.com

daeson.tistory.com/312?category=710652

 

RL (강화학습) 기초 - 2. Reinforcement Learning 소개

Deepmind에 David silver 교수님의 강의를 기반으로 하여 강화학습에 대한 이론적인 내용들을 하나씩 살펴 보겠습니다. 강의 영상과 자료들은 아래의 링크에서 볼 수 있습니다. http://www0.cs.ucl.ac.uk/staff

daeson.tistory.com

www.youtube.com/watch?v=wYgyiCEkwC8&list=PLMhvUUCFLfI5h2ndk0eYu5FT0Ujy6aOmf&index=7

 

반응형

댓글