RigL

分类: 剪枝与稀疏化

RigL (Rigging the Lottery)

定义

RigL 是一种动态稀疏训练方法,在训练过程中周期性地根据梯度幅度激活新连接、根据权重幅度剪除旧连接,始终保持固定稀疏度的同时不断优化网络拓扑

数学形式

每隔 ΔT\Delta T 步执行拓扑更新:

  1. Drop: 移除权重幅度最小的 kk 个连接 ArgTopKk(WM)\text{ArgTopK}_{-k}(|W \odot M|)
  2. Grow: 激活梯度幅度最大的 kk 个未激活连接 ArgTopKk(WL(1M))\text{ArgTopK}_{k}(|\nabla_W \mathcal{L}| \odot (1 - M))

其中 MM 是二值掩码,WW 是权重矩阵。稀疏度始终保持 s=1M0Ws = 1 - \frac{\|M\|_0}{|W|}

核心要点

训练全程保持稀疏,计算量与稀疏模型成正比(不需要先训练密集模型)

梯度信号用于发现有价值的新连接,权重幅度用于淘汰无用连接

在 90% 稀疏度下匹配稠密模型精度,在 95% 下仍保持有竞争力的性能

SNIPGraSP 等 pruning-at-init 方法不同,RigL 在整个训练过程中动态调整

代表工作

Evci et al., 2020: 提出 RigL,ICML 2020

GNAP: 将 RigL 作为稀疏训练 baseline 对比

相关概念

SNIP — 单次 pruning-at-init,RigL 是动态版本

GraSP — 另一种 pruning-at-init 方法

幅度剪枝 — RigL 的 drop 阶段使用幅度剪枝