显然,这个例子显示了噪声是如何显著地影响最佳控制的。例如,最优策略可以根据噪声水平的高低进行改变。因此,我们期望在基于模型的增强学习中获得显著的改进,通过捕获状态转换数据中存在的任何噪声模式。因此,我们期望通过高精度捕获状态转换数据中存在的任何噪声模式,从而获得基于模型的强化学习的显著改进。 具有随机输入的贝叶斯神经网络 实际上,状态转换数据中的大多数建模方法只是假设s_t + 1中的附加高斯噪声(additive Gaussian noise),即, 其中f_W可以视作一个权重为W的神经网络。在这种情况下,以最大似然法来学习W是非常容易的。然而,在现实世界的设置中附加高斯噪声的假设不太可能存在。 不过,可以通过在f_W中使用随机输入,从而在转换动力学中获得一个更为灵活的噪声模型。实际上,直播,我们可以假设: 在这个模型下,输入噪声变量z_t可以通过f_W以复杂的方式进行变换,以在s_t + 1中产生任意的随机模式来作为s_t和a_t的函数。 然而,现在由于z_t是未知的,所以不能再以最大似然法来学习W。不过,我们可以采用一个相反思想的解决方案:贝叶斯方法,W和z_t进行后验分布。这个分布捕捉我们在看到D中数据后可能会采用的值的不确定性。 如果想要计算准确的后验分布其实是很棘手的,但我们可以学习高斯近似。这种近似的参数可以通过最小化对真后验的发散来调整。变异贝叶斯(VB)是一种通用于此类问题的方法,可以通过最小化Kullback-Leibler散度来实现。 α发散最小化(α-divergence minimization) 其实,对于如何学习因式分解后的高斯近似,我们可以通过最小化α发散来实现,而不使用VB。关于α发散,在Minka, Thomas P所著的《散度度量和消息传递》和我与Li Y.等人所著的《黑箱α发散的最小化》中皆有所提及。通过改变这种发散中的α值,我们可以在真实的后验分布p模式下进行平滑的插值,也可以在p中覆盖多种模式,如下图所示: 其实很有趣的一点是,VB是α发散最小化中α= 0的一种特殊情况。而另外一种众所周知的用于近似贝叶斯推理的方法是期望传播(expectation propagation),它可以由α= 1获得。在我们的实验中,我们使用α= 0.5,因为在实际情况下,这会产生更好的概率预测。关于这一点,《黑箱α发散的最小化》(ICML 2016)中有更为详尽的阐述。 示例的结果演示 下图显示了在两个示例中进行具有随机输入的贝叶斯神经网络的执行结果。每个示例的训练数据显示在最左边的列中。顶行显示的是双模态预测分布的问题。底行显示的是异方差噪声的问题(噪声幅度取决于输入)。 中间列显示的是从仅使用附加高斯噪声的模型中所获得的预测。该模型无法捕获数据中的双重模式或异方差。最右边的列显示了具有随机输入的贝叶斯神经网络的预测,其可以自动识别数据中存在的随机模式的类型。 “落水鸡”问题的测试结果 我们现在考虑一个强化学习基准,其中一个划独木舟在二维的河上划桨,如下图最左边的地图所示。在一个漂流的河中,将划独木舟推向位于顶部的瀑布,漂移在右边更强,左边更弱。 如果独木舟落下瀑布,他必须在河底重新开始。 河流中也有扰动,左侧变强,右侧较弱。独木舟越接近瀑布获得的奖励越多。因此,他会想要靠近瀑布,但不要太近,以免翻船。这个问题叫做“落水鸡”,因为它与斗鸡有相似之处。 湍流和瀑布将使落水鸡成为一个高度随机的基准:瀑布下降的可能性在状态转换中引发双重态势,而不同的湍流引入异方差。 图中间的情节可以看出使用我们的贝叶斯神经网络随机输入的策略。这是一个几乎最优的策略,其中独木舟分子试图停留在x3.5和y2.5的位置。 (责任编辑:本港台直播) |