IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 论文理解--DEEP COMPRESSION -> 正文阅读

[人工智能]论文理解--DEEP COMPRESSION

原文链接
https://github.com/mit-han-lab/amc/security
https://zhuanlan.zhihu.com/p/108096347
https://zhuanlan.zhihu.com/p/510905067

摘要
结论:
1、deep compression:由三阶段pipeline组成:pruning(剪枝)、 trained quantilization()、Huffman coding(哈夫曼编码)
2、通过deep compression,在不损失模型精度的前提下可以减少35-49倍的神经网络存储
3、首先通过学习神经网络的重要连接对网络进行剪枝,然后通过trained quantization 对剩下的connections进行量化。基于ImageNet数据集在网络AlexNet和VGG-16上进行试验,效果显著,提升了on-chip SRAM cache(静态随机存储)的使用,降低了off-chip DRAM memory(动态随机存储的使用)
4、同时使用 deep compression 技术使得复杂网络可以应用在移动端。同时能够加速和提高功耗利用率

一、引言
three-stage deep compression pipeline
二、网络剪枝
网络剪枝被广泛研究应用在压缩CNN。最早是用来降低网络复杂度和防止过拟合。本文研究它用于无损精度压缩网络。
weight sharing(权值共享):权值共享是指学习到的局部信息可以应用到图像中的其他地方上去。例如用一个卷积核卷积整幅图像,每个卷积核在图像上是不断重复的,这些重复的卷积核共享着相同的参数设定(weights和bias)。
本文中权值共享的方案如下:
在这里插入图片描述
1、采用Compressed sparse row(CSR)或者 Compressed sparse column(CRC)存储剪枝后的稀疏矩阵
2、稀疏矩阵的存储至少需要2a + n + 1个存储单元,其中a表示非零元素的数量,n是行或者列的数量。
3、为了进一步压缩我们保存元素的相对索引,而不是坐标。对于conv层,采用8bit存储。对于fc层采用5bit存储
4、当相对索引的位置超出存储范围,如下图所示,我们采用0 padding的方法解决。
在这里插入图片描述
三、训练量化和权值共享
压缩率的计算公式:
为了衡量压缩率,对于k个cluster ,仅仅需要 log2(k)个bit存储索引。因此对于一个网络连接数是n,每个连接用b个bit表示,共享权值数量是k时,压缩率为:
在这里插入图片描述

3.1权值共享
对训练网络的每一层采用K-means聚类算法进行权值共享,因此同一个簇中的权值是相同的,并且权值不在网络层之间共享,因此最小化簇内平方和的公式为:

在这里插入图片描述
3.2 初始化权值共享
本文比较了三种初始化权值共享的方法:Forgy(random)、density-based、linear。
Forgy:随机选择k个观察对象以及中心。如图所示,中心点分布较密集
density-based:基于CDF累积分布函数 (cumulative distribution function),在CDF曲线轨迹的线性空间选择中心点。如图,中心点分布较稀疏
linear:在原始权值的最大值和最小值中间选取中心点。如图中心点分布最稀疏。

结论:大权值比小权值影响力更大,但是同时它们的数量更少,因此在Forgy和density-based方法中,非常少的中心位于大权值处,因此不能很好的代表大权值。而linear初始化方法就没有这个问题。基于这三种方法进行聚类和fine-tune并测试准确性,实验表明linear初始化方法表现最好。
在这里插入图片描述
3.3 feed-forward(前馈)和反向传播

一维K-means聚类的中心即共享权值。feed-forward和反向传播的中间过程需要查找共享权值表。对于每个连接都保存了共享权值表的索引。在反向传播阶段计算每个连接的共享权值的梯度,并更新共享权值。该过程在上图中有展示。共享权值的梯度计算如下图所示。
在这里插入图片描述
4、霍夫曼编码(Huffman code)
霍夫曼编码是一种用于数据无损压缩的最优的前缀码。它使用可变长的编码压缩源字符。根据字符出现的概率性成熟表,出现概率越高的字符,需要越短的编码来表示。
下图展示了AlexNet网络最后一层全连接层的量化权值和稀疏矩阵索引的概率分布图。两种分布均有偏差。量化权值分布集中在双峰,稀疏矩阵索引的分布插值几乎不超过20.实验表明使用霍夫曼编码存储这些非均匀分布数据,能够减少20%-30%的网络存储。

5、实验
5.1LeNet-300-100和LeNet-5 在Mnist数据集上的表现:
在这里插入图片描述
在这里插入图片描述

5.2 AleNet在 ImageNet ILSVRC2012数据集上的表现:
在这里插入图片描述
5.3 VGG-16 在ImageNet ILSVRC2012数据集上的表现:
在这里插入图片描述

6、论述
6.1 剪枝和量化协同作用
剪枝、量化作用在模型上,产生的压缩率及相应的精度损失绘制成曲线图,如下所示。实验结果表明剪枝和量化同时作用在模型上时,能获得最低的模型压缩率并且几乎没有精度损失。
SVD算法:奇异值分解算法可以实现降维,把数据集映射到低维空间中。数据集的特征值在SVD中用奇异值来表征,按照重要性排列,降维过程就是舍弃不重要的特征向量的过程,而剩下的特征向量组成的空间即为降维后的空间。
在这里插入图片描述

hica-stream 前期调研。分析竞品。
TS文档:输出调研文档
6.2 中心初始化
实验思路:用不同的bit位表示中心,并使用3.2小节提到的三种初始化中心的方法linear、density,forgy。得到在不同的bit数初始化中心下的top-1和top-5准确率如下图所示。图表明,除了在3bit初始化中心,linear方法的准确率均高于其他两种方法。
linear方法初始化中心优于其他两种方法的原理在3.2小节中说明了,此处不再赘述。
在这里插入图片描述
6.3

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 11:10:19  更:2022-12-25 11:10:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:52:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码