Singular Value Fine-tuning: Few-shot Segmentation requires Few-parameters Fine-tuning
奇异值微调:少参数微调的小样本分割新范式 | NeurIPS 2022
paper | code
作者:南京理工大学
#小样本分割 #微调 #SVD分割 #BAM+SVF
一句话概括:为解决过拟合问题,将backbone参数分解为三个矩阵,在训练时对其中一个奇异值矩阵进行微调,其余二者进行冻结,取得了比较好的泛化和分割效果。
1. 摘要
Freeze 预训练的backbone((冻结主干网络的参数)已经成为FSS任务中预防 over-fitting 的标准范式,但本文提出一种新范式,即fine-tuning a small part of parameters in the backbone。我们的方法通过Singular Value Decomposition (SVD) 将主干参数分解为三个连续的矩阵,然后仅微调奇异值并保持其他值不变。上述设计允许模型调整新类的特征表示,同时在预训练的主干中保持语义线索。
2. 引言
·问题:少样本带来的过拟合
·原始方法:学过头了 -> 限制模型的学习能力,即freeze()。
也有特征融合以及原型以提高泛化能力,但效果不如预训练。
·预训练的缺陷:预训练主干中包含的语义线索可以与支持图像中显示的对象无关,从而为在FSS中分割新类对象带来意想不到的障碍。
·引入方法:微调
3. 具体方法
3.1 SVD分解
·介绍:特征值分解仅适用于提取方阵特征,但在实际应用中,大部分数据对应的矩阵都不是方阵;矩阵可能是有很多0的稀疏矩阵,存储量大且浪费空间,这时就需要提取主要特征;奇异值分解 是将任意较复杂的矩阵用更小、更简单的 3个子矩阵的相乘表示 ,用这3个小矩阵来描述大矩 阵重要的特性。
·奇异值矩阵:矩阵A的特征值 做 平方根 组成的矩阵 , A可以不是方阵
·SVD的实现
3.2为何要进行SVD分解?
作者发现微调backbone的所有参数效果不好,于是微调backbone中参数的一小部分。那么如何找到骨干网络中应该被微调的这部分参数呢?简单地将骨干的参数拆分为可学习和冻结的参数会导致负面结果。表5和表6显示了无论按层还是卷积类型划分的较差性能。我们将其归因于主干的调整,使模型偏向于训练集中显示的基类对象,但在分割新类时导致更差的模型泛化。
作者制定了两条规则:(1)在预先训练的骨干中保持丰富的语义线索,(2)在学习分割新类时调整特征图表示。
为了实现上述目标,作者采用模型压缩方法。它们被设计为用更少的参数近似于原始的预训练模型,也遵循上述两个原则。在这些方法中,低秩分解low-rank decomposition是实现模型压缩的常用技术。它首先将模型权重拆分为多个子空间,然后通过缩小其秩来压缩每个子空间。通过奇异值分解(SVD)将骨干参数分解为子空间。但是不会缩小子空间的秩,因为目标是找到一小部分要微调的参数,而不是模型压缩。
3.3 算法
先将权重矩阵W由Co x Ci x K x K,压缩为Co x Ci K2 ,
其中Co , Ci 和K x K分别代表一层卷积的输出、输入和卷积核大小。
再将W’按SVD分解为三个矩阵:
其中R = min(Co,Ci K2),S为奇异值对角矩阵。等式的结果对应于三个连续的层:一个R x Ci x K x K卷积层,一个缩放层,一个Co x R x 1 x 1卷积层
·SVF伪代码:
·作者将预训练主干中的每个卷积层拆分为三个功能:(1)将语义线索解耦到
具有秩 R 的子空间中,(2)用给定任务的奇异值重新加权语义线索,以及(3) 将重新加权的线索投射回原始空间。最后只对缩放层进行微调,即奇异值微调,这样既不丢失预训练骨干网络中的语义线索,也减少了可学习参数量(约2.5%),限制了模型的学习能力,避免了过拟合问题。
3.4 模型
4. 结果分析
4.1 其他微调方法
全模型微调 、特定任务微调(冻结主干)、残差适配器和偏置调整。
4.2 实验结果
·pascal-5i
·coco-20i
4.3 消融实验
4.3.1 传统微调方法
传统的小样本分割任务中的微调方法主要分为整体微调和部分微调,部分微调又分为按层数和按卷积。
整体微调中,层数减少负面影响有所缓和,但在baseline上还是不行;在按卷积微调中,实验发现仅微调33或11卷积有所改进。证明传统的微调方法会扰乱预训练骨干网络中的丰富语义线索。
4.3.2 微调哪个子空间
实验显示指微调S矩阵效果最好,同时微调U和V反而产生负面效果。
说明:U和V中携带语义线索,而S代表语义线索的权重,SVF不改变语义线索,但调整它们的权重。
4.3.3 微调的层级
实验显示微调3,4层效果最好,第3层的语义线索对FSS最重要。
4.3.4 SVF起作用的根本原因
在对奇异值可视化后,发现进行微调之后背景的权重降低而前景的权重提高。
在不改变语义表示的情况下动态调整每个下线索的权重是SVF成功的关键。
4.4 缺陷
训练时占用内存大,Using SVF in ResNet-50 will occupy 16G video memory
per image in COCO-20i 5-shot setting,且比冻结方法速度慢一些。
5. 总结
· 为什么微调会下降?按理说微调下降就应该放弃该方法了,但作者却想到分解微调
· 包含丰富语义信息的矩阵不能进行调整,主要是调整权重,提高前景,降低背景
· 该论文展示了预训练骨干网络对小样本分割任务的重要影响