阅读时间:2023-12-18
1 介绍
年份:2023
作者:Martin Mundt,达姆施塔特工业大学和 hessian.AI 独立研究小组负责人、ContinualAI 董事会;洪永伟,延世大学计算机科学博士成员
期刊: Neural Networks
引用量:132
Mundt M, Hong Y, Pliushch I, et al. A wholistic view of continual learning with deep neural networks: Forgotten lessons and the bridge to active and open world learning[J]. Neural Networks, 2023, 160: 306-336.
本文提出了一个整合的视角,将持续学习、主动学习(active learning)和开放集识别(open set recognition)结合起来。提出了一个基于极端值理论(Extreme Value Theory, EVT)的元识别方法的的统一框架,该框架可以在持续学习中保护知识、在主动学习中进行有原则的数据查询,并在任何时候拒绝或搁置未知未知数据。文中强调从开放集识别中学习到的识别未知样本的教训,以及主动学习中为了最大化预期性能增益而查询数据的方法,这些在深度学习时代经常被忽视。此外,在主动学习中,数据和任务的排序对于学习效率至关重要,但在持续学习中这一方面往往被忽视。论文通过实证研究支持了这种整合方法,展示了在减轻灾难性遗忘、查询数据、选择任务顺序以及在开放世界应用中的鲁棒性方面的联合改进。
2 创新点
- 整合视角:论文提出了一个整合的视角来看待持续学习(continual learning)、主动学习(active learning)和开放集识别(open set recognition),这是之前研究中较少涉及的。
- 批判性回顾:作者批判性地回顾了现有文献,指出在深度学习时代,一些从开放集识别和主动学习中得到的宝贵经验经常被忽视。
- 跨领域桥梁:论文尝试构建一个桥梁,将持续学习、主动学习和开放集识别连接起来,以促进这些领域之间的交流和协同。
- 实证支持:通过实证研究支持了整合视角的有效性,展示了在减轻灾难性遗忘、数据查询、任务顺序选择以及在开放世界应用中的鲁棒性方面的联合改进。
- 开放世界学习:强调了在现实世界中,模型需要处理未知和未见过的数据,这一点在传统评估中经常被忽略。论文提出了在开放世界中评估模型鲁棒性的重要性。
- 基于变分贝叶斯推断的方法:论文扩展了基于变分贝叶斯推断在神经网络中应用的方法,以展示如何构建一个全面框架,这为持续学习问题提供了新的解决方案。
- 重定义持续学习:论文提出了对持续学习定义的重新思考,强调了在持续学习过程中考虑任务顺序、数据选择和开放世界鲁棒性的重要性。
3 相关研究
3.1 连续学习
3.1.1 方法分类
Continual learning(持续学习)是一种机器学习范式,旨在使模型能够随着时间的推移学习新的任务,同时保留以前任务的知识。正则化、排练、架构和组合方法都是实现这一目标的不同技术手段。
(1)正则化方法
正则化方法通过修改模型的训练过程来实现这一目的,通常涉及对模型参数的更新施加约束。正则化方法分为结构性(Structural)和功能性(Functional)两大类。结构性正则化通过在模型架构的每个层次上限制变化来保护参数。功能性正则化通过保留模型对旧任务的输出来保护知识。
- 结构性正则化(Structural Regularization)代表性算法
- Elastic Weight Consolidation (EWC):通过估计每个参数的重要性,并在更新时对任务特异性强的参数进行限制,以防止对已学习知识的破坏。
- Synaptic Intelligence (SI):类似于EWC,为每个参数配备重要性度量,跟踪对目标的改进,以保护重要的突触连接。
- Memory Aware Synapses (MAS):利用生物学启发的术语“突触”,为每个参数配备重要性度量,类似于SI。
- Asymmetric Loss Approximation with Single-Side Overestimation (ALASSO):作为SI的直接扩展,通过引入非对称损失近似来减轻其局限性。
- Riemannian Walk (RWalk):将EWC和SI的概念推广,考虑基于Fisher信息的重要性和优化轨迹的重要性得分。
- Incremental Moment Matching (IMM):从贝叶斯近似的角度出发,匹配任务的后验分布矩。
- Uncertainty based Continual Learning (UCL):利用贝叶斯不确定性估计来在线自适应地正则化权重。
- Uncertainty-guided Continual Bayesian Neural Networks (UCB):根据权重的概率分布中的不确定性调整学习率。
- 功能性正则化(Functional Regularization)代表性算法
- Learning Without Forgetting (LWF):通过为现有类别使用新到达的数据计算软目标,以保持对旧任务的输出。
- Encoder based Lifelong Learning (EBLL):将知识蒸馏的概念应用于无监督学习场景,通过自动编码器重建进行蒸馏。
- Averaged Gradient Episodic Memory (A-GEM):在GEM的基础上,通过平均化梯度来优化计算和内存成本。
- CLEAR (Cumulative Learning through Episodic Archives of Reinforcement Learning):结合使用经验重放和策略学习,以在深度强化学习中保留旧信息和学习新经验。
- Bias Correction (BiC):在重放示例的同时,纠正分类层中的偏差。
(2)Rehearsal(排练)
排练方法通过重放旧任务的数据来保持对旧知识的记忆。这可以是通过选择代表性样本(exemplars)或使用生成模型来实现。生成式排练通过生成模型来创建旧任务的数据实例,而经验排练则侧重于选择性地重放实际的旧数据点。
- Experience Rehearsal(经验排练)代表性算法:
- Gradient Episodic Memory (GEM):使用一个记忆网络来重放过去的数据,并在更新时限制梯度,以避免与旧任务的更新冲突。
- Selective Experience Replay (SER):专注于选择性地重放数据点,特别是那些令人惊讶或具有代表性的经验。
- Averaged Gradient Episodic Memory (A-GEM):GEM的扩展,通过平均梯度来优化计算和内存成本。
- CLEAR (Cumulative Learning through Episodic Archives of Reinforcement Learning):结合经验重放和策略学习,用于在深度强化学习中保留旧信息和学习新经验。
- Bias Correction (BiC):在重放示例的同时,纠正分类层中的偏差。
- Generative Rehearsal(生成式排练)代表性算法:
- Deep Generative Replay (DGR):使用一个深度生成模型(如生成对抗网络)来生成旧任务的数据,并与当前任务的真实数据一起训练。
- Replay through Feedback (RfF):通过反馈连接使用单个模型进行生成式重放,该模型同时处理分类和数据生成。
- Incremental Learning using Conditional Adversarial Networks (ILCAN):使用条件对抗网络进行生成式重放,重点在于重放特征嵌入而不是原始输入数据。
- Open Variational Auto-Encoder (OpenVAE):将开放集识别与深度生成重放自然集成到单一架构中。
- Memory Replay GAN (MRGAN):使用生成对抗网络进行记忆重放,通过功能正则化方法对生成器的输出进行对齐。
- Lifelong GAN (LLGAN):在MRGAN的基础上,应用基于蒸馏损失的正则化,以在架构的多个位置正则化编码器和鉴别器。
(3)Architectural(架构)
架构方法通过改变神经网络的结构来适应新任务,同时减少对旧知识的干扰。这可以是固定容量的方法或动态增长的方法。
- Fixed Capacity(固定容量)代表性算法:
- Activation Sharpening towards Semi-Distributed Representations:一种早期技术,通过调整和限制神经网络高度激活的最大节点数(k个节点),以减少不同表示之间的激活重叠,从而降低新样本干扰的潜力。
- PathNet:采用遗传算法确定并冻结对特定任务特别有用的路径。
- Piggyback:直接学习二进制掩码,并使用它们来控制网络中的信息传播。
- Hard Attention to the Task (HAT):类似于Piggyback,但引入了自动选择合适专家的门控机制。
- Dynamic Growth(动态增长)代表性算法:
- Progressive Neural Networks (PNN):通过为每个新任务增加权重,但以前学习的表示只向新任务的表示传递输出,不反向传递。
- Expert Gate:与PNN类似,但主要区别在于引入了自动化选择合适专家的门控机制。
- Neurogenesis Deep Learning to Accommodate New Classes (NDL):通过在自动编码器的重构误差超过预定阈值时添加单元,来适应新类别。
- Dynamically Expandable Networks (DEN):基于监督学习中分类损失的经验值来动态扩展网络容量。
- Reinforced Continual Learning (RCL):将动态单元添加纳入元学习框架,以分离网络结构的学习与参数估计。
- Learn-to-Grow:进一步尝试克服寻找合适损失截止的挑战,以动态方式增加单元。
(4)Combined approaches(组合方法)
组合方法将上述两种或多种技术结合起来,以提高持续学习能力。代表性算法包括:
- iCarl
- Variational Continual Learning (VCL)
- Memory Replay GAN (MRGAN)
3.1.2 评估指标
持续学习评估关注于如何衡量模型在连续学习过程中的性能,包括对新任务的学习能力和对旧任务记忆的保持能力。
- 灾难性遗忘(Catastrophic Forgetting):
- 概念:通常通过比较模型在学习新任务前后对旧任务的准确度来衡量。
- 计算公式: Forgetting = 1 − Accuracyafter new task Accuracybefore new task \text{Forgetting} = 1 - \frac{\text{Accuracy}{\text{after new task}}}{\text{Accuracy}{\text{before new task}}} Forgetting\=1−Accuracybefore new taskAccuracyafter new task
- 知识保留(Knowledge Retention):
- 概念:衡量模型对先前学习任务的准确度保持情况。
- 计算公式: Knowledge Retention = 1 T ∑ t = 1 T Accuracy t \text{Knowledge Retention} = \frac{1}{T} \sum_{t=1}^{T} \text{Accuracy}{t} Knowledge Retention\=T1∑t\=1TAccuracyt__其中T是任务的数量,_ Accuracy t \text{Accuracy}{t} Accuracyt是第t个任务的准确度。
- 新任务学习效率(Learning Efficiency for New Tasks):
- 概念:衡量模型学习新任务的速度和效果。
- 计算公式: Learning Efficiency = Accuracy new task Training Time \text{Learning Efficiency} = \frac{\text{Accuracy}_{\text{new task}}}{\text{Training Time}} Learning Efficiency\=Training TimeAccuracynew task
- 总体性能(Overall Performance):
- 概念:通常通过在所有任务上的平均准确度来衡量模型的总体性能。
- 计算公式: Overall Performance = 1 T ∑ t = 1 T Accuracy t \text{Overall Performance} = \frac{1}{T} \sum_{t=1}^{T} \text{Accuracy}_{t} Overall Performance\=T1∑t\=1TAccuracyt
- 正向迁移(Forward Transfer):
- 概念:衡量学习新任务时,旧任务知识对新任务学习的帮助程度。
- 计算公式: Forward Transfer = Accuracy new task with old knowledge − Accuracy new task without old knowledge \text{Forward Transfer} = \text{Accuracy}_{\text{new task with old knowledge}} - \text{Accuracy}_{\text{new task without old knowledge}} Forward Transfer\=Accuracynew task with old knowledge−Accuracynew task without old knowledge
- 后向迁移(Backward Transfer):
- 概念:衡量学习新任务时,新任务对旧任务性能的影响。
- 计算公式: Backward Transfer = Accuracy old tasks after new task − Accuracy old tasks before new task \text{Backward Transfer} = \text{Accuracy}_{\text{old tasks after new task}} - \text{Accuracy}_{\text{old tasks before new task}} Backward Transfer\=Accuracyold tasks after new task−Accuracyold tasks before new task
- 内存消耗(Memory Consumption):
- 概念:衡量模型为了持续学习所需的内存量。
- 数据存储量(Amount of Stored Data):
- 概念:衡量模型为了持续学习需要显式保留多少过去数据。
- 任务边界清晰度(Task Boundary Clarity):
- 概念:衡量模型是否需要清晰任务划分来进行有效学习。
3.2 主动学习
Active learning(主动学习)、Uncertainty heuristics(不确定性启发式)、Version space and expected error reduction(版本空间和预期误差减少)、Representation based approaches(基于表示的方法)是机器学习中的概念。主动学习是这三种方法的总框架,它提供了一种策略,让模型可以智能地选择数据进行标注。不确定性启发式是主动学习中的一种技术,侧重于选择模型预测不确定性高的数据点。版本空间和预期误差减少提供了一种理论基础,用于分析和指导主动学习过程中的数据选择,以减少可能的假设空间并提高模型的泛化能力。基于表示的方法则是一种更关注于数据全局特性和模型表示能力的技术,它可以帮助模型更好地理解数据的分布和结构。
- Active Learning(主动学习): 主动学习是一种半监督学习策略,它允许模型主动选择它认为最有价值的未标记数据进行标注。这种方法特别适用于标注成本高昂的情况,可以提高学习效率和模型性能。主动学习依赖于获取函数(acquisition function),这个函数决定了哪些数据点被选中进行标注。
- Uncertainty Heuristics(不确定性启发式): 不确定性启发式是主动学习中的一种策略,它基于模型对其预测有多不确定来选择数据点。例如,如果模型对某个数据点的预测不是很有信心,它可能会请求这个数据点的标签。这种方法的一个常见实现是“查询委员会”(query by committee),它使用多个模型的集成来估计不确定性。
- Version Space and Expected Error Reduction(版本空间和预期误差减少): 版本空间是指与观察到的数据一致的所有假设的集合。在主动学习中,通过选择能够显著减少预期误差的数据点进行标注,可以逐步缩小版本空间的大小,即减少可能的假设数量。这种方法通常适用于参数模型,如高斯混合模型或朴素贝叶斯,并且可以提供关于样本复杂性和必要查询数量的理论保证。
- Representation based approaches(基于表示的方法): 基于表示的方法强调使用模型的内部表示来选择数据点进行标注。这些方法通常考虑整个数据分布,而不仅仅是单个数据点。例如,一种基于表示的方法可能是选择那些在特征空间中代表性不强或与其他数据点差异较大的数据点进行标注。这种方法可以避免查询异常值,并确保模型能够学习到数据的全局结构。
3.3 开放集识别
Open set recognition(开放集识别)、Prior knowledge(先验知识)、Predictive anomalies(预测异常)、Meta-recognition(元识别)是处理机器学习模型在面对未知数据时的不同概念和方法。开放集识别是目标,它要求模型能够识别出未知数据,包括已知未知项和未知未知项。先验知识是辅助开放集识别的一种方法,通过在数据集中包含额外的“非样本”来提供对未知数据的指导。预测异常是开放集识别中的一个策略,它侧重于使用模型的不确定性来识别可能的未知数据。元识别提供了一种机制,通过在模型的决策过程中增加额外的评估步骤,来提高对未知数据的识别能力。
- Open set recognition(开放集识别): 开放集识别是识别模型可能遇到的未知数据的能力。在开放集识别中,模型不仅能识别训练集中已见过的数据(已知项),还能识别从未见过的数据(未知未知项)。这是机器学习模型在现实世界中部署时的一个重要能力,因为它允许模型区分和处理未知情况。
- Prior knowledge(先验知识): 先验知识是指在模型训练之前就已知的信息。在开放集识别的背景下,先验知识可以用来设计数据集,包括“非示例”,以帮助模型学习如何识别和处理未知数据。然而,这种方法通常只能覆盖已知的未知项,并不能全面解决开放集识别问题。
- Predictive anomalies(预测异常): 预测异常是指模型在面对未知数据时,可能会产生高度不确定的输出。这种方法认为,通过设置预测阈值和获取不确定性估计,可以识别出模型预测中的异常值,从而区分已知数据和未知数据。预测异常通常依赖于模型对其预测有多不确定的度量。
- Meta-recognition(元识别): 元识别是一种更为严格的方法,它通过在模型的输出上施加额外的评估步骤来防止对未知未知项的过度自信预测。例如,使用极端值理论(EVT)来估计数据点属于观察到的封闭集的概率,并据此拒绝或保留未知数据。
4 思考
(1)将正则化方法分为结构性和功能性的两种
结构性正则化方法直接作用于模型的参数,其目的是在模型学习新任务时保护那些对旧任务重要的参数。这些方法通常基于这样一个观点:通过限制模型参数的更新,可以减少对旧任务知识的破坏。结构性正则化方法的关键在于,它们试图通过直接干预模型参数的更新过程来维护知识稳定性。
功能性正则化方法则侧重于保持模型输出的一致性,而不是直接保护模型参数。这些方法通过保持模型对旧任务输出的稳定性来减少遗忘。即使新任务的数据到来,模型也能够保持对旧任务的准确预测。功能性正则化方法的关键在于,它们通过保持模型输出的稳定性来间接保护旧任务的知识,而不是直接限制参数的更新。
(2)主动学习的概念
主动学习(Active Learning)是机器学习中的一种策略,它的核心思想是模型可以主动选择自己认为最有价值的数据进行学习,而不是被动地学习所有可用的数据。这种方法通常用于标注数据成本较高或数据量巨大的情况,通过智能选择数据来提高学习效率和模型性能。在主动学习中,模型会评估已有的数据和标签,识别出哪些数据点对于当前模型的改进最为关键。然后,模型可以请求人类专家或其他信息源为这些选定的数据点提供标签。这个过程可以迭代进行,每轮迭代后模型都会更新自己,以包含新获得的知识。
(3)如何解释基于EVT的统一框架可以在持续学习中保护知识、在主动学习中进行有原则的数据查询,并在任何时候拒绝或搁置未知未知数据。
EVT框架之所以有效,是因为它提供了一种统计方法来量化数据点与已知分布的接近程度。通过拟合一个极端值分布(如Weibull分布),模型可以估计每个数据点属于已知类别的概率,从而做出有原则的决策。这种方法在处理开放世界问题时特别有用,因为它允许模型在面对未知情况时保持谨慎,并专注于那些对学习最有帮助的数据点。
- 在持续学习中保护知识:
- 持续学习的目标是在学习新任务的同时保留对旧任务的记忆。EVT框架通过建模数据分布的极端值来识别和保留关键的数据样本(即“核心集”),这些样本能够代表已学习任务的主要特征。通过这种方式,即使在连续学习新任务的过程中,模型也能够保持对旧知识的访问和应用。
- 在主动学习中有原则的数据查询:
- 主动学习中,模型选择最有价值的数据点进行标注,以提高学习效率。EVT框架可以帮助确定哪些未标注的数据点对于模型的改进最有帮助。通过分析数据点与已知分布的距离,EVT能够识别出那些处于分布边缘、具有高度信息量的数据点,这些点往往是模型最需要学习的新信息。
- 拒绝或搁置未知未知数据:
- 未知未知数据指的是模型在训练期间没有遇到过的数据类型。这些数据可能导致模型做出过度自信的错误预测。EVT框架通过评估数据点与已知数据分布的距离,可以识别出那些远离已知分布、可能属于未知类别的数据点。模型可以选择不处理这些数据点,或者将它们标记为需要进一步研究的异常值。