持续学习 | continual learning 和 灾难性遗忘 | catastrophic forgetting

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第25天,点击查看活动详情

持续学习 | continual learning

image.png

我们人类有能够将一个任务的知识用到另一个任务上的能力,学习后一个任务时也不会忘记如何做前一个任务。这种能力叫持续学习 (continual learning) 。

人类的终身学习能力是由一系列丰富的神经认知机制和大脑记忆组成的,这些机制共同促进我们感觉学习技能的发展和转化,以及长期记忆的巩固和恢复。

因此如果将人类的终身学习能力转化到计算机中,对于计算学习系统 和 在实际生活中中交互并处理连续信息流的功能迭代至关重要。

而对于一个模型来说:

Continual Learning is a concept to learn a model for a large number of tasks sequentially without forgetting knowledge obtained from the preceding tasks, where the data in the old tasks are not available any more during training new ones.

持续学习(continuous Learning)是指在训练新任务时,不忘记从前一个任务中获得的知识,并连续地学习大量任务的模型。

image.png

举个例子,看一下上边这个图像。假设它做的是一个聊天机器人。(当然原文针对聊天机器人做的论文,这是我从一个论文里边揪出来的图,我们只是借用一下。)

先用数据集D(蓝色圆柱体)进行离线训练,得到一个模型 f 0 f_0 ,然后把它部署上线。上线之后遇到某些用户输入是它处理不了的,比如“你今天吃饭了吗?” 回答“你怎么知道我妈给我买了PS5”。根据这些结果出错的数据,我们要对模型进行改进,因此收集回答错误的问题做成一个小的数据集 Q 1 Q_1 (橙色),对原来的 f 0 f_0 进行微调更新,得到 f 1 f_1 模型。微调之后的模型继续服役,但是还是会遇到超出知识范围的问题,所以凑够一定数量之后再作为一个数据集 Q 2 Q_2 (紫色),再次对模型进行微调,这次微调把 f 1 f_1 模型改进为 f 2 f_2 模型。之后就会一直这样收集数据持续不断地改进并更新模型。

但是我们人类也有一个毛病,就是学到的东西也可能会忘记。你不能一五一十的全都记住,你之前的学过的所有东西。比如你现在立即默写一个怎么用高锰酸钾生成氧气,已经离开高中这么久了,我觉得你肯定记不住这个方程式了。

人固然存在这种问题,机器因为神经网络的设计天然缺陷,它也会存在这样的问题,就是将已经学习到的东西给遗忘掉了。我们称之为灾难性遗忘

终身学习仍然是机器学习和神经网络模型长期面临的挑战,因为从非平稳数据分布中不断获取增量可用信息通常会导致灾难性的遗忘或干扰。这是神经网络设计的先天局限性,是深度神经网络模型的一个主要缺点,该模型通常从固定的训练数据中学习表示,因此没有考虑信息随着时间的推移逐渐可用的情况。

Source: Continual Learning by Asymmetric Loss Approximation with Single-Side Overestimation

Source: Lifelong Machine Learning

Source: Continual lifelong learning with neural networks: A review

灾难性遗忘 | catastrophic forgetting

灾难性遗忘(catastrophic forgetting),是一个在深度学习中常被提起的概念,也是lifelong learning, continual learning中研究的主要问题之一。

灾难性遗忘,描述的是在一个任务上训练出来的模型,如果在一个新任务上进行训练,就会大大降低原任务上的泛化性能,即之前的知识被严重遗忘了。

image.png

还是上边那个我从人家论文里偷的图举例子:

模型最开始用数据集D进行训练,之后遇到超出能力范围的问题,将其收集为Q, Q 1 Q 2 . . . Q n Q_1、Q_2...Q_n ,这么持续下去。有的只是同分布的数据,而有时候会遇到分布外数据(OOD data)。例如你训练出来的模型是个中文问答机器人,但是此时来个外国人“hello,how are you?”。这种数据集变动比较大的情况对模型的影响就比较大,会导致灾难性遗忘。

下图灾难性遗忘,来源:论文Attention-Based Selective Plasticity

其他说法:

“灾难性遗忘”指的是人工智能系统,如深度学习模型,在学习新任务或适应新环境时,忘记或丧失了以前习得的一些能力。灾难性遗忘”会造成人工智能系统在原有任务或环境性能大幅下降。

来自 腾讯人工智能实验室副主任俞栋博士

上边说的只是模型学习新知识之后会把旧知识给忘了。但是谷歌大脑发现:除了传统新知识学习会覆盖旧知识之外,灾难性遗忘还会阻碍模型对新知识的学习。

猜你喜欢

转载自juejin.im/post/7110325249593311263