机器学习的训练信号可以分为评估性反馈和指导性反馈。
Evaluative feedback: 应用于强化学习,评估智能体当前采取的动作的好坏程度。
Instructive feedback: 应用于有监督学习,给出正确的动作或类别,与当前动作无关。
本章首先讨论简化版本的K臂赌博机问题,它只有一个状态。通过这个问题来介绍之后会使用的学习方法。本章最后,通过讨论赌博机问题变成可关联(即有多个不同状态)时的情况,进一步地探讨完整的强化学习问题。
“n臂赌博机”问题的原始形式:重复地在k个选项或动作中进行选择。每次选择都会获得收益,收益是所选择的动作的平稳概率分布。智能体需要在一段时间内最大化总收益的期望。
如果你不停地对动作的价值进行估计,那么任意时刻,至少有一个动作的估计值是最大的,这些对应最高估计价值的动作被称为贪心(greedy)的动作。
基于对价值的估计进行动作选择的方法。
The sample-average method.
The greedy and ε-greedy methods.
相比于贪婪算法一直根据经验选择当前最好的动作,适当的探索可以获得更好的性能。
ε-greedy方法相对于贪心方法的优点依赖于任务。动作价值的方差越大,ε-greedy方法优势就越明显。但当方差为0时,贪心算法有可能在第一次尝试时就找到最佳的动作,而表现最好。
若赌博机问题是非平稳的,即动作的价值会随着时间而变化,保持探索是必要的。非平稳性是强化学习中最常遇到的情况。Even if the underlying task is stationary and deterministic, the learner faces a set of banditlike decision tasks each of which changes over time due to the learning process itself. Reinforcement learning requires a balance between exploration and exploitation.
如何以一种高效的方式计算动作价值的均值,尤其是如何保持常数级的内存需求和常数级的实时运算量?
为了简化标记,这里以单个动作为例。设计增量式公式以小而恒定的计算来更新平均值。
公式的一般形式:
新估计值 ← \leftarrow ← 旧估计值 + 步长 × \times × [目标 - 旧估计值]
赌博机的收益概率随着时间变化。非平稳的强化学习问题非常常见。
解决思路:给近期的收益赋予比过去很久的收益更高的权值。
常用方法:固定步长。
指数近因加权平均(an exponential recency-weighted average)。
如何判断对价值的估计是否收敛:链接。
什么是无偏&无偏估计:在统计学中,估计量的偏差(或偏差函数)是此估计量的期望值与估计参数的真值之差。偏差为零的估计量称为无偏的,即具有无偏性,称此估计量为被估计参数的无偏估计。否则该估计量是有偏的。
设置过度乐观的初始动作价值估计值,可以鼓励智能体去探索。即使是贪心算法,在所有动作的估计值收敛之前,智能体也会进行大量的探索。这种鼓励探索的技术叫作乐观初始价值(optimistic initial values)。不过这种方法不太适合非平稳问题,它探索的驱动力本质上是暂时的。事实上,任何仅仅关注初始条件的方法都不太可能对一般的非平稳情况有所帮助。采样平均法也是如此,它将开始时刻视为一个特殊事件,用相同的权重平均所有后续的收益。但是所有这些方法都很简单,其中一个或几个简单的组合在实践中往往是足够的。
练习2.6:由于给所有动作设置了过度乐观的初始价值估计并使用采样平均法更新估计值,在所有动作经过最初的尝试后,最优动作的新估计值很可能高于其他动作,所以此时最优动作被选择的概率更高。在被利用多次后,最优动作先于其他动作收敛。当低于其他动作的价值估计值后,智能体开始利用其他估计值更高的动作,使得方法的性能突然大幅度下降。
练习2.7的证明:链接。
根据非贪心动作成为最有动作的潜力进行探索,这需要考虑到它们的估计值有多接近最大值(贪心动作),以及这些估计值的不确定性。
UCB方法中,动作未被选择时被认为是一个最大化的动作。
UCB方法根据动作的可能真实值的上限来选择动作。每次选a时,不确定性可假定为减小:因为Na增大使得分母增大。每次选择a之外的动作时,t增大使得分子增大,而Na没有变化,所以不确定性增加。自然对数的使用意味着随着时间的推移,增加会变得越来越小,但它是无限的。所有动作最终都会被选中,但是随着时间的流逝,具有较低价值估计的动作或者已经被选择了很多次的动作被选择的概率较低。
相比ε-greedy方法,UCB方法很难推广到更普遍的强化学习问题中。一个困难是在处理非平稳问题时,它需要比2.5节中介绍的方法更复杂的方法。另一个困难是,在更复杂的问题中,目前还没有利用UCB思想进行动作选择的实用方法。
练习2.8:在开始时,由于动作未被选择时被认为是最大化的,所以智能体会探索每个动作。由于不确定性相似,贪心动作由于价值的期望高,其价值上限起初会好于其他动作,所以被多次利用,收益出现尖峰(spike)。但随着利用次数的增加,贪心动作的不确定度降低,而非贪心动作的不确定度上升,使得其他动作的价值上限高于贪心动作,智能体倾向于选择价值上限高的动作,导致此时收益减少。
之前探讨了评估动作价值的方法,这里再提出一种动作选择方法:针对每个动作 a ,学习一个数值化的偏好函数 H t ( a ) H_t(a) Ht(a)。这个偏好函数只具有相对意义,没有绝对意义。因为动作概率是根据 a soft-max distribution (i.e., Gibbs or Boltzmann distribution) 确定的: P r { A t = a } ≐ π t ( a ) Pr\{A_t=a\} \doteq \pi_t(a) Pr{At=a}≐πt(a)
其中, π t ( a ) \pi_t(a) πt(a)用来表示动作 a 在时刻 t 时被选择的概率。所有偏好函数的初始值都是一样的(例如都取0),所以每个动作被选择的概率是相同的。
There is a natural learning algorithm for this setting based on the idea of stochastic gradient ascent. 在每个步骤中,在选择动作 A t A_t At并获得收益 R t R_t Rt后,偏好函数将会按如下方式更新(略)。
可以将梯度赌博机算法理解为梯度上升的随即近似(a stochastic approximation to gradient ascent)。对于精确的梯度上升算法,偏好函数的增量是总体收益的期望对动作偏好函数的偏导数。
Of course, it is not possible to implement gradient ascent exactly in our case because by assumption we do not know the q ∗ ( x ) q_*(x) q∗(x), but in fact the updates of our algorithm (2.12) are equal to (2.13) in expected value (期望值), making the algorithm an instance of stochastic gradient ascent.
公式(2.12)的期望值的更新与公式(2.13)的期望收益的梯度等价,证明:略,可以假设有三个动作,或根据书上的步骤证明。
基准项的选择不影响算法的预期更新,但会影响更新值的方差,从而影响收敛速度。
截至目前,本章只讨论了非关联的任务。然而,在一般的强化学习任务中,往往有不止一种情景(situation),它们的目标是学习一种策略:一个从特定情境到最优动作的映射。为了进行一般性问题分析,下面我们简要地探讨从非关联任务推广到关联任务的最简单的方法。
关联搜索任务,现在通常被称为上下文相关的赌博机。关联搜索任务介于k臂赌博机问题和完整强化学习问题之间。它与完整强化学习问题的相似点是,它需要学习一种策略。但它又与k臂赌博机问题相似,体现在每个动作只影响即时收益。如果允许动作可以影响下一时刻的情境和收益,那么这就是完整的强化学习问题。
练习2.10:无法识别情况时,最优的期望成功值是0.5,每次选择任意动作即可;如果可以区分不同情况,最优的期望成功值是0.55,需要在A时选择动作2,B时选择动作1。
学习曲线(learning curve)
参数研究图