增强学习 | 多臂赌博机模型

image

探索的终点是真理

上文介绍了了增强学习的基本框架,一个完整的增强学习框架包括状态、动作、回报、环境等基本概念,其对应的任务问题有三个主要特点:

  1. 不同的动作会有不同的回报;
  2. 回报是随时间延迟累积的;
  3. 行动回报与环境状态是相关的。

对于一些简单的增强学习任务,往往并不需要满足特点2和特点3,将这类问题称为多臂赌博机模型。它来源于赌场的多臂赌博机,即按下不同的臂会有不同额度的奖励。假设有一个Agent能够不断进行尝试找到奖励最大的臂,即建立学习函数,直接将观察状态映射为行动。

学习的最优函数将直接对应最优行动回报的动作,因此也将该函数称之为策略函数。基于此,有两种基本的Agent建模方法,一种是使用平均累积回报函数;二是使用神经网络近似描述,通过策略梯度的方法计算学习。

假设尝试赌博机的臂(动作)为k,则平均累积回报函数定义为Q(k)=(Q(k) \times count(k) + reward) / (countk(k)+1)。假设基准线为0,表现好的动作回报为1,差的动作回报为-1。

而使用神经网络建模,可简单设计为单层网络模型,节点的权重分别代表不同的动作。初始权重设置为1,则最优损失函数可定义为loss = log(k) * reward。假设同上。

Agent在尝试找到最优策略的过程也需要策略,称为“探索/利用”策略。其想法也很直观,如果回报是一个确定值,要找到回报最大的臂,最好先把所有的臂先探索试一遍,然后再选择回报最大的臂一直摇下去(利用)。

但很多问题的回报函数来自于一个概率分布,那么仅探索一遍是不能找到可利用的最优臂的。这需要多次探索,但探索时间太长也会导致利用的收益减少,因此需要一个算法对上述两个动作进行折中。

e-贪心算法是一种简单的探索/利用折中算法,即以概率e进行探索,以概率1-e进行利用。直观理解来看,如果摇臂奖赏的不确定性较大,则探索概率e设置较大,进行更多的探索更优;反之亦然。

实验对比基于策略的两种Agent建模方法的效果,在相同探索概率e下,策略梯度方法相比平均奖赏方法所需训练的次数更少且结果更稳定。这是由于神经网络可以认为是多线性模型的组合,进而有更强的能力表达“策略函数”。

对代码实现和实验效果感兴趣的朋友,可在数据小虾米公众号后台回复“代码”,获得链接地址。


数据科学武林风起云涌,
随数据小虾米共闯江湖~
weixin

---恢复内容结束---

posted on 2017-06-24 09:11  数据小虾米  阅读(684)  评论(0编辑  收藏  举报

导航