강화 학습 기초 reinforcement learning an introduction
Post on 11-Apr-2017
10.598 Views
Preview:
TRANSCRIPT
ReinforcementLearning:AnIntroductionRichardS.SuttonandAndrewG.Barto
김태훈
carpedm20
Chapter�1,�2,�3
Reinforcement�Learning:
상호 작용을 통해 목표를 달성하는 방법을 배우는 문제
learner,decisionmaker
everythingoutside theagent
Policy 𝝅𝒕 𝒂 𝒔 : 𝑺 → ℝ ∈ [𝟎,𝟏]
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)
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
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
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)
𝑄∗(𝑠, 𝑎)
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 = 𝑎]
Bellman�optimality�equation
• 𝑉∗ 𝑠 should�be�equal�the�expected�return�for�the�best�action�from�that�state
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
Chapter�4
Dynamic�Programming
ONLY�for�known MDP!
Policy�Evaluation
• How�to�compute�𝑉c 𝑠 for�an�arbitrary�policy�𝜋?�𝝅의 value를 계산 하는 방법?
= policy�evaluation
𝑉c 𝑠 = 𝔼 𝑟M + 𝛾𝑉c 𝑠` 𝑆M = 𝑠
=�𝜋 𝑎 𝑠 �𝑝 𝑠` 𝑠, 𝑎 [𝑟(𝑠, 𝑎, 𝑠`) + 𝛾𝑉c 𝑠` ]w`o
𝜋에 대한 𝑠의 future�reward의 expectation
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>
Iterative�policy�evaluation
http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/DP.pdf
𝑉h는 upperbound인 𝑉h가존재한다는가정하에
𝑘 → ∞일때 𝑉h로 converge한다
Iterative�policy�evaluation
http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/DP.pdf
fullbackup
Gridworld 예제
http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/DP.pdf
Gridworld 예제
http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/DP.pdf
−1×0.25−2×0.75=−1.75
Gridworld 예제
http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/DP.pdf
Valuefunction은
좋은 policy를생각하는데도움을준다
Policy�improvement
• Policy�evaluation 을 했던건 더 좋은 policy를 찾기 위함
• Policy�evaluation으로 Arbitrary�𝜋로 부터 Vc 𝑆 를 계산
• 이제 𝑆에서 현재 policy�𝝅를 따르면 얼마나 좋은지 Vc 𝑆 알고 있음
• 그럼 더 좋은 policy�𝝅`를 찾으려면?
• 새로운 𝜋`를 𝜋` = 𝑔𝑟𝑒𝑒𝑑𝑦(𝑉c) 로 구할 수 있음
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`
Policy�improvement theorem
이제 우리는 arbitrary한 𝜋의 𝑉 𝑠 를 측정할 수 있고
DP로 𝑉h 𝑠 로 부터 𝑉hiI 𝑠 를 찾을 수 있다
𝑉c 𝑠 를 계산한 이유는, 더 나은 𝜋∗를 찾기 위해서.
또한 𝑠 ∈ 𝑆에 대해 𝑉c 𝑠 로 𝜋` ≥ 𝜋를 결정할 수 있다
그렇다면 모든 𝑠에 대해
𝜋` ≥ 𝜋인 policy�𝝅`를 어떻게 찾을 수 있을까?
Greedy policy
𝜋` 𝑠 = argmaxo
𝑞c(𝑠, 𝑎)
= argmaxo
𝔼[𝑅MiI + 𝛾𝑉c 𝑠MiI |𝑆M = 𝑠, 𝐴M = 𝑎]
= argmaxo
∑ 𝑝 𝑠` 𝑠, 𝑎 [𝑟(𝑠, 𝑎, 𝑠`) + 𝛾𝑉c 𝑠` ]w`
• Greedy�policy�는 𝑉c로부터 𝑡 + 1에서 최고의 value를 보이는 action을 선택
<Policyimprovementtheorem>
Policy�iteration
• Gridworld 예제에서 improved�policy는 optimal�policy,�𝜋` = 𝜋∗
• Policy�iteration은 finite�MDP에서 항상 𝜋∗로 converge�한다
<Policy�iteration>
Value�iteration
• Policy�iteration의 단점
• 𝑉c를 업데이트하는 Policy�evaluation가 converge�할 때까지 기다려야함
• 하지만 Gridworld 예제에서도 봤듯이 굳이
converge�할 때 까지 기다릴 필요는 없음
• 이렇게 해서 나온게 Value�iteration
Value�iteration
• Policy�improvement와 truncated�policy�evaluation을 합친 것
Value�iteration
• Policy�improvement와 truncated�policy�evaluation을 합친것
<Policy�iteration><Value�iteration>
Value�iteration's�one�sweep�combinePE�and�PI�effectively
Policy�iteration�&�Value�iteration
• 두 알고리즘 모두 optimal�policy로 converge�하지만,
only�for discounted�finite�MDPs
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
In-Place�Dynamic�Programming
• Synchronous�value�iteration�:�두개의 value�function을 유지
𝑉��� 𝑠 ← maxo∈p
𝑟 𝑠, 𝑎, 𝑠` + 𝛾�𝑝 𝑠` 𝑠, 𝑎 𝑉���(𝑠`)w`∈�
𝑉��� ← 𝑉���
• Asynchronous�(In-place)�value�iteration�: 오직 하나의 value�function을 유지
𝑉 𝑠 ← maxo∈p
𝑟 𝑠, 𝑎, 𝑠` + 𝛾�𝑝 𝑠` 𝑠, 𝑎 𝑉(𝑠`)w`∈�
Real-Time�Dynamic�Programming
• 실제로 agent와 관련있는 state만 업데이트
• Agent의 experience를 state�선택시에 가이드로 사용
• 매 time-step의 Sl, 𝐴M, 𝑅MiI마다
𝑉 𝑠M ← maxo∈p
𝑟 𝑠M, 𝑎, 𝑠` + 𝛾� 𝑝 𝑠` 𝑠M, 𝑎 𝑉(𝑠`)w`∈�
Dynamic�Programming
ONLY�for�known MDP!
Chapter�5
Monte-Carlo�Learning
For�unknown MDP!
We�don’t�know�MDP�transition in�the�world!
Model-free�predictionModel-free�control
𝑽𝝅(𝒔)
𝝅`
Policy�EvaluationPolicy�Improvement
𝑽𝝅(𝒔)
𝝅`
Definition
•prediction problem�(policy�evaluation) :
given�𝜋에 대한 value�function 𝑽𝝅(𝒔)를 계산하는 것
•control problem�(policy�improvement):
optimal�policy 𝝅∗를 찾는 것
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로 계산하겠다는 것이 핵심 아이디어
𝑠 ∈ 𝑆를 전부 모르는 상황에서
MC로 𝜋의 𝑉c(𝑠)를 계산하고 싶으면?
First-Visit MC�Policy�Evaluation
Episode마다반복 with𝜋즉,하나의 episode에서 s를 처음방문했을때만업데이트
한 episode에서 여러번 N(s)가증가할수 없음
V(s),N(s),S(s)를 저장하고 있어야함
Every-Visit MC�Policy�Evaluation
Episode마다반복 with𝜋
한 episode에서 여러번 N(s)가증가할수 있음
V(s),N(s),S(s)를 저장하고 있어야함
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:
𝑁𝑒𝑤𝐸𝑠𝑡𝑖𝑚𝑎𝑡𝑒 ← 𝑂𝑙𝑑𝐸𝑠𝑡𝑖𝑚𝑎𝑡𝑒 + 𝑆𝑡𝑒𝑝𝑆𝑖𝑧𝑒 𝑇𝑎𝑟𝑔𝑒𝑡 − 𝑂𝑙𝑑𝐸𝑠𝑡𝑖𝑚𝑎𝑡𝑒𝑒𝑟𝑟𝑜𝑟 =𝑇𝑒𝑚𝑝𝑜𝑟𝑎𝑙 𝐷𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒
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)는 필요없음
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
MC의 단점
• 모든 State s를 방문하지 않았는데, 계산된 V(s)가 미래에 방문할 𝑠를
커버하는지 어떻게 guarantee�할 수 있는가? 없다
• 하지만, 어짜피 주어진 𝜋로 계속해서 방문하기 때문에 모든 s ∈ 𝑆 는 방문하지
못하더라도 주어진 𝜋가 방문하는 𝑆̅, 즉 𝑠 ∈ 𝑆̅ ⊆ 𝑆 한 𝑆의 subset 𝑆̅는 대부분
방문하므로괜찮
요약
• MC�methods는
• episode를 겪으면서 직접 배운다
• Model-free:�MDP�transition와 reward를 몰라도 된다
• complete�episode로 부터 배운다: no�bootstrapping, 진짜 complete�Return
• 핵심 아이디어 : 𝑽𝝅 𝒔 = 평균 Return
• 하지만:
• episodic�MDP에서만 쓸 수 있음. episode가 끝나지(terminate) 않으면 MC�못씀!
Chapter�6
Temporal-Difference�Learning
For�unknown MDP!
We�don’t�know�MDP�transition in�the�world!
Temporal-Difference�(TD)�Learning
• TD�methods
• 실제 experience로부터 배운다 (no�use�of�experience�memory)
• Model�free:�MDP�trainsition /�rewards 정보가 필요 없다
• DP처럼 estimate의 부분만을보고 (terminal 까지 가보지 않고) 배워 간다
• MC랑 달리 bootstraping 하면서 업데이트 한다
• Guess로 부터 Guess를 업데이트 한다 (핵심 아이디어)
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
Tabular�TD(0)
𝑆
𝑆`
모든 action을 해보지않음
TD(0):Samplebackup이라고부름. Fullbackup처럼가능한모든 𝑆` ∈ 𝑆를계산하지않기때문
𝑎𝑟
MC�vs�TD
• 자동차 운전의 예시• MC의 경우
• 자동차가 사고가 나기 직전에 피했다.�𝑮𝒕 = 𝟎
• 그때까지의 trajectory 𝒔𝒕, 𝒔𝒕j𝟏,… , 𝒔𝟎들은 사고가 날 수 있었던 위험한 상황에 대한negative�reward를 받지 못하고 업데이트가 안된다
• 실제로 사고가 난 경우에만 negative�한 상황을 피하도록 배울 수 있다
• TD의 경우• 자동차가 사고가 나기 직전이라고 판단이 되었을 때. 𝑽 𝒔𝒕i𝟏 = −𝟏
• 그 직전의 trajectory�𝒔𝒕는 negative�reward로 업데이트 할 수 있다
• 실제로 사고가 나지 않은 경우에도 negative�한 상황을 피하도록 배울 수 있다
MC�vs�TD
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf
MC�vs�TD
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf
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에서도 쓸 수 있다
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는 이두값의차이때문에발생
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하다
Random�Walk�example
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf
Random�Walk�example
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf
boostraping (TD)을통해서 더빠르게학습할수있다
Batch�MC�&�TD
• MC�&�TD는 experiecne → 𝑖𝑛𝑓𝑖𝑛𝑖𝑡𝑒 이면 𝑉h(𝑠) → 𝑉c(𝑠)
• 하지만 K개의 유한한 experience�(batch�solution)만 있다면?
𝑠II, 𝑠tI, 𝑠I,… , 𝑠K®I
…
𝑠I¯, 𝑠t¯, 𝑠¯,… , 𝑠K®¯
• 여기에 MC,�TD(0)을 적용하면?
AB�Example
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf
AB�Example
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf
MC:𝑉 𝐴 = 0TD(0):𝑉 𝐴 = 0.75
Certainty�Equivalence
먼저 data에맞는 MDP를만들고그MDP에 maximumlikelihood한 답을찾음
countoftransition
meanrewards,dividedbynumberofvisit
onlyobserve lastreturn
MC�&�TD (3)
• TD는 Markov property 를 타겟으로 한다• TD는 MDP를 만들어 나가면서 (Environment를 state에 대해 이해) 문제를
푼다
• 보통 Markov environment에서 훨씬 효과적이다
• MC는 Markov�property를 타겟으로 하지 않는다• 보통 non-Markov�environment에서 훨씬 효과적이다
• ex)�partially�observable�MDP
MC�backup
sampleonecompletetrajectory
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf
TD�backup
sample anaction,lookahead onestep
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf
DP�backup
lookonestepahead,butnosample
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf
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
n-step Prediction
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf
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가 끝나고
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하지않다
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(²)
• 더 효율적으로 계산할 수 없을까?
𝜆 − 𝑟𝑒𝑡𝑢𝑟𝑛
• 𝜆는 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
TD(𝜆)�함수
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MC-TD.pdf
이런 weighting을 geometricweighting이라고함
Forward-view�of�TD(𝜆)
• 𝐺Mµ를 향해 업데이트 함
• 𝑉 𝑠M = 𝑉 𝑠M + 𝛼 𝐺Mµ − 𝑉(𝑠M)
• Forward-view�TD는 𝐺Mµ를 계산하기 위해 미래를 기다려야 함
• MC 처럼, episode가 끝날때까지 기다려야 한다
Forward-view�TD(𝜆)𝜆 = 1 :MC 𝜆 = 0 :TD(0)
• 만약 randomwalk의수가다른 문제에 대해서
• 예를들어 state가 10개인 문제와 1000개인 문제
• n이다르더라도 best𝝀는큰변화가없을것
• Robusttoenvironment
Backward-view�TD(𝜆)
• Update�online,�every�step,�from�incomplete�sequences 의 장점을 유지
• “종”이 감전을 일으켰을까? 아니면 “빛”이 감전을 일으켰을까?
• Frequency�heuristic�:�가장 자주 발생했던 state에 importance를
• Recency heuristic�:�가장 최근에 발생한 state에 importance를
• Eligibility�trace : 두 개의 heuristic을 합친 것
Eligibility�Traces
Backward-view�of�TD(𝜆)
• Eligibility�trace를 모든 state�𝑠에 대해 유지
• 𝑉(𝑠)를 모든 𝑠 에 대해 업데이트함
𝛿M = 𝑟MiI + 𝛾𝑉 𝑠MiI − 𝑉 𝑠M𝑉 𝑠 ← 𝑉 𝑠 + 𝛼𝛿M𝐸M(𝑠)
• Forward-view�TD(𝜆)
• 𝑉 𝑠M = 𝑉 𝑠M + 𝛼 𝐺Mµ − 𝑉(𝑠M)
:1-stepTDerror
:multiplyeligibilitytrace
TD(𝜆)�and�TD(0)
• 𝜆 = 0일 때:
𝛿M = 𝑟MiI+ 𝛾𝑉 𝑠MiI − 𝑉 𝑠M𝐸M 𝑠 = 𝟏(𝑆M = 𝑠)
𝑉 𝑠 ← 𝑉 𝑠 + 𝛼𝛿M𝐸M(𝑠)
• 𝜆는 얼마나 그 가치를 가져갈 것인가. 𝜆 = 0은 𝑆M = 𝑠를 넘어가면 그 가치를 무시한다는 의미
• 𝑺𝒕 = 𝒔를 방문했을때만 업데이트
• 이건 TD(0)와 완벽하게 똑같다.𝑉 𝑠 ← 𝑉 𝑠 + 𝛼𝛿M
TD(𝜆)�and�MC
• 𝜆 = 1일때
𝐸M 𝑠 = 𝛾𝐸MjI 𝑠 + 𝟏(𝑆M = 𝑠)
Chapter�7
in�progress
Reference
• Reinforcement�Learning:�An�Introduction
• RL�Course�by�David�Silver
http://carpedm20.github.io/
top related