论文笔记6:Increasing the Action Gap: New Operators for Reinforcement Learning
参考文献:New Operators for Reinforcement Learning
同名知乎:uuummmmiiii
这篇文章实在是式子多,整个看懵,网上目前没啥人看过这篇,论文有两部分,我挣扎了一下看了第一部分,所以第二部分具体作者创新了什么,做了什么相关推导我也不知道,哭泣。
如有错误还请指出,本人小白,希望帮助更多的人,一同进步。
论文分为两部分:前部分:作者介绍新提出的新算子。
后半部分:为这个算子可以保持最优性推导出了充分条件。
创新点:提出了最优保存算子(optimality-preserving),称为consistent Bellman operator
改进:在Q函数更新公式,加入此算子。公式如下:
原Q函数更新公式:
改进原因:Q值发生小扰动会导致错误识别最佳动作,原来的Q函数更新方式不稳定(因为Q*的选取是选策略π)
带来益处:1、可以增加action gap(the value difference between optimal and second best action),缓解近似和估计误差对选择动作(贪婪策略)的影响。
2、可以将这个算子用于进行对连续状态的离散化。
3、 可以提升在一些需要运作在很好的time scale下的游戏(个人理解为
是一种需要即时性战略的游戏,并非棋盘类和传统电子游戏的那种回合制的游戏:作者举出三个例子,视频游戏、实时市场、机器人游戏)
Abstract
本文提出了一种在Q函数中的最优保留算子,我们成为 the consistent Bellman operator,这里融合了局部策略一致性的概念。我们说明了,这种局部一致性可以在每个状态下增加action gap,这样可以缓和近似和估计误差对选择动作(贪婪策略)的影响。最优算子也可以应用在对连续状态的离散化和时间相关的问题,并且在论文中进行了验证,证明这个算子可以产生优良性能。
为了扩展局部一致性算子的概念,我们有推导出了其可以保持最优性的充分条件,引入包含我们这个consistent Bellman operator的算子群(家族)。作为推论,我们提供了Baird's advantage learning algorithm 的最优性证明和其他可以使action gap增加的算子。
最终我们在60 Atari 2600 games 中实例验证了这些新算子的强大力量。
The consistent Bellman operator
开始利用上面这个吃蛋糕的简单例子,论证了一大堆复杂式子,就是说明,这个可以给出平稳策略π的Q函数(原),实际上这个Q函数是不平稳的。引出我们对于Q函数式子的改变,加入我们的新算子。
----------------------------------------------证明分割线------------------------------------
(复杂推导如下,不看可略过)
stationary,平稳性,即与时间无关。
我们假定我们的研究域 是确定性平稳的空间(确定性过程:一类特殊的随机过程.是不受随机因素影响的过程;平稳过程是一种重要的随机过程,其主要的统计特性不会随时间推移而改变)
在上图中,我们描述了MDP的两个状态,一个有立即奖励但是是harmful选择即吃蛋糕状态 (称为‘cake’),另一个选择是没有立即奖励即不吃蛋糕状态
(称为‘no cake’),我们假设给agent持续的蛋糕供给(γ>0)。
吃蛋糕,既选择状态‘cake’,可以发生状态转变到x2(称为‘bad state’),其状态值函数:
:=-2(1+
)
对于x1状态,选择a1动作的动作状态值函数
对于x1状态,选择a2动作的动作状态值函数,对于任何策略π,均是不吃蛋糕(选择动作a2)是最优策略,则V*(x1)=Q*(x1,a2)=0,因为
这样产生了action gap:
则Q*(x1,a1)=- ,对于策略
(x1)=a1的值函数,
Q*(x1,a1)=- ,一旦吃掉蛋糕(选取动作a1)然后就放弃了(不太懂。。)
-------------------------------------------证明结束------------------------------------------
然后作者推出对Q函数的改进:
后面进行了证明,分析为什么这样添加是最优的保留算子,并且可以增加gap
Aggregation methods
作者觉着上面对Q函数的改进(改进式1)又有局限了,一个原因是大部分P(x|s,a)是0或者接近0,另一个原因是在进行检测
的时候,描述状态的特征被排除了一些有意义的部分。
作者利用集结策略(aggregation scheme)对改进式1进行改变:
其中集结策略是一个元组形式(Z,A,D),Z是一系列集结状态,A是从X到Z的一个映射,D是从Z到X的一个映射:
Q-value Interpolation
作者又做了改进,最后得出下面这个
Experiments on the bicycle domain
实验为了让agent在平衡模拟自行车的同时还要骑到在初始位置东边的1km目标处,为观察算子产生动作状态值函数的quality,我们用值迭代算法而非q-learning算法去计算Q(s,a)
图中上面两个图表示对于在两种游戏结束情况(摔倒,到达目标),从价值迭代中产生出的动作状态值函数随迭代次数的变化,可以发现,基于consistent operator的动作状态值函数很快就收敛,但是原来的Bellman operator 收敛慢,到游戏结束所需时间长。
图中下面两个图表示自行车轨迹,用Bellman operator ,发现一直在goal附近打转,而consistent operator很快就到达goal。
后面也做了三个算子的实验:DQN(用Bellman operator),AL,PAL(这俩具体是啥没看,就是作者提出的新算子,就摘要里说的算子大家族,没准还做了一些改变),主要的改变就是在loss值处,用DQN中target网络去计算。发现大部分游戏比DQN性能好。
我后面放弃了。。。个人感觉跟相关DQN算法的改进没有什么关系,只是推导充分条件,证明,实验验证了,自行选择,我就码到这里,晕死了,不过感觉笔记写出来的理解的更深了,随时还可以看一看。