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

image

“模型是一个框架,用来描述分析者感兴趣的研究对象”

上文【增强学习 | 多臂赌博机模型】介绍了基本的多臂赌博机模型,即单步动作会根据反馈直接作出决策,因此多臂赌博机的目标是学习策略函数,以产生最优的执行动作。介绍了两种学习最优策略的方法,一是使用平均累积函数,二是使用神经网络拟合。相比下,神经网络具有更强的表达能力,效果也更好。

基本的多臂赌博机模型有两个限制,一是行动与环境状态无关;二是不能处理延时累积回报,这些因素限制了基本多臂赌博机模型的描述和解决现实更复杂问题的能力。

对于行动与环境状态无关的限制,可通过建立多台赌博机模型的方式解决,即环境状态变量通过确定选择哪台赌博机来确定,每台赌博机有自己独立的臂(即可选动作)。

由于神经网络拟合策略的方式有较为固定模式,并且拟合效果也不错,仍选择基于神经网络的方式对Agent建模。值得注意的是,由于引入了离散的新状态变量作为输入,需引入输入层网络,并用one hot编码对输入状态进行处理。训练学习方法与之前一致,不同的是由于解空间增大,训练迭代次数也要相应增加。

对于基本多臂赌博机模型不能处理延时累积回报的情况,可通过在模型中引入状态转移序列缓存的方式解决,即将Agent与环境交互的过程,用“旧状态/动作/回报/新状态”序列记录并缓存下来,类似于RNN网络模型直接使用序列数据进行学习训练。

同时,由于使用累积回报奖赏进行反馈,但越往后的奖赏由于更接近目标而价值越大,为避免之前的回报奖赏可能会误导累积回报,引入折扣函数,即通过折扣权重按时序先后关系对不同步骤的回报进行“打折”。递推公式定义为:R(i)=r_i+\gamma \times r_{i-1}

学习训练的过程,仍需采用类似e-贪婪策略在探索与利用之间权衡,神经网络建模中在输出单元中使用softmax激励函数,输出不同动作被选择的概率值,可实现自适应的探索与利用。此外,由于解空间的进一步增大,可在神经网络中加入隐层提高其建模拟合能力。

加强版的多臂赌博机模型表达和计算能力又有了进一步的提高,具体已经可以用来求解OpenAI的Cart-Pole平衡木控制问题了,感兴趣的同学,可在公众号后台回复“代码”,查看状态和时序建模过程及求解的源码。


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

posted on 2017-06-30 22:41  数据小虾米  阅读(933)  评论(0编辑  收藏  举报

导航