Raki的读paper小记:Forget-free Continual Learning with Winning Subnetworks
Abstract&Introduction&Related Work
-
研究任务
用子网络做CL -
已有方法和相关工作
-
彩票假说(LTH)表明存在一种稀疏子网络(称为中奖彩票),其保留了密集网络的基本性能特征。
-
然而,在持续学习过程中采用迭代修剪策略寻找最佳获胜子网络(tertiary tickets)需反复进行剪枝与重训练操作以适应新任务需求,
-
这种做法在实际应用中并不高效且不具可行性
-
基于剪枝的持续学习方法:
- CLNP算法通过施加l₁范数正则化来实现权重的稀疏化并固定这些权重以保持性能水平,
- 同时对未被选中的神经元进行删除处理以降低模型复杂度
- 在预训练模型基础上分别训练任务特定的二进制掩码,
- 这种掩码策略使得模型无法在不同任务之间共享知识储备,
- 其性能高度依赖于主干模型的质量
- HAT算法引入了任务特定可学习注意力机制,
- 通过累积注意力向量的方式逐步优化子网络结构
- LL-Tickets理论框架揭示了一种被称为终身票的特殊稀疏子网络,
- 它能够在所有后续任务中维持良好性能
- 当当前获胜票无法兼顾历史任务表现与新任务学习能力时,
- 方法将通过一系列迭代重训练与剪枝操作搜索出更具优势的候选子网络
-
面临挑战
-
创新思路
- 该方法引入了名为 Winning Subnetworks (WSN)的独特机制,在为每个具体任务构建紧凑型子网络的同时,并未改变原有任务所选权重。
- 该方法无需对子网络进行显式的剪枝操作。
- 这不仅能够有效避免知识蒸腾现象,
- 还能实现从前知识到新知识的有效迁移。
-
实验结论
-
基于WSN联合学习的机制,在每个任务相关的子网络中引入模型权重,并结合任务自适应设计的二进制掩码。同时,在激活一组权值时采用了权值重用策略。将每张中奖彩票对应的二进制掩码编码为长度为N的一致比特序列。最后采用了霍夫曼编码技术进行数据压缩处理。
不同于图1a中基于修剪的CL方法,在本研究中我们采用了一种不同的策略:在预训练主干网络中获取任务特定的子网络部分,并通过逐步学习神经网络中的模型权重参数以及任务自适应生成相应的二进制掩码来确定子网络结构。为了便于在模型学习新任务时能够从前向后继承已有的知识基础,我们采用了一种回用机制:将之前学到的子网络权重参数回用于处理原先的任务。然而这种简单的回用方式可能会导致有偏的学习转移现象(类似地,在图1b所示的情况下)。因此为了防止持续学习过程中由于知识退化导致的学习性能下降的问题,在后续的研究中我们采用了更为稳健的方法:通过固定先前任务所对应的子网络权重参数,并在此基础上生成新的优化方向以实现对新目标的任务学習(如图1c所示),这种策略有效地避免了负迁移的影响。同时我们还发现,在选择权值大小作为剪枝标准以获取最佳候选子网格时需要特别注意避免过度剪枝所带来的性能损失(如彩票数选择问题所示)。
但在CL框架中,
尽管基于单个子类别的特征提取能力而言,
这种依赖关系可能并非最优选择,
因为这种架构设计考虑了跨类别共享机制的存在。
从而导致新旧任务之间原有的权值被重新分配(即发生权值迁移)。
这可能导致系统陷入雪崩效应,
从学习器的角度来看,
那些成为后续子网络组成部分的重要权值具有更高的价值。
最终会导致原先掌握的知识出现灾难性遗忘。
对于新任务而言,在CL中使用的学习器,在不改变重复使用的权重的情况下进行训练显得非常重要。为此,在寻找最优子网络的过程中,我们将其拆分为两个独立的可学习参数——权重和权重分数。其中,每个节点都被赋予一个二进制掩码值,并被定义为与该节点对应的权重要素相关联的一组指标值之总和。此外,在这种情况下,并非直接采用原始权重要素值作为计算依据而是根据其得分排序后选取前k%的节点作为关键路径上的核心组件
WSN在密集网络内有选择性地、灵活地延伸和优化现有子网络结构,并根据需求进行动态调整资源分配;其中绿色边代表了被反复利用的关键权重参数。

Forget-Free Continual Learning with Winning SubNetworks
神经网络搜索根据新的目标重新识别为胜出者,并且仅更新那些在之前的任务中没有被充分学习到的权重。经过每个任务的训练后,在迁移学习过程中移除未被使用的权重连接以防止模型退化的问题。
通过将每个权重与一个可学习的参数联系起来,并用作标记权重分数 s。从数值角度来看,这个 s 的值决定了其相关权重的重要程度;也就是说,在数值上较高的 s 值意味着该权重更为重要。
通过系统性分析和优化设计,在实验数据中我们确定了稀疏结构 θ;这一发现使得计算复杂度规模得到了有效的缩小。
图2展示了WSN在全网络中逐步地获取二进制权重的整体流程;其中,在选择权重时主要考虑二进制的任务权重mask

Optimization Procedure for Winning SubNetworks
旨在训练各子网络的模型权重及二进制掩码;给定目标函数 L\left(\cdot\right);由优化器调整参数;其中:
通过\underset{\boldsymbol{\theta},\mathsf{s}}{\text{optimize}}损失函数\mathcal{L}(\boldsymbol{\theta}\otimes\mathbf{m}_t;\mathcal{D}_t)实现参数θ和s的优化
这种朴素优化程序存在两个问题:
当对新任务进行训练时,在不考虑已有知识的情况下(即仅基于当前数据)去学习会导致之前学习到的知识被遗忘或干扰。
其损失梯度始终等于零。这表明我们无法利用损失梯度来更新当前模型中的权重分数s。为了缓解这一问题,在每次学习新任务t时(假设优化器的学习率为\eta),我们只需对尚未被选中的先前任务中的参数项进行调整即可。为此我们引入了累加二进制掩码\textbf{M}_{t-1}(即\textbf{M}_{t-1} = \lor_{i=1}^{t-1}\textbf{m}_i),利用该掩码区分已使用的参数项和尚未被选中的参数项。具体来说,在优化过程中将不会考虑已经被选中的参数项(即\mathbf{M}_{t-1}所代表的位置)。此时模型参数的更新公式可表示为:
\boldsymbol{\theta}\leftarrow\boldsymbol{\theta}-\eta\dfrac{\partial \mathcal{L}}{\partial \boldsymbol{\theta}} (\mathbf{I}-\textbf{M}_{t-1})
通过有效冻结选择用于先前任务子网络的部分权重。为了应对第二个问题,在反向传播过程中采用Straight-through Estimator。其中m_t是基于前c\%分数计算得出,并采用了以下方法更新权重得分:
\mathbf{s}\leftarrow \mathbf{s} - \eta \left( \dfrac{\partial \mathcal{L}}{\partial \mathbf{s}} \right)
以单一加权分数 s 作为子网络权重的选择基准,在处理当前任务 t 的过程中重用了之前选定的一些权重 \boldsymbol{\theta}\odot\textbf{m}_t ,这可被视为一种迁移学习机制。
不从与新任务无关的权重中进行选择,
而是从尚未被选中的权重集合中挑选出合适的参数以满足当前任务的需求。
这相当于将模型参数从之前的t-1个子模型逐步优化至第t个子模型的过程。
伪代码:

Binary Mask Encoding
子网络将采用一个二元掩码来对应地存储每个任务的任务特定权重,并基于哈夫曼编码设计网络容量分配策略。这种设计使得网络容量随着任务数量的增长速率低于线性水平。
Experiments









Conclusions
基于彩票假设的方法论启发下提出了一种连续学习策略
Remark
算是一种分布式?稀疏的思想 有点意思
