网络轻量化的方法(低秩分解、权重量化、权重剪枝/稀疏化、结构化剪枝/稀疏化和神经网络架构学习)

2023-12-20 04:22:02

深度卷积神经网络轻量化技术综述

在现代深度学习应用中,轻量化神经网络已成为一个至关重要的研究领域。以下是一些主要的轻量化方法:

低秩分解: 通过技术如奇异值分解(SVD)将神经网络中的权重矩阵近似为低秩矩阵。这种方法特别适合于全连接层,能实现约3倍的模型大小压缩,但由于CNN的计算运算主要来源于卷积层,它并没有显著加速。

权重量化: HashNet 提出了对于网络权重进行量化的方法。在训练前,网络权重通过哈希到不同组内,并且每组内权重共享。这样一来,只需存储共享权重和哈希索引,因此能节省大量存储空间。通过深度压缩流水线的改进量化技术,可以在AlexNet和VGGNet上实现35到49倍的压缩率。然而,这些技术既不能节省运行时内存,也无法缩短推理时间,因为在推理期间需要将共享权重还原到它们原来的位置。

权重剪枝/稀疏化: 提出了剪掉训练后神经网络中不重要的小权重连接。这样结果中网络的权重大多数是零,因此可以通过以稀疏格式存储模型来减少存储空间。然而,这些方法只有在有专用的稀疏矩阵操作库和/或硬件支持的情况下才能实现加速。由于大部分内存空间被密集的激活图所消耗而不是权重,运行时内存节省也非常有限。

结构化剪枝/稀疏化: 最近有研究提出在训练完成的CNN中剪除输入权重较小的通道,然后微调网络以恢复精度。另一项工作在训练前通过随机停用卷积层的输入输出通道之间的连接来引入稀疏性,这也能在一定程度上损失准确性的情况下获得更小的网络。与这些工作相比,我们通过在训练中直接在优化目标中强制通道级稀疏性,导致更平滑的通道剪枝过程和较小的精度损失。

神经网络架构学习: 虽然当前的顶级CNN通常由专家设计,但也有一些自动学习网络架构的尝试。一些最新的工作提出用强化学习自动学习神经结构。这些方法的搜索空间非常大,因此需要训练数以百计的模型以区分好坏。网络瘦身也可以被视为一种架构学习方法,尽管选择是限于每层的宽度。然而,与上述方法不同的是,网络瘦身只通过一个训练过程学习网络架构,这符合我们的效率目标。

轻量化是实现在资源受限的硬件上部署复杂深度学习模型的关键技术。这些方法展示的策略,从精简单个权重到重构网络架构,都旨在在尽可能少地牺牲性能的同时减少模型的体积和加快推理速度。随着研究的深入,轻量化技术将继续推动深度学习在边缘设备上的应用和发展。

如果你想更深入地了解人工智能的其他方面,比如机器学习、深度学习、自然语言处理等等,也可以点击这个链接,我按照如下图所示的学习路线为大家整理了100多G的学习资源,基本涵盖了人工智能学习的所有内容,包括了目前人工智能领域最新顶会论文合集和丰富详细的项目实战资料,可以帮助你入门和进阶。

链接: 人工智能交流群【最新顶会与项目实战】(点击跳转)

在这里插入图片描述

文章来源:https://blog.csdn.net/m0_73916791/article/details/135087412
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。