1. 终身学习目标:
缓解灾难性遗忘问题:当数据以online stream的方式训练模型时,训练完 Task 1 之后的模型,在学习 Task 2 的数据时往往会将 Task 1 的知识遗忘,导致在之前训练过的 Task 1 上性能急剧下降。
2. Gradient of Episodic Memory
2.1 什么叫 Episodic Memory
最直观的解决遗忘性问题的方法,就是保存之前训练过任务的数据 (考虑到数据隐私性和计算存储开销的问题,保存的数据量不宜过大) —— 因此将保存好的之前训练过任务的数据称为 Episodic Memory。
Tips: 很 tricky 的是在 continual learning 这个领域中,文章很多时候都是 motivated from 人脑生理结构。在脑生理中这些之前的学习到的知识片段也叫做 episodic memory (情景记忆)。
2.2 算法流程
首先定义 episodic memory
M
k
\mathcal{M}_{k}
Mk,其中
k
k
k 表示之前训练的第
k
k
k 个任务。由此,可以定义在
M
k
\mathcal{M}_{k}
Mk 上的损失函数:
ℓ
(
f
θ
,
M
k
)
=
1
∣
M
k
∣
∑
(
x
i
,
k
,
y
i
)
∈
M
k
ℓ
(
f
θ
(
x
i
,
k
)
,
y
i
)
\ell\left(f_{\theta}, \mathcal{M}_{k}\right)=\frac{1}{\left|\mathcal{M}_{k}\right|} \sum_{\left(x_{i}, k, y_{i}\right) \in \mathcal{M}_{k}} \ell\left(f_{\theta}\left(x_{i}, k\right), y_{i}\right)
ℓ(fθ,Mk)=∣Mk∣1(xi,k,yi)∈Mk∑ℓ(fθ(xi,k),yi)
但是直接最小化上述损失函数容易造成模型对
M
k
\mathcal{M}_{k}
Mk 中的样本过拟合。所以,考虑一个不等式约束,即允许上述损失函数减少即可。正式地,我们定义下面的整体优化目标:
minimize
g
ˉ
1
2
∥
g
−
g
~
∥
2
2
subject to
⟨
g
~
,
g
k
⟩
≥
0
for all
k
<
t
\begin{aligned} \operatorname{minimize}_{\bar{g}} \frac{1}{2} &\|g-\tilde{g}\|_{2}^{2} \\ \text { subject to } &\left\langle\tilde{g}, g_{k}\right\rangle \geq 0 \text { for all } k<t \end{aligned}
minimizegˉ21 subject to ∥g−g~∥22⟨g~,gk⟩≥0 for all k<t
其中
g
g
g 表示当前任务
t
t
t 对应的梯度,而
g
~
\tilde{g}
g~ 表示在 L2 范数条件下
g
g
g 的投影。上式可以通过二次规划解决。
2.3 总结
- 从实验结果角度来看,采用 Naive Rehearal 方法时,当 M k \mathcal{M}_{k} Mk 中样本数量很小时,确实网络容易对其产生严重过拟合,甚至结果还不如 regularization-based 方法如 EWC,SI。
- 本文从方法上提出了很 elgant 的策略 —— 并不直接优化 M k \mathcal{M}_{k} Mk 上的结果,而将其作为不等式约束,可以理解成用之前训练的任务对当前训练任务进行正则化,继而修正当前模型更新的梯度方向 (即获得投影结果 g ~ \tilde{g} g~)。