2018-05-15

如果做一件事情一定要在把他全都搞清楚之后才开始做,那样效率是不高的。

//////////////////////////////////////////////////////////////////////

一开始我是设想先把所有书上的涉及内容(MDP,DP,Monte Corla,TD,Eligibility Trace,Policy Gradient)这些全看完再去回头研究论文,但是这样进展太慢,黎叔也说效率不高,那我先把Monte Corla看完之后就去准备论文的PPT吧。

///////////////////////////////////////////////////////////////////////

5.2 Monte Corla Estimation of Action Values 启动!

首先一个就是,这应该算是state-action的状态动作对,这个探索和V(s)也是接近的,它也是episode by episode的,存在first visit和average visit,但是有个很严肃的问题:

The only complication is that many state-action pairs may never be visited. If is a deterministic policy, then in following π one will observe returns only for one of the actions from each state. With no returns to average, the Monte Carlo estimates of the other actions will not improve with experience. This is a serious problem because the purpose of learning action values is to help in choosing among the actions available in each state. To compare alternatives we need to estimate the value of all the actions from each state, not just the one we currently favor.

这个和Monte Corla的特性有关,之前就提到过Monte Corla是一枝独秀,所以在一个确定性的策略π下,它是没有随机探索的,不像是DP的广撒网,Monte Corla是一根针,没有随机探索,没有对于状态的全探索,这个就不能称之为强化学习,强化学习的一个很重要的假设就是环境全探索--龙博提到了一个“正常返”--positive recurrent state ,这个我还没看懂,回头再看//

至于前面一章对于state value的探讨,其实V(s)和Q(s,a)是不分家的,也就是说其实状态值函数也存在上述问题。。。因为其实转到代码的时候,V都是p和Q的乘积的一个期望,所以...期待如何去解决这个问题。。

///////////////////////////////////

QAQ 龙博的NIPS都快写好了,有积累是不一样啊嘤嘤嘤

//////////////////////////////////

嗯,收拾好心情,继续干!

5.2的最后提到了我们必须要确保不断的探索这个目标,和两个方法:

1. 在每个episode开始的时候,把每个state-action pair的概率都设为非0,这样就可以全探索

2.虽然上述的通过限制起始条件有时是有用的,但是这并不能被普遍依赖,尤其是当直接从与环境的交互中学习时。在这种情况下,起始条件不太可能如此有用。 确保遇到所有状态 - 行为对的最常见的替代方法是仅考虑随机的策略,并且选择每个状态中的所有动作的非零概率。 我们在后面的章节中讨论这种方法的两个重要变体。 目前,我们保留探索开始的假设,并完成蒙特卡罗控制方法的完整介绍。

好的。准备学5.3吧。

///////////////////////////////////////////////////////////////////////////////

5.3一开始就提到,其实总体思路还是和DP一样,是 generalized policy iteration (GPI) -- 广义策略迭代,这个东西,参考一下前面的伪代码:


就是这个东西,不断的迭代,最后得出一个在state s下最好的action a

然后这里就提到了...为了得到Monte Corla的收敛性保证,我们做了两个很难实现的假设:就是5.2最后提到的那两个--有探索的start和无数次episode

没错,我们现在要先把这两个假设去掉(微笑)

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

对于策略验证策略更新我之前有重大理解问题!


第二步叫做策略验证,在这一步里,我们拿到了一个确定的策略π0,然后就是要求出在π0下的Valve值!也就是说这一步里不改变策略π,只是单纯的去求状态值函数V(S)

那求个V也需要迭代?

需要!


这个就是一个典型例子,策略是不变的(等概率1/4),但是V(s)是在变的,这个k,是说的状态k,而不是策略k!

因为新给过来一个策略π,状态值函数的更新是像浪潮一样,一波一波更新,如上图所示,因为每个V(s)都跟周围状态有关,所以是个动态变化的过程,也就是说,这个第二步,就是一个求现在策略π的V(s),所以第二步的判断条件是说这个V已经稳定啦,这个V,可以说就是ture value啦

然后第三部,策略改进,就是在你现有的这个V(s)中,得到一个更好的π’,如果这个π‘和之前的π不一样(实际就是比较选择的Action a),那好,这就是一个新的策略π’,再打回第二步重新求一遍Value,所以,这是policy improvement!


这个就很直接了,它根本没提π,因为我们清楚,所谓的策略π,就是找到,到底应该选择什么动作a,也就是说,得到这个最优的Action a,其实就是找到了最优策略π*,在这段伪代码里就是同时,一起去做的两件事情:


这个,就是策略提升--找到更好的a


这个,就是策略验证,也就是去求ture value

之前的是分两步,让Valve值稳定下来,拿到最终的状态值函数之后再改进,而现在这个就是同时在做这两个事情:在valve不停变得同时,去找到更好的action,同时更新。

这样为什么能行得通呢?我觉得策略验证那一步,其实不是很重要,因为它需要迭代很多很多次才能真正稳定下来--但是其实仅仅迭代的前几步我们就知道到底哪些动作更好:参考上面4*4的表格图,接下来的迭代只是去做一个把值精确的过程,这对于我们的策略提高,没什么必要!所以同步更新可以少一个系列的迭代,而且能做到收敛到最佳值!

好的,总计完毕,又一个疑惑消除了。

//////////////////////////////////////////////////////////

今日份的皂片没有 QWQ

/////////////////////////////////////////////////////////


懂了。

这个还是跟上面的evaluation & improvement 结合的那个图相似

它也是评估和提高一起做的,不过这个是以episode为单位,跑完一个episode,就完成一次评估和提升,下面是我手写的一个流程:


ok,可以看到,大括号右边的东西要一直做循环,Repeat Forever,在大括号右边的东西,其实就是一个episode--只是在开始这个episode之前,我们要保证每个state-action对都有被访问到的可能。

我认为这个应该需要两个表,一个是Return(s,a)一个是Q(s,a),其实这个Q(s,a )= average(R(s,a)),所以其实这个R表究竟有没有用我也不是很清楚,再说吧,Q表就是可以理解为动作值函数的表,然后第4步就是所谓的策略更新,也就是选择对应state中可以让Q(s,a)最大的,比如Q(s2,up)= 1  Q(s2,down)=2,我们在s2的时候就选择down,这,就是策略更新。

之前也有这么一个问题困扰着我:我已经把在每个state所对应的最佳策略已经选出来了,还有什么迭代的价值呢?

其实吧,很多东西不是迭代一步可以看出来的--比如用这个思路去解决4*4表格的问题:


就像这个案例一样,所以,我们需要迭代,这和Monte Corla的那个伪代码一样,在episode外面,有一个repeat forever。

以上就是今天的收获,很充实!

明天看论文出PPT吧,书先放放。

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

推荐阅读更多精彩内容