神经网络容易发生灾难性的遗忘吗?


37

想象一下,您向神经网络展示了100张狮子的图片,并标有“危险”标签,因此得知狮子是危险的。

现在想象一下,以前您已经向它展示了数百万张狮子的图像,或者将其标记为“危险”和“不危险”,这样狮子发生危险的可能性为50%。

但是,这最后100次使神经网络对将狮子视为“危险”非常积极,因此忽略了最后一百万堂课。

因此,神经网络似乎存在一个缺陷,即基于最近的证据,它们可能会很快改变主意。特别是如果以前的证据在中间。

是否存在一个神经网络模型来跟踪已看到的证据数量?(或者这等于让学习率降低,其中是试验次数?)1/TT


我说的是有监督的学习,用户告诉NN狮子很危险。
zooby

这种事情也发生在人们身上。确实令人恐惧的是,在多次无后果地执行某项操作之后,人们“轻松地”获悉某些危险是多么容易,这与您用AI描述的场景差不多。
托马什Zato

2
标记为范围太广。这也完全取决于网络正在使用什么识别技术。显然,可以肯定的是,在某些情况下,网络会“忘记”,但在其他情况下,则不会。非常明确的是,对这个问题的任何回答都应该以“取决于”为开头和结尾。
8protons

3
公平地讲,这是“挑毒”类型的交易之一。相比于历史经验,偏爱最近经验的NN倾向于忽略过去,但能够对最近的发展做出回应。例如,假设所有狮子突然变成杀手,那么支持最近经验的NN会更快地迎接新的威胁,而不是较慢的NN。得出结论:“没有新的事情发生”。直到狮子100%的危险时间超过您的
期望

1
而且,AGI会具有相关的错误权重-这两个错误的结果并不相同。
MSalters

Answers:


38

是的,确实,神经网络很容易发生灾难性的遗忘(或干扰)。当前,这个问题通常被忽略,因为神经网络主要是脱机训练的(有时称为批量训练),这种问题很少出现,并且不是在线或增量的,这对于人工智能的发展至关重要

有些人致力于神经网络的持续终身学习,他们试图使神经网络适应持续终身学习,这是模型不断从数据流中学习的能力,因此他们不会完全忘记先前获得的知识。在学习新信息的同时获取知识。例如,请参阅German I.Parani,Ronald Kemker,Jose L.Part,Christopher Kanan,Stefan Wermter撰写的论文《神经网络的持续终身学习:回顾(2019)》,其中概述了与灾难性相关的问题和现有解决方案忘记神经网络。


1
谢谢!我将阅读您建议的那篇论文。
zooby

7
微软“ Tay”聊天机器人的臭名昭著的腐败行为是灾难性遗忘的一个例子吗?
禁止U

4
@TKK我认为这将是网站上的一个很好的新问题!
nbro

2
@TKK您要吗?如果没有,其他人可以这样做吗?我真的很想知道答案。
wizzwizz4

2
我很确定短语“有些人在神经网络中从事持续的终身学习,试图使神经网络适应持续的终身学习”是由神经网络编写的。
Moyli

16

是的,忘记较早的训练示例的问题是神经网络的一个特征。我不会称其为“缺陷”,因为它可以帮助他们提高适应性,并允许进行有趣的应用程序,例如转移学习(如果网络对旧的训练记忆犹新,将其微调为新数据将毫无意义)。

在实践中,您想要做的是将危险不危险的训练示例混合在一起,以使它不会在开头看到一个类别,而在结尾看不到一个类别。

一个标准的培训程序将像这样工作:

for e in epochs:
    shuffle dataset
    for x_batch, y_batch in dataset:
        train neural_network on x_batxh, y_batch

请注意,每个时间点的随机播放保证了网络不会在每个时间点以相同的顺序看到相同的训练示例,并且班级将混合在一起

现在回答您的问题,是的,降低学习率将使网络不太容易忘记以前的培训,但是在非在线环境下如何工作?为了使网络收敛,需要多个时期的训练(即多次看到数据集中的每个样本)。


4

您所描述的听起来可能是故意进行微调的情况

有一个基本的假设使minibatch梯度下降法可以解决学习问题:假定连续批次的任何批次或时间窗口都形成了真实全局近似的近似值误差函数相对于模型的任何参数化的梯度。如果误差面本身发生了很大的变化,那将阻碍梯度下降的目的-因为梯度下降是一种局部优化算法,当您突然更改基础分布时,所有赌注都将消失。在您引用的示例中,灾难性的遗忘似乎是先前已看到“遗忘”的数据点的后遗症,或者是分布已发生变化的征兆,或者是某些重要现象的数据中的代表性不足,因此相对于其重要性很少见。

强化学习中的经验重播是一个相关概念,可以很好地转移到这一领域。这是一篇探讨灾难性遗忘的概念的论文。只要采样足够好地表示真实的梯度(为此目的,请看训练样本平衡)并且模型具有足够的参数,就不会发生灾难性的遗忘问题。在随机替换的随机数据集中,最有可能发生在特定类别的数据点如此稀少,以至于在训练过程中很长时间不包含它们的情况下,有效地将模型微调到另一个问题,直到匹配样本为止再次出现。


1

要回答您的问题,我会说:也许是理论上的,但实际上不是。


问题是您考虑按时间顺序/顺序进行的训练。

我只有一次使用过这种称为在线培训在线机器学习的顺序培训方法。那是使用woppal wabbit库。它是该库的功能(不是您认为的问题),可以按时间顺序适应输入的输入。

坚持认为:就该库Woppal Wabbit而言,这是按时间顺序进行适应的功能。希望您在开始时只告诉他狮子很危险,然后狮子才会适应。


但是从课程练习到kaggle比赛的所有其他情况下,我都使用输入数据的随机子集作为训练集。这真的很关键

这是机器学习的重要部分,称为交叉验证。这是一种评估受过训练的神经网络实际效果的方法。

为了对神经网络的有效性进行良好的估算,您需要从训练数据中随机抽取一个子集,简而言之,您需要像训练数据中的80%一样进行训练,而其余20%则需要评估训练数据的频率受过训练的神经网络可以提供良好的预测。

而且,由于需要检测过拟合(这是另一个问题),如果没有交叉验证,也不能简单地消失。

在您看来,这似乎是一个可能的理论问题,但我倾向于说,当前的交叉验证方法的使用使您的关注变得无关紧要。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.