时序差分算法(Temporal-Difference Learning)

概述

时序差分算法是一种无模型的强化学习算法。它继承了动态规划(Dynamic Programming)和蒙特卡罗方法(Monte Carlo Methods)的优点,从而对状态值(state value)和策略(optimal policy)进行预测。从本质上来说,时序差分算法和动态规划一样,是一种bootstrapping的算法。同时,也和蒙特卡罗方法一样,是一种无模型的强化学习算法,其原理也是基于了试验。虽然,时序差分算法拥有动态规划和蒙特卡罗方法的一部分特点,但它们也有不同之处。以下是它们各自的backup图:

动态规划backup图
蒙特卡罗方法backup图
时序差分算法backup图

根据它们的backup图可以知道,动态规划的backup操作是基于当前状态和下一个状态的reward,蒙特卡罗方法的backup是基于一个完整的episode的reward,而时序差分算法的backup是基于当前状态和下一个状态的reward。其中,最基础的时序差分算法被称为TD(0)。它也有许多拓展,如n-step TD算法和TD(lambda)算法。

Stationary Environment和Nonstationary Environment的区别

Stationary Environment即为固定的环境,也就是说采取相同的动作时,状态和环境是固定不变的。如:垃圾回收机器人每次充完电之后电都是满的。而Nonstationary Environment与此相反,在采取相同的动作时,状态和环境是不确定的。如:转一下抽奖转盘,它每次停止的位置都是不一样的。

TD(0)时序差分算法

时序差分算法和蒙特卡罗方法一样,仍然有两部分计算。第一部分是时序差分的预测(即计算state value),第二部分是时序差分的控制(TD control),其目的是为了得到最优的策略(optimal policy)。

时序差分预测(TD Prediction)

预测是为了计算状态值(state value)。在计算的时间上,时序差分比蒙特卡罗方法更快一些。其计算公式分别如下所示:

TD prediction
MC prediction

根据公式,TD只需要等到跳转到下一个状态时,便可得知当前状态的state value。但是,蒙特卡罗方法则需要等到整个试验结束之后才可以得到当前状态的state value值。因为,时序差分算法计算value值时,是根据当前状态和接下来的状态来计算,因此是有偏差的,但方差很小。相反,蒙特卡罗方法是无偏差的,但是方差却很大。

时序差分和蒙特卡罗方法的学习都是通过试验采样来计算value值的,采样致使我们无法得到完整的在当前状态跳到下一个状态的分布。可以清晰的从上面的backup 图了解到,只有DP是基于所有的下一个状态的分布。

TD算法和MC算法更新的那一部分被我们成为error(即真实value和评估的value的差值),如下所示:

TD error
MC error

因为是更新过程,所以其目的就是为了使最终预测的value值与真实的value值的误差尽量小,也就是使其error最小化。在预测的计算公式中,alpa代表的是步长,类似于梯度下降里面的步长。为什么不让error直接变到最小(为零)呢?其原因和我们平常所学的Gradient Descent概念是一样的。因为,我们使用的是抽样的方法,并没有得到真正的数据分布,而如果步长很大的话反倒会使计算value的收敛速度下降。其TD Prediction的伪代码如下:

TD Prediction

Batch TD(0)

在对state value进行预测时,我们不仅可以一个试验一个试验的更新,同时,也可以一批一批的进行更新。这就是我们所说的batch TD(0)。

例1: 假如我们对一个随机游走(Random Walk)的游戏进行state value的预测。我们通过一批(8个)试验得到了状态和相应的reward,如下所示:

                                A:0, B:0        B:1         B:1        B:1        B:1        B:1        B:0        B:1    

我们很容易计算出B的value值应该为四分之三。因为在这8个试验中,B为1的总共有六个。而A的value值是多少呢?可能有人会说是0,因为只有一次试验,而且A的reward还为零。但其实答案也是四分之三。要知道TD计算A的value值会根据下一个状态的reward计算的,因为只有一个A试验,且状态被转换到了B状态。因此,TD会推断从A到B的概率应该是100%,所以通过计算,A的value值即为0 + 3 / 4 = 3 / 4。

Sarsa: On-policy TD Control

前面在讲蒙特卡罗方法时,我们已经说明了on-policy和off-policy的区别了,这里就不再重复。我们知道一个episode是由多个state-action对所组成的,如图所示:

one episode

Sarsa则是State->action->reward->State->action(St, At, Rt+1, St+1, At+1)的简称。所以,其action value的计算公式为:

Sarsa

其伪代码如下所示:

Sarsa code

Q-learning: Off-policy Control

Q-learning是一种off-policy的算法,也就是里面有两个policy。其中,behavior policy是用来去尽可能的探索。其伪代码如下所示:

Q-learning code

Expected Sarsa

Expected Sarsa和Q-learning很像, 其区别在于Q-learning中behavior policy计算的是最大值,而Expected Sarsa计算的则是期望,如图所示:

backup diagrams

其公式如下所示:

Expected Sarsa公式

Reference

1. Reinforcement Learning An Introduction

2.强化学习入门 第四讲 时间差分法(TD方法) https://zhuanlan.zhihu.com/p/25913410

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,802评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,109评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,683评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,458评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,452评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,505评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,901评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,550评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,763评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,556评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,629评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,330评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,898评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,897评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,140评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,807评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,339评论 2 342

推荐阅读更多精彩内容