Top Banner
Reinforcement Learning: An Introduction Richard S. Sutton and Andrew G. Barto 김태훈 carpedm20
89

강화 학습 기초 Reinforcement Learning an introduction

Apr 11, 2017

Download

Technology

Taehoon Kim
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 강화 학습 기초 Reinforcement Learning an introduction

ReinforcementLearning:AnIntroductionRichardS.SuttonandAndrewG.Barto

김태훈

carpedm20

Page 2: 강화 학습 기초 Reinforcement Learning an introduction

Chapter�1,�2,�3

Page 3: 강화 학습 기초 Reinforcement Learning an introduction

Reinforcement�Learning:

상호 작용을 통해 목표를 달성하는 방법을 배우는 문제

learner,decisionmaker

everythingoutside theagent

Policy 𝝅𝒕 𝒂 𝒔 : 𝑺 → ℝ ∈ [𝟎,𝟏]

Page 4: 강화 학습 기초 Reinforcement Learning an introduction

Episodic�and�Continuous�tasks

• Agent-environment�interaction�break�down�into

• Sequence�of�separate�episodes�(episodic�tasks)

• 𝑆H, 𝑆I,… , 𝑆K.�𝑅M = 0𝑤ℎ𝑒𝑟𝑒𝑡 > 𝑇

• or�just�One�(continuing�tasks)

Page 5: 강화 학습 기초 Reinforcement Learning an introduction

Value�functions,�V 𝑠

• Estimate�how�good it�is�for�the�agent�to�be�in�a�given�state

• 𝑽:𝑺 → ℝ

• “howgood”isdefinedintermsoffuture rewards thatcanbeexpected

• 미래의 reward는어떤 action을취할지에따라달라진다 (𝜋)

• Vc 𝑠 = 𝔼c 𝑹𝒕 𝑆M = 𝑠 = 𝔼c ∑ 𝛾h𝑟MihiIKjMhkH 𝑆M = 𝑠

• whereRl isthetotalreturn and𝑟l isaimmediatereward

Page 6: 강화 학습 기초 Reinforcement Learning an introduction

Vc 𝑠 = 𝔼c 𝑅M 𝑆M = 𝑠 ≈ maxo∈p

𝑄c(𝑠, 𝑎)

= 𝔼c ∑ 𝛾h𝑟MihiIKjMhkH 𝑆M = 𝑠

= 𝔼c 𝑟MiI + 𝛾∑ 𝛾hKjMhkH 𝑟Mihit 𝑆M = 𝑠

= ∑ 𝜋 𝑎 𝑠 ∑ 𝑝 𝑠` 𝑠, 𝑎 𝑟 𝑠, 𝑎, 𝑠` + 𝛾𝔼c ∑ 𝛾h𝑟MihitKjMhkH 𝑆MiI = 𝑠`w`o

= ∑ 𝜋 𝑎 𝑠 ∑ 𝑝 𝑠` 𝑠, 𝑎 𝑟 𝑠, 𝑎, 𝑠` + 𝛾𝑉c(𝑠`)w`o

Bellmanequation

state-actionpair𝑝 𝑠` 𝑠, 𝑎

𝜋 𝑎 𝑠

Vc 𝑠 = 𝔼c 𝑅M 𝑆M = 𝑠

Vc 𝑠`

recursiveexpression

𝑄c(𝑠, 𝑎)

𝑄c(𝑠`, 𝑎`)

<backupdiagramfor𝑄c><backupdiagramforVc>

하나의 action에여러개의 s가 있는이유 :stochasticMDP

Page 7: 강화 학습 기초 Reinforcement Learning an introduction

Action-value�functions,�Q 𝑠, 𝑎

• The�value�of�taking�action�𝒂 in�state�𝑠 under�a�policy�𝜋

• 𝑄: 𝑠 → 𝑎|𝜋• how�good it�is�for�the�agent�to�be�in�taking�action�𝑎 in�state�𝑠 under�a�policy�𝜋

• 𝑄c 𝑠,𝑎 = 𝔼c 𝐺M 𝑆M = 𝑠, 𝐴M = 𝑎 = 𝔼c ∑ 𝛾h𝑟MihiIKjMhkH 𝑆M = 𝑠, 𝐴M = 𝑎

• Optimal�action-value�function�:��𝑉∗ 𝑠 = maxo∈p(w)

𝑄∗(𝑠, 𝑎)

Page 8: 강화 학습 기초 Reinforcement Learning an introduction

Optimal�Value�Functions

• Solving�RL�=�finding an�optimal�policy

• 𝜋가 𝜋`보다 낫다고 말할 수 있는 건 오직 𝜋의 expected�return이 𝜋`보다 클 때

• 𝑉c 𝑠 ≥ 𝑉c`(𝑠)

• 𝑉∗ 𝑠 = maxc𝑉c 𝑠

• 𝑄∗ 𝑠, 𝑎 = 𝑚𝑎𝑥c 𝑄c(𝑠, 𝑎) :�the�expected�return�for�taking�action�a�in�state�s

• Express�𝑄∗ in�terms�of�𝑉∗

𝑸∗ 𝑠, 𝑎 = 𝔼 ∑ 𝛾h𝑟MihiIKjMhkH 𝑆M = 𝑠,𝐴M = 𝑎

= 𝔼 𝑟MiI + 𝛾∑ 𝛾hKjMhkH 𝑟Mihit 𝑆M = 𝑠,𝐴M = 𝑎

= 𝔼 𝑟MiI + 𝛾𝑽∗(𝑠MiI)|𝑆M = 𝑠,𝐴M = 𝑎

= 𝔼[𝑟MiI + 𝛾maxo` 𝑄 𝑠MiI, 𝑎` |𝑆M = 𝑠, 𝐴M = 𝑎]

Page 9: 강화 학습 기초 Reinforcement Learning an introduction

Bellman�optimality�equation

• 𝑉∗ 𝑠 should�be�equal�the�expected�return�for�the�best�action�from�that�state

Page 10: 강화 학습 기초 Reinforcement Learning an introduction

Bellman�optimality�equation

𝑽∗ 𝑠 = maxo𝔼[𝑅MiI + 𝛾𝑉∗(𝑠MiI)|𝑆M = 𝑠,𝐴M = 𝑎]

= maxo∑ 𝑝 𝑠` 𝑠,𝑎 [𝑟 𝑠,𝑎, 𝑠` + 𝛾𝑽∗(𝑠`)]w`

𝑸∗ 𝑠, 𝑎 = 𝔼[𝑅MiI + 𝛾maxo`𝑄∗(𝑠MiI,𝑎`) |𝑆M = 𝑠,𝐴M = 𝑎]

= ∑ 𝑝 𝑠` 𝑠, 𝑎 [𝑟 𝑠, 𝑎, 𝑠` + 𝛾maxo`

𝑸∗ 𝑠MiI,𝑎` ]w`

• For�finite�MDPs,�Bellman�optimality�equation�has�a�unique�solution independent�of�the�policy

• DP�are�obtained�by�turning�Bellman�equations� into�assignmentsinto�update�rules for�improving�approximations�of�value�functions

Page 11: 강화 학습 기초 Reinforcement Learning an introduction

Chapter�4

Dynamic�Programming

Page 12: 강화 학습 기초 Reinforcement Learning an introduction

ONLY�for�known MDP!

Page 13: 강화 학습 기초 Reinforcement Learning an introduction

Policy�Evaluation

• How�to�compute�𝑉c 𝑠 for�an�arbitrary�policy�𝜋?�𝝅의 value를 계산 하는 방법?

= policy�evaluation

𝑉c 𝑠 = 𝔼 𝑟M + 𝛾𝑉c 𝑠` 𝑆M = 𝑠

=�𝜋 𝑎 𝑠 �𝑝 𝑠` 𝑠, 𝑎 [𝑟(𝑠, 𝑎, 𝑠`) + 𝛾𝑉c 𝑠` ]w`o

𝜋에 대한 𝑠의 future�reward의 expectation

Page 14: 강화 학습 기초 Reinforcement Learning an introduction

Policy�Evaluation

• 만약 environment의 모든 행동을 알고 있다면 (known�MDP)

𝑉c는 그저 |𝑺|개의 unknown�variables (Vc 𝑆 , 𝑠 ∈ 𝑆)로 구성된

|𝑺|개의 linear�equations

• 처음엔 arbitrary�approximate�value�function�인 𝑉H로부터 시작. 𝑉H,𝑉I, 𝑉t,…

𝑉hiI 𝑠 = 𝔼 𝑟M + 𝛾𝑉h 𝑠` 𝑆M = 𝑠

= �𝜋 𝑎 𝑠 �𝑝 𝑠` 𝑠, 𝑎 [𝑟(𝑠, 𝑎, 𝑠`) + 𝛾𝑉h 𝑠` ]w`o

<Iterativepolicyevaluation>

Page 15: 강화 학습 기초 Reinforcement Learning an introduction

Iterative�policy�evaluation

http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/DP.pdf

𝑉h는 upperbound인 𝑉h가존재한다는가정하에

𝑘 → ∞일때 𝑉h로 converge한다

Page 16: 강화 학습 기초 Reinforcement Learning an introduction

Iterative�policy�evaluation

http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/DP.pdf

fullbackup

Page 17: 강화 학습 기초 Reinforcement Learning an introduction

Gridworld 예제

http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/DP.pdf

Page 18: 강화 학습 기초 Reinforcement Learning an introduction

Gridworld 예제

http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/DP.pdf

−1×0.25−2×0.75=−1.75

Page 19: 강화 학습 기초 Reinforcement Learning an introduction

Gridworld 예제

http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/DP.pdf

Valuefunction은

좋은 policy를생각하는데도움을준다

Page 20: 강화 학습 기초 Reinforcement Learning an introduction

Policy�improvement

• Policy�evaluation 을 했던건 더 좋은 policy를 찾기 위함

• Policy�evaluation으로 Arbitrary�𝜋로 부터 Vc 𝑆 를 계산

• 이제 𝑆에서 현재 policy�𝝅를 따르면 얼마나 좋은지 Vc 𝑆 알고 있음

• 그럼 더 좋은 policy�𝝅`를 찾으려면?

• 새로운 𝜋`를 𝜋` = 𝑔𝑟𝑒𝑒𝑑𝑦(𝑉c) 로 구할 수 있음

Page 21: 강화 학습 기초 Reinforcement Learning an introduction

Policy�improvement theorem

• 새로운 policy로 바꾸는 것이 좋을까 나쁠까?

𝑄c 𝑠, 𝑎 = 𝔼c 𝐺M 𝑆M = 𝑠,𝐴M = 𝑎

= 𝔼c ∑ 𝛾h𝑟MihiIKjMhkH 𝑆M = 𝑠,𝐴M = 𝑎

= 𝔼c 𝑟MiI + ∑ 𝛾h𝑟MihiIKjMhkI 𝑆M = 𝑠,𝐴M = 𝑎 = 𝔼c 𝑟MiI + 𝛾𝑉c(𝑠`) 𝑆M = 𝑠, 𝐴M = 𝑎

• 𝑄c 𝑠, 𝜋`(𝑠) 가 𝑉c(𝑠)보다크다면 𝜋`가 𝜋보다 좋다

𝑄c 𝑠, 𝜋`(𝑠) ≥ 𝑉c 𝑠 for�all�𝑠 ∈ 𝑆 이면,

𝑉c` 𝑠 ≥ 𝑉c 𝑠 for�all�𝑠 ∈ 𝑆.��WHY?

현재 value새로운 𝜋`로 선택한 value

𝑸𝝅 𝑠,𝑎 =�𝑝 𝑠` 𝑠,𝑎 [𝑟 𝑠,𝑎, 𝑠` + 𝛾maxo`

𝑸𝝅 𝑠MiI,𝑎` ]w`

Page 22: 강화 학습 기초 Reinforcement Learning an introduction

Policy�improvement theorem

Page 23: 강화 학습 기초 Reinforcement Learning an introduction

이제 우리는 arbitrary한 𝜋의 𝑉 𝑠 를 측정할 수 있고

DP로 𝑉h 𝑠 로 부터 𝑉hiI 𝑠 를 찾을 수 있다

Page 24: 강화 학습 기초 Reinforcement Learning an introduction

𝑉c 𝑠 를 계산한 이유는, 더 나은 𝜋∗를 찾기 위해서.

또한 𝑠 ∈ 𝑆에 대해 𝑉c 𝑠 로 𝜋` ≥ 𝜋를 결정할 수 있다

Page 25: 강화 학습 기초 Reinforcement Learning an introduction

그렇다면 모든 𝑠에 대해

𝜋` ≥ 𝜋인 policy�𝝅`를 어떻게 찾을 수 있을까?

Page 26: 강화 학습 기초 Reinforcement Learning an introduction

Greedy policy

𝜋` 𝑠 = argmaxo

𝑞c(𝑠, 𝑎)

= argmaxo

𝔼[𝑅MiI + 𝛾𝑉c 𝑠MiI |𝑆M = 𝑠, 𝐴M = 𝑎]

= argmaxo

∑ 𝑝 𝑠` 𝑠, 𝑎 [𝑟(𝑠, 𝑎, 𝑠`) + 𝛾𝑉c 𝑠` ]w`

• Greedy�policy�는 𝑉c로부터 𝑡 + 1에서 최고의 value를 보이는 action을 선택

<Policyimprovementtheorem>

Page 27: 강화 학습 기초 Reinforcement Learning an introduction

Policy�iteration

• Gridworld 예제에서 improved�policy는 optimal�policy,�𝜋` = 𝜋∗

• Policy�iteration은 finite�MDP에서 항상 𝜋∗로 converge�한다

Page 28: 강화 학습 기초 Reinforcement Learning an introduction

<Policy�iteration>

Page 29: 강화 학습 기초 Reinforcement Learning an introduction

Value�iteration

• Policy�iteration의 단점

• 𝑉c를 업데이트하는 Policy�evaluation가 converge�할 때까지 기다려야함

• 하지만 Gridworld 예제에서도 봤듯이 굳이

converge�할 때 까지 기다릴 필요는 없음

• 이렇게 해서 나온게 Value�iteration

Page 30: 강화 학습 기초 Reinforcement Learning an introduction

Value�iteration

• Policy�improvement와 truncated�policy�evaluation을 합친 것

Page 31: 강화 학습 기초 Reinforcement Learning an introduction

Value�iteration

• Policy�improvement와 truncated�policy�evaluation을 합친것

<Policy�iteration><Value�iteration>

Value�iteration's�one�sweep�combinePE�and�PI�effectively

Page 32: 강화 학습 기초 Reinforcement Learning an introduction

Policy�iteration�&�Value�iteration

• 두 알고리즘 모두 optimal�policy로 converge�하지만,

only�for discounted�finite�MDPs

Page 33: 강화 학습 기초 Reinforcement Learning an introduction

Asynchronous�Dynamic�Programming

• DP의 단점 : MDP의 모오든 state에 대해 계산해야 하며,각 계산마다 여러번(converge�할 때까지 기다리는)의 iteration�필요

• State가 엄청나게 많으면, 하나의 sweep또 엄청 expensive

• Asynchronous DP�algorithm• back�up values�of�state�in�any�order

• in-place�dynamic�programming

• prioritized�sweeping

• real-time�dynamic�programming

Page 34: 강화 학습 기초 Reinforcement Learning an introduction

In-Place�Dynamic�Programming

• Synchronous�value�iteration�:�두개의 value�function을 유지

𝑉��� 𝑠 ← maxo∈p

𝑟 𝑠, 𝑎, 𝑠` + 𝛾�𝑝 𝑠` 𝑠, 𝑎 𝑉���(𝑠`)w`∈�

𝑉��� ← 𝑉���

• Asynchronous�(In-place)�value�iteration�: 오직 하나의 value�function을 유지

𝑉 𝑠 ← maxo∈p

𝑟 𝑠, 𝑎, 𝑠` + 𝛾�𝑝 𝑠` 𝑠, 𝑎 𝑉(𝑠`)w`∈�

Page 35: 강화 학습 기초 Reinforcement Learning an introduction

Real-Time�Dynamic�Programming

• 실제로 agent와 관련있는 state만 업데이트

• Agent의 experience를 state�선택시에 가이드로 사용

• 매 time-step의 Sl, 𝐴M, 𝑅MiI마다

𝑉 𝑠M ← maxo∈p

𝑟 𝑠M, 𝑎, 𝑠` + 𝛾� 𝑝 𝑠` 𝑠M, 𝑎 𝑉(𝑠`)w`∈�

Page 36: 강화 학습 기초 Reinforcement Learning an introduction

Dynamic�Programming

ONLY�for�known MDP!

Page 37: 강화 학습 기초 Reinforcement Learning an introduction

Chapter�5

Monte-Carlo�Learning

Page 38: 강화 학습 기초 Reinforcement Learning an introduction

For�unknown MDP!

We�don’t�know�MDP�transition in�the�world!

Page 39: 강화 학습 기초 Reinforcement Learning an introduction

Model-free�predictionModel-free�control

𝑽𝝅(𝒔)

𝝅`

Page 40: 강화 학습 기초 Reinforcement Learning an introduction

Policy�EvaluationPolicy�Improvement

𝑽𝝅(𝒔)

𝝅`

Page 41: 강화 학습 기초 Reinforcement Learning an introduction

Definition

•prediction problem�(policy�evaluation) :

given�𝜋에 대한 value�function 𝑽𝝅(𝒔)를 계산하는 것

•control problem�(policy�improvement):

optimal�policy 𝝅∗를 찾는 것

Page 42: 강화 학습 기초 Reinforcement Learning an introduction

Monte-Carlo�Reinforcement�Learning

• Return :�total�discounted�reward

GM = 𝑅MiI + 𝛾𝑅Mit +⋯+ 𝛾KiMjI𝑅K

• Value�function�:�expected�return ≠ reward

𝑉c 𝑠 = 𝔼 𝐺M|𝑆M = 𝑠

• MC�policy�evaluation은 expected return 𝑉c 𝑠 를

empirical mean return GM로 계산하겠다는 것이 핵심 아이디어

Page 43: 강화 학습 기초 Reinforcement Learning an introduction

𝑠 ∈ 𝑆를 전부 모르는 상황에서

MC로 𝜋의 𝑉c(𝑠)를 계산하고 싶으면?

Page 44: 강화 학습 기초 Reinforcement Learning an introduction

First-Visit MC�Policy�Evaluation

Episode마다반복 with𝜋즉,하나의 episode에서 s를 처음방문했을때만업데이트

한 episode에서 여러번 N(s)가증가할수 없음

V(s),N(s),S(s)를 저장하고 있어야함

Page 45: 강화 학습 기초 Reinforcement Learning an introduction

Every-Visit MC�Policy�Evaluation

Episode마다반복 with𝜋

한 episode에서 여러번 N(s)가증가할수 있음

V(s),N(s),S(s)를 저장하고 있어야함

Page 46: 강화 학습 기초 Reinforcement Learning an introduction

Back�to�basic�:�Incremental Mean

𝑄hiI =Ih∑ 𝑅�h�kI

= Ih𝑅h + ∑ 𝑅�hjI

�kI = Ih𝑅h + (𝑘 − 1 𝑄h + 𝑄h − 𝑄h)

= Ih𝑅h + 𝑘𝑄h − 𝑄h = 𝑄h +

Ih𝑅h − 𝑄h

• Only�need�memory�for�k�and�𝑄h

• General�form:

𝑁𝑒𝑤𝐸𝑠𝑡𝑖𝑚𝑎𝑡𝑒 ← 𝑂𝑙𝑑𝐸𝑠𝑡𝑖𝑚𝑎𝑡𝑒 + 𝑆𝑡𝑒𝑝𝑆𝑖𝑧𝑒 𝑇𝑎𝑟𝑔𝑒𝑡 − 𝑂𝑙𝑑𝐸𝑠𝑡𝑖𝑚𝑎𝑡𝑒𝑒𝑟𝑟𝑜𝑟 =𝑇𝑒𝑚𝑝𝑜𝑟𝑎𝑙 𝐷𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒

Page 47: 강화 학습 기초 Reinforcement Learning an introduction

Incremental�Monte-Carlo�Updates

• 𝑆I, 𝐴I, 𝑅I, … , 𝑆K의 episode를 통해 𝑉(𝑠)를 업데이트 하는 경우

• 각 𝑆M과 𝐺M에 대하여

𝑁 𝑠M ← 𝑁 𝑠M + 1

𝑉 𝑠M ← 𝑉 𝑠M +1

𝑁 𝑠M(𝐺M − 𝑉 𝑠M )

• non-stationary 문제에서 fixed�constant�𝜶를 사용해 old�episodes를 잊을 수있음

𝑉 𝑠M ← 𝑉 𝑠M + 𝜶(𝐺M − 𝑉 𝑠M )

𝑒𝑟𝑟𝑜𝑟

환경이시간에따라변하는 경우ex)벽돌을하나깼을때,벽돌을 30개깼을때 (굳이한개깼을때를기억할 필요는 없음)

계산된 𝑒𝑟𝑟𝑜𝑟의방향으로 얼마나 이동시킬지

V(s),N(s)만 필요. S(s)는 필요없음

Page 48: 강화 학습 기초 Reinforcement Learning an introduction

MC의 장점

• 𝑉c 𝑠 는 각 state에 independent�하다

• DP :�𝑉hiI 𝑠 = ∑ 𝜋 𝑎 𝑠 ∑ 𝑝 𝑠` 𝑠, 𝑎 [𝑟(𝑠, 𝑎, 𝑠`) + 𝛾𝑉h 𝑠` ]w`o

• MC��:�𝑉 𝑠M ← 𝑉 𝑠M + Ih(𝐺M − 𝑉 𝑠M )

• MC�do�not�“bootstrap”

• Computation�independent�of�size�of�states� 𝑆

• 만약 전체 state가 아닌 특정 state�𝑠 ∈ 𝑆̅ ⊆ 𝑆의 𝑉c 𝑠 만 구해도 된다• DP보다 계산 덜 필요

DP1.allactions

2.onlyonetransition

MC1.sampled2.totheend

Page 49: 강화 학습 기초 Reinforcement Learning an introduction

MC의 단점

• 모든 State s를 방문하지 않았는데, 계산된 V(s)가 미래에 방문할 𝑠를

커버하는지 어떻게 guarantee�할 수 있는가? 없다

• 하지만, 어짜피 주어진 𝜋로 계속해서 방문하기 때문에 모든 s ∈ 𝑆 는 방문하지

못하더라도 주어진 𝜋가 방문하는 𝑆̅, 즉 𝑠 ∈ 𝑆̅ ⊆ 𝑆 한 𝑆의 subset 𝑆̅는 대부분

방문하므로괜찮

Page 50: 강화 학습 기초 Reinforcement Learning an introduction

요약

• MC�methods는

• episode를 겪으면서 직접 배운다

• Model-free:�MDP�transition와 reward를 몰라도 된다

• complete�episode로 부터 배운다: no�bootstrapping, 진짜 complete�Return

• 핵심 아이디어 : 𝑽𝝅 𝒔 = 평균 Return

• 하지만:

• episodic�MDP에서만 쓸 수 있음. episode가 끝나지(terminate) 않으면 MC�못씀!

Page 51: 강화 학습 기초 Reinforcement Learning an introduction

Chapter�6

Temporal-Difference�Learning

Page 52: 강화 학습 기초 Reinforcement Learning an introduction

For�unknown MDP!

We�don’t�know�MDP�transition in�the�world!

Page 53: 강화 학습 기초 Reinforcement Learning an introduction

Temporal-Difference�(TD)�Learning

• TD�methods

• 실제 experience로부터 배운다 (no�use�of�experience�memory)

• Model�free:�MDP�trainsition /�rewards 정보가 필요 없다

• DP처럼 estimate의 부분만을보고 (terminal 까지 가보지 않고) 배워 간다

• MC랑 달리 bootstraping 하면서 업데이트 한다

• Guess로 부터 Guess를 업데이트 한다 (핵심 아이디어)

Page 54: 강화 학습 기초 Reinforcement Learning an introduction

Temporal-Difference�(TD)�Learning

• 목표 : 𝑽𝝅 𝒔 를 실제 experience로부터 online으로 배움

• Incremental�every-visit�MC• 𝑉 𝑠M 를 실제 return인 𝑮𝒕를 향해 업데이트 한다

• 𝑉 𝑠M ← 𝑉 𝑠M + 𝜶(𝑮𝒕 − 𝑉 𝑠M )

• Simplest�temporal-differnce learning�algorithm:�TD(0)

• 𝑉 𝑠M 를 예측한 return인 RMiI + 𝛾𝑉 𝑠M = immediatereward +discountedvalueofnextstep

• 𝑉 𝑠M ← 𝑉 𝑠M + 𝜶(𝑹𝒕i𝟏 + 𝜸𝑽(𝒔𝒕i𝟏) − 𝑉 𝑠M )

TDtarget TDerror

Page 55: 강화 학습 기초 Reinforcement Learning an introduction

Tabular�TD(0)

𝑆

𝑆`

모든 action을 해보지않음

TD(0):Samplebackup이라고부름. Fullbackup처럼가능한모든 𝑆` ∈ 𝑆를계산하지않기때문

𝑎𝑟

Page 56: 강화 학습 기초 Reinforcement Learning an introduction

MC�vs�TD

• 자동차 운전의 예시• MC의 경우

• 자동차가 사고가 나기 직전에 피했다.�𝑮𝒕 = 𝟎

• 그때까지의 trajectory 𝒔𝒕, 𝒔𝒕j𝟏,… , 𝒔𝟎들은 사고가 날 수 있었던 위험한 상황에 대한negative�reward를 받지 못하고 업데이트가 안된다

• 실제로 사고가 난 경우에만 negative�한 상황을 피하도록 배울 수 있다

• TD의 경우• 자동차가 사고가 나기 직전이라고 판단이 되었을 때. 𝑽 𝒔𝒕i𝟏 = −𝟏

• 그 직전의 trajectory�𝒔𝒕는 negative�reward로 업데이트 할 수 있다

• 실제로 사고가 나지 않은 경우에도 negative�한 상황을 피하도록 배울 수 있다

Page 57: 강화 학습 기초 Reinforcement Learning an introduction

MC�vs�TD

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

Page 58: 강화 학습 기초 Reinforcement Learning an introduction

MC�vs�TD

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

Page 59: 강화 학습 기초 Reinforcement Learning an introduction

MC�vs�TD (1)

• TD는 마지막 return을 보기 전에 배울 수 있다• 매 step 마다 online으로 배운다

• MC는 episode의 마지막까지 기다려 𝑮𝒕를 알아야 한다

• TD는 마지막 return이 없이도 배울 수 있다• TD는 episode가 완전하지 않아도 (끝나지 않아도, 끝나지 않았어도) 배운다

• MC는 episode가 완전해야 배운다

• MC는 episodic�(terminating)�environments에서만 쓸 수 있다

• TD는 continuing�(non-terminating)�environments에서도 쓸 수 있다

Page 60: 강화 학습 기초 Reinforcement Learning an introduction

Bias/Variance�Trade-off

• Return : 𝐺M = 𝑅MiI + 𝛾𝑅Mit +⋯+ 𝛾KjI𝑅K. unbiased prediction�of�𝑽𝝅 𝒔𝒕

• True�TD�target : RMiI + 𝛾𝑉c 𝑠MiI . unbiased prediction�of�𝑽𝝅(𝒔𝒕)

• TD�target�:�𝑅MiI + 𝛾𝑉h 𝑠MiI . biased estimate�of�𝑽𝝅(𝒔𝒕)• 𝑉h는 현재 우리의 불완전한 지식 (bias)�을 나타낸다

• 하지만 TD�target은 Return 보다 훨씬 작은 variance를 가진다• Return은많은 random�action,�transitions,�reward에 의존하며 episode가 길어질수록variance가 커진다

• TD�target은 오직 하나의 random�action,�transition,�reward에 의해 결정된다

bias는 이두값의차이때문에발생

Page 61: 강화 학습 기초 Reinforcement Learning an introduction

MC�vs�TD (2)

• MC : high�variance,�zero�bias• Good�convergence�property�(even�with�function�approximation)

• 초기 값에 sensitive하지않다. 이유는 초기 값으로 부터 bootstrap하지 않기 때문

• TD�:�low�variance,�some�bias• 보통 MC보다 훨씬 efficient하다

• TD(0)는 𝑉c 𝑠M 로 converge한다.• 하지만 function�approximation로는 항상 converge하지 않는다 (하지만 specific한 case)

• 초기값에 훨씬 sensitive하다

Page 62: 강화 학습 기초 Reinforcement Learning an introduction

Random�Walk�example

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

Page 63: 강화 학습 기초 Reinforcement Learning an introduction

Random�Walk�example

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

boostraping (TD)을통해서 더빠르게학습할수있다

Page 64: 강화 학습 기초 Reinforcement Learning an introduction

Batch�MC�&�TD

• MC�&�TD는 experiecne → 𝑖𝑛𝑓𝑖𝑛𝑖𝑡𝑒 이면 𝑉h(𝑠) → 𝑉c(𝑠)

• 하지만 K개의 유한한 experience�(batch�solution)만 있다면?

𝑠II, 𝑠tI, 𝑠­I,… , 𝑠K®I

𝑠I¯, 𝑠t¯, 𝑠­¯,… , 𝑠K®¯

• 여기에 MC,�TD(0)을 적용하면?

Page 65: 강화 학습 기초 Reinforcement Learning an introduction

AB�Example

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

Page 66: 강화 학습 기초 Reinforcement Learning an introduction

AB�Example

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

MC:𝑉 𝐴 = 0TD(0):𝑉 𝐴 = 0.75

Page 67: 강화 학습 기초 Reinforcement Learning an introduction

Certainty�Equivalence

먼저 data에맞는 MDP를만들고그MDP에 maximumlikelihood한 답을찾음

countoftransition

meanrewards,dividedbynumberofvisit

onlyobserve lastreturn

Page 68: 강화 학습 기초 Reinforcement Learning an introduction

MC�&�TD (3)

• TD는 Markov property 를 타겟으로 한다• TD는 MDP를 만들어 나가면서 (Environment를 state에 대해 이해) 문제를

푼다

• 보통 Markov environment에서 훨씬 효과적이다

• MC는 Markov�property를 타겟으로 하지 않는다• 보통 non-Markov�environment에서 훨씬 효과적이다

• ex)�partially�observable�MDP

Page 69: 강화 학습 기초 Reinforcement Learning an introduction

MC�backup

sampleonecompletetrajectory

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

Page 70: 강화 학습 기초 Reinforcement Learning an introduction

TD�backup

sample anaction,lookahead onestep

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

Page 71: 강화 학습 기초 Reinforcement Learning an introduction

DP�backup

lookonestepahead,butnosample

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

Page 72: 강화 학습 기초 Reinforcement Learning an introduction

Bootstrapping�&�Sampling

• Bootstrapping :�don’t�use�real�return• MC�does�not�bootstrap

• DP�bootstrap�:�use�estimate as�a�target

• TD�bootstrap

• Sampling• MC�samples

• DP�does�not�samples

• TD�samples

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

Page 73: 강화 학습 기초 Reinforcement Learning an introduction

n-step Prediction

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

Page 74: 강화 학습 기초 Reinforcement Learning an introduction

Large�Random�Walk�Example

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

MC:highvariance

TD:lowvariance

On-line:𝑉hiI 𝑠M ← 𝑉h 𝑠M 를매 step마다Off-line :𝑉hiI 𝑠M ← 𝑉h 𝑠M 를하나의 episode가 끝나고

Page 75: 강화 학습 기초 Reinforcement Learning an introduction

Large�Random�Walk�Example

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

MC:highvariance

TD:lowvariance • 만약 randomwalk의수가다른문제에대해서

• 예를들어 state가 10개인문제와 1000개인문제

• 10개문제의 bestn과 1000개문제의 bestn은다를 것이다

• environment에 robust하지않다

Page 76: 강화 학습 기초 Reinforcement Learning an introduction

Averaging�n-step Returns

• 𝐺M(�) = 𝑟MiI + 𝛾𝑟Mit +⋯+ 𝛾�jI𝑟Mi� + 𝛾�𝑉(𝑠Mi�)

• 1-step 한 것과 2-step 뿐만 아니라 n-step 에서도 잘 하고 싶다면?

• 𝐺M(t,²) = I

t𝐺M(t) + I

t𝐺M(²)

• 더 효율적으로 계산할 수 없을까?

Page 77: 강화 학습 기초 Reinforcement Learning an introduction

𝜆 − 𝑟𝑒𝑡𝑢𝑟𝑛

• 𝜆는 step이 증가할때마다 𝐺M(�)를 감소시키는 factor

• 1 − 𝜆는 sum을 1로 만들기위한 normalizing�factor

• 𝐺Mµ = 1− 𝜆 ∑ 𝜆�jI𝐺M(�)¶

�kI

• Forward-view�TD(𝜆)

• 𝑉 𝑠M = 𝑉 𝑠M + 𝛼 𝐺Mµ − 𝑉(𝑠M)

weighted�sum�of�n-step�returns

Page 78: 강화 학습 기초 Reinforcement Learning an introduction

TD(𝜆)�함수

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf

이런 weighting을 geometricweighting이라고함

Page 79: 강화 학습 기초 Reinforcement Learning an introduction

Forward-view�of�TD(𝜆)

• 𝐺Mµ를 향해 업데이트 함

• 𝑉 𝑠M = 𝑉 𝑠M + 𝛼 𝐺Mµ − 𝑉(𝑠M)

• Forward-view�TD는 𝐺Mµ를 계산하기 위해 미래를 기다려야 함

• MC 처럼, episode가 끝날때까지 기다려야 한다

Page 80: 강화 학습 기초 Reinforcement Learning an introduction

Forward-view�TD(𝜆)𝜆 = 1 :MC 𝜆 = 0 :TD(0)

• 만약 randomwalk의수가다른 문제에 대해서

• 예를들어 state가 10개인 문제와 1000개인 문제

• n이다르더라도 best𝝀는큰변화가없을것

• Robusttoenvironment

Page 81: 강화 학습 기초 Reinforcement Learning an introduction

Backward-view�TD(𝜆)

• Update�online,�every�step,�from�incomplete�sequences 의 장점을 유지

• “종”이 감전을 일으켰을까? 아니면 “빛”이 감전을 일으켰을까?

• Frequency�heuristic�:�가장 자주 발생했던 state에 importance를

• Recency heuristic�:�가장 최근에 발생한 state에 importance를

• Eligibility�trace : 두 개의 heuristic을 합친 것

Page 82: 강화 학습 기초 Reinforcement Learning an introduction

Eligibility�Traces

Page 83: 강화 학습 기초 Reinforcement Learning an introduction

Backward-view�of�TD(𝜆)

• Eligibility�trace를 모든 state�𝑠에 대해 유지

• 𝑉(𝑠)를 모든 𝑠 에 대해 업데이트함

𝛿M = 𝑟MiI + 𝛾𝑉 𝑠MiI − 𝑉 𝑠M𝑉 𝑠 ← 𝑉 𝑠 + 𝛼𝛿M𝐸M(𝑠)

• Forward-view�TD(𝜆)

• 𝑉 𝑠M = 𝑉 𝑠M + 𝛼 𝐺Mµ − 𝑉(𝑠M)

:1-stepTDerror

:multiplyeligibilitytrace

Page 84: 강화 학습 기초 Reinforcement Learning an introduction

TD(𝜆)�and�TD(0)

• 𝜆 = 0일 때:

𝛿M = 𝑟MiI+ 𝛾𝑉 𝑠MiI − 𝑉 𝑠M𝐸M 𝑠 = 𝟏(𝑆M = 𝑠)

𝑉 𝑠 ← 𝑉 𝑠 + 𝛼𝛿M𝐸M(𝑠)

• 𝜆는 얼마나 그 가치를 가져갈 것인가. 𝜆 = 0은 𝑆M = 𝑠를 넘어가면 그 가치를 무시한다는 의미

• 𝑺𝒕 = 𝒔를 방문했을때만 업데이트

• 이건 TD(0)와 완벽하게 똑같다.𝑉 𝑠 ← 𝑉 𝑠 + 𝛼𝛿M

Page 85: 강화 학습 기초 Reinforcement Learning an introduction

TD(𝜆)�and�MC

• 𝜆 = 1일때

𝐸M 𝑠 = 𝛾𝐸MjI 𝑠 + 𝟏(𝑆M = 𝑠)

Page 86: 강화 학습 기초 Reinforcement Learning an introduction

Chapter�7

Page 87: 강화 학습 기초 Reinforcement Learning an introduction

in�progress

Page 88: 강화 학습 기초 Reinforcement Learning an introduction

Reference

• Reinforcement�Learning:�An�Introduction

• RL�Course�by�David�Silver

Page 89: 강화 학습 기초 Reinforcement Learning an introduction

http://carpedm20.github.io/