💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
# 神经网络模型的压缩优化 * [1 定义](#1定义) * [2 发展背景](#2发展背景) * [3 优化的两个方向](#3优化的两个方向) * [4 模型压缩优化实例](#4模型压缩优化实例) * [5 有效方法](#5有效方法) * [6 参考链接](#6参考链接) ## 1定义 网络模型压缩,即降低大型神经网络其存储和计算消耗 ## 2发展背景 - 深度学习算法是计算密集型和存储密集型的,为了完成更加复杂的信息处理任务,深度神经网络变得越来越深,也使得其计算量越来越大。这使得它难以被部署到资源有限的嵌入式系统上,然而,手机、车载等移动端应用对深度神经网络的需求越来越多,因而深度神经网络模型的压缩、加速、优化变的越来越重要。 ## 3优化的两个方向 - 1、通过减少参数数量,达到模型压缩的目的。而压缩基于一个很重要的理论,即神经网络模型通常是过参数化的,也就是说,通常不需要那么多参数 就可以表达出模型特征。 - 2、通过节省计算,降低计算量,达到模型运算加速的目的。 ## 4模型压缩优化实例 - 例子:比如在对图像分类的时候,随着层级的增加,应该把图像的空间分辨率慢慢缩小,但这同时也需要增加每一层中的filter 数。另外实践中发现用小的filter 是更经济的,还有用Low-rank分解逼近的方法也比较有效。 ## 5有效方法 在深度神经网络模型加速和压缩方面的几个有效方法: 1、[剪枝](剪枝.md) 研究表明网络中很多连接都是接近0或者冗余的,如何对这些参数进行稀疏就变的很有意义。但并不是只要剪枝就一定会提高运算速度。原因是如果剪枝过于随机,并不能有效提升运算速度。所以需要结构化剪枝(structured pruning)。 2、[低秩分解](低秩分解.md) 有很多种分解方法,比如奇异值分解、tucker分解、块分解。 3、[权值量化](权值量化.md) 通常神经网络中的权值一般用单精度的浮点数表示,需要占用大量的存储空间。而用码书对权值进行量化可以共享权值,从而减轻存储负担。 4、用定点来代替浮点数计算。 ## 6参考链接 [ VALSE 2017 | 神经网络模型压缩优化方法](https://blog.csdn.net/electech6/article/details/72822009) [神经网络压缩:Deep Compression](https://blog.csdn.net/shuzfan/article/details/51383809) [当前深度神经网络模型压缩和加速方法速览](https://blog.csdn.net/touch_dream/article/details/78441332)