Policy Gradient

Basic Components


在强化学习中,主要有三个部件(components):actor、environment、reward function。其中env和reward function是事先就定好的,你不能控制的。唯一能调整的是actor的policy,使actor能获得最大的reward。

Policy of Actor

  • Policy \pi 是一个参数为\theta的网络
    • input:以向量或矩阵表示的机器的observation
    • output:对应于输出层中的神经元的每个动作


Example: Playing Video Game

-------------------------------------------------------------------


actor 的目标就是将 Total reward R 最大化。

Actor, Environment, Reward


其中 代表的是environment,一般我们没办法控制这一部分。我们能控制的是采取不同的(policy网络的参数),进而影响,最终对产生影响。

给定一个可以得到一局游戏的R,我们要做的就是调整actor中的参数,使得最大化。但是注意不是常量scalable,而是随机变量random variable,因为采取哪个action是有随机性的,而环境给出哪个state也是有随机性的。

所以对于R我们要计算他的期望\overline R_\theta。穷举所有的trajectory\tau并计算每个\tau出现的概率,最后计算\sum_\tau R(\tau)p_\theta(\tau)。或者可以这样理解,从p_\theta(\tau)的分布中采样出一个\tau,然后计算R(\tau)的期望。

那很明显我们要做的就是最大化Expected Reward,所以可以采用policy gradient来做。

Policy Gradient


为了使得最大化,我们需要做gradient ascent,即对求梯度,注意中没有必要是可微的,但不影响。是无法计算的,所以sample出N个,对每个求在求和求平均。

如下:因为


由环境决定,我们无法知道,并且该项本来和没有关系,只能对计算梯度,本质上就是对计算梯度,最后课改写为

若在下执行使得为正,则增加概率,为负责减少在执行的几率。

在实际实验中,我们会让actor去和environment做互动,产生左边的数据。左边的方框是做sample,获得很多 (s, a) 的pair(代表在s下采取a,得到)。然后将这些数据送入训练过程中计算 ,然后更新模型的参数

注意数据只用一次,就是说更新一次参数后前面收集的所有数据就不能再用了,效率比较低。因为policy gradient ascend是on-policy的算法。

采集一次数据,更新一次参数后,要重新采集一次数据。


minimize cross entropy就是maximize likelyhood

Tip 1: Add a Baseline

蓝色柱子的代表在某一state下,采取三种动作的概率,绿色箭头则代表每种动作的Reward,长的标示Reward比较大。

之前约定的做法:假如执行 action a 后 R 为正,则提高 action a 出现的概率;R 为负,则降低 action a 出现的概率。

但是可能某个游戏不管什么执行动作得到的 reward 都是正的(比如0-20),则若执行 action a 后 R 的增加量大,则 action a 出现概率增加得大;执行 action b 后R的增加量小,则 action b 出现概率增加得小。(注意在reward恒为正的情况下,看起来无论如何执行某 action 的概率都会增加,只是增加多少的问题) 因为所有action出现的概率和为1,那么在理想情况下,在归一化后相当于 action a 出现概率上升而 action b 出现概率下降。(即增加得少的归一化后相当于下降,增加得多的归一化后才上升)


问题是在sample中可能有些动作没有sample到,比如 action a(我们不知道这个action得到的reward是大是小),但归一化后 action a 出现的概率会必然下降(因为 action b/c 出现的概率无论如何都会上升,这样就把 action a 出现的概率给压下去了),这显然是不妥的。

为了解决这个问题,我们希望reward不要总是正的,所以将R(\tau^n)-b,
,b是一个baseline,这样如果一个 reward 是一个很小的正值,减掉b后就会变负。b\approx E[R(\tau)]可以用R(\tau^n)的平均值代替。

Tip 2: Assign Suitable Credit


由上图可知,在同一场游戏中,不管其中的某个 action 是好是坏,总会乘上相同的权重 R,这显然也是不公平的。

比如上图左边部分,整场游戏的 reward 是+3,按规定其中三个\nabla\log p_\theta(a_t^n|s_t^n)都要被乘上 3 的权重,但是a_3未必见得好,因为执行a_3后的即时得分是 -2。如果我们sample的次数够多,可能会看出a_3不够好,这个问题能够得到解决。但是实际中可能没办法搜集足够多的数据,所以在sample次数不够多的情况下,我们希望每个action的权重不同。

解决的方法是,不把整场游戏的 R(+5+0+-2=+3)作为统一权重,而将执行该动作后剩下序列的【reward之和】作为该动作的权重。比如对于(s_b,a_2) ,它的权重应该为(+0-2=-2)。即执行某个 action 前得到多少 reward 都跟该 action 无关,该 action 只影响之后的游戏过程。


还需要考虑的一点是,当前的 action 对之后游戏的影响会随之时间推移而减弱,所以我们要有 discount,在求和的每一步都乘上一个小于1的(比如0.9),这样 action 之后的动作越多,即时分数乘上的 越多,越往后得到reward就会打上更大的折扣。

\ R(\tau)-b 这一项称作Advantage Function,也叫优势函数。它表示在actor在s_t下采取a_t,相较于其它action有多好。

上标 \theta代表采用参数为\theta的policy 的 actor 。

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