微软浙大等提出剪枝框架oto,无需微调即可获得轻量级架构

人工智能博士 人工智能博士     2022-12-23     600

关键词:

点上方人工智能算法与Python大数据获取更多干货

在右上方 ··· 设为星标 ★,第一时间获取资源

仅做学术分享,如有侵权,联系删除

转载于 :机器之心

来自微软、浙江大学等机构的研究者提出了一种 one-shot DNN 剪枝框架,无需微调即可从大型神经网络中得到轻量级架构,在保持模型高性能的同时还能显著降低所需算力。

大型神经网络学习速度很快,性能也往往优于其他较小的模型,但它们对资源的巨大需求限制了其在现实世界的部署。

剪枝是最常见的 DNN 压缩方法之一,旨在减少冗余结构,给 DNN 模型瘦身的同时提高其可解释性。然而,现有的剪枝方法通常是启发式的,而且只针对特定任务,还非常耗时,泛化能力也很差。

在一篇标题为《 Only Train Once: A One-Shot Neural Network Training And Pruning Framework》的论文中,来自微软、浙江大学等机构的研究者给出了针对上述问题的解决方案,提出了一种 one-shot DNN 剪枝框架。它可以让开发者无需微调就能从大型神经网络中得到轻量级架构。这种方法在保持模型高性能的同时显著降低了其所需的算力。

论文链接:https://arxiv.org/pdf/2107.07467.pdf

该研究的主要贡献概括如下:

  1. One-Shot 训练和剪枝。研究者提出了一个名为 OTO(Only-Train-Once)的 one-shot 训练和剪枝框架。它可以将一个完整的神经网络压缩为轻量级网络,同时保持较高的性能。OTO 大大简化了现有剪枝方法复杂的多阶段训练 pipeline,适合各种架构和应用,因此具有通用性和有效性。

  2. Zero-Invariant Group(ZIG)。研究者定义了神经网络的 zero-invariant group。如果一个框架被划分为 ZIG,它就允许我们修剪 zero group,同时不影响输出,这么做的结果是 one-shot 剪枝。这种特性适用于全连接层、残差块、多头注意力等多种流行结构。

  3. 新的结构化稀疏优化算法。研究者提出了 Half-Space Stochastic Projected Gradient(HSPG),这是一种解决引起正则化问题的结构化稀疏的方法。研究团队在实践中展示并分析了 HSPG 在促进 zero group 方面表现出的优势(相对于标准近端方法)。ZIG 和 HSPG 的设计是网络无关的,因此 OTO 对于很多应用来说都是通用的。

  4. 实验结果。利用本文中提出的方法,研究者可以从头、同时训练和压缩完整模型,无需为了提高推理速度和减少参数而进行微调。在 VGG for CIFAR10、ResNet50 for CIFAR10/ImageNet 和 Bert for SQuAD 等基准上,该方法都实现了 SOTA 结果。

方法及实验介绍

OTO 的结构非常简单。给定一个完整的模型,首先将可训练的参数划分为 ZIG 集,产生了一个结构化稀疏优化问题,通过一个新的随机优化器 (HSPG) 得出高度组稀疏的解。最后通过剪枝这些 zero group 得到一个压缩模型。

团队提出的 HSPG 随机优化算法是针对非光滑正则化问题而设计的,与经典算法相比,该算法在保持相似收敛性的同时,能够更有效地增强群体稀疏性搜索。

为了评估 OTO 在未经微调的 one-shot 训练和剪枝中的性能,研究者在 CNN 的基准压缩任务进行了实验,包括 CIFAR10 的 VGG16,CIFAR10 的 ResNet50 和  ImagetNet (ILSVRC2012),研究者比较了 OTO 与其当前各个 SOTA 算法在 Top-1 精度和 Top-5 精度、剩余的 FLOPs 和相应的 baseline 参数。

表 1:CIFAR10 中的 VGG16 及 VGG16-BN 模型表现。

在 CIFAR10 的 VGG16 实验中,OTO 将浮点数减少了 83.7%,将参数量减少了 97.5%,性能表现令人印象深刻。

在 CIFAR10 的 ResNet50 实验中,OTO 在没有量化的情况下优于 SOTA 神经网络压缩框架 AMC 和 ANNC,仅使用了 12.8% 的 FLOPs 和 8.8% 的参数。

表 2:CIFAR10 的 ResNet50 实验。

在 ResNet50 的 ImageNet 实验中,OTO 减少了 64.5% 的参数,实现了 65.5% 的浮点数减少,与 baseline 的 Top-1/5 精度相比只有 1.4%/0.8% 的差距 。

表 3:ResNet50 的 ImageNet。

总体而言,OTO 在所有的压缩基准实验中获得了 SOTA 结果,展现了模型的巨大潜力。研究者表示,未来的研究将关注合并量化和各种任务的应用上。

---------♥---------

声明:本内容来源网络,版权属于原作者

图片来源网络,不代表本公众号立场。如有侵权,联系删除

AI博士私人微信,还有少量空位

如何画出漂亮的深度学习模型图?

如何画出漂亮的神经网络图?

一文读懂深度学习中的各种卷积

点个在看支持一下吧

onlytrainonce:微软浙大等研究者提出剪枝框架oto,无需微调即可获得轻量级架构...

...”公众号重磅干货,第一时间送达来源|机器之心来自微软、浙江大学等机构的研究者提出了一种one-shotDNN剪枝框架,无需微调即可从大型神经网络中得到轻量级架构,在保持模型高性能的同时还能显著降低所需算力。... 查看详情

onlytrainonce:微软浙大等研究者提出剪枝框架oto,无需微调即可获得轻量级架构...

...”公众号重磅干货,第一时间送达来源|机器之心来自微软、浙江大学等机构的研究者提出了一种one-shotDNN剪枝框架,无需微调即可从大型神经网络中得到轻量级架构,在保持模型高性能的同时还能显著降低所需算力。... 查看详情

如何无需在推荐的框架中编写测试用例即可获得 nodejs 应用程序的代码覆盖率?

】如何无需在推荐的框架中编写测试用例即可获得nodejs应用程序的代码覆盖率?【英文标题】:Howtogetcodecoverageofnodejsapplicationwithouthavingtowritetestcasesinrecommendedframeworks?【发布时间】:2021-10-2506:28:00【问题描述】:建议使用Mocha、ch... 查看详情

微软发布vsbt,无需安装visualstudio即可实现项目编译

  安装了VisualStudio的那些使用微软平台的开发者通常能够非常容易地操作自己的项目:打开解决方案,修改内容,设置好所有必须的文件以及配置后编译项目。但是在构建服务器或者持续交付系统等没有安装VisualStudio的环境中... 查看详情

无需在 Pytorch 中进行微调即可从预训练模型中获取 128 个暗淡的特征向量

】无需在Pytorch中进行微调即可从预训练模型中获取128个暗淡的特征向量【英文标题】:Geta128dimfeaturevectorfromapretrainedmodelwithoutfinetuninginPytorch【发布时间】:2021-11-2404:45:13【问题描述】:我需要一组图像的视觉特征才能嵌入输入... 查看详情

清华大学提出全新微调框架cpt

...题就是训练过程和推理过程不匹配。清华大学孙茂松团队提出了一个全新的微调框架CPT,用颜色来遮蔽、融合 查看详情

微软发布可完全在浏览器中运行的轻量级vscode工具

10月21日消息,微软现已推出了可完全在浏览器中运行的轻量级VSCode网页预览版,该程序可以允许开发者直接使用浏览器中的VSCode,无需使用本地安装版本进行开发。微软负责人提出了几种开发者可以使用的功能,... 查看详情

python无需输入即可获得按键(代码片段)

查看详情

solr 查询 - 无需扫描文件即可获得结果

】solr查询-无需扫描文件即可获得结果【英文标题】:solrquery-getresultswithoutscanningfiles【发布时间】:2013-04-2305:57:57【问题描述】:我想执行一个solr查询并只获取我定义的uniquKey。文档非常大,因此定义fl=\'my_key\'不够快-所有匹配... 查看详情

Facebook无需登录即可获得自定义对象的喜欢数

】Facebook无需登录即可获得自定义对象的喜欢数【英文标题】:Facebookgetnumberoflikesoncustomobjectwithoutlogin【发布时间】:2015-05-1305:06:52【问题描述】:在Facebook-iOSsdks的帮助下,我正在使用og.likes来点赞我的应用程序中的自定义对象... 查看详情

使用 Stripe on Rails 免费订阅 - 无需卡即可获得令牌

】使用StripeonRails免费订阅-无需卡即可获得令牌【英文标题】:FreesubscriptionwithStripeonRails-Gettokenwithoutcard【发布时间】:2015-08-2115:35:00【问题描述】:我正在使用Rails-Stripe-Membership-SaaS,它使用Payola。Payola假设您要创建一个立即收... 查看详情

模型压缩:剪枝算法

...这么多参数。而剪枝算法正是基于过参数化的理论基础而提出的。剪枝算法核心思想就是减少网络模型中参数量和计算量,同时尽量保证模型的性能不受影响。那在AI框架中,实际上剪枝主要作用在右下角的端侧模型推理应用场... 查看详情

实体框架:无需创建实体即可进行 JOIN

】实体框架:无需创建实体即可进行JOIN【英文标题】:EntityFramework:DoingJOINswithouthavingtocreatingEntities【发布时间】:2015-03-1615:40:34【问题描述】:刚开始使用实体框架(代码优先),我不得不说我在加载相当复杂的SQL数据时遇到... 查看详情

androidfragment开发框架合集

参考技术A一个强大的Fragment管理框架,为"单Activity+多Fragment","多模块Activity+多Fragment"架构而生,简化开发,轻松解决动画、嵌套、事务相关等问题。一个强大的Fragment管理框架。这可能是使用成本最低的Fragment框架。无需继承!... 查看详情

无需用新的参考水平重新拟合线性模型即可获得组均值差的 p 值

】无需用新的参考水平重新拟合线性模型即可获得组均值差的p值【英文标题】:Getp-valueforgroupmeandifferencewithoutrefittinglinearmodelwithanewreferencelevel【发布时间】:2017-03-0119:14:47【问题描述】:当我们有一个带有因子变量X的线性模型... 查看详情

无需下载完整文件即可获取元数据信息

】无需下载完整文件即可获取元数据信息【英文标题】:Getmetadatainfowithoutdownloadingthecompletefile【发布时间】:2017-08-1304:44:56【问题描述】:当我在这里阅读不同的帖子和libtorrent文档时,我知道(如文档所述),我必须下载torrent... 查看详情

无需多个数据模型版本即可完成迁移。欢呼?

】无需多个数据模型版本即可完成迁移。欢呼?【英文标题】:Migrationcanbedonewithoutmultipledatamodelversions.Hurrah?【发布时间】:2016-08-2913:27:18【问题描述】:我指的是关于核心数据迁移的精彩教程SwiftCoreDataTutorial。tut指出核心数据... 查看详情

第55篇剪枝算法:通过网络瘦身学习高效卷积网络

...用很大程度上受到其高计算成本的阻碍。在本文中,我们提出了一种新的cnn学习方案,以同时减小模型的尺寸;2)减少运行时内存 查看详情