【持续学习系列(三)】《Less-forgetting Learning in Deep Neural Networks》
一、论文信息
1 标题
Less-forgetting Learning in Deep Neural Networks
2 作者
Heechul Jung, Jeongwoo Ju, Minju Jung, Junmo Kim
3 研究机构
Korea Advanced Institute of Science and Technology, Republic of Korea
二、主要内容
这篇论文主要探讨了深度神经网络(DNNs)在学习新数据时出现的灾难性遗忘问题,即网络在适应新环境(如不同传感器或光照条件)收集的数据时,会忘记之前学到的信息。作者提出了一种新的方法来缓解这个问题,该方法不依赖于源域的任何信息,并且通过实验表明,这种方法能够有效地减少对源域信息的遗忘。
三、相关研究
相关研究包括Srivastava等人提出的局部赢家通吃(LWTA)激活函数,以及Goodrich等人提出的无监督方法。这些方法旨在防止灾难性遗忘,但并不保证能够恢复之前学到的信息。
四、解决方案
作者提出了一种名为“少遗忘学习”(Less-forgetting Learning)的方法,该方法旨在通过同时最小化两个损失函数来缓解深度神经网络中的灾难性遗忘问题。
解决方案的核心思想
- 保持决策边界不变(Property 1):通过冻结softmax层的权重来实现,这样可以保持分类器的决策边界不变。
- 源域特征的接近性(Property 2):即使在没有源域数据的情况下,也要确保目标网络提取的特征与源网络提取的特征在空间中的位置相近。
数学上,总损失函数 L t ( x ; θ ( s ) , θ ( t ) ) Lt(x; \theta(s), \theta(t)) Lt(x;θ(s),θ(t))由两个部分组成:交叉熵损失 L c ( x ; θ ( t ) ) Lc(x; \theta(t)) Lc(x;θ(t))和欧几里得损失 L e ( x ; θ ( s ) , θ ( t ) ) Le(x; \theta(s), \theta(t)) Le(x;θ(s),θ(t))。这两个损失函数的权重由参数 λ c \lambda_c λc?和 λ e \lambda_e λe? 控制,通常 λ e \lambda_e λe?的值小于 λ c \lambda_c λc?。
总损失函数
L
t
Lt
Lt的定义如下:
L
t
(
x
;
θ
(
s
)
,
θ
(
t
)
)
=
λ
c
L
c
(
x
;
θ
(
t
)
)
+
λ
e
L
e
(
x
;
θ
(
s
)
,
θ
(
t
)
)
Lt(x; \theta(s), \theta(t)) = \lambda_c Lc(x; \theta(t)) + \lambda_e Le(x; \theta(s), \theta(t))
Lt(x;θ(s),θ(t))=λc?Lc(x;θ(t))+λe?Le(x;θ(s),θ(t))
其中,交叉熵损失
L
c
Lc
Lc定义为:
L
c
(
x
;
θ
(
t
)
)
=
?
∑
i
=
1
C
t
i
log
?
(
o
i
(
x
;
θ
(
t
)
)
)
Lc(x; \theta(t)) = -\sum_{i=1}^{C} t_i \log(o_i(x; \theta(t)))
Lc(x;θ(t))=?i=1∑C?ti?log(oi?(x;θ(t)))
这里,
t
i
t_i
ti? 是真实标签的第i个值,
o
i
(
x
;
θ
(
t
)
)
o_i(x; \theta(t))
oi?(x;θ(t))是目标网络softmax输出的第i个值,C是类别总数。
欧几里得损失
L
e
Le
Le 定义为:
L
e
(
x
;
θ
(
s
)
,
θ
(
t
)
)
=
1
2
∣
∣
f
L
?
1
(
x
;
θ
(
s
)
)
?
f
L
?
1
(
x
;
θ
(
t
)
)
∣
∣
2
Le(x; \theta(s), \theta(t)) = \frac{1}{2} ||f_{L-1}(x; \theta(s)) - f_{L-1}(x; \theta(t))||^2
Le(x;θ(s),θ(t))=21?∣∣fL?1?(x;θ(s))?fL?1?(x;θ(t))∣∣2
这里,
f
L
?
1
f_{L-1}
fL?1? 是第
L
?
1
L-1
L?1层的特征表示。
在训练过程中,目标网络的权重 θ ( t ) \theta(t) θ(t)会通过反向传播算法更新,以最小化总损失函数 L t Lt Lt。
实现步骤
- 使用源网络的权重 θ ( s ) \theta(s) θ(s)作为目标网络的初始权重 θ ( t ) \theta(t) θ(t)。
- 冻结softmax层的权重。
- 在训练过程中,交替执行以下步骤:
- 选择一个mini-batch B B B 从目标数据集 D ( t ) D(t) D(t)。
- 使用反向传播更新 θ ( t ) \theta(t) θ(t)以最小化总损失 L t Lt Lt。
这种方法通过保持源域的决策边界和确保目标网络提取的特征与源网络提取的特征在空间中的位置相近,从而减少了遗忘现象。
五、实验环节
论文进行了两种实验:
- 遗忘测试:通过手动设置源域和目标域,使用CIFAR-10数据集,并考虑两个不同的数字识别数据集(MNIST和SVHN)分别作为源域和目标域。
- 泛化测试:使用CIFAR-10数据集,并在对象识别上应用算法2,以观察少遗忘学习在提高网络泛化能力方面的表现。
六、进一步探索点:
论文指出,尽管提出了缓解灾难性遗忘问题的方法,但仍然存在一些可以进一步探索的点,例如如何更有效地在不访问源数据的情况下保持源域的特征空间,以及如何在不同的学习场景中调整和优化这种方法。
七、总结
这篇论文提出了一种新的学习策略,旨在减少深度神经网络在学习新数据时对之前学到的信息的遗忘。通过实验验证,这种方法在保持源域特征空间方面比传统的迁移学习方法更有效,并且能够提高网络的泛化性能。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!