1.简介我发现网上绝大多数人工智能相关的资料可以分为两类:一类是解释progressto外行,二是向其他研究者解释进展。对于具有技术背景但不了解更多尖端发展的人来说,我还没有找到任何好的资源来给他们的电池充电。我想成为这两者之间的桥梁-通过提供(相对)易于理解的前沿研究的详细解释。首先,让我们从纸《Overcoming Catastrophic Forgetting in Neural Networks》说起。2.动机实现通用人工智能的关键步骤是获得持续学习的能力,也就是说,一个智能体必须能够学习如何执行新的任务而不忘记旧任务的执行方法。然而,这个看似简单的属性在历史上一直难以捉摸。McCloskey和Cohen(1989)首先注意到了这种能力的缺乏——他们首先训练了一个神经网络来学习给一个数加1,然后训练神经网络来学习给一个数加2,但是随后网络不会添加1到数字。他们将这个问题称为“灾难性遗忘”,因为神经网络倾向于通过快速覆盖、丢失执行先前任务所需的参数来学习新任务。在克服灾难性遗忘方面取得的进展不大。之前的两篇论文《Policy Distillation》和?通过在训练期间提供来自所有任务的数据,在混合任务上取得了良好的性能。然而,如果这些任务一个接一个地引入,那么这种多任务学习范式必须维护一个情景记忆系统来记录和重放训练数据,以取得良好的性能。这种方法称为系统级整合(system-levelconsolidation),受限于系统对内存的需求,系统的大小必须与所存储的内存总量相当;并且随着任务的增长,这个内存的量也会增长。然而,你也可能直觉地认为携带一个巨大的记忆库来持续学习是错误的——毕竟人类除了学会走路之外还可以学习说话,而不需要保持关于如何学会走路的记忆。哺乳动物的大脑是如何获得这种能力的?Yang、Pan和Gan(2009)表明,随着时间的推移,学习是通过突触后树突棘的形成和消除来实现的。树突棘是“神经元树突上的突起,通常在突触处接收来自单个轴突的输入”,具体如下:具体而言,研究人员检查了已经学习了大脑后特定新任务的运动策略的小鼠。当老鼠学会了移动的方式时,研究人员观察到树突棘的形成显着增加。为了消除运动可能导致脊柱形成的额外解释,研究人员还包括了一个进行运动的对照组——该组没有观察到脊柱形成。随后研究人员还注意到,虽然大部分新形成的刺在后面消失了,但仍有一小部分保留下来。2015年的另一项研究表明,当特定的树突棘被擦除时,它们相应的技能也会丢失。柯克帕特里克等。论文《Overcoming catastrophic forgetting in neural networks》中说:“这些实验结果……表明新皮层的持续学习依赖于特定任务的突触巩固,其中知识不太可塑,无法获得持久编码,因此可以长期保持稳定。“我们能否使用类似的方法(根据每个神经元的重要性改变单个神经元的可塑性)来克服灾难性遗忘?该论文的Theremainder推导并论证了他们最初的回答:是的。3.直觉假设有两个任务A和B,我们想要一个神经网络顺序地学习它们。当我们谈论神经网络学习一项任务时,它真正的意思是让神经网络调整权重和偏差(统称为参数/θ),使神经网络在该任务上取得更好的性能。先前的研究表明,对于大型网络,许多不同的参数配置可以实现相似的性能。通常,这意味着网络过度参数化,但我们可以利用这一点:过度参数化可以使任务B的配置很可能接近任务A的配置。作者提供了有用的图形:在图中,θ?A表示在A任务中表现最佳的θ配置。也有多种参数配置可以接近这个性能,灰色代表这个配置的集合;此处使用椭圆表示,因为某些参数比其他参数调整得更重。如果神经网络随后被设置为学习任务B而对记忆任务A没有任何兴趣(即遵循任务B的误差梯度),则网络将在蓝色箭头的方向上移动其参数。B的最佳解决方案也有类似的误差椭圆体,上面用白色椭圆表示。但是,我们还想记住任务A。如果我们简单地强化参数,按照绿色箭头,任务A和B的性能都会很糟糕。最好的方法是根据对任务的重要性来选择参数的固化程度;如果是这样,神经网络参数的变化方向将遵循红色箭头,它会尝试找到能够同时很好地执行任务A和B的配置。作者称这种算法为“弹性权重合并(EWC/ElasticWeightConsolidation)”。这个名字来自突触巩固,结合“弹性”锚定参数(以前解决方案的约束限制参数是二次的,因此是弹性的)。4.数学解释这里有两个问题。***,为什么anchor函数是二次的?二、如何判断哪个参数“重要”?在回答这两个问题之前,我们首先要从概率的角度理解神经网络的训练。什么。假设我们有一些数据D,我们希望找到最有可能的参数,表示为p(θ|D)。我们可以使用贝叶斯规则来计算这个条件概率。如果我们应用对数变换,方程可以改写为:假设数据D由两个独立的部分组成,任务A的数据DA和任务B的数据DB。这个逻辑适用于两个以上的任务,但不是详细在这里。使用独立性的定义,我们可以重写这个等式:看(3)右边的中间三项。他们看起来很眼熟吗?他们应该。这三项是等式(2)的右边,但D被DA代替。简单来说,这三项相当于给定任务A数据的网络参数条件概率的对数。因此,我们得到以下等式:让我们首先解释等式(4)。左侧仍然告诉我们如何计算整个数据集的p(θ|D),但是在解决任务A时学到的所有信息都包含在条件概率p(θ|DA)中。这个条件概率可以告诉我们哪些参数在解决任务A中很重要。下一步是模棱两可的:“真正的后验概率是难以处理的,因此,根据Mackay(19)对拉普拉斯近似的研究,我们将这个后验概率近似为高斯分布参数θ?A的均值由Fisher信息矩阵F的对角线给出,对角线精度由Fisher信息矩阵F给出。”让我们详细解释一下。首先,为什么真正的后验概率很难处理?论文没有解释。答案是:贝叶斯法则告诉我们p(θ|DA)依赖于p(DA)=∫p(DA|θ′)p(θ′)dθ′,其中θ′是参数中参数的一个可能配置空间。一般来说,这个积分没有封闭形式的解,而是留下一个数值近似值。数值逼近的时间复杂度相对于参数的数量呈指数增长,因此对于具有数亿或更多参数的深度神经网络,数值逼近是不切实际的。那么,Mackay在拉普拉斯近似方面的工作是什么,它与这里的研究有何关系?我们不使用数值近似后验分布,而是使用θ*A作为均值,将其建模为多元正态分布。方差呢?我们将每个变量的方差指定为方差倒数的精度。为了计算精度,我们将使用Fisher信息矩阵F。Fisher信息是“可观察的随机变量X携带的关于X所依赖的概率的未知参数θ的信息量的度量。”在我们的例子中,我们感兴趣的是测量每个数据从DA中携带的关于θ的信息量。Fisher信息矩阵比数值近似更可行,使其成为有用的工具。因此,我们可以在我们的网络在任务A上训练后为任务B定义一个新的损失函数。让LB(θ)仅作为任务B的损失。如果我们用i对我们的参数进行索引,并选择一个标量λ来影响任务A相对于任务B的重要性,则EWC中最小化的函数L为:作者声称EWC的数量在运行时间内是线性的。五、实验和结果1.随机模式EWC的第一个测试只是看它是否能比梯度下降(GD)更长时间地记住简单模式。研究人员训练了一个神经网络,将随机二进制模式与二进制结果相关联。如果网络看到以前见过的二进制模式,它会通过观察其信噪比是否超过阈值来评估它是否“记住”了该模式。使用这个简单测试的原因是它有解析解。随着模式数量的增加,EWC和GD的表现都接近于它们的最佳答案。但是EWC比GD可以记住更多的模式,如下图所示:2.MNIST这些研究人员为EWC进行的第二个测试是MNIST的修改版本。它不使用给定的数据,而是生成三个随机排列并将每个排列应用于数据集中的每个图像。任务A是对第一次排列变换后的MNIST图像中的数字进行分类,任务B是对第二次排列变换后的图像中的数字进行分类,任务C依此类推。这些研究人员构建了一个全连接的深度神经网络并在任务A、B和C上训练网络。同时,任务A(在A上训练后)、B(在B上训练后)在C(在C上训练后)上测试网络的性能。分别使用随机梯度下降(SGD)、使用L2正则化的统一参数刚性和EWC独立完成训练。以下是他们的结果:正如预期的那样,SGD表现出灾难性的遗忘;在任务B上训练后,任务A的性能迅速下降,在任务C上训练后进一步下降。使参数更严格可以保持第一个任务的性能,但无法学习后续任务。另一方面,EWC可以记住如何在成功学习新任务的同时执行以前的任务。随着任务数量的增加,EWC也能保持比较好的性能。相对的,SGDwithdropoutregularization的性能会继续下降,如下图:3.Atari2600DeepMind在较早的一篇论文中表明,DeepQ-Network(DQN)能够在多种Atari2600游戏上达到超人的性能,当时一次训练和测试一个游戏。为了了解EWC如何在这个更具挑战性的强化学习环境中实现持续学习,研究人员修改了DQN代理以使用EWC。然而,他们需要做一个额外的修改:在哺乳动物的持续学习中,需要一个高级系统来确定代理当前正在学习的任务,但这个DQN代理完全无法做出这样的决定。为了解决这个问题,研究人员添加了一种基于勿忘我(FMN)过程的在线聚类算法,使DQN代理能够为每个推理任务维护单独的短期内存缓存。这导致DQN代理能够跨两个时间尺度学习。在短期内,DQN代理可以使用SGD(在这种情况下,研究人员使用RMSProp)等优化器来从经验回放机制中学习。从长远来看,DQN代理使用EWC来巩固其在各种任务中学到的知识。研究人员随机选择了10款DQN达到人类水平性能的Atari游戏(总共19款),然后代理针对每个单独的游戏进行了一段时间的训练,具体如下:比较不同的DQN代理。蓝色代理不使用EWC,红色代理使用EWC和勿忘我任务标识符。Brown特工使用EWC并被赋予真实的任务标签。在一项任务上达到人类水平的表现标准化为1分。如您所见,EWC在所有10项任务上都达到了接近人类水平的表现,而非EWC智能体在不止一项任务上未能做到这一点。agent是否被赋予了ground-truth标签或者任务是否必须被推导对结果影响不大,但我认为这也表明了FMN过程的成果,而不仅仅是EWC的成功。下一部分非常酷。如前所述,EWC在这10项任务上并没有达到人类水平的表现。为什么会这样?一个可能的原因是Fisher信息矩阵可能对参数的重要性估计不佳。为了实际测试这一点,研究人员研究了只接受过一场比赛训练的代理人的权重。无论游戏是什么,它们都表现出以下模式:如果权重受到均匀随机扰动,则代理的性能(归一化为1)随着扰动的增加而降低;扰动受到Fisher信息对角线倒数的影响,那么面对较大的扰动时分数保持稳定。这表明Fisher信息善于确定参数的真正重要性。然后,研究人员尝试在零空间中进行扰动。这本来应该是无效的,但实际上研究人员观察到的结果与逆Fisher空间中的结果相似。这表明使用Fisher信息矩阵会导致一些重要参数被标记为不重要的情况——“因此,当前实施的主要限制可能是它低估了参数的不确定性。”6.Discussion1.Bayesianexplanation作者对EWC给出了很好的贝叶斯解释:“形式上,当需要学习一个新的任务时,先验调整网络参数,即前一个任务在给定数据上的后验分布参数。这可以在先验任务受限的情况下实现更快的参数学习率,并降低重要参数的学习率。”2.Overlap开头我提到了神经网络Overparameterization让EWC取得了优异的性能。一个非常合理的问题是:这些神经网络能否通过将网络划分为针对每个不同任务的特定部分来提供更好的性能?或者这些网络能否通过共享表征来有效地使用它们的能力?为了回答这个问题,作者测量了任务对在费舍尔信息矩阵上的重叠度(FisherOverlap)。对于高度相似的任务(例如,两个只有一点点不同的随机排列),FisherOverlap相当高。即使对于不同的任务,FisherOverlap也高于0。随着网络深度的增加,FisherOverlap也会增加。下图显示了结果:3.突触可塑性的理论研究人员研究人员还讨论了EWC为神经可塑性研究提供信息的潜力。级联理论试图模拟突触状态来模拟可塑性和稳定性。尽管EWC不能随时间放松参数,因此不能忘记以前的信息,但EWC和级联都可以通过减少突触的可塑性来扩展记忆稳定性。最近的一项研究提出,除了存储自己的实际重量外,突触还存储关于当前重量的不确定性。EWC是这一思想的延伸:在EWC中,每个突触存储三个值:权重、均值和方差。7.总结不断学习任务而不忘记是智能所必需的;研究表明,哺乳动物大脑中的突触巩固有助于实现持续学习;EWC通过使重要参数更具可塑性的Synapticconsolidation来模拟人工神经网络;EWC应用于神经网络时表现出优于SGB的性能,并且在更大范围内具有一致的参数稳定性;EWC提供了权重巩固是持续学习的基础的线索证据。原文:http://rylanschaeffer.github.io/content/research/overcoming_catastrophic_forgetting/main.html【本文为专栏机器心原创翻译,微信公众号“机器心(id:almosthuman2014)”】点击在这里,阅读更多作者的好文章
