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

강화 학습 기초 Reinforcement Learning an introduction

Embed Size (px)

Citation preview

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/