因此,我们可以为我们的网络在任务 A 上训练后在任务 B 上再定义一个新的损失函数。让 LB(θ)仅作为任务 B 的损失。如果我们用 i 索引我们的参数,并且选择标量λ来影响任务 A 对任务 B 的重要性,则在 EWC 中最小化的函数 L 是:
作者声称,EWC 具有相对于网络参数的数量和训练示例的数量是线性的运行时间。 实验和结果 随机模式 EWC 的第一个测试是简单地看它能否比梯度下降(GD)更长时间地记住简单的模式。这些研究者训练了一个可将随机二元模式和二元结果关联起来的神经网络。如果该网络看到了一个之前见过的二元模式,那么就通过观察其信噪比是否超过了一个阈值来评价其是否已经「记住」了该模式。使用这种简单测试的原因是其具有一个分析解决方案。随着模式数量的增加,EWC 和 GD 的表现都接近了它们的完美答案。但是 EWC 能够记忆比 GD 远远更多的模式,如下图所示:
MNIST 这些研究者为 EWC 所进行的第二个测试是一个修改过的 MNIST 版本。其没有使用被给出的数据,而是生成了三个随机的排列(permutation),并将每个排列都应用到该数据集中的每张图像上。任务 A 是对被第一个排列转换过的 MNIST 图像中的数字进行分类,任务 B 是对被第二个排列转换过的图像中的数字进行分类,任务 C 类推。这些研究者构建了一个全连接的深度神经网络并在任务 A、B 和 C 上对该网络进行了训练,同时在任务 A(在 A 上的训练完成后)、B(在 B 上的训练完成后)和 C(在 C 上的训练完成后)上测试了该网络的表现。训练是分别使用随机梯度下降(SGD)、使用 L2 正则化的均匀参数刚度(uniform parameter-rigidity using L2 regularization)、EWC 独立完成的。下面是它们的结果:
如预期的一样,SGD 出现了灾难性遗忘;在任务 B 上训练后在任务 A 上的表现出现了快速衰退,在任务 C 上训练后更是进一步衰退。使参数更刚性能维持在第一个任务上的表现,但却不能学习后续的任务。而 EWC 能在成功学习新任务的同时记住如何执行之前的任务。随着任务数量的增加,EWC 也能维持相对较好的表现,相对地,带有 dropout 正则化的 SGD 的表现会持续下降,如下所示:
Atari 2600 DeepMind 曾在更早的一篇论文中表明:当一次训练和测试一个游戏时,深度 Q 网络(DQN)能够在多种 Atari 2600 游戏上实现超人类的表现。为了了解 EWC 可以如何在这种更具挑战性的强化学习环境中实现连续学习,这些研究者对该 DQN 代理进行了修改,使其能够使用 EWC。但是,他们还需要做出一项额外的修改:在哺乳动物的连续学习中,为了确定一个代理当前正在学习的任务,必需要一个高层面的系统,但该 DQN 代理完全不能做出这样的确定。为了解决这个问题,研究者为其添加了一个基于 forget-me-not(FMN)过程的在线聚类算法,使得该 DQN 代理能够为每一个推断任务维持各自独立的短期记忆缓存。 这就得到了一个能够跨两个时间尺度进行学习的 DQN 代理。在短期内,DQN 代理可以使用 SGD 等优化器(本案例中研究者使用了 RMSProp)来从经历重放(experience replay)机制中学习。在长期内,该 DQN 代理使用 EWC 来巩固其从各种任务上学习到的知识。研究者从 DQN 实现了人类水平表现的 Atari 游戏(共 19 个)中随机选出了 10 个,然后该代理在每个单独的游戏上训练了一段时间,如下所示:
这些研究者对三个不同的 DQN 的代理进行了比较。蓝色代理没有使用 EWC,红色代理使用了 EWC 和 forget-me-not 任务标识符。褐色代理则使用 EWC,并被提供了真实任务标签。在一个任务上实现人类水平的表现被规范化为分数 1。如你所见,EWC 在这 10 个任务上都实现了接近人类水平的表现,而非 EWC 代理没能在一个以上的任务上做到这一点。该代理是否被给出了一个真实标签或是否必须对任务进行推导对结果的影响不大,但我认为这也表明了 FMN 过程的成果,而不仅仅是 EWC 的成功。 (责任编辑:本港台直播) |