探索和开发之间的内在冲突。离轨策略方法拓展到函数逼近的情况,并不能稳健地收敛。“可学习程度”。
回顾离轨策略方法,在进行控制时,动作价值函数是被学习的,两个策略会在学习过程中变化。
离轨策略学习的两方面挑战:更新的目标;更新的分布。
更新的目标:重要度采样。
更新的分布:两种通用方法:重要度采样(梯度TD?);真正的梯度方法(强调TD?)。
将之前的离轨策略算法,作为半梯度方法推广到函数逼近的情况。解决了第一个挑战。
每步重要度采样率。
单步算法。状态价值函数:半梯度离轨策略TD(0)。动作价值函数:半梯度期望Sarsa(未使用重要度采样,这需要进一步的研究,因为对于函数逼近的情况,有了采样分布的概念,我们不可能遍历所有的状态。因此我们希望对不同二元组赋予不同的权重)。
多步算法。半梯度n步Sarsa。半梯度n步树回溯算法。半梯度离轨策略版n步TD。半梯度n步Q( σ \sigma σ)。
第二个挑战:更新的分布与同轨策略分布不一致。一些离轨策略学习的不稳定且发散的反例。
一个非常简单的情况。这个例子的关键在于,一个转移反复发生,而权值向量没有在其他转移上更新。这在离轨策略训练中是可能的。
Baird’s counterexample. 半梯度DP:传统方法仍然不稳定。离开同归策略分布,即使是最简单的自举法和函数逼近法的组合也有可能不稳定。
Q-learning往往在所有的控制方法中都有最好的收敛保证,但仍然有发散的反例。解决方案:行动策略和目标策略足够接近,可以保证收敛。
其他避免不稳定的方法:
一,使用最小二乘近似去优化价值函数。然而对于精确解不存在的情况(如特征向量线性相关),仍无法保证稳定性。例 11.1:线性函数逼近可能不适用于DP,即使在每一步都找到了最小二乘解。
二,函数逼近的平均方法。
练习 11.3:单步半梯度Q-learning(即半梯度的离轨策略TD(0))。
函数逼近,自举法,离轨策略训练。同时满足这三个要素,就一定会有不稳定和发散的危险。这种风险并不是由控制或GPI造成的,也不是由学习或环境的不确定性造成的。
这三个要素中,函数逼近是最不可能舍弃的,而不使用自举法是有可能的,付出的代价是计算和数据上的效率:特殊硬件上的计算效率;对于数据效率,自举法通常可以提高学习速度;但自举法会损害表征不好的问题的学习,导致泛化能力很差。
总的来说,由于自举法常常能极大地提升效率,因此我们非常乐意将它保留在我们的工具包中。
最后,对于离轨策略学习,通常来说同轨策略方法已经足够了,但离轨策略学习可能在一些情况下(同时学习多个目标策略,强人工智能),是实质的需求。
并行学习(meta learning?):同时学习多个目标策略。心理学:人和动物学习预测多种感知事件,而不仅仅是收益,很多预测是中性的。这些预测可能构成了世界预测模型的基础。我们想预测的事件取决于我们的某种确定的行事方式。为了同时学习这些事件,我们需要从一个经验流中学习。一个行为策略不可能同时等同于所有的目标策略。然而,并行学习理论上是可行的,因为行为策略可能与多个目标策略有部分重叠。为了充分利用这一点,需要离轨策略学习。
通过线性函数逼近的几何性质,介绍价值函数逼近的各种目标。
换一个角度考虑价值函数近似问题。想象一个有所有可能的状态价值函数构成的空间。很多函数不对应于任何策略,很多都不能被函数逼近器表示。
任何价值函数都对应一个价值向量。
考虑一个例子。我们把所有的值函数/向量看作是三维空间中的点。而参数则提供了一个二维子空间上的替代坐标系统。
价值函数之间的距离。投影操作:在可表示的函数的子空间内寻找价值函数 v v v 的最近邻的函数的操作。投影算子 ∏ \prod ∏ 。
价值函数 v v v 的投影 ∏ v π \prod v_\pi ∏vπ 通常可以被蒙特卡罗方法渐近地找到,而TD方法会找到不同的解。
真实的价值函数是唯一完全满足贝尔曼方程的价值函数。状态s时的贝尔曼误差:用 v w v_w vw 替换 v π v_\pi vπ 后,方程左右两侧差值。贝尔曼误差是TD误差的期望。
贝尔曼误差向量:所有状态下的贝尔曼误差组成的向量。均方贝尔曼误差 B E ‾ \overline{BE} BE:这个向量在范数上的总大小;目标:最小化贝尔曼误差向量。
通常不可能把 B E ‾ \overline{BE} BE 减小到 0 (因为 v w v_w vw 无法等于 v π v_\pi vπ),但对于线性函数逼近,有一个最小化 B E ‾ \overline{BE} BE 的 w \mathbf{w} w。在子空间中, m i n B E ‾ min\overline{BE} minBE 通常不同于 m i n V E ‾ min\overline{VE} minVE (即 ∏ v π \prod v_\pi ∏vπ)。
贝尔曼误差向量,是将贝尔曼算子作用在近似价值函数中的结果。注:贝尔曼算子,可以理解为对价值函数进行了贝尔曼方程化。
贝尔曼算子的唯一不动点: v π v_\pi vπ。
投影贝尔曼误差向量。均方投影贝尔曼误差:目标:最小化贝尔曼误差向量的投影。TD不动点: P B E ‾ \overline{PBE} PBE 为 0 的点(注:由线性函数逼近的TD方法最终得到的点)。
疑问:什么方法最终获得 m i n B E ‾ min\overline{BE} minBE ?DP-like methods with function approximation ?接下来的两节会讨论最小化 B E ‾ \overline{BE} BE 的方法。
11.5&11.6:最小化 B E ‾ \overline{BE} BE 的方法。
11.7&11.8:保证收敛到不动点的方法,即最小化 P B E ‾ \overline{PBE} PBE 的方法。
随机梯度下降:更新的量在期望上等于目标函数的负梯度。到目前为止,只有蒙特卡洛方法是真正的SGD方法。
能否找到在强化学习中使用SGD的实用方法?首先考虑待优化的误差或目标函数的选择。11.5&11.6:一些最流行的目标函数的起源和局限性。这是一个错误的研究方向,并不能产生优秀的学习方法。
回顾一下,在9.2中,我们用状态价值的真实值和估计值的平方误差作为目标;在11.1中,我们在这基础上添加了重要度采样率。均方TD误差:基于带折扣的单步TD误差。将其表示为SGD想要的形式:
T D E ‾ ( w ) = E b [ ρ t δ t 2 ] \overline{TDE}(\mathbf{w})=\mathbb{E}_b\left [ \rho_t \delta _t^2 \right ] TDE(w)=Eb[ρtδt2]
根据SGD方法,我们可以得到基于这种期望值的单步更新。相比半梯度TD算法,公式多了最后一项。这一项补全了这个梯度,并且让它成为了一个真正的SGD算法并有优异的收敛保证。我们称之为天真残差梯度算法(the naive residual-gradient algorithm)。然而,尽管天真残差梯度算法稳健地收敛,但是它并不一定会收敛到我们想要的地方。The A-split example.
最小化 T D E ‾ \overline{TDE} TDE 是天真的,通过减小所有的 TD 误差,它更倾向于得到时序上平滑的结果,而不是准确的预测。
最小化贝尔曼误差。对于一个状态而言,贝尔曼误差是该状态上TD误差的期望。
将残差梯度算法中的期望替换为采样值,便可得到天真残差梯度算法。但是天真残差梯度算法过于简单,在残差梯度公式中,两个相乘的期望值都包含了状态 S t + 1 S_{t+1} St+1。为了得到这个乘积的无偏样本,需要状态 S t + 1 S_{t+1} St+1 的两个独立样本,但是通常在与外部环境的交互过程中,我们只能得到一个样本。因此两项可以一个用期望值,一个用采样值,但是不能都用采样值。
使用残差梯度算法的两种方式。
残差梯度方法的收敛性的三个缺点:速度慢;在确定性问题中,和天真残差一样,仍然收敛到错误的值;贝尔曼误差的不可学习性。
机器学习中的可学习性(learnability):可以被高效地学会,即可以用多项式级而不是指数级数量的样本学会。
此处的可学习性:用任意多的经验可以学会。然而,强化学习中,很多量我们无法学习,即使拥有良好定义,且在了解环境的内部结构时可以被计算出来,但不能从外部可观测的序列(只有特征序列没有状态序列)中得到。在这个意义上,贝尔曼误差目标是不可学习的。
先讨论 V E ‾ \overline{VE} VE 目标。 V E ‾ \overline{VE} VE 是不可学习的:在反例中, V E ‾ \overline{VE} VE 是不同的,但是产生的数据却遵从同一分布,因此不可学习。既然如此,那么 V E ‾ \overline{VE} VE 作为一个学习的目标如何才能起作用呢?
V E ‾ \overline{VE} VE 在反例中的出路:虽然 V E ‾ \overline{VE} VE 是不可学习的,但是优化它的参数 w \mathbf{w} w 是可学习的。
均方回报误差 R E ‾ \overline{RE} RE :每个时刻的估计价值与这个时刻之后的实际回报的平方误差。 V E ‾ \overline{VE} VE 与 R E ‾ \overline{RE} RE 有相同的最优参数值 w ∗ \mathbf{w}^* w∗ 。 R E ‾ \overline{RE} RE 可以从数据分布中唯一确定,因为 R E ‾ \overline{RE} RE 的值取决于数据分布,而不是MDP。
现在回到 B E ‾ \overline{BE} BE 目标。与 V E ‾ \overline{VE} VE 不同, B E ‾ \overline{BE} BE 的极小值解是不可学习的,不能从特征向量和其他可观测的数据中估计它。这限制 B E ‾ \overline{BE} BE 用于有模型的情形。残差梯度算法是唯一能够最小化 B E ‾ \overline{BE} BE 的算法,但它只有在接触基础底层状态时才能起作用。最小化 B E ‾ \overline{BE} BE 需要能够触达特征向量之外的基础底层MDP状态。
注:例11.3的限制:残差梯度算法最小化 B E ‾ \overline{BE} BE 仍然会收敛到错误的结果。这是一个未接触基础底层状态的确定性问题,这个限制是由这两个属性共同造成的。首先,未接触基础底层状态,使得整个系统等同于A-分裂(天真残差梯度算法的反例);其次,在确定性问题中,残差梯度算法和天真残差梯度算法相同。
如果抛弃第一个因素,即A1和A2可以通过特征向量区分,同时其他条件不变,则残差梯度算法(此时等于天真残差梯度算法)可以找到真实价值。
例11.3给出的限制是残差梯度算法的限制,根据11.6的内容,我们可以将例11.3推广到更一般的情形,得到另一个限制:最小化 B E ‾ \overline{BE} BE 需要接触基础底层的状态,仅仅使用特征向量和数据分布,无法学习 B E ‾ \overline{BE} BE 。
例11.4:两个MDP产生相同的数据分布,其中第二个MDP最小化 B E ‾ \overline{BE} BE 的 w \mathbf{w} w 是关于 γ \gamma γ 的不同函数。因此我们无法只依靠数据来获得最小化 B E ‾ \overline{BE} BE 的解。
注:在11.5和11.6的例子中,我们知道所有信息,因此我们使用了基础底层的MDP对目标函数的结果进行分析。但是在真正使用算法对目标函数进行学习的时候,很多时候我们不知道基础底层的MDP(无模型的情形?)。
梯度TD方法:最小化 P B E ‾ \overline{PBE} PBE,时间复杂度为 O(d) 并且有稳健收敛性质的SGD方法。相比半梯度TD方法,其时间复杂度增加一倍。
先将目标函数 P B E ‾ \overline{PBE} PBE 转化成矩阵的形式,再转化成期望的形式。最后得到:
式中的第一个因子和第三个因子都依赖于下一个状态的特征向量。
一个得到无偏估计,且计算量相对较小的方法:对三个期望,储存两个,然后采样一个。但此时仍然是平方级时间复杂度。
记向量 v \mathbf{v} v 为后两个因子的乘积。The Least Mean Square (LMS) rule (最小均方规则):通过最小化期望平方误差,来增量式地寻找向量 v \mathbf{v} v 的标准SGD方法(此处增加了一个重要度采样率)。
根据保存的 v t \mathbf{v}_t vt ,得到更新 w t \mathbf{w}_t wt 的SGD方法:GTD2。
TDC。
CTD2和TDC都包含一个主要学习过程和一个次要学习过程:a cascade。
梯度TD方法是目前最容易理解且应用广泛的离轨策略方法。在非线性函数逼近(例如神经网络)中的推广。
强调TD方法:重新分配状态的权值,强调一部分同时淡化一部分,将更新分布变为同轨策略分布。快速回顾9.11。
一个策略根据起始位置的不同,可以有多个同轨策略分布。无论使用哪一个分布,只要更新了学习中遇到的所有状态,同轨策略分布就能发挥作用,保证训练稳定。
可以把折扣视作部分或概率性终止。伪终止:每一步以 1 − γ 1-\gamma 1−γ 的概率终止,并于要转移到的状态重启。这种伪终止对于离轨策略学习非常重要,因为重启是个选项。而且终止使我们不再需要不断地将遇到的状态纳入同轨策略分布中。也就是说,如果我们不把新的状态视为重启,那么折扣会很快给我们一个有限的同轨策略分布。
注:先不考虑伪终止,记录一段时间的状态,更新同轨策略分布。然后将折扣视为一种伪终止,将新状态视为重启。基于之前的记录,我们便得到了一个有限的同轨策略分布。
由于期望TD算法的方差过高,几乎无法在实验中得到一致性结果。参数向量的期望值的轨迹:这些轨迹是通过迭代计算参数向量轨迹的期望值得到的,没有任何由于状态转移和收益采样引起的方差。
注:是在得到多组初始数据后,根据数据和策略分布计算每一次遍历的期望值(那么如何保证在实验中遍历)?还是在实验中使用算法遍历一次后,更新一次参数向量,然后进行下一轮遍历?我认为是后者,这样可以实现原文中的迭代操作(迭代的定义:反复地运用同一函数计算,前一次迭代得到的结果被用于作为下一次迭代的输入)。
离轨策略学习在本质上比同轨策略学习具有更大的方差。
离轨策略学习存在的最重要原因:推广泛化到大量的“相关但不等同的策略”。
减小估计值的方差的方法:
重要度采样对步长的影响。步长的设置方法。
加权的重要度采样比的应用。
不使用重要度采样比的离轨策略学习。
由行动策略部分决定目标策略。
仅仅是将离轨策略学习拓展到线性函数逼近,就需要我们进行大量的研究。使用离轨策略算法的原因:探索和利用的平衡;将行为独立于学习。
离轨策略学习的两个挑战:行动策略的学习目标(注:包括目标和分布?);半梯度方法的不稳定性。