NeurIPS 2022 | 如何提高存储、传输效率?参数集约型掩码网络效果显著

简介: NeurIPS 2022 | 如何提高存储、传输效率?参数集约型掩码网络效果显著

美国东北大学,罗切斯特理工等研究者提出参数集约型掩码网络,探索有限数量随机数的能力并提升神经网络储存和传输效率。


为了处理更复杂的任务,近年来神经网络的规模也在不断变大,如何高效的储存和传输神经网络变得十分重要。另一方面,随着彩票假说(Lottery Ticket Hypothesis (LTH))的提出,随机稀疏神经网络最近展现出很强的潜力,如何利用这种潜力来提高网络的存储和传输效率也很值得探索。


来自美国东北大学和罗切斯特理工的研究者提出参数集约型掩码网络(Parameter-Efficient Masking Networks (PEMN))。作者首先探索了有限数量随机数生成的随机网络的表征能力。实验表明,即使网络由有限数量的随机数生成,通过选择不同的子网络结构,其依然具有很好的表征能力。


通过这种探索性实验,作者自然地提出使用一组有限数量随机数作为 prototype,结合一组 mask 来表达一个神经网络。因为有限数量的随机数和二值的 mask 占用很少的储存空间,作者以此来提出一种新的思路来进行网络压缩。文章已被 NeurIPS 2022 接受。代码已开源。




1. 相关研究


MIT 研究人员提出彩票假说 Lottery Ticket Hypothesis (ICLR’19):在一个随机初始化网络中,存在一个彩票子网络(winning ticket)在被单独训练的情况下达到很好的效果。彩票假说探索了随机稀疏网络的可训练性。Uber 研究人员提出 Supermask (NeurIPS’19):在一个随机初始化网络中,存在一个子网络,可以直接用来做推断而不需要训练。Supermask 探索了随机稀疏网络的可用性。华盛顿大学研究人员提出 Edge-Popup (CVPR’20):通过反向传播学习子网络的 mask,大幅提升了随机稀疏网络的可用性。


2. 研究动机 / 流程


以上相关研究从不同角度探索了随机稀疏网络的潜力,如可训练性和可用性,其中可用性也可以理解为表征能力。在此工作中,作者感兴趣的是由随机数生成的神经网络在不训练权重的情况下有多强的表征能力。随着对该问题的探索,作者提出了 Parameter-Efficient Masking Networks (PEMN)。自然地,作者运用 PEMN 为网络压缩提供了一种新的思路,并作为一个例子对 PEMN 的潜在应用场景进行探索。


3. 探索随机数构成的神经网络的表征能力


给定一个随机网络,作者选择 Edge-Popup 算法在其中选择子网络来探索其表征能力。不同的是,相对于对整个网络进行随机初始化,作者提出了三种参数集约型的网络生成策略来使用一个 prototype 构建随机网络。


  • One-layer: 选择网络中重复结构的权重作为 prototype 来填充其他的与之结构相同的网络层。
  • Max-layer padding (MP): 选择参数量最多的网络层作为 prototype 并且截断相应的参数量来填充其他网络层。
  • Random vector padding (RP): 选择一定长度的随机向量作为 prototype 并对其进行复制来填充整个网络。



三种不同的随机网络生成策略把网络中不重复参数值(unique values)的数量逐步变小,我们基于不同策略得到的随机网络来选择子网络,从而探索了有限数量随机数生成的随机网络的表征潜力。



上图展示了使用 ConvMixer 和 ViT 网络 CIFAR10 图像分类的实验结果。Y 轴为准确率,X 轴为使用不同策略得到的随机网络。随之 X 轴的变大,随机网络中不重复随机数数量逐渐变小 (RP 后的数字表示相比较于 MP,RP 中不重复随机数数量的比例)。


根据实验结果,我们观察到即使随机网络只有非常有限的不重复随机数(比如 PR_1e-3),依然可以很好的维持选择出来的子网络的表征能力。至此,作者通过不同的随机网络生成策略,探索了有限数量随机数构成的神经网络的表征能力并观察到即使不重复随机数非常有限,其对应的随机网络依然可以很好地对数据进行表征。


同时作者基于这些随机网络生成策略,结合所得到的子网络掩码,提出了 Parameter-Efficient Masking Networks(PEMN)这种新的神经网络类型。


4. 一种新的网络压缩思路


本文选择了神经网路压缩为例来拓展 PEMN 的潜在应用。具体来说,文中所提出的不同随机网络生成策略可以高效的使用 prototype 来代表完整的随机网络,尤其是最细粒度的 random vector padding (RP)策略。


作者使用 RP 策略中的随机向量 prototype 和与之对应的一组子网络掩码来表示一个随机网络。在其中 prototype 需要保存浮点数格式,而掩码只需要保存成二值格式。因为 RP 中的 prototype 长度可以很短(因为有限数量的不重复随机数仍有很强的表征能力),所以表示一个神经网络的开销会变得很小,即储存一个长度有限的浮点数格式的随机向量和一组二值格式的掩码。相比较于传统的稀疏网络储存子网络的浮点值,本文提出了一种新的网络压缩思路用来高效的储存和传输神经网络。



在上图中,作者使用 PEMN 对网络进行压缩并与传统的网络剪枝方法进行对比。实验使用 ResNet 网络在 CIFAR 数据集做图像分类任务。我们观察到,新的压缩方案表现普遍优于传统的网络剪枝,尤其是在很高的压缩率下,PEMN 仍然可以维持较好的准确率。


5. 结论


本文受近来随机网络展现出来的潜力所启发,提出不同种参数集约策略来构建随机神经网络,进而探索了在只有有限的不重复随机数的情况下所生成的随机神经网络的表征潜力,并提出参数集约型掩码网络 Parameter-Efficient Masking Networks (PEMN)。作者将 PEMN 应用到网络压缩的场景中探索了其在实际应用方面的潜力并且为网络压缩提供了一种新的思路。作者提供了广泛的实验,表明即使随机网络中只有非常有限的不重复随机数,通过子网络的选择,其依然有较好的表征能力。此外,相比较于传统剪枝算法,实验表明新提出的方法可以取得更好的网络压缩效果,验证了 PEMN 在该场景下的应用潜力。

相关文章
|
3月前
|
消息中间件 存储 Serverless
函数计算产品使用问题之怎么访问网络附加存储(NAS)存储模型文件
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
24 3
|
5天前
|
存储 网络协议 安全
软件管理,磁盘存储,文件系统以及网络协议
【11月更文挑战第9天】本文介绍了软件管理、磁盘存储和网络协议等内容。软件管理包括软件生命周期管理和软件包管理,涉及需求分析、设计、实现、测试、发布、维护等阶段,以及软件包的安装、升级和依赖关系处理。磁盘存储部分讲解了磁盘的物理结构、分区与格式化、存储管理技术(如 RAID 和存储虚拟化)。网络协议部分涵盖了分层模型、重要协议(如 HTTP、TCP、IP)及其应用与安全。
|
15天前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
2月前
|
数据采集 存储 JavaScript
构建您的第一个Python网络爬虫:抓取、解析与存储数据
【9月更文挑战第24天】在数字时代,数据是新的金矿。本文将引导您使用Python编写一个简单的网络爬虫,从互联网上自动抓取信息。我们将介绍如何使用requests库获取网页内容,BeautifulSoup进行HTML解析,以及如何将数据存储到文件或数据库中。无论您是数据分析师、研究人员还是对编程感兴趣的新手,这篇文章都将为您提供一个实用的入门指南。拿起键盘,让我们开始挖掘互联网的宝藏吧!
|
1月前
|
存储 网络协议 数据挖掘
|
1月前
|
网络协议 网络架构
【第三期】计算机网络常识/网络分层模型与数据包封装传输过程
【第三期】计算机网络常识/网络分层模型与数据包封装传输过程
45 0
|
3月前
|
存储 网络协议 搜索推荐
在Linux中,如何配置和管理虚拟机的网络和存储?
在Linux中,如何配置和管理虚拟机的网络和存储?
|
3月前
|
存储 机器学习/深度学习 分布式计算
HDFS与网络附加存储(NAS)的比较
【8月更文挑战第31天】
95 0
|
3月前
|
数据采集 存储 JavaScript
构建你的首个Python网络爬虫:抓取、解析与存储数据
【8月更文挑战第31天】在数字时代的浪潮中,数据成为了新的石油。了解如何从互联网的海洋中提取有价值的信息,是每个技术爱好者的必备技能。本文将引导你通过Python编程语言,利用其强大的库支持,一步步构建出你自己的网络爬虫。我们将探索网页请求、内容解析和数据存储等关键环节,并附上代码示例,让你轻松入门网络数据采集的世界。

热门文章

最新文章