一、模型描述
强化学习问题,应先考虑简单场景:最大化单步奖赏,即仅考虑一步操作。
单步强化学习对应了一个理论模型:K摇臂博彩机(K-armed Bandit)也称为K摇臂老虎机,也称为多摇臂博彩机问题(Multi-Armed Bandit Problem,MABP)。
场景描述:章鱼(赌徒) 选择一个博彩机后,投入硬币并按下摇臂,这台博彩机会以一定概率吐出硬币,但章鱼(赌徒)并不知道这个概率,他的目标是通过一定的策略最大优化自己的奖赏,即获得最多的硬币。
仅探索(Exploration-Only)将所有的尝试机会平均分配给每台老虎机(即轮流按下每个摇臂),最后以每个摇臂老虎机各自的平均吐币概率作为期望奖赏的近似估计,可以很好的估计每个摇臂老虎机的奖赏,却会失去很多选择最优摇臂老虎机的机会。
仅利用(Explotitation-Only)按下目前最优的(即目前为止平均奖赏最大的)摇臂老虎机,若有多个摇臂老虎机同为最优,则从中取一个,不能很好的估计摇臂老虎机的期望奖赏,很可能经常选不到最优摇臂老虎机。
强化学习所面临的“探索-利用窘境(Exploration-Explotitation Dilemma)”,源自仅探索(Exploration-Only)与仅利用(Explotitation-Only)之间的矛盾,因为总的尝试次数,即投币次数是有限的,加强其中一方自然会削弱另外一方。
二、应用场景
典型应用场景案例为:
临床试验(Clinical Trials)
临床试验期间患者的健康状况与研究的实际结果同样重要。在这里,探索等同于确定最佳治疗方法,而开发则是在试验期间尽可能有效地治疗患者。
网络路由(Network Routing)
路由是为网络(如电话网络或计算机网络(internet))中的流量选择路径的过程。将信道分配给正确的用户,从而使总吞吐量最大化,可以表示为MABP。
在线广告(Online Advertising)
广告活动的目标是从展示广告中获得最大的收入。每次广告被网络用户点击,广告商就会获得收入。与MABP类似,在探索和开发之间也存在权衡,前者的目标是通过点击率收集广告表现的信息,后者的目标是我们坚持使用迄今为止表现最好的广告。
游戏设计(Game Designing)
制作一款热门游戏是具有挑战性的。MABP可以用于测试游戏玩法/界面的实验性变化,并利用这些变化为玩家带来积极的体验。
三、术语概念
行动价值函数(Action-Value Function)
行动价值函数代表预期奖赏,定义为时间t的每个行动a的平均奖赏(r的期望),表示为:
假设k摇臂博彩机的奖赏概率分布为,那么在时间t的行动为选择第i个摇臂博彩机的行动价值为:
遗憾(Regret)
遗憾定义为因学习而花费的时间或者回合所造成的损失。
对于给定k摇臂博彩机问题假设已知最佳奖赏的摇臂博彩机,不断拉动这个摇臂博彩机,将得到一个最大预期奖赏,可以用一条水平线表示。实际的问题实施中,需要通过拉动不同的摇臂博彩机进行重复试验,直到我们大致确定在时间t上拉动的摇臂可以获得最大平均回报。即使在学习阶段,也想最大化奖赏的回报。这里遗憾量化了对没有选择最佳摇臂博彩机的损失程度。如果没有做足够的探索,并最终利用了一个次优的摇臂博彩机,那么遗憾是如何改变的。最初可能会有较低的后悔,但总体而言会远低于给定问题的最大可实现奖赏。
四、解决算法
贪心逼近(Greedy Approach)
也被称为仅利用(Explotitation-Only)或者非探索(No Exploration)。
Epsilon贪心逼近(Epsilon Greedy Approach)
Softmax探索(Softmax Exploration)
衰变Epsilon贪心(Decayed Epsilon Greedy)
上限置信边界(Upper Confidence Bound,UCB)
五、算法样例
假设有10台摇臂博彩机,样本数据集为谷歌广告优化样本数据集,数据集大小为10000。
参考文献:
1. 《机器学习》P371-P374,周志华著,北京:清华大学出版社,2018。
2. Reinforcement Learning Guide: Solving the Multi-Armed Bandit Problem from Scratch in Python, Ankit Choudhary, https://www.analyticsvidhya.com/blog/2018/09/reinforcement-multi-armed-bandit-scratch-python/