coursera by University of Alberta
Sample-based Learning Methods
Week 1
1、Monte Carlo 蒙特卡洛方法
使用 Dynamic Programming 的局限性在于,很多时候并不知道转移概率 trainsition probability ,比如 Policy Evaluation 中,不知道 p(s',r|s,a) ,因此提出 Monte Carlo 方法。此方法通过对大量随机样本的均值来进行估值。
通过对同一个 state 大量收集样本,取其均值作为 V(s) 的估计值。
2、Using Monte Carlo for Action Values
对于每个 state-action paire 也可以使用 Monte Carlo 方法来进行估计
为了防止某个 action 永远不会被选择到以至于没有对其 state-action paire 进行探索,提出了 exploring starts
这个指的是在初始 state-action paire 进行随机选择,之后根据 policy Π 进行选择 action
3、Using Monte Carlo methods for generalized policy iteration
4、Epsilon-soft policies
ε-Greedy policy ∈ε-Soft policy
ε-Soft policy 在每个 state 当中,对每个 action 都有非 0 概率值进行执行
exploring starts 方法可以找到最优策略,但是在很多问题上没有办法使用
ε-Soft policy 不一定能找到最优策略
5、on-policy & off_policy
off-policy 指的是 target policy 和 behavior policy 不一致的情况
on-policy 实际上是 off-policy 的特殊情况,即 target policy=behavior policy
6、Importance Sampling
Importance Sampling 指的是通过对另一个分布的采样来估计本分布的期望值
x:从分布 b 中取的样本
Π:需要估计期望的分布
7、Off-Policy Monte Carlo Prediction
主要方法是通过 b 分布的采样来估计 Π 分布的值
其中, Returns 从 b 分布中获得的采样
P(trajectory under Π/b ) :指的是在 Π/b 分布的情况下,路径轨迹的概率
其中,W 就是 ρ
week 2
主要讲了 TD learning 时差学习
1、Temporal Difference (TD) learning
TD 和 DP dynamic programming 区别是,DP 需要知道关于环境的转移函数,即需要知道从当前 state action 的情况下,转移到下一个 state reward 的概率;而 TD 不需要知道, TD 可以直接根据与环境的交互来估计
2、 TD learning & prediction learning & supervised learning
prediction learning 是对每一步做预测的学习方法, TD learning 是其中的一个特例;但它不是 supervised learning , prediction learning 相当于 unsupervised supervised learning
3、The advantages of temporal difference learning
TD DP MC 区别
① MC 只能在 episode 结束的时候对 estimate of state 进行更新,即只有在 episode 结束的时候才能学习; TD 可以在 episode 每一步进行更新,即 online learning 在线学习
② DP 需要环境模型,以便根据当前 state action 来推出下一个 state reward ; 而 TD 模型不需要,只需要和环境进行交互
③ TD 比 MC 收敛更快 , TD 可以在线学习
4、 α 对 TD 影响
α 越接近 0 收敛越快,误差越大
α 越接近 1 收敛越慢,误差越小
week 3
1、Sarsa: GPI with TD
GPI 由两部分组成: policy evaluation & policy improvement
在 Sarsa 中,由 TD 方法估计 V(s) state 值转为估计 Q(s,a) state-action paire 值 ; 因此,必须要执行到下一个 state-action paire 才能更新参数,即 St At Rt+1 St+1 At+1 才能估计值
与 TD 对比
TD
2、Q learning
Q learning 可以直接学习到 Q* ,而不用在 policy evaluation & policy improvement 之间转换
Saras 实际上是 Bellman equation 基于采样方法的实现 ;Sarsa 和 Q learning 主要区别在于使用的方程不同
Q learning 是 off policy : Target policy 是 optimal policy , behavior policy 是 ε-greedy policy
不理解
3、Expected Sarsa
可以认为 Sarsa 通过大量样本的学习,使其值趋近于期望值,而 Expected Sarsa 直接根据期望公式得到其期望值
一般来说, Expected Sarsa 比 Sarsa 更稳定,方差更小,但缺点是计算量更大,尤其在 action 很多的时候
Expected Sarsa 中, 当 Π 不必为 behavior policy ,这时 Expected Sarsa 为 off policy learning
Expected Sarsa 中, 当 target policy Π 为 greedy ,这时 Expected Sarsa 为 Q learning,即 Q learning 为 Expected Sarsa 的一种特殊情况
4、 Sarsa & Q learning & Expected Sarsa
week 4
1、 Model
Model 指的是 agent 对环境的认识
Planning 指的是 agent 根据 Model 来改进自己的 policy ,一般 agent 可以通过使用 Model 来模拟经验,然后根据经验来更新 policy ,这种方法可以减少 agent 与环境的直接交互,提高与环境交互经验的利用率
2、 Sample model & Distribution model
Sample model 直接通过采样来获得估计,比 Distribution model 更加压缩
Distribution model 可以对所有可能出现的情况进行枚举,并且通过计算每种情况的概率都是准确的,不是采样估计的,缺点是需要存储的信息多
3、 Planning
planning 通过对 model 的采样,模拟出 agent 和环境的交互,进而更新 policy
Planning 的好处是在 agent 与环境的两次交互之间可以进行多次的更新,即在两个 step 之间进行多次的 planning ,可以减少 agent 与环境交互的次数
4、 The Dyna Architecture
The Dyna Architecture 包含两部分一是 agent 直接和环境进行交互,更新 policy ,二是在和环境的交互过程中学习 model ,使用 model experience 来更新 policy
在 Q learning 中,每个 episode 只能更新一个 state ,但是在 The Dyna Architecture 中,一个 episode 可以更新 agent 在 episode 中走过的 state
5、The Dyna Algorithm
Dyna & Q-learning 比较, Dyna 比 Q-learning 对样本的利用率要高得多,一般每个 step 的 planning 越多对样本的利用率越高
在 Tabular Dyna-Q 当中, S ← random previously observed state 很多时候都是无效的,无法对 Q 进行有效的更新,因此提出
P : 优先级排序的值
PQueue : 优先级队列
基本思想 : 当前 S , A 由 Model(S,A) 得到 R , S' 更新 Q 值 ;计算每个能够到达 S , A 的前一个 , , 若其 P 值够大,则将其加入队列 PQueue
6、What if the model is inaccurate?
model 不准确有两种情况,一是 agent 没有对所有的 state 进行探索, model 不完整,二是 environment 发生变化而 agent 没有探索到
为了解决随着时间变化环境也随之变化的情况,将原来的 reward 变为 New reward → Bonus ,当某一 state 长时间没有被访问的时候 Bonus 就会增加,以防止某一 state 长时间没有访问的情况