NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第1张图片

©PaperWeekly 原创 · 作者 | GlobalTrack

深度学习模型经常遇到较弱的泛化能力等问题。由于损失函数景观(loss landscape)一般是复杂的且非凸,该特性使模型常常收敛到尖锐最小点(Sharp Minima)。一般认为最小值点附近越平滑,模型泛化能力越强。 

Sharpness-Aware Minimization(SAM)方法是一种可以提升模型泛化能力的算法,可以同时最小化损失函数和损失函数尖锐值。SAM 需要两次优化,第一次用于最大化尖锐值,即当在权重添加扰动后最大化损失差异。当模型到达尖锐区域时,权重扰动后对应的梯度能帮助模型跳出尖锐最小点。两次优化简单描述为:第一次获得权重扰动值,第二次更新模型权重。 

本文关注的问题是是否需要所有参数的扰动?关注到在大部分的深度学习模型中,只有 5% 的参数是尖锐的且优化过程中剧烈提升。 

本文提出一种基于稀疏扰动的 SAM 改进算法,Sparse SAM(SSAM)。本文方法需要获得一个二值化掩码决定哪一个参数需要扰动。本文提出两种获取二值化掩码的算法,即基于费雪信息(Fisher Information)的方法(SSAM-F)和基于动态稀疏训练的方法(SSAM-D)。

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第2张图片

论文标题:

Make Sharpness-Aware Minimization Stronger: A Sparsified Perturbation Approach

论文链接:

https://openreview.net/pdf?id=88_wNI6ZBDZ

代码链接:

https://github.com/Mi-Peng/Sparse-Sharpness-Aware-Minimization

3a381fa77e015d679c6c1dc7af96f94d.png

方法

深度学习模型权重 ,二值化掩码 。每一个样本输出的损失函数定义为 。

1.1 SAM简介

SAM 的优化过程可以定义为:

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第3张图片

SAM 首先需要获得在 为半径的圆邻居区域的扰动 。通过泰勒展开估计扰动最优值:

95dc504aa6f4b9b48120e2c10cd8a257.png

1.2 SAM与SGD差异分析

为了分析尖锐参数的比例,这里给出了 SGD 与 SAM 优化算法在梯度上的差异。定义比例 。下图可以看出 小于 0 占据大部分区域,说明了大部分的参数不需要添加扰动可以获得平坦的最小值。

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第4张图片

1.3 Sparse SAM

稀疏 SAM 通过寻找一个稀疏掩码决定哪一个参数需要添加扰动。此时 SAM 的第二层优化函数改写为:

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第5张图片

1.4 基于费雪信息的SSAM算法: SSAM-F

由于费雪信息与海塞矩阵的关联,费雪矩阵可以直接获取损失景观的平坦程度(Flatness of loss landscape)。本文采用经验费雪信息:

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第6张图片

获得的费雪信息是一个维度为 的矩阵。获得经验费雪信息后按照元素降序排序,取前 元素对应的参数添加扰动,掩码相应位置设置为 1。

811d028bb934119b91c29c9e1418e4bf.png

1.5 基于动态稀疏训练的SSAM: SSAM-D

由于费雪信息矩阵计算相对较高,本文也给出了基于动态稀疏训练的算法。动态稀疏训练包括扰动丢弃(Perturbation Dropping)步骤和扰动增长(Perturbation Growth)步骤。 

扰动丢弃步骤:丢弃最平坦维度的权重。衡量指标即对应梯度的绝对值。稀疏掩码可以描述为: 是需要丢弃参与扰动的参数的数量。

7f4640f0eeb8c6e3ca2c6e990049e77b.png

扰动增长步骤:核心目标是探索尽可能多的扰动组合,主要方法即随机选取一定数量的参数添加扰动:

ff71e5f9c5b2643c629cedc994ecf576.png

为了保证确定的稀疏度,添加设定 。

df0f178aab8d0e452f8f8b0d03b125ae.png

实验

在 ResNet-18 和 CIFAR 数据集上实验结果。可以看出本文 SSAM 在一些稀疏度组合上超过了原始 SAM 的精度。

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第7张图片

在 WideResNet28-10 和 CIFAR 上实验结果。WideResNet 一般更容易取得较差的泛化能力。但与 ResNet 上实验相比,在 WideResNet 上实验取得了更显著的提升。

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第8张图片

在 ImageNet 和 ResNet50 上的实验结果。可以看出 SSAM 在稀疏度 50% 情况下可以维持性能。另外当稀疏度增加时,SSAM-F 性能下降较为明显,SSAM-D 性能更鲁棒。

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第9张图片

ResNet18 模型的 loss landscape 可视化。可以看出本文 SSAM 方法比 SGD 和 SAM 更加平坦,大部分区域是较低的损失函数(蓝色区域)。可视化结果说明了使用稀疏化扰动的本文方法可以更好地平滑损失函数景观。

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第10张图片

SGD,SAM,SSAM 训练曲线可视化。可以看出 SGD 曲线较为震荡,SAM 训练曲线较为稳定。SSAM 中尽管只有 50% 的参数更新与 SAM 相同,但训练过程与 SAM 更为相似,说明了 SSAM 训练的高效。

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第11张图片

674026dc8c824daabcda5cc171d2bf28.png

结论

本文提出了一种高效的的基于稀疏扰动的 Sparse SAM 算法。作为 SAM 的一种改进算法,本文提出只需要在一部分参数添加扰动,参数由网络剪枝算法确定。本文给出了两种选择参数的策略:基于费雪信息的剪枝与基于动态稀疏训练的剪枝。实验中在多个数据集和多个深度模型上做了比较实验。实验表明与 SAM 相比,本文方法有更高的效率同时可以获得相当甚至更高的性能。

更多阅读

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第12张图片

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第13张图片

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第14张图片

c44e68ab2cb9085ef5b3c9a0865cdb8a.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

 投稿通道:

• 投稿邮箱:[email protected] 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法_第15张图片

△长按添加PaperWeekly小编

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

42ee951606f4c9affe2b9b0bbeb23d92.jpeg

你可能感兴趣的:(NeurIPS 2022 | 基于稀疏学习的提升模型泛化能力算法)