简单概括
人工神经网络、深度学习方法和反向传播算法1为现代机器学习和人工智能奠定基础。这些方法几乎总是在两个阶段中使用,一个阶段更新网络的权重,另一个阶段在使用或评估网络时权重保持不变。这与自然学习和许多需要持续学习的应用程序形成鲜明对比。目前尚不清楚深度学习方法是否适用于持续学习环境。在这里,作者表明它们没有——标准的深度学习方法在持续学习环境中逐渐失去可塑性,直到它们学到的不是比浅层网络更好的东西。作者使用经典的 ImageNet 数据集和强化学习问题在网络和学习算法中的各种变化中展示了这种可塑性损失。只有通过不断向网络注入多样性的算法才能无限期地保持可塑性,例如作者的连续反向传播算法,这是一种反向传播的变体,其中一小部分较少使用的单元被持续随机地重新初始化。作者的结果表明,基于梯度下降的方法是不够的——持续的深度学习需要一个随机的、非梯度的分量来保持可变性和可塑性。
论文:Loss of plasticity in deep continual learning
作者:Shibhansh Dohare, J. Fernando Hernandez-Garcia, Qingfeng Lan, Parash Rahman, A. Rupam Mahmood & Richard S. Sutton
单位:加拿大艾伯塔省埃德蒙顿市阿尔伯塔大学计算机科学系
代码:https://github.com/shibhansh/loss-of-plasticity
请各位同学给我点赞,激励我创作更好、更多、更优质的内容!^_^
关注微信公众号,获取更多资讯
Sutton:现在的深度学习在根本上有缺陷?
大型语言模型会在大型通用训练集上进行训练,然后在针对特定应用或满足政策和安全目标的较小数据集上进行微调,但最后在网络投入使用前会冻结其权重。就目前的方法而言,当有新数据时,简单地继续对其进行训练通常是无效的。新数据的影响要么太大,要么太小,无法与旧数据适当平衡。
1、Sutton 在演讲的开头就直观地介绍了他对深度学习的愿景,他将其称为 Dynamic Deep Learning(动态深度学习),而这种动态是为了让深度学习适应持续学习的环境。
① Sutton 强调了持续学习的重要性,即学习应该在每个时刻都在进行。持续学习更接近自然学习过程,所有自然系统(如动物和人类)都在持续学习,而不是在特定阶段学习。
② 当前的深度学习是瞬态学习(Transient Learning),其在一个特殊的训练阶段学习,且算法会在持续学习环境中失败,失去可塑性,产生灾难性遗忘,并在强化学习策略中崩溃。
2、围绕让深度学习更好地适应持续学习环境的愿景,Sutton 提出了 Dynamic Deep Learning 的范式。
① Dynamic DL 的网络被分为主干(Backbone)和边缘(Fringe)两部分。
② Backbone 是网络中已经学习且对当前功能重要的部分,应当被保护和保留。Fringe 则是网络中动态和探索性的部分,它试图生成对 Backbone 有用的特征。
3、Dynamic DL 的网络是动态地逐步构建的,通过逐个单元的增长来实现,而非预先设定的固定结构。如果 Fringe 生成的特征对 Backbone 有用,它就可以成为 Backbone 的一部分。
4、Sutton 进而探讨了寻找、保护和缓慢增长 Backbone 的新想法,以及通过「印记」(imprinting)、「主单元」(master units)和「影子权重」(shadow weights)、「效用传播」(Utility Propagation)、「持续反向传播算法」(Continual Backpropagation)以及「步长优化」(Step Size Optimization)在边缘创建特征的新想法。
5、Sutton 强调他在演讲中的分享的工作仅仅是实现 Dynamic DL 的第一步,尚不完整。他的想法建立于许多已完成的工作,部分研究已经发表,而其他案例则出现在别人的论文中。
① Sutton 在演讲中提到了一种持续反向传播方法。该方法出自 Sutton 团队 8 月 21 日发表于 Nature 上的论文《Loss of plasticity in deep continual learning》,该工作解决了深度学习网络在持续学习环境中会失去可塑性的问题。
算法概览
续反向传播算法最初由 Sutton 在 CoLLAs 2022 会议中,题为「Maintaining Plasticity in Deep Continual Learning」 的演讲中提出[33] 。而后,Sutton 团队在 2024 年 9 月于《Nature》发表论文《Loss of plasticity in deep continual learning》,阐述了持续反向传播的技术细节。
-
持续反向传播:算法的核心思想是选择性地对网络中贡献效用(contribution utility)较低的的单元进行初始化处理,从而向网络注入可变性并保持其某些权重较小,实现无限期地保持深度网络的可塑性(Plasticity)。
-
选择性初始化:的思想受到了 2012 年 Mahmood 和 Sutton 提出的生成和测试方法的启发。该方法只需要生成一些神经元并测试它们的实用性。持续反向传播算法将这一概念扩展到多层网络,并使用深度学习方法进行优化。
-
贡献效用:该工作定义了一个名为「贡献效用」的值来衡量每个单元的重要性。贡献效用通过计算即时贡献的移动平均值来衡量,这个值由衰减率表示。
-
- 如果一个隐藏单元对下游单元的影响很小,那么它的作用可能会被网络中其他更有影响力的隐藏单元掩盖。
-
- 在前馈神经网络中,每个隐藏单元的贡献效用会根据其输出和下游单元的权重进行更新。当一个隐藏单元被重新初始化时,它的输出权重将被初始化为零,以确保新添加的隐藏单元不会影响模型已经学到的功能。
-
成熟阈值:为了防止新的隐藏单元很快被重新初始化,研究团队设置了「成熟阈值」(maturity threshold),在一定次数的更新前,即使新的隐藏单元的效用是零,也不会被重新初始化。
-
- 当更新次数超过成熟阈值后,每一步中会有一定比例的「成熟单元」(mature unit)被重新初始化。这个比例称为替换率,通常设置为一个非常小的值,这意味着在数百次更新后只替换一个单元。
-
最终的持续反向传播算法结合了传统的反向传播和选择性重新初始化两种方法,以持续地从初始分布中引入随机单元。每次更新时,持续反向传播将执行梯度下降并选择性地重新初始化。
背景知识
尽管深度学习取得了巨大成功,但深度学习仍难以适应不断变化的数据。因此,在几乎所有应用程序中,深度学习都仅限于特殊的训练阶段,然后在实际使用网络时关闭。例如,ChatGPT 等大型语言模型在大型通用训练集上进行训练,然后在特定于应用程序的较小数据集上进行微调或满足策略和安全目标,但最终它们的权重在网络发布以供使用之前被冻结。使用当前方法,在新数据可用时简单地继续使用新数据进行训练通常是无效的。新数据的影响要么太大,要么太小,并且没有与旧数据适当平衡。造成这种情况的原因尚不清楚,目前还没有明确的解决方案。在实践中ÿ