讨论迁移学习中的权重剪枝.

模型的权重剪枝中最常用的一种方法是Magnitude pruning。该方法旨在对模型中数值较小的权重进行剪枝。具体地,设置权重得分为\(S=(\mid W_{i,j} \mid)_{1≤i,j≤n}\),保留得分排序前$v%$的权重,其余权重置零。实践中引入mask矩阵$M$,在前向传播时计算:

\[a = WMx\]

作者认为,对于迁移学习中的权重剪枝,直接使用magnitude pruning是不合适的。权重的数值在预训练任务中可以一定程度上代表重要性,但是对于迁移任务,其数值并不能代表重要性。

作者提出了一种movement pruning的方法,用权重的移动变化作为其重要性衡量。

累计训练过程中的梯度变化,定义模型的权重得分为:

\[S^T_{i,j}=-α_S \sum_{t<T}^{} {(\frac{\partial L}{\partial W_{i,j}})^{(t)} W_{i,j}^{(t)} }\]

比较两种剪枝方法:

作者通过实验发现,在剪枝程度较大的情况下(保留权重较少),movement pruning相比于magnitude pruning表现更好: