【论文阅读】Singular Value Fine-tuning: Few-shot Segmentation requires Few-parameters Fine-tuning

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. 总结

· 为什么微调会下降?按理说微调下降就应该放弃该方法了,但作者却想到分解微调
· 包含丰富语义信息的矩阵不能进行调整,主要是调整权重,提高前景,降低背景
· 该论文展示了预训练骨干网络对小样本分割任务的重要影响

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
FSS私密的文件分享及传递工具程序说明 1.本程序无需数据库支持,兼容并自适应所有主流浏览器(PC端、手机端),文件生命周期记录及配置使用写PATH_UPLOAD/xxx.conf文件的方式。 2.运行环境php5.x php7.x (版本高点或低点理论上没啥问题)。 3.支持浏览器拖拽上传,可用于企业内网同事间私密互传文件。 4.为啥代码要加密?这个不想解释。 FSS私密的文件分享及传递工具程序安装配置说明 (1) 程序配置文件/config.php。 (2) PATH_UPLOAD指定文件上传路径(默认/upload目录),该目录需读写权限。(程序未限制文件上传类型,为了系统安全,请务必调整本路径为非网站路径) (3) LOG_PATH指定日志路径(默认/log),LOG_OPEN 指定是否开始日志功能,该目录需读写权限。(为了系统安全,请务必调整本路径为非网站路径) (4) 程序上传最大支持size依赖php.ini (本例以50M为参考) upload_max_filesize = 50m ; post_max_size = 50M ; (5) 如果用nginx,需在nginx.conf中http部分添加 client_max_body_size 50m; (6) SITE_URL指定网站访问路径. (7) FILE_RETAIN_DAYS 指定文件生命周期,单位天,到期后调用该文件会被自动删除;对于批量过期删除放在新文件上传时触发,当然你也可以手动删除。 (8) API_KEYID(公钥) API_SECRET(私钥) 文件签名,该值可任意修改,用于防盗链,生成后的真实下载链接有600秒生命周期。 FSS私密的文件分享及传递工具 v1.0.2更新日志 1.可指定日志文件路径。 2.加入运行环境检测功能。 3.可配置文件保留天数或永久保存。 4.文件下载链接加入签名功能,防盗链。 5.文件下载加入密码功能。 6.增加文件下载次数显示。 FSS私密的文件分享及传递工具截图 相关阅读 同类推荐:站长常用源码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值