侵权投诉

神经网络在FPGA上的应用:深度压缩方法

39度创意研究所 2020-11-21 11:00 次阅读

引言

这篇论文来自文章也帮助深鉴科技在国内外获得了一定知名度。深度压缩首先通过剪枝减少了网络的连接,然后通过比特量化来降低权重量,最后通过无损压缩方式霍夫曼编码来缩小存储空间。作者分别对AlexNet和VGG-16进行了实验,获得了35倍和49倍的压缩量,而且精度几乎没有损失。

1. 原理

深度压缩之所以获得成功主要是结合了三种压缩方法:剪枝,量化和无损压缩霍夫曼编码,而且在大的数据集和深度神经网络中获得了较高压缩比以及精度未降。前两种方法不仅仅降低了权重数量,也提高了计算速率。而霍夫曼编码只是能够降低存储空间,在实际计算的时候还需要进行解码操作,实际上不会提高计算率。

以上三种方法用图来表示为三个过程:

 

 

这三个方法一次顺序进行,每个过程都单独进行。

2. 剪枝

首先进行剪枝操作,也是很传统的方法,就是通过一定策略来过滤掉一些不重要的神经网络连接。然后再重新训练进行参数微调,不断重复这个过程直到不能够再进行剪枝为止。剪枝后的神经网络连接大大减少,剩下的都是对网络分类有最重要贡献的连接。其他被剪掉的连接的参数很小,产生的数值对结果影响可以通过重新训练来微调其他参数而弥补。在imageNet数据集上,剪枝方法可以将AlexNet的参数数量减少9倍而没有精度上的损失。VGG-16同样有类似的现象,参数总量可以减少13倍左右而没有精度损失。

 

 

 

 

3. 量化

接下来在剪枝网络上做进一步量化操作。基本思路是权重共享和聚类。假设给定了k个类,这是权重参数量化后可能产生的k个值,然后对权重执行聚类操作,聚类方法选择了k-means方式。然后会得到k个区间,这些权重参数都分布在这k个区间中。然后用对应k个区间的数值来替代原来的权重数据。K个数值通常需要log2(k)比特来表示。这样就从原来的32bit降低到了log2(k)。

以下为k-means方法的目标函数:

 

 

作者在同一层网络上进行权重共享,不同层之间的权重分别进行聚类。为什么不同层之间的权重不能够进行共享?可以这样想,权重之所以可以共享和量化,是因为其表达的信息有一些共性,从数学上看同一层权重之间是以“求和”方式连接的,而不同层时间是“相乘”关系,后者有一定顺序性,无法做到共享。否则会导致较高错误率,而且层与层之间还有激活函数,归一化函数,不能简单的进行共享。

训练也进行了量化,在原来权重求得梯度值基础上进行同样的聚类和量化操作,然后对量化的权重进行微调得到新的值。过程如下图所示。这里作者并不是用未量化的梯度来更新权重,用量化的梯度来更新可以减少训练迭代,在这里只进行了两次训练,第一次先训练出初始权重数据,第二次是用量化的梯度更新权重。

 

 

4. 霍夫曼编码

神经网络在FPGA上部署通常需要大量的缓存,为了降低缓存空间,霍夫曼编码进一步来压缩权重。霍夫曼编码是一种无损编码,其通过数据的重复率来进行数据重新编码,重复率高的用少的比特,重复率少的用多的比特,这样就降低了数据存储空间。虽然霍夫曼编码能压缩2到3倍权重,但是并不适合在FPGA上实现。因为霍夫曼解码要消耗大量资源,同时霍夫曼解码是单bit进行解析,速度较慢。这些都不利于FPGA上加速深度神经网络。

5. 实验结果

作者主要在AlexNet和VGG-16上进行了尝试,结果如图:

 

 

从结果中可以获得以下结论:
1) 全连接层的剪枝和量化都很大,说明全连接层信息有很大冗余;
2) 越深的网络压缩比例越大;

结论

本文介绍了深度压缩方法,其结合了剪枝,量化和霍夫曼编码的方式来最大限度降低权重数据量,这种方法促进了深度神经网络在FPGA器件上的应用能力。

编辑:hfy


收藏 人收藏
分享:

评论

相关推荐

FPGA知识详解之基础篇的技术分享

上海润欣科技股份有限公司创研社 1.Verilog基础语法 1.1 可综合模块 以module为单元....
的头像 润欣科技Fortune 发表于 11-30 11:37 55次 阅读
FPGA知识详解之基础篇的技术分享

FPGA技术分享:FPGA杂记之基础篇

上海润欣科技股份有限公司创研社 Verilog基础语法 1.1 可综合模块 以module为单元,具....
的头像 润欣科技Fortune 发表于 11-30 11:31 38次 阅读
FPGA技术分享:FPGA杂记之基础篇

基于RBF神经网络的照明定量计算数据实现提高照明精度的设计

在建筑电气设计中,照明计算往往是极其繁琐的,他不仅计算量大,而且常是枯燥的重复计算,需要查阅大量的数....
的头像 电子设计 发表于 11-30 10:15 69次 阅读
基于RBF神经网络的照明定量计算数据实现提高照明精度的设计

采用FPGA芯片EPM7032和VHDL语言实现自动交通系统的应用方案

随着微电子技术的迅猛发展,可编程逻辑器件从20世纪70年代发展至今,其结构、工艺、集成度、功能、速度....
发表于 11-30 10:10 40次 阅读
采用FPGA芯片EPM7032和VHDL语言实现自动交通系统的应用方案

紫光同创:正在研发28nm、40nm系列新产品

近日,紫光同创在接受天风证券调研时对外表示,公司FPGA产品已经应用于通信领域,主要应用场景有2G语....
的头像 我快闭嘴 发表于 11-30 09:25 70次 阅读
紫光同创:正在研发28nm、40nm系列新产品

FPGA设计的8大重要知识点

要求一个同时具备设计面积最小、运行频率最高是不现实的。更科学的设计目标应该是在满足设计时序要求(包括....
的头像 FPGA之家 发表于 11-29 10:58 179次 阅读
FPGA设计的8大重要知识点

中国科学院提出类果蝇决策的脉冲神经网络模型,人工智能实现趋利避害的行为

选择分轻重,更分难易。简单选择只需根据目标做出判断,但对于两难选择来说,则是一种更复杂的思考和抉择。....
的头像 工程师邓生 发表于 11-29 10:00 276次 阅读
中国科学院提出类果蝇决策的脉冲神经网络模型,人工智能实现趋利避害的行为

英特尔软件布局的三大策略

几年前,英特尔启动了“以数据为中心”的转型,这是一场自我革命的战役,而战役背后的六大秘密武器起到了关....
的头像 我快闭嘴 发表于 11-28 10:55 1106次 阅读
英特尔软件布局的三大策略

基于Verilog硬件描述语言实现SHA-1算法的设计

单向散列函数是密码学中一种重要的工具,它可以将一个较长的位串映射成一个较短的位串,同时它的逆函数很难....
的头像 电子设计 发表于 11-28 10:16 432次 阅读
基于Verilog硬件描述语言实现SHA-1算法的设计

FPGA在医疗设备中有什么样的作用

FPGA(现场可编辑门阵列)作为赛灵思(Xilinx)的一项重要发明,以其可编程和灵活性著称。起初,....
的头像 Wildesbeast 发表于 11-28 10:01 307次 阅读
FPGA在医疗设备中有什么样的作用

使用多种EDA工具实现FPGA设计流程的详细资料说明

本文介绍了FPGA的完整设计流程,其中包括电路设计与输入、功能仿真、综合优化、综合后仿真、实现与布局....
发表于 11-27 17:57 53次 阅读
使用多种EDA工具实现FPGA设计流程的详细资料说明

你要的C6678+K7视频采集处理方案,这里全都有!内含源码!!!

在Kintex-7 FPGA上搭建MicroBlaze软核,并由MicroBlaze配置PAL视频模....
发表于 11-27 17:01 233次 阅读
你要的C6678+K7视频采集处理方案,这里全都有!内含源码!!!

高云半导体:打破国产汽车级FPGA芯片的空白

2021中国IC风云榜“年度新锐公司”征集现已启动!入围标准要求为营收过亿元的未上市、未进入IPO辅....
的头像 我快闭嘴 发表于 11-27 15:09 342次 阅读
高云半导体:打破国产汽车级FPGA芯片的空白

FPGA基础篇:Verilog基础语法

可综合模块最终生成的bit文件会烧录进芯片运行,而仿真模块编译过后是在仿真软件(例如modelsim....
发表于 11-27 14:27 203次 阅读
FPGA基础篇:Verilog基础语法

多层感知器的人工神经网络解析

人工神经网络(ANN)是一种从信息处理角度对人脑神经元网络进行抽象从而建立的某种简单模型,按不同的连....
发表于 11-27 12:01 134次 阅读
多层感知器的人工神经网络解析

在医疗设备中,FPGA能用在什么地方

FPGA(现场可编辑门阵列)作为赛灵思(Xilinx)的一项重要发明,以其可编程和灵活性著称。起初,....
的头像 Les 发表于 11-27 11:29 417次 阅读
在医疗设备中,FPGA能用在什么地方

电源管理芯片市场再起风云

近日,IC设计厂商联发科通过旗下立锜斥资8500万美元收购英特尔旗下Enpirion电源管理芯片产品....
的头像 我快闭嘴 发表于 11-27 10:52 402次 阅读
电源管理芯片市场再起风云

最常见的4个神经网络错误是什么?

点击上方,选择星标或置顶,每天给你送干货 ! 阅读大概需要5分钟 跟随小博主,每天进步一丢丢 作者丨....
的头像 深度学习自然语言处理 发表于 11-27 10:49 134次 阅读
最常见的4个神经网络错误是什么?

如何让PyTorch模型训练变得飞快?

让我们面对现实吧,你的模型可能还停留在石器时代。我敢打赌你仍然使用32位精度或GASP甚至只在一个G....
的头像 深度学习自然语言处理 发表于 11-27 10:43 183次 阅读
如何让PyTorch模型训练变得飞快?

为什么半监督学习是机器学习的未来?

为什么半监督学习是机器学习的未来。 监督学习是人工智能领域的第一种学习类型。从它的概念开始,无数的算....
的头像 深度学习自然语言处理 发表于 11-27 10:42 117次 阅读
为什么半监督学习是机器学习的未来?

卷积神经网络CNN的简单理论介绍

好久不见各位亲们,从上半年毕业到现在各方面开始步入正常轨迹,也开始有时间写点文章了,后续开始陆续更新....
的头像 自然语言处理爱好者 发表于 11-27 10:34 147次 阅读
卷积神经网络CNN的简单理论介绍

Xilinx FPGA设计进阶(提高篇)

发表于 11-27 10:00 101次 阅读
Xilinx FPGA设计进阶(提高篇)

FPGA器件在医疗领域的应用分类

FPGA(现场可编辑门阵列)作为赛灵思(Xilinx)的一项重要发明,以其可编程和灵活性著称。起初,....
发表于 11-27 09:38 243次 阅读
FPGA器件在医疗领域的应用分类

电路设计经常会出现的八大误区详细说明

我们常常会发现,自己想当然的一些规则或道理往往会存在一些差错。电子工程师在电路设计中也会有这样的例子....
发表于 11-27 08:00 97次 阅读
电路设计经常会出现的八大误区详细说明

ACAP的主要架构创新解析

2019年“国际研讨会”上,发表了两篇长论文,详细介绍了“自适应计算加速平台”ACAP的系统架构和技术细节。本文将对ACAP...
发表于 11-27 07:30 0次 阅读
ACAP的主要架构创新解析

图神经网络逆势而上,7日学懂入门图

要问这几年一直在逆势而上的技术有哪些?你一定不会忽略它图神经网络。 相比传统神经网络,图神经网络的优....
的头像 算法与数据结构 发表于 11-26 13:54 147次 阅读
图神经网络逆势而上,7日学懂入门图

芯华章发布高性能多功能可编程适配解决方案“灵动”

2020年11月26日,EDA(电子设计自动化)智能软件和系统领先企业芯华章今日发布高性能多功能可编....
的头像 我快闭嘴 发表于 11-26 12:27 368次 阅读
芯华章发布高性能多功能可编程适配解决方案“灵动”

一种基于DSP与FPGA实现场发射平板显示器视频信号处理系统的方案

发表于 11-26 11:42 404次 阅读
一种基于DSP与FPGA实现场发射平板显示器视频信号处理系统的方案

基于APEX20K和ARM7 TDMI-S微处理器实现通用智能传感器IP核的设计

设置数据通信接口主要是考虑芯片还可以同外部CPU或网络构成更加复杂的测控系统。为了方便芯片的设计,节....
的头像 电子设计 发表于 11-26 10:11 1010次 阅读
基于APEX20K和ARM7 TDMI-S微处理器实现通用智能传感器IP核的设计

基于FPGA Virtex-4器件实现直接时钟控制技术方案的设计

大多数存储器接口都是源同步接口,从外部存储器器件传出的数据和时钟/ 选通脉冲是边沿对齐的。在 Vir....
发表于 11-26 10:01 198次 阅读
基于FPGA Virtex-4器件实现直接时钟控制技术方案的设计

如何移植一个CNN神经网络到FPGA中?

训练一个神经网络并移植到Lattice FPGA上,通常需要开发人员既要懂软件又要懂数字电路设计,是个不容易的事。好在FPGA厂...
发表于 11-26 07:46 0次 阅读
如何移植一个CNN神经网络到FPGA中?

请问FPGA在人工智能时代有哪些独特的优势?

  什么是暗硅效应   FPGA:解决暗硅效应的有效途径   使用FPGA的独特优势是什么   什么是Catapult项目   ...
发表于 11-26 06:36 0次 阅读
请问FPGA在人工智能时代有哪些独特的优势?

快速简单的FPGA异构计算

发表于 11-25 18:00 40次 阅读
快速简单的FPGA异构计算

基于可编程逻辑器件和IPX2805实现SPI4.2接口电路的设计

SPI-4.2(System Packet Interface)是 OIF(Optical Inte....
发表于 11-25 17:19 525次 阅读
基于可编程逻辑器件和IPX2805实现SPI4.2接口电路的设计

关于语音驱动3D虚拟人性能介绍

Speech2Video 是一种从语音音频输入合成人体全身运动(包括头、口、臂等)视频的任务,其产生....
的头像 lhl545545 发表于 11-25 16:26 173次 阅读
关于语音驱动3D虚拟人性能介绍

FPGA加速的厉害之处在哪里?

轰轰烈烈的双十一落下了帷幕,2020年的双十一成绩依旧斐然。天猫11月11日0点刚过,天猫双11的订....
的头像 EDA365 发表于 11-25 11:17 274次 阅读
FPGA加速的厉害之处在哪里?

深度神经网络是为人工智能的重要基石

深度神经网络是一种使用数学模型处理图像以及其他数据的多层系统,而且目前已经发展为人工智能的重要基石。
的头像 电子魔法师 发表于 11-25 09:50 408次 阅读
深度神经网络是为人工智能的重要基石

MCU在边缘和节点设计中实现AI功能的三种方法详细说明

AI:Artificial Intelligence,即人工智能。 AI 与我们息息相关,手机导航、....
发表于 11-25 09:39 28次 阅读
MCU在边缘和节点设计中实现AI功能的三种方法详细说明

fpga程序烧写问题

各位大佬,我自己做的一个板子用的是ep4ce15m8i7芯片,在使用JTAG烧写的时候提示Error (209014): CONF_DONE pin ...
发表于 11-25 08:44 125次 阅读
fpga程序烧写问题

基于ARM和FPGA的微加速度计数据采集设计方案

加速度计是一种应用十分广泛的惯性,它可以用来测量运动系统的加速度。目前的加速度计大多采用微机电技术(MEMS)进行设计和...
发表于 11-25 06:17 0次 阅读
基于ARM和FPGA的微加速度计数据采集设计方案

FPGA技术的学习课件免费下载

硬件版图如何设计选择哪些芯片1,常用芯片的功能和电气特性都很熟悉设计电路原理图2,个别功能不知道需要....
发表于 11-24 18:08 116次 阅读
FPGA技术的学习课件免费下载

Intel付得起xPU的巨额尾款吗?

一波还未平息,一波再起,Intel继续扩张其xPU阵营! 上回,笔者说道Intel正在利用xPU+o....
的头像 璟琰乀 发表于 11-24 16:52 404次 阅读
Intel付得起xPU的巨额尾款吗?

新型快速方法将增强神经网络在数据中预测其答案

深度学习神经网络是一种人工智能系统,正在被用于越来越重要的决策,例如从自动驾驶到诊断医疗条件等各种任....
的头像 如意 发表于 11-24 14:58 235次 阅读
新型快速方法将增强神经网络在数据中预测其答案

华为FPGA设计规范

发表于 11-24 14:42 202次 阅读
华为FPGA设计规范

基于可编程逻辑器件实现八位微处理器软核的设计

SoC(SystemonaChip)以其高集成度,低功耗等优点越来越受欢迎。开发人员不必从单个逻辑门....
发表于 11-24 14:37 404次 阅读
基于可编程逻辑器件实现八位微处理器软核的设计

基于Xilinx Kintex-7系列FPGA高端设计的TLK7-EVM评估板简介

基于Xilinx Kintex-7系列FPGA高端设计的TLK7-EVM评估板简介 TLK7-EVM评估板简介创龙科技TLK7-EVM是一款...
发表于 11-24 11:31 202次 阅读
基于Xilinx Kintex-7系列FPGA高端设计的TLK7-EVM评估板简介

基于主动学习的半监督图神经网络模型来对分子性质进行预测方法

总体来讲,本文使用教师模型和学生模型来迭代训练。每个模型都是一个图神经网络。在教师模型中,使用半监督....
的头像 深度学习自然语言处理 发表于 11-24 09:59 138次 阅读
基于主动学习的半监督图神经网络模型来对分子性质进行预测方法

Hinton的那篇Capsule论文终于揭下了神秘的面纱

而当前的深度学习理论,自从Hinton大神在2007年(先以受限玻尔兹曼机进行训练、再用有监督的反向....
的头像 深度学习自然语言处理 发表于 11-24 09:56 208次 阅读
Hinton的那篇Capsule论文终于揭下了神秘的面纱

NLP中的自监督表示学习

在这个公式中,我们取三个连续的句子,设计一个任务,其中给定中心句,我们需要生成前一个句子和下一个句子....
的头像 深度学习自然语言处理 发表于 11-24 09:52 156次 阅读
NLP中的自监督表示学习

微软亚洲研究院的研究员们提出了一种模型压缩的新思路

近日,来自微软亚洲研究院自然语言计算组的研究员们提出了一种与显式地利用蒸馏损失函数来最小化教师模型与....
的头像 深度学习自然语言处理 发表于 11-24 09:48 251次 阅读
微软亚洲研究院的研究员们提出了一种模型压缩的新思路

如何去掉batch normalization层来加速神经网络

一旦训练结束,每个Batch normalization层都拥有一组特定的γ和β,还有μ和σ,后者在....
的头像 深度学习自然语言处理 发表于 11-24 09:45 117次 阅读
如何去掉batch normalization层来加速神经网络

GNN教程:GraghSAGE算法细节详解!

这一节讨论的是如何给图中的节点生成(或者说更新)embedding, 假设我们已经完成了GraphS....
的头像 深度学习自然语言处理 发表于 11-24 09:32 124次 阅读
GNN教程:GraghSAGE算法细节详解!

NetApp使用AI的漂亮描述作为数据管道

NetApp使用AI的漂亮描述作为数据管道。由于我们是合作伙伴,因此我将毫不客气地窃取该描述。管道始....
的头像 倩倩 发表于 11-23 14:59 452次 阅读
NetApp使用AI的漂亮描述作为数据管道

Deep Vision退出隐身模式,并启动其ARA-1推理处理器

Deep Vision首席执行官Ravi Annavajjhala说:“当今复杂的AI工作负载不仅需....
的头像 倩倩 发表于 11-23 14:47 201次 阅读
Deep Vision退出隐身模式,并启动其ARA-1推理处理器

一种新的AI工具可以准确地将患者区分开来

该系统的开发人员来自费恩斯坦医学研究所,Northwell Health和纽约霍夫斯特拉大学的研究人....
的头像 倩倩 发表于 11-21 09:33 340次 阅读
一种新的AI工具可以准确地将患者区分开来

如何实现FPGA构建环境的自动化

与此同时,MLE 也面向 PetaLinux 和赛灵思软件开发套件 (XSDK) 发布了一套易用型 ....
的头像 电子发烧友网工程师 发表于 11-20 16:47 277次 阅读
如何实现FPGA构建环境的自动化

FPGA有五大热点市场,65nm产品组合发挥效益

业界涌现的大量发展趋势暗示着我们已经发展到了一个关键点。例如,在通信领域,世界上很多系统和基础设备公....
的头像 电子发烧友网工程师 发表于 11-20 16:43 254次 阅读
FPGA有五大热点市场,65nm产品组合发挥效益

从SWOT分析当前国内发展FPGA的前景

总体来看,虽然目前中国在FPGA这个领域比国外的主流厂商还存在很大差距,但是考虑到中国经济的发展和综....
的头像 电子发烧友网工程师 发表于 11-20 16:30 317次 阅读
从SWOT分析当前国内发展FPGA的前景

FPGA从幕前走向幕后成为辅助运算的角色

而与FPGA相对的,就是不可编程的芯片方案,这也是市场的主流形式,就是所谓的ASIC(Applica....
的头像 电子发烧友网工程师 发表于 11-20 16:24 320次 阅读
FPGA从幕前走向幕后成为辅助运算的角色

TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP411设备是一个带有内置本地温度传感器的远程温度传感器监视器。远程温度传感器,二极管连接的晶体管通常是低成本,NPN或PNP型晶体管或二极管,是微控制器,微处理器或FPGA的组成部分。 远程精度为±1 °C适用于多个设备制造商,无需校准。双线串行接口接受SMBus写字节,读字节,发送字节和接收字节命令,以设置报警阈值和读取温度数据。 TMP411器件中包含的功能包括:串联电阻取消,可编程非理想因子,可编程分辨率,可编程阈值限制,用户定义的偏移寄存器,用于最大精度,最小和最大温度监视器,宽远程温度测量范围(高达150°C),二极管故障检测和温度警报功能。 TMP411器件采用VSSOP-8和SOIC-8封装。 特性 ±1°C远程二极管传感器 ±1°C本地温度传感器 可编程非理想因素 串联电阻取消 警报功能 系统校准的偏移寄存器 与ADT7461和ADM1032兼容的引脚和寄存器 可编程分辨率:9至12位 可编程阈值限...
发表于 09-19 16:35 223次 阅读
TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器

TMP468器件是一款使用双线制SMBus或I 2 C兼容接口的多区域高精度低功耗温度传感器。除了本地温度外,还可以同时监控多达八个连接远程二极管的温度区域。聚合系统中的温度测量可通过缩小保护频带提升性能,并且可以降低电路板复杂程度。典型用例为监测服务器和电信设备等复杂系统中不同处理器(如MCU,GPU和FPGA)的温度。该器件将诸如串联电阻抵消,可编程非理想性因子,可编程偏移和可编程温度限值等高级特性完美结合,提供了一套精度和抗扰度更高且稳健耐用的温度监控解决方案。 八个远程通道(以及本地通道)均可独立编程,设定两个在测量位置的相应温度超出对应值时触发的阈值。此外,还可通过可编程迟滞设置避免阈值持续切换。 TMP468器件可提供高测量精度(0.75°C)和测量分辨率(0.0 625°C)。该器件还支持低电压轨(1.7V至3.6V)和通用双线制接口,采用高空间利用率的小型封装(3mm×3mm或1.6mm×1.6mm),可在计算系统中轻松集成。远程结支持-55°C至+ 150°C的温度范围。 特性 8通道远程二极管温度传感器精度:±0.75&...
发表于 09-18 16:05 148次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器