为了应对真实世界的变化,一个优秀的模型应该能够增量的获取,更新并利用知识。这种能力被称为持续学习 (continual learning),它为人工智能系统实现自适应发展提供了基础。从广义上讲,持续学习的主要障碍是灾难性遗忘 (catastrophic forgetting),即学习新任务通常会导致模型在旧任务上的性能显著下降。在目前的实验下,我们将持续学习的目标总结为:实现适当的稳定性 - 可塑性权衡以及充分利用任务内与任务间的泛化能力。持续学习也被叫做终身学习或者增量学习
与传统的机器学习在静态的数据分布假设不同,持续学习的核心在于如何在动态的数据分布 中进行学习。其中最重要的问题就是灾难性遗忘,也就是模型在适应新数据的分布时候会忘记老数据的分布。这一困境体现了“学习可塑性”与“记忆稳定性”之间的权衡:过度强调前者会干扰后者,反之亦然。通常来说使用所有旧的训练数据能解决上述问题,但是需要的资源开销太大。实际上持续学习的主要目的是确保模型更新的资源效率,理想情况下应接近仅对新训练样本进行学习即可完成更新。
当前的 CL 算法可以分为 5 大类:回放,架构,表示,正则化以及优化。
基于正则化的方法 :通过参考旧模型添加正则化项;
基于回放的方法 :近似和恢复旧数据分布;
基于优化的方法 :显式地操纵优化程序;
基于表示的方法 :学习鲁棒且分布良好的表示;
基于架构的方法 :通过精心设计的架构构建任务自适应参数。
灾难性遗忘# 从“哲学”上来说,假设模型的学习能力是固定的,模型在新任务上效果好,则在旧任务上效果会变差;反之,模型保持了旧任务上的效果,则在新任务上效果就不会好。前者是模型学习新知识的能力,称为可塑性 (plasticity);后者是旧知识的记忆能力,称为稳定性 (stability)。可塑性与稳定性是内在相互矛盾的,术语叫可塑性 - 稳定性困境 (Stability-Plasticity Dilemma),这是机器学习的一个天然的哲学约束,类似于 “没有免费午餐定理”。持续学习的目标是在所有任务上表现都好,即同时追求可塑性和稳定性;但这个困境说明了实现这一目标没有捷径,持续学习场景不是伪命题,并不是无脑加防遗忘机制、加强防遗忘的力度(例如调大防遗忘正则项超参数)就可以了,必须切实地提高模型的真本领。
除了灾难性遗忘作为核心问题,持续学习还关心算法是否具备:
后向迁移 (backward transfer)能力:学习后面的任务时,能否帮助到前面的任务;
前向迁移 (forward transfer)能力:学习前面的任务时,能否帮助到后面的任务。
拥有后向迁移能力是比克服灾难性遗忘还要厉害的事情。克服灾难性遗忘仅仅是学习后面的任务不会给前面的任务帮倒忙,而后向迁移还要求能帮正忙。按照我的理解,后向迁移能力与灾难性遗忘是同一种能力的两种程度。
拥有前向迁移能力意味着,在还没有见到要学习的任务时,就已经在积累该任务的知识,并且在训练该任务时用到。由于没有该任务的信息,这种能力也是最难拥有的,目前持续学习的研究基本无法触碰这个话题。
模型容量分配问题# 持续学习的一大特点是学习任务的类型和数量没有预定义。在学习每个任务的期间,永远不知道未来有多少个任务、它们是什么样子的。我们不希望模型大小无序地膨胀,而是固定模型容量 (capacity),让算法在固定容量的模型下完成持续学习(偶尔也会允许少量的膨胀)。
很显然,固定容量的模型,随着任务越来越多,模型也不能容纳所有的知识,会出现模型容量饱和 (capacity saturation)问题。知识必须有所舍弃,各任务上的效果也会打折扣,遗忘也就越严重。由于深度学习基于的是参数化的神经网络模型,这个问题是不可能解决的,因为参数是会被覆写的,模型的表示能力是有限的。目前持续学习的研究致力于缓解这个问题,而不是彻底解决它 。一个好的持续学习算法能让模型尽量记住任务重要的知识,在需要舍弃知识时舍弃不重要的,减少模型表示上的重叠或冗余,从而减缓遗忘的速度。
在学习中,每个任务都会占据一定的容量,任务间也会占用部分容量,因此我们需要在算法中加入稀疏化来解决模型容量不足的问题。
理论基础# 现在有一个网络 θ \theta θ 需要学习 k k k 个增量任务,每个任务的训练集和训练集有同样的分布 D t \mathbb{D}_{t} D t ,目标是学习一个模型分布 p ( D 1 : k ∣ θ ) = ∏ t = 1 k p ( D t ∣ θ ) p(\mathcal{D}_{1:k}|\theta) = \prod_{t=1}^k p(\mathcal{D}_t|\theta) p ( D 1 : k ∣ θ ) = ∏ t = 1 k p ( D t ∣ θ )
在连续学习中,旧的训练集是无法被访问的,因此,同时平衡的捕捉新老数据集的分布很重要但是具有挑战。
一个直观的想法是通过存储少量旧的训练样本或训练一个生成模型来近似并恢复旧数据的分布,这种方法叫做基于回放的方法,通过重放更多能够近似其分布的旧训练样本,可以提升对旧任务的性能,但这种方法可能带来潜在的隐私问题,并导致资源开销呈线性增长。此外,使用生成模型也受到巨大额外资源开销的限制,同时它们自身还存在灾难性遗忘和表达能力不足的问题。
另一种选择是在贝叶斯框架下,通过在更新参数时传播旧数据分布来构建连续学习,基于网络参数的先验 p ( θ ) p(\theta) p ( θ ) ,在观测到第 k k k 个任务后,其后验概率可通过贝叶斯规则计算:
p ( θ ∣ D 1 : k ) ∝ p ( θ ) ∏ t = 1 k p ( D t ∣ θ ) ∝ p ( θ ∣ D 1 : k − 1 ) p ( D k ∣ θ ) (8) p(\theta|\mathcal{D}_{1:k}) \propto p(\theta) \prod_{t=1}^k p(\mathcal{D}_t|\theta) \propto p(\theta|\mathcal{D}_{1:k-1}) p(\mathcal{D}_k|\theta)\tag{8} p ( θ ∣ D 1 : k ) ∝ p ( θ ) t = 1 ∏ k p ( D t ∣ θ ) ∝ p ( θ ∣ D 1 : k − 1 ) p ( D k ∣ θ ) ( 8 ) 其中,第 ( k − 1 ) (k-1) ( k − 1 ) 个任务的后验 p ( θ ∣ D 1 : k − 1 ) p(\theta|\mathcal{D}_{1:k-1}) p ( θ ∣ D 1 : k − 1 ) 成为第 k k k 个任务的先验,从而使得新的后验 p ( θ ∣ D 1 : k ) p(\theta|\mathcal{D}_{1:k}) p ( θ ∣ D 1 : k ) 可以仅利用当前训练集 D k \mathcal{D}_k D k 进行计算。然而,由于后验通常难以解析求解(除了一些非常特殊的情况),一种常见做法是用 q k − 1 ( θ ) ≈ p ( θ ∣ D 1 : k − 1 ) q_{k-1}(\theta) \approx p(\theta|\mathcal{D}_{1:k-1}) q k − 1 ( θ ) ≈ p ( θ ∣ D 1 : k − 1 ) 来近似它,类似地,q k ( θ ) ≈ p ( θ ∣ D 1 : k ) q_k(\theta) \approx p(\theta|\mathcal{D}_{1:k}) q k ( θ ) ≈ p ( θ ∣ D 1 : k ) 。
在线拉普拉斯近似# 第一种策略是在线拉普拉斯近似,使用局部梯度信息将 p ( θ ∣ D 1 : k − 1 ) p(\theta|\mathcal{D}_{1:k-1}) p ( θ ∣ D 1 : k − 1 ) 近似为多元高斯分布,具体来说,我们可以用参数 ϕ k − 1 = { μ k − 1 , Λ k − 1 } \phi_{k-1} = \{\mu_{k-1}, \Lambda_{k-1}\} ϕ k − 1 = { μ k − 1 , Λ k − 1 } 来参数化近似后验 q k − 1 ( θ ) q_{k-1}(\theta) q k − 1 ( θ ) ,并构造一个近似的高斯后验:
q k − 1 ( θ ) : = q ( θ ; ϕ k − 1 ) = N ( θ ; μ k − 1 , Λ k − 1 − 1 ) q_{k-1}(\theta) := q(\theta; \phi_{k-1}) = \mathcal{N}(\theta; \mu_{k-1}, \Lambda_{k-1}^{-1}) q k − 1 ( θ ) := q ( θ ; ϕ k − 1 ) = N ( θ ; μ k − 1 , Λ k − 1 − 1 ) 这可以通过在 p ( θ ∣ D 1 : k − 1 ) p(\theta|\mathcal{D}_{1:k-1}) p ( θ ∣ D 1 : k − 1 ) 的众数点 μ k − 1 ∈ R ∣ θ ∣ \mu_{k-1} \in \mathbb{R}^{|\theta|} μ k − 1 ∈ R ∣ θ ∣ 附近进行二阶泰勒展开实现,其中 Λ k − 1 \Lambda_{k-1} Λ k − 1 表示精度矩阵(precision matrix),ϕ k = { μ k , Λ k } \phi_k = \{\mu_k, \Lambda_k\} ϕ k = { μ k , Λ k } .
根据公式 (8),学习当前第 k k k 个任务的后验众数可以计算为:
μ k = arg max θ log p ( θ ∣ D 1 : k ) ≈ arg max θ log p ( D k ∣ θ ) + log q ( θ ; ϕ k − 1 ) = arg max θ log p ( D k ∣ θ ) − 1 2 ( θ − μ k − 1 ) ⊤ Λ k − 1 ( θ − μ k − 1 ) , (9) \begin{aligned}
\mu_k &= \arg\max_\theta \log p(\theta|D_{1:k}) \\
&\approx \arg\max_\theta \log p(D_k|\theta) + \log q(\theta; \phi_{k-1}) \\
&= \arg\max_\theta \log p(D_k|\theta) - \frac{1}{2}(\theta - \mu_{k-1})^\top \Lambda_{k-1} (\theta - \mu_{k-1}),
\end{aligned}
\tag{9} μ k = arg θ max log p ( θ ∣ D 1 : k ) ≈ arg θ max log p ( D k ∣ θ ) + log q ( θ ; ϕ k − 1 ) = arg θ max log p ( D k ∣ θ ) − 2 1 ( θ − μ k − 1 ) ⊤ Λ k − 1 ( θ − μ k − 1 ) , ( 9 ) 该结果从 μ k − 1 \mu_{k-1} μ k − 1 和 Λ k − 1 \Lambda_{k-1} Λ k − 1 递归更新得到。同时,Λ k \Lambda_k Λ k 也从 Λ k − 1 \Lambda_{k-1} Λ k − 1 递归更新:
Λ k = − ∇ θ 2 log p ( θ ∣ D 1 : k ) ∣ θ = μ k ≈ − ∇ θ 2 log p ( D k ∣ θ ) ∣ θ = μ k + Λ k − 1 , (10) \begin{aligned}
\Lambda_k &= -\nabla_\theta^2 \log p(\theta|D_{1:k})\big|_{\theta=\mu_k} \\
&\approx -\nabla_\theta^2 \log p(D_k|\theta)\big|_{\theta=\mu_k} + \Lambda_{k-1},
\end{aligned}
\tag{10} Λ k = − ∇ θ 2 log p ( θ ∣ D 1 : k ) θ = μ k ≈ − ∇ θ 2 log p ( D k ∣ θ ) θ = μ k + Λ k − 1 , ( 10 ) 其中,右侧第一项是数据集 D k \mathcal{D}_k D k 在参数 μ k \mu_k μ k 处的负对数似然的海森矩阵,记作 H ( D k , μ k ) H(\mathcal{D}_k, \mu_k) H ( D k , μ k ) 。在实际应用中,由于 R ∣ θ ∣ \mathbb{R}^{|\theta|} R ∣ θ ∣ 的高维性,计算 H ( D k , μ k ) H(\mathcal{D}_k, \mu_k) H ( D k , μ k ) 通常效率较低,且无法保证近似的 Λ k \Lambda_k Λ k 满足高斯假设下的半正定性。为克服这些问题,通常用费希尔信息矩阵来近似海森矩阵:
F k = E [ ∇ θ log p ( D k ∣ θ ) ∇ θ log p ( D k ∣ θ ) ⊤ ] ∣ θ = μ k ≈ H ( D k , μ k ) . ( 11 ) F_k = \mathbb{E}[\nabla_\theta \log p(\mathcal{D}_k|\theta)\nabla_\theta \log p(\mathcal{D}_k|\theta)^\top]\big|_{\theta=\mu_k} \approx H(\mathcal{D}_k, \mu_k).
\quad (11) F k = E [ ∇ θ log p ( D k ∣ θ ) ∇ θ log p ( D k ∣ θ ) ⊤ ] θ = μ k ≈ H ( D k , μ k ) . ( 11 ) 为了便于计算,FIM 可进一步简化为对角近似 或克罗内克分解近似。然后,式 (9) 通过保存旧模型 μ k − 1 \mu_{k-1} μ k − 1 的一个“冻结”副本以正则化参数变化来实现,这种方法被称为基于正则化的策略,详见第 4.1 节。
这里我们以 EWC 为例,并给出其损失函数:
L EWC ( θ ) = ℓ k ( θ ) + λ 2 ( θ − μ k − 1 ) ⊤ F ^ 1 : k − 1 ( θ − μ k − 1 ) , ( 12 ) \mathcal{L}_{\text{EWC}}(\theta) = \ell_k(\theta) + \frac{\lambda}{2} (\theta - \mu_{k-1})^\top \hat{F}_{1:k-1} (\theta - \mu_{k-1}),
\quad (12) L EWC ( θ ) = ℓ k ( θ ) + 2 λ ( θ − μ k − 1 ) ⊤ F ^ 1 : k − 1 ( θ − μ k − 1 ) , ( 12 ) 其中 ℓ k \ell_k ℓ k 表示任务特定的损失函数,F ^ 1 : k − 1 = ∑ t = 1 k − 1 d i a g ( F t ) \hat{F}_{1:k-1} = \sum_{t=1}^{k-1} \mathrm{diag}(F_t) F ^ 1 : k − 1 = ∑ t = 1 k − 1 diag ( F t ) 是每个 F t F_t F t 的对角近似 d i a g ( ⋅ ) \mathrm{diag}(\cdot) diag ( ⋅ ) 的累加,而 λ \lambda λ 是一个超参数,用于控制正则化的强度。
在线变分推断# 实现这一目标的方法有很多,其中一种代表性方法是在满足 p ( θ ∣ D 1 : k ) ∈ Q p(\theta|\mathcal{D}_{1:k}) \in \mathcal{Q} p ( θ ∣ D 1 : k ) ∈ Q 的函数族 Q \mathcal{Q} Q 上最小化如下 KL 散度:
q k ( θ ) = arg min q ∈ Q K L ( q ( θ ) ∥ 1 Z k q k − 1 ( θ ) p ( D k ∣ θ ) ) , ( 13 ) q_k(\theta) = \arg\min_{q \in \mathcal{Q}} \mathrm{KL}\big(q(\theta) \,\|\, \frac{1}{Z_k} q_{k-1}(\theta)p(\mathcal{D}_k|\theta)\big), \quad (13) q k ( θ ) = arg q ∈ Q min KL ( q ( θ ) ∥ Z k 1 q k − 1 ( θ ) p ( D k ∣ θ ) ) , ( 13 ) 其中 Z k Z_k Z k 是 q k − 1 ( θ ) p ( D k ∣ θ ) q_{k-1}(\theta)p(\mathcal{D}_k|\theta) q k − 1 ( θ ) p ( D k ∣ θ ) 的归一化常数。在实际应用中,上述最小化问题可以通过引入一个额外的蒙特卡洛近似来实现,例如设定 q k ( θ ) : = q ( θ ; ϕ k ) = N ( θ ; μ k , Λ k − 1 ) q_k(\theta) := q(\theta; \phi_k) = \mathcal{N}(\theta; \mu_k, \Lambda_k^{-1}) q k ( θ ) := q ( θ ; ϕ k ) = N ( θ ; μ k , Λ k − 1 ) 为多元高斯分布。这里我们以 VCL 为例,它最小化以下目标函数(即最大化其负值):
L VCL ( q k ( θ ) ) = E q k ( θ ) ( ℓ k ( θ ) ) + K L ( q k ( θ ) ∥ q k − 1 ( θ ) ) , ( 14 ) \mathcal{L}_{\text{VCL}}(q_k(\theta)) = \mathbb{E}_{q_k(\theta)}(\ell_k(\theta)) + \mathrm{KL}(q_k(\theta) \,\|\, q_{k-1}(\theta)), \quad (14) L VCL ( q k ( θ )) = E q k ( θ ) ( ℓ k ( θ )) + KL ( q k ( θ ) ∥ q k − 1 ( θ )) , ( 14 )
[!todo]
从本质上看,不论是回放还是正则化,他们对持续学习的最终约束都是在梯度上,因此,一些近期的工作直接操纵基于梯度的优化过程,比如当学完了任务 t 后,保留少量的样本
从本质上看,无论是回放(replay)还是正则化方法,对持续学习的约束最终都体现在梯度方向上。因此,一些近期的工作直接操纵基于梯度的优化过程,这类方法被归类为“基于优化的方法”。具体而言,当为任务 t t t 保留少量旧训练样本 M t \mathcal{M}_t M t 存储在记忆缓冲区中时,新训练样本的梯度方向被鼓励尽可能接近旧样本 M t \mathcal{M}_t M t 的梯度方向。这可以形式化为:
⟨ ∇ θ L k ( θ ; D k ) , ∇ θ L k ( θ ; M t ) ⟩ ≥ 0 for t ∈ { 1 , … , k − 1 } , \langle \nabla_\theta \mathcal{L}_k(\theta; \mathcal{D}_k), \nabla_\theta \mathcal{L}_k(\theta; \mathcal{M}_t) \rangle \geq 0 \quad \text{for } t \in \{1, \ldots, k-1\}, ⟨ ∇ θ L k ( θ ; D k ) , ∇ θ L k ( θ ; M t )⟩ ≥ 0 for t ∈ { 1 , … , k − 1 } , 从而实质上强制旧任务的损失不增加,即 L k ( θ ; M t ) ≤ L k ( θ k − 1 ; M t ) \mathcal{L}_k(\theta; \mathcal{M}_t) \leq \mathcal{L}_k(\theta_{k-1}; \mathcal{M}_t) L k ( θ ; M t ) ≤ L k ( θ k − 1 ; M t ) ,其中 θ k − 1 \theta_{k-1} θ k − 1 是学习完第 ( k − 1 ) (k-1) ( k − 1 ) 个任务后网络的参数。
另一种替代方法是进行梯度投影,而无需存储旧的训练样本。这里以 NCL 为例,该方法通过在线拉普拉斯近似中的 μ k − 1 \mu_{k-1} μ k − 1 和 Λ k − 1 \Lambda_{k-1} Λ k − 1 来操控梯度方向。如公式 (15) 所示,NCL 通过在以 θ \theta θ 为中心、半径为 r r r 的区域内最小化任务特定损失 ℓ k ( θ ) \ell_k(\theta) ℓ k ( θ ) 实现持续学习,该区域采用距离度量 d ( θ , θ + δ ) = δ ⊤ Λ k − 1 δ / 2 d(\theta, \theta + \delta) = \sqrt{\delta^\top \Lambda_{k-1} \delta / 2} d ( θ , θ + δ ) = δ ⊤ Λ k − 1 δ /2 ,该度量考虑了先验的曲率,其由精度矩阵 Λ k − 1 \Lambda_{k-1} Λ k − 1 决定:
δ ∗ = arg min δ ℓ k ( θ + δ ) ≈ arg min δ ℓ k ( θ ) + ∇ θ ℓ k ( θ ) ⊤ δ , s.t. d ( θ , θ + δ ) = δ ⊤ Λ k − 1 δ / 2 ≤ r . ( 15 ) \begin{aligned}
\delta^* &= \arg\min_\delta \ell_k(\theta + \delta) \\
&\approx \arg\min_\delta \ell_k(\theta) + \nabla_\theta \ell_k(\theta)^\top \delta, \\
&\text{s.t. } d(\theta, \theta + \delta) = \sqrt{\delta^\top \Lambda_{k-1} \delta / 2} \leq r.
\end{aligned} \quad (15) δ ∗ = arg δ min ℓ k ( θ + δ ) ≈ arg δ min ℓ k ( θ ) + ∇ θ ℓ k ( θ ) ⊤ δ , s.t. d ( θ , θ + δ ) = δ ⊤ Λ k − 1 δ /2 ≤ r . ( 15 ) 对于公式 (15) 中的优化问题,其解为 δ ∗ ∝ Λ k − 1 − 1 ∇ θ ℓ k ( θ ) − ( θ − μ k − 1 ) \delta^* \propto \Lambda_{k-1}^{-1} \nabla_\theta \ell_k(\theta) - (\theta - \mu_{k-1}) δ ∗ ∝ Λ k − 1 − 1 ∇ θ ℓ k ( θ ) − ( θ − μ k − 1 ) ,由此导出如下学习率为 λ \lambda λ 的更新规则:
θ ← θ + λ [ Λ k − 1 − 1 ∇ θ ℓ k ( θ ) − ( θ − μ k − 1 ) ] , ( 16 ) \theta \leftarrow \theta + \lambda [\Lambda_{k-1}^{-1} \nabla_\theta \ell_k(\theta) - (\theta - \mu_{k-1})], \quad (16) θ ← θ + λ [ Λ k − 1 − 1 ∇ θ ℓ k ( θ ) − ( θ − μ k − 1 )] , ( 16 ) 其中第一项鼓励参数变化主要发生在不会干扰旧知识的方向上。
泛化性分析# 目前关于持续学习的理论研究主要集中在增量任务的训练集上,假设其测试集遵循相似的分布,并且候选解决方案具有相似的泛化能力。然而,由于多任务学习的目标函数通常高度非凸,存在许多局部最优解,这些解在每个训练集上的表现相似,但在测试集上的泛化能力却有显著差异,对于持续学习而言,理想的解决方案不仅需要具备从训练集到测试集的任务内泛化能力 ,还需要具备任务间泛化能力 ,以适应其分布的增量变化.
这里我们提供了一个任务特定的损失函数 l t ( θ , D t ) l_{t}(\theta,D_{t}) l t ( θ , D t ) 以及其经验最优解 θ t ∗ = a r g m i n θ l t ( θ , D t ) \theta^*_{t}=argmin_{\theta}l_{t}(\theta,D_{t}) θ t ∗ = a r g mi n θ l t ( θ , D t ) ,来说明.当任务 i 需要适应另一个任务 j 的时候,其性能的最大损耗可以通过 l l l 在 θ i ∗ \theta_{i}^* θ i ∗ 附近的二阶泰勒展开来估计:
ℓ i ( θ j ∗ ; D i ) ≈ ℓ i ( θ i ∗ ; D i ) + ( θ j ∗ − θ i ∗ ) ⊤ ∇ θ ℓ i ( θ ; D i ) ∣ θ = θ i ∗ + 1 2 ( θ j ∗ − θ i ∗ ) ⊤ ∇ θ 2 ℓ i ( θ ; D i ) ∣ θ = θ i ∗ ( θ j ∗ − θ i ∗ ) ≈ ℓ i ( θ i ∗ ; D i ) + 1 2 Δ θ ⊤ ∇ θ 2 ℓ i ( θ ; D i ) ∣ θ = θ i ∗ Δ θ , \begin{align}
\ell_i(\theta_j^*; \mathcal{D}_i) \approx \ell_i(\theta_i^*; \mathcal{D}_i) + (\theta_j^* - \theta_i^*)^\top \nabla_\theta \ell_i(\theta; \mathcal{D}_i)\big|_{\theta=\theta_i^*}+ \\
\frac{1}{2} (\theta_j^* - \theta_i^*)^\top \nabla_\theta^2 \ell_i(\theta; \mathcal{D}_i)\big|_{\theta=\theta_i^*} (\theta_j^* - \theta_i^*) \tag{19}\\
\approx \ell_i(\theta_i^*; \mathcal{D}_i) + \frac{1}{2} \Delta\theta^\top \nabla_\theta^2 \ell_i(\theta;\mathcal{D}_i)\big|_{\theta=\theta_i^*} \Delta\theta,
\end{align} ℓ i ( θ j ∗ ; D i ) ≈ ℓ i ( θ i ∗ ; D i ) + ( θ j ∗ − θ i ∗ ) ⊤ ∇ θ ℓ i ( θ ; D i ) θ = θ i ∗ + 2 1 ( θ j ∗ − θ i ∗ ) ⊤ ∇ θ 2 ℓ i ( θ ; D i ) θ = θ i ∗ ( θ j ∗ − θ i ∗ ) ≈ ℓ i ( θ i ∗ ; D i ) + 2 1 Δ θ ⊤ ∇ θ 2 ℓ i ( θ ; D i ) θ = θ i ∗ Δ θ , ( 19 ) 其中 Δ θ : = θ j ∗ − θ i ∗ \Delta\theta := \theta_j^* - \theta_i^* Δ θ := θ j ∗ − θ i ∗ ,且 ∇ θ ℓ i ( θ ; D i ) ∣ θ = θ i ∗ ≈ 0 \nabla_\theta \ell_i(\theta; \mathcal{D}_i)\big|_{\theta=\theta_i^*} \approx \mathbf{0} ∇ θ ℓ i ( θ ; D i ) θ = θ i ∗ ≈ 0 。于是,任务 i i i 的性能下降可以上界为:
ℓ i ( θ j ∗ ; D i ) − ℓ i ( θ i ∗ ; D i ) ≤ 1 2 λ i m a x ∥ Δ θ ∥ 2 , (20) \ell_i(\theta_j^*; \mathcal{D}_i) - \ell_i(\theta_i^*; \mathcal{D}_i) \leq \frac{1}{2} \lambda_i^{max} \|\Delta\theta\|^2,
\tag{20} ℓ i ( θ j ∗ ; D i ) − ℓ i ( θ i ∗ ; D i ) ≤ 2 1 λ i ma x ∥Δ θ ∥ 2 , ( 20 ) 其中 λ i m a x \lambda_i^{max} λ i ma x 是 Hessian 矩阵 ∇ θ 2 ℓ i ( θ ; D i ) ∣ θ = θ i ∗ \nabla_\theta^2 \ell_i(\theta; \mathcal{D}_i)\big|_{\theta=\theta_i^*} ∇ θ 2 ℓ i ( θ ; D i ) θ = θ i ∗ 的最大特征值。注意,任务 i i i 和 j j j 的顺序可以是任意的,也就是说,公式 (20) 同时体现了前向和后向的影响。因此,经验最优解 θ i ∗ \theta_i^* θ i ∗ 对参数变化的鲁棒性与 λ i m a x \lambda_i^{max} λ i ma x 密切相关,而 λ i m a x \lambda_i^{max} λ i ma x 已被广泛用作描述损失函数景观平坦程度的常用指标.
直观上,收敛到一个损失景观更平坦的局部极小值,将对参数的微小变化不那么敏感从而同时有利于旧任务和新任务