0% found this document useful (0 votes)
63 views47 pages

Batch Reinforcement Learning: Alan Fern

Batch reinforcement learning involves decoupling data collection from policy optimization. It allows experience to be collected independently and then used to learn an optimal policy without further interaction with the environment. Two common batch RL algorithms are Least Squares Policy Iteration (LSPI) and Fitted Q-Iteration. LSPI learns a linear approximation of the Q-function through least squares regression on a batch of experience. Fitted Q-Iteration uses any function approximator like neural networks to learn the Q-function through repeated regression on the batch data. Both algorithms are more sample efficient and stable than online methods as they ignore exploration issues and optimize based on a fixed dataset.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views47 pages

Batch Reinforcement Learning: Alan Fern

Batch reinforcement learning involves decoupling data collection from policy optimization. It allows experience to be collected independently and then used to learn an optimal policy without further interaction with the environment. Two common batch RL algorithms are Least Squares Policy Iteration (LSPI) and Fitted Q-Iteration. LSPI learns a linear approximation of the Q-function through least squares regression on a batch of experience. Fitted Q-Iteration uses any function approximator like neural networks to learn the Q-function through repeated regression on the batch data. Both algorithms are more sample efficient and stable than online methods as they ignore exploration issues and optimize based on a fixed dataset.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

Batch Reinforcement Learning

Alan Fern

* Based in part on slides by Ronald Parr


Overview

 What is batch reinforcement learning?

 Least Squares Policy Iteration

 Fitted Q-iteration

 Batch DQN
Online versus Batch RL
 Online RL: integrates data collection and optimization
 Select actions in environment and at the same time update
parameters based on each observed (s,a,s’,r)

 Batch RL: decouples data collection and optimization


 First generate/collect experience in the environment giving a
data set of state-action-reward-state pairs {(si,ai,ri,si’)}
 We may not even know where the data came from
 Use the fixed set of experience to optimize/learn a policy

 Online vs. Batch:


 Batch algorithms are often more “data efficient” and stable
 Batch algorithms ignore the exploration-exploitation
problem, and do their best with the data they have
Batch RL Motivation
 There are many applications that naturally fit the batch
RL model
 Medical Treatment Optimization:
 Input: collection of treatment episodes for an ailment giving
sequence of observations and actions including outcomes
 Ouput: a treatment policy, ideally better than current practice

 Emergency Response Optimization:


 Input: collection of emergency response episodes giving
movement of emergency resources before, during, and after
911 calls
 Output: emergency response policy
Batch RL Motivation
 Online Education Optimization:
 Input: collection of episodes of students interacting with an
educational system that gives information and questions in
order to teach a topic
 Actions correspond to giving the student some information

or giving them a question of a particular difficulty and topic


 Ouput: a teaching policy that is tuned to student based on
what is known about the student
Least Squares Policy Iteration (LSPI)
 LSPI is a model-free batch RL algorithm
 Learns a linear approximation of Q-function
 stable and efficient
 Never diverges or gives meaningless answers

 LSPI can be applied to a dataset regardless of how


it was collected
 But garbage in, garbage out.

Least-Squares Policy Iteration, Michail Lagoudakis and Ronald


Parr, Journal of Machine Learning Research (JMLR), Vol. 4,
2003, pp. 1107-1149.
Least Squares Policy iteration
 No time to cover details of derivation
 Details are in the appendix of these slides

 LSPI is a wrapper around an algorithm LSTDQ

 LSTDQ: learns a Q-function for current policy given


the batch of data
 Can learn Q-function for policy from any (reasonable) set
of samples---sometimes called an off-policy method
 No need to collect samples from current policy

 Disconnects policy evaluation from data collection


 Permits reuse of data across iterations!
 Truly a batch method.
Implementing LSTDQ
 LSTDQ uses a linear Q-function with features 𝜙𝑘 and
weights 𝑤𝑘 .
Qˆ w ( s, a)   wk  k ( s, a)
k

defines greedy policy:  w (s)  arg max a Qˆ w (s, a)

 For each (s,a,r,s’) sample in data set:

Bij  Bij  i (s, a) j (s, a)   i (s, a) j (s' ,  w (s' ))


bi  bi  r  i (s, a)
wB b 1 arg max a Qˆ w (s' , a)
Running LSPI
 There is a Matlab implementation available!

1. Collect a database of (s,a,r,s’) experiences


(this is the magic step)
2. Start with random weights (= random policy)

3. Repeat
 Evaluate current policy against database
 Run LSTDQ to generate new set of weights
 New weights imply new Q-function and hence new

policy
 Replace current weights with new weights

 Until convergence
Results: Bicycle Riding

 Watch random controller operate simulated bike

 Collect ~40,000 (s,a,r,s’) samples

 Pick 20 simple feature functions (5 actions)

 Make 5-10 passes over data (PI steps)

 Reward was based on distance to goal + goal


achievement
 Result:
Controller that balances and rides to goal
Bicycle Trajectories
What about Q-learning?

 Ran Q-learning with same features

 Used experience replay for data efficiency


Q-learning Results
LSPI Robustness
Some key points
 LSPI is a batch RL algorithm
 Can generate trajectory data anyway you want
 Induces a policy based on global optimization over
full dataset

 Very stable with no parameters that need


tweaking
So, what’s the bad news?
 LSPI does not address the exploration problem
 It decouples data collection from policy optimization
 This is often not a major issue, but can be in some cases

 k2 can sometimes be big


 Lots of storage
 Matrix inversion can be expensive

 Bicycle needed “shaping” rewards

 Still haven’t solved


 Feature selection (issue for all machine learning, but RL
seems even more sensitive)
Fitted Q-Iteration
 LSPI is limited to linear functions over a given set of
features
 Fitted Q-Iteration allows us to use any type of
function approximator for the Q-function
 Random Forests have been popular
 Deep Networks

 Fitted Q-Iteration is a very straightforward batch


version of Q-learning

Damien Ernst, Pierre Geurts, Louis Wehenkel. (2005).


Tree-Based Batch Mode Reinforcement Learning
Journal of Machine Learning Research; 6(Apr):503—556.
Fitted Q-Iteration
1. Let 𝐷 = 𝑠𝑖 , 𝑎𝑖 , 𝑟𝑖 , 𝑠𝑖′ } be our batch of transitions
2. Initialize approximate Q-function 𝑄𝜃
(perhaps weights of a deep network)
3. Initialize training set 𝑇 = ∅
4. For each 𝑠𝑖 , 𝑎𝑖 , 𝑟𝑖 , 𝑠𝑖′ ∈ 𝐷
 𝑞𝑖 = (𝑟𝑖 + Β max ′
𝑄𝜃 𝑠𝑖
′ ′
,𝑎 // new estimate of 𝑄 𝑠𝑖 , 𝑎𝑖
𝑎
 Add training example 〈 𝑠𝑖 , 𝑎𝑖 , 𝑞𝑖 〉 to T

5. Learn new 𝑄𝜃 from training data 𝑇


6. Goto 3

Step 5 could use any regression algorithm: neural network,


random forests, support vector regression, Gaussian Process
DQN
 DQN was developed by DeepMind originally for
online learning of Atari games

 However, the algorithm can be used effectively as is


for Batch RL.

 I haven’t seen this done, but it is straightforward.


DQN for Batch RL
1. Let 𝐷 = 𝑠𝑖 , 𝑎𝑖 , 𝑟𝑖 , 𝑠𝑖′ } be our batch of transitions
2. Initialize neural network parameter values to 𝜃
3. Randomly sample a mini-batch of 𝐵 transition { 𝑠𝑘 , 𝑎𝑘 , 𝑟𝑘 , 𝑠𝑘′ }
from 𝐷
4. Perform a TD update for each parameter based on mini-batch
′ ′ − 𝑄 𝑠 ,𝑎
𝜃 ←𝜃+𝛼 𝑟𝑘 + Β max

𝑄 𝑠
𝜃 𝑘 , 𝑎 𝜃 𝑘 𝑘 𝛻𝜃 𝑄 𝑠𝑘 , 𝑎𝑘
𝑎
𝑘
5. Goto 3
Appendix

21
Projection Approach to Approximation
 Recall the standard Bellman equation:
V * ( s )  max a R( s, a )   s ' P( s ' | s, a )V * ( s ' )
or equivalently V *  T [V * ] where T[.] is the
Bellman operator
 Recall from value iteration, the sub-optimality of a
value function can be bounded in terms of the
Bellman error:
V  T [V ] 

 This motivates trying to find an approximate value


function with small Bellman error
Projection Approach to Approximation
 Suppose that we have a space of representable value
functions
 E.g. the space of linear functions over given features

 Let P be a projection operator for that space


 Projects any value function (in or outside of the space) to
“closest” value function in the space

 “Fixed Point” Bellman Equation with approximation

 
Vˆ *   T [Vˆ * ]
 Depending on space this will have a small Bellman error

 LSPI will attempt to arrive at such a value function


 Assumes linear approximation and least-squares projection
Projected Value Iteration
 Naïve Idea: try computing projected fixed point using VI

 Exact VI: (iterate Bellman backups)

V i 1  T [V i ]

 Projected VI: (iterated projected Bellman backups):

 
Vˆ i 1   T [Vˆ i ]

Projects exact Bellman exact Bellman backup


backup to closest function (produced value function)
in our restricted function space
Example: Projected Bellman Backup
Restrict space to linear functions over a single feature :
Vˆ (s)  w   (s)

Suppose just two states s1 and s2 with: s1)=1, s2)=2


Suppose exact backup of Vi gives:
T [Vˆ i ](s1 )  2, T [Vˆ i ](s2 )  2

Can we represent this exact


backup in our linear space?

No

s1)=1 s2)=2
Example: Projected Bellman Backup
Restrict space to linear functions over a single feature :
Vˆ (s)  w   (s)

Suppose just two states s1 and s2 with: s1)=1, s2)=2


Suppose exact backup of Vi gives:
T [Vˆ i ](s1 )  2, T [Vˆ i ](s2 )  2

The backup can’t be represented via our linear function:

Vˆ i 1 (s)  1.333   (s)


 
Vˆ i 1   T [Vˆ i ]
projected backup is
just least-squares fit
to exact backup

s1)=1 s2)=2
Problem: Stability
 Exact value iteration stability ensured by
contraction property of Bellman backups:
V i 1  T [V i ]

 Is the “projected” Bellman backup a contraction:

ˆ i 1

ˆ
V   T [V ]i

?
Example: Stability Problem [Bertsekas & Tsitsiklis 1996]
Problem: Most projections lead to backups that
are not contractions and unstable

s1 s2

Rewards all zero, single action,  = 0.9: V* = 0

Consider linear approx. w/ single feature  with weight w.


Vˆ (s)  w   (s) Optimal w = 0
since V*=0
Example: Stability Problem
weight value
at iteration i
s1)=1 s1 s2 s2)=2
Vi(s1) = wi Vi(s2) = 2wi

From Vi perform projected backup for each state


T [Vˆ i ](s1 )  Vˆ i (s2 )  1.8wi
T [Vˆ i ](s2 )  Vˆ i (s2 )  1.8wi

Can’t be represented in our space so find wi+1 that gives


least-squares approx. to exact backup
After some math we can get: wi+1 = 1.2 wi

What does this mean?


Example: Stability Problem

Vˆ 3
V(x)
Vˆ 2
Iteration #
Vˆ 1 0

1 2 S

Each iteration of Bellman backup makes approximation worse!


Even for this trivial problem “projected” VI diverges.
Understanding the Problem

 What went wrong?


 Exact Bellman backups reduces error in max-norm
 Least squares (= projection) non-expansive in L2 norm
 But may increase max-norm distance!

 Conclusion: Alternating Bellman backups and


projection is risky business
OK, What’s LSTD?
 Approximates value function of policy 𝜋 given
trajectories of 𝜋
 Assumes linear approximation of 𝑉 𝜋 denoted 𝑉

Vˆ ( s)  k wkk ( s)
 The k are arbitrary feature functions of states

 Some vector notation

Vˆ ( s1 )   w1  k ( s1 ) 

V    w 
ˆ        
   1  K 
  k  
Vˆ ( s )   k ( sn )
 n  
wk 
Deriving LSTD

ˆ
V  w assigns a value to every state

K basis functions V̂ is a linear function


in the column space
1(s1) 2(s1)... of 1…k, that is,
1(s2) 2(s2)… Vˆ  w 1   1    w K   K
= . # states
.
.
Suppose we know true value of policy
 We would like the following: ˆ
V  w  V 

 Least squares weights minimizes squared error


1 T 
w  ( )  V
T

Sometimes called pseudoinverse

 Least squares projection is then


ˆ T 
V  w  ( )  V T 1

Textbook least squares projection operator


But we don’t know V…
 Recall fixed-point equation for policies
V  (s)  R(s,  (s))   s ' P(s' | s,  (s))V  (s' )
 Will solve a projected fixed-point equation:


Vˆ    R  PVˆ  
 R( s1 ,  ( s1 ))   P( s1 | s1 ,  ( s1 ))  P( sn | s1 ,  ( s1 )) 
R    , P  
     

 R( sn ,  ( sn ))  P( s1 | sn ,  ( sn ))  P( s1 | sn ,  ( sn ))

 Substituting least squares projection into this gives:


w  ( )  R  Pw
T 1 T

 Solving for w: w  (    P)  R


T T 1 T
Almost there…

w  (T   T P) 1 T R

 Matrix to invert is only K x K

 But…
 Expensive to construct matrix (e.g. P is |S|x|S|)
 Presumably we are using LSPI because |S| is enormous

 We don’t know P
 We don’t know R
Using Samples for 
Suppose we have state transition samples of the policy
running in the MDP: {(si,ai,ri,si’)}

Idea: Replace enumeration of states with sampled states

K basis functions

1(s1) 2(s1)...
1(s2) 2(s2)…

̂  . samples
states
.
.
Using Samples for R
Suppose we have state transition samples of the policy
running in the MDP: {(si,ai,ri,si’)}

Idea: Replace enumeration of reward with sampled rewards

r1
r2
R= .
samples
.
.
40
Using Samples for P
Idea: Replace expectation over next states with sampled
next states.

K basis functions

1(s1’) 2(s1’)...
1(s2’) 2(s2’)…

P  .
s’ from (s,a,r,s’)
.
.
Putting it Together
 LSTD needs to compute:
w  (T   T P) 1 T R  B 1b
B  T   T ( P)
b  T R from previous slide

 The hard part of which is B the kxk matrix:

 Both B and b can be computed incrementally for


each (s,a,r,s’) sample: (initialize to zero)
Bij  Bij  i (s) j (s)  i (s) j (s' )
bi  bi  r  i (s)
LSTD Algorithm

 Collect data by executing trajectories of current policy

 For each (s,a,r,s’) sample:


Bij  Bij  i (s) j (s)  i (s) j (s' )
bi  bi  r  i (s, a)
1
wB b
LSTD Summary
 Does O(k2) work per datum
 Linear in amount of data.

 Approaches model-based answer in limit


 Finding fixed point requires inverting matrix

 Fixed point almost always exists


 Stable; efficient
Approximate Policy Iteration with LSTD
Policy Iteration: iterates between policy improvement
and policy evaluation

Idea: use LSTD for approximate policy evaluation in PI

Start with random weights w (i.e. value function)


Repeat Until Convergence
 (s ) = greedy( Vˆ ( s , w ) ) // policy improvement

Evaluate  using LSTD


 Generate sample trajectories of 

 Use LSTD to produce new weights w

(w gives an approx. value function of  )


What Breaks?

 No way to execute greedy policy without a model

 Approximation is biased by current policy


 We only approximate values of states we see when
executing the current policy
 LSTD is a weighted approximation toward those states

 Can result in Learn-forget cycle of policy iteration


 Drive off the road; learn that it’s bad
 New policy never does this; forgets that it’s bad

 Not truly a batch method


 Data must be collected from current policy for LSTD
LSPI
 LSPI is similar to previous loop but replaces LSTD
with a new algorithm LSTDQ
 LSTD: produces a value function
 Requires samples from policy under consideration

 LSTDQ: produces a Q-function for current policy


 Can learn Q-function for policy from any (reasonable) set
of samples---sometimes called an off-policy method
 No need to collect samples from current policy

 Disconnects policy evaluation from data collection


 Permits reuse of data across iterations!
 Truly a batch method.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy