lovesvidon的个人博客分享 http://blog.sciencenet.cn/u/lovesvidon

博文

【RL系列】Multi-Armed Bandit笔记——Softmax选择策略

已有 10460 次阅读 2018-7-5 22:48 |个人分类:写着玩|系统分类:科研笔记

本篇主要是对Reinforcement Learning: An Introduction(2017)中的2.8部分做一个简单的补充,重点就放在我是如何理解Softmax策略,以及从Softmax到Gradient中间的过程。Softmax与Gradient策略与epsilon-greedy,UCB策略一样都是强化学习中非常重要的动作选择策略。但Softmax和Gradient并非是毫不关联的,两种策略目的一样,来源相同,思想也相似,并且Gradient可以说是Softmax的进化后脱离出的新的策略,所以很适合结合起来来谈。


Softmax Selection

Softmax策略在这本2017版本的书里并未出现,他的位置被Gradient策略取而代之了。但我觉得如果想要深入了解Gradient策略,先从Softmax入手是不错的选择。Softmax策略在2012版本里有较为详细的介绍,关于该策略的算法本身,这里就不再赘述了,这里只粗浅的谈一谈Softmax的来源与可以解决的问题。

我们先对epsilon-greedy,UCB这两种动作选择策略的机理进行一个简单地梳理,以10-Armed问题为例:

  • epsilon-greedy,假设epsilon = 0.1,则有90%的概率选择最优估计动作,剩下的9个动作的选择概率均约为1%,缺点就在于次优动作与负收益或低收益动作的选择概率相同,这样对于总收益是不利的。

  • UCB,每次选择置信上限最优的动作,这样是可以提升次优动作和较高收益动作的选择率,但却大大降低了最优动作的选择率。此缺陷也决定了UCB的适用范围。

且看这两种策略,缺陷都在于不能够很好的优化动作的选择概率。那么对于动作选择,我们较为理想的情况是高收益的动作选择概率就要高,低收益或负收益的动作选择概率就要低。这是比较笼统的说法,可以描述的更加细致一点,用权重来替代动作选择概率,高收益的动作分配的权重就高,反之亦然。最简单的权重计算方法就是比重,各自动作统计上的平均收益与所有动作的总平均收益的比重,就可以视为权重,用数学语言描为:

假设共有N个动作可选择,Q(j)表示第j个动作的估计平均收益,Wj表示该动作所占的权重。

这个式子还有一点问题在于,如果平均收益为负,则该权重就不能表示为动作选择概率了,毕竟概率是没有负值的,为了撤销负收益的影响,在计算权重时,让每一个收益减去当前的最低收益,得到一个新的收益均值,用其计算即可。这样我们就有:

这个方法有一定的实用性,但对于某些特殊情况却效果不是很好。举个例子,假设真实收益均值为:

理想状态下的动作权重分别为:

除了第一个动作,另三个动作的选择概率相似,之间相差不过1%,这和随机选择动作几乎没有区别。那这种情况下如何才能将2.1,3.2和5.8三个收益均值所对应的动作的选择概率区分开呢?

使用Boltzmann分布模型就可以很好的解决这个问题(关于Boltzmann分布的具体推导过程这里就不再重复了)。Boltzmann分布的特点简而言之就是,在固定的温度,不变的环境下,高能量的粒子存在的概率低,而低能量的粒子存在的概率高,并且通过统计实验显示,不同能量间粒子的数量分布差异明显。某状态下的粒子存在概率满足如下关系:

这里的“能量”就可以对应“收益”,“粒子”对应“动作”,“存在”对应“选择”。因为我们是收益高则动作选择概率高,收益低则动作选择概率低,与Boltzmann分布正好相反,那么动作选择概率的分布则与该指数项成反比例:

这里的Aj指的是动作j,tau指代的是温度系数,在实际应用中可以调节。如果我们讨论的是N-Armed问题,那么总共有N个动作可以选择,我们假设选择动作j的概率与指数项有K倍的关系,则可以有:

可以计算出K的值:

到此为止,我们已得到了Softmax策略的核心部分,动作选择概率的一般表达式,可以写为:

使用Softmax策略就可以将刚才权重计算的特殊情况进行很好的处理,现在理论上动作选择概率为(温度参数tau = 1):

区分度体现出来了,最优动作理论上会有约91%的选择率,而不是刚才和其它动作选择概率难以区分的34%。这直接体现出了Softmax的优化效果。

在具体应用Softmax策略做动作选择时,可以通过调节温度系数tau来对动作选择概率的间距进行调节。如果tau越小,那么最优动作的选择概率越接近于1,其它动作概率就越小,如果tau越大,各动作的选择概率就越趋于平均。如果只希望快速的求解最佳动作,那么就可以选择较小的tau值,如果希望获取较为准确的各动作收益均值,那么就可以选择较大的tau值,依据不同的需求,选择不同的tau值。


Gradient策略中的动作选择概率函数 也是根据Softmax策略来计算的。为什么在2017版里放弃介绍Softmax策略转而介绍Gradient策略呢?一个很重要的原因是,为了给接下来要引出的Policy Gradient算法铺路。Gradient策略应该说是Policy Gradient的基础之一,相比之下,Softmax就显得不这么重要了。



https://blog.sciencenet.cn/blog-3189881-1122463.html

上一篇:【RL系列】Multi-Armed Bandit问题笔记——UCB策略实现
下一篇:【RL系列】马尔可夫决策过程与动态编程笔记
收藏 IP: 114.102.145.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-16 23:31

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部