Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

参与高璇 张倩

「遗忘」在神经网络中的重要性

在经典的人工神经网络解释中,隐藏层中的所有神经元最初都是被激活的,为了完成某一特定任务,有必要关闭其中的一些神经元,即有必要「遗忘」所有不必要信息。本文提出了具有主动遗忘机制的模型——主动遗忘机器(active forgetting machine,AFM)。该模型包含特殊的神经网络,可以通过禁用多余神经元暂时遗忘不必要的信息,然后激活其他神经元组,以学习和解决某些任务。

引言

人的大脑中有多种遗忘形式,这是一个正常、可适应且必要的学习过程。其中一个有趣的活跃形式是通过将某一瞬间不必要的信息转移到无意识记忆中,帮助我们把注意力集中在一些特别的任务上。德国心理学家 Hermann Ebbinghaus 是第一个通过实验研究记忆的人。他在早期的实验中遇见了一个问题,就是无法证明某些东西已经完全被遗忘了。因为遗忘的信息仍然会影响人类行为,而且会在未来被唤醒。因此,遗忘被这样定义——在某一特定时刻无法从记忆中获得信息,而这些信息在早期的记忆中是易于获取的。

后续的记忆实验是在静水椎实螺上进行的,它们的神经细胞非常大,其中的神经都可以被识别出来,对应的功能也有相应的描述。静水椎实螺依赖某一个神经细胞,没有它就无法学习新技能。一旦这个细胞被破坏,椎实螺就会失去学习能力,但之前学习到的行为不会被遗忘。本研究提出的模型将这项功能迁移到人工神经网络当中,并定义了具有主动遗忘机制的架构,因此该模型被命名为主动遗忘机器(AFM)。AFM 包含特殊的神经网络,可以通过禁用多余神经元暂时遗忘不必要的信息,然后激活其他神经元组,以学习和解决某些任务。

主动遗忘机制

在经典的人工神经网络解释中,隐藏层中的所有神经元最初都是被激活的,为了完成某一特定任务,有必要关闭其中的一些神经元,即有必要「遗忘」所有不必要信息。在人工神经网络中,激活是指神经元在评估中参与正向传播,在训练中参与反向传播。

虽然多任务处理能力可以实现在多个问题间相互切换,但它在解决单个问题上也很有用。几乎任何任务都可以分解成几个子任务,分解深度随着基础任务的复杂度而增加。在多级环境中实现一个目标也是个问题。当引入主动遗忘机制时,该模型可以通过将任务分解成简单的步骤,并为每个子任务训练独立的神经元组合,从而简化目标。这个技巧增加了模型选择正确步骤的能力。

基于变分算法 E 的 AFM 模型

主动遗忘机器模型由遗忘网络 V、关联控制器 C 和遗忘算法 E 组成,可以利用它找到最优且最小的必需神经元组 F。在这个模型中,训练 C 以激活正确神经元 F,V 专注于特殊任务 M。遗忘网络 V 利用遗忘层,这些遗忘层可在二元掩码上(前向或反向)应用多层神经元

关联控制器 C 是一个具有输出层大小的神经网络,拥有与 V 遗忘层相同数量的神经元,其中 C 被训练成每次接收任务 M 的任意样本时发出由算法 E 定义的掩码 Ft

基于进化算法 E 的 AFM 模型

例如,如果要解决的问题涉及两个不同的任务 A 和 B,那么达成目标的步骤也会改变。为了解决这两个问题,模型应该明确定义各组神经元,Fa 是对任务 A 的行为表现反馈。定义好 Fa 后,模型会训练一个完全不同的神经元组 Fb,以完成任务 B。一旦两组神经元被定义,根据具体情况,模型可以切换策略,以激活不同的神经元组。

假设

人们普遍认为,人工智能系统还无法处理深层结构的任务。但这个假设论证了解决这一问题的另一种观点。人们可以利用主动遗忘系统来解决深层结构任务。如果主动遗忘系统被引入人工智能系统,可做出如下假设:

  • 遗忘是普遍的层级架构

  • 计划无用悖论

假设 1:主动神经遗忘过程的层级引发 agent 对环境层级过程的处理。神经元组 Fh 分配到任务中,神经元子组 Fhh 被分配到子任务中,其中 h 是环境的任务层级。

为了解决任务分层问题,现有的 AI 架构将任务分为不同层级。在时间抽象上,模型会被分为两个或两个以上的层段,但无法清晰地定义各个层级。同样也不可能确定某个特定任务最终属于哪一个层级。

有了 AFM,就可在神经元空间进行操作。神经元被各个任务所定义,虽然模型学习新的任务,但从众多神经元中被选择的神经元可以解决更高级的问题,这使向新任务的迁移学习变得更迅速,因为神经元已经在相同环境中训练用于更普遍的任务中了。

假设 2:如果只基于经验,系统可以在每种情境下选择正确的行动,那计划就无关紧要了。

在经典概念中,计划是指在面临即将来临的活动过程中采取最优的行动。如果环境分层深度最小,那为了实现目标而设定完美的计划无疑是可行的。但如果分级深度不确定,那预测动作的序列会变长而且代价高昂。

Atari 2600 的游戏 MONTEZUMA'S REVENGE 就是论证这些假设的例子。本研究利用自然语言指导的强化学习,在自然语言指引下提出用自然语言指令进行任务隐式分解。如果每一组指令都作为一个独立任务呈现,那很可能就从自然语言空间迁移到神经元空间了。接着当从子任务迁移到子任务时,某些神经元会被激活,这会使 agent 在每一个子任务中都有有益的行动。如果定性训练架构,那每个子任务就无需进行计划。agent 能够仅基于经验直接执行操作,以完成下一目标。所以也不需要计划需要完成的子任务顺序,因为一旦系统在一个子任务中完成了目标,就意味着它已经正确地传递到下一个子任务当中了,子任务的正确性和主目标是相关的。

也不能说计划一无是处。强化学习计划作为明确的活动也被认为是子任务之一。在某些情况下,如在其他任务中,agent 可以完成计划。计划机制被用来设定目标,而且可以定性地确定需要激活的神经元组来解决问题。将克服遗忘和视觉强化学习与想象目标相结合,可以帮助模型设定一些目标,更正确地激活必要的神经元组。相比计划策略,这种方法节省了资源,因为所有必要动作的信息都存储在神经元当中。

论文:Catastrophic Importance of Catastrophic Forgetting

论文链接:https://arxiv.org/pdf/1808.07049.pdf

原文链接:https://medium.com/@AIerusalem/catastrophic-importance-of-catastrophic-forgetting-c1c2a245a662

入门神经网络遗忘门
81
相关数据
人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
有意思