目录
1 多臂赌博机
强化学习与其他机器学习方法最大的区别,就是强化学习的训练信号是用来评估给定动作好坏的,而不是通过给出正确的动作范例进行直接地指导。所以主动地进行试探,以获得更好的动作就显得极为关键。
多臂赌博机就是典型的试探例子。一个赌博机具有多个摇杆,每次拉动任意一个摇杆,都会随机得到相应的金币。玩家经过几次操作之后,便可根据金币数量初步判断拉动各个摇杆的收益,从而基于评估结果继续操作,以获取更多的奖励。在多臂赌博机问题中,每个动作被选择时都有一个期望收益,这就是“价值”。记在时刻选择的动作为,得到的收益为,则每个动作的价值评估结果为
很多时候没办法精确计算动作的价值函数,需要进行估计,并基于评估结果选择动作。在动作选择时,如果根据评估结果选择价值最大的动作,称为“开发”,如果通过尝试选择其他动作,则为“试探”,如何在试探与开发之间进行权衡,是多臂赌博机问题的重点。
2 动作—价值方法
使用价值估计进行动作选择即为动作—价值方法,截至时刻,动作的估计值为
上式中,当时,的返回值为1,否则为0。基于评估结果贪心选择动作为
2.1 增量式实现
根据上式可以发现,每次计算动作值函数都需要记录之前所有时刻的收益,这将消耗大量内存,一种方法是进行增量式实现,如下式所示
2.2 跟踪非平稳问题
2.1节中的公式适用于计算平稳问题,即收益的概率分布不随时间变化的问题。对于非平稳问题,以上公式很难给出精确解。在处理非平稳问题时,给近期收益赋予比过去收益更高的权值是有效解决办法。典型方法之一就是定步长。
3 平衡“试探—开发”的策略
3.1 epsilon-greedy策略
根据值函数的评估结果,以的概率随机选择动作,以的概率贪心选择动作
3.2 玻尔兹曼策略
在策略中,贪心动作被选中的概率最大,对于所有非贪心动作,无论值函数大小如何,被选中的概率相同。玻尔兹曼策略对其进行了改进。
式中,为调节参数,越大,玻尔兹曼策略越接近均匀策略,越小,玻尔兹曼策略越接近贪心策略。
3.3 UCB策略
在非贪心动作中,最好根据不同动作的潜力进行选择,一种有效的方式是基于置信度上界(Upper Confidence Bound, UCB)的动作选择思想。具体表现如下
其中,表示的自然对数,表示时刻前动作被选择的次数。每次动作被选择时,增加,对应于上式中有的这一项减小,若选择其他动作,没有变化,但是始终在增大,不确定性将会增加。随着时间的推移,具有较低价值的动作或者已经被选择了更多次的动作被选中的概率将会减小。