侵权投诉

神经网络在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


收藏 人收藏
分享:

评论

相关推荐

用Verilog写的高分辨率PWM,输出一直是低电平,有人能帮忙改一改吗

用Verilog写的高分辨率PWM,输出一直是低电平,有人能帮忙改一改吗,结构如下图,代码在附件里 ...
发表于 12-02 19:46 0次 阅读
用Verilog写的高分辨率PWM,输出一直是低电平,有人能帮忙改一改吗

基于结构自相似性和形变块特征的单幅图像超分辨率算法

针对单幅图像超分辨率(SR)复原样本资源不足和抗噪性差的问题,提出一种基于结构自相似和形变块特征的单....
发表于 12-02 16:34 7次 阅读
基于结构自相似性和形变块特征的单幅图像超分辨率算法

使用FPGA实现一位全加器的文本输入实验报告资料免费下载

通过此实验了解FPGA 开发软件Quartus II 的使用方法及VHDL 的编程方法,学习用VHD....
发表于 12-02 16:34 6次 阅读
使用FPGA实现一位全加器的文本输入实验报告资料免费下载

使用FPGA和MT9M034实现图像采集显示并存在TF卡的例程免费下载

本文档的主要内容详细介绍的是使用FPGA和MT9M034实现图像采集显示并存在TF卡的例程免费下载。....
发表于 12-02 16:34 8次 阅读
使用FPGA和MT9M034实现图像采集显示并存在TF卡的例程免费下载

基于神经网络的分布式交互指挥系统的方案设计

仁光结合武警总队指挥中心的实际使用情况,采用模块化设计,充分利用各类音视频资源和各类数据资源,持续提....
发表于 12-02 10:47 160次 阅读
基于神经网络的分布式交互指挥系统的方案设计

解码模块的结构原理及如何基于FPGA芯片实现设计

其中读头是整个系统的核心部分,控制整个识别过程中与标签之间的通信,并提供与后台计算机的接口。天线用来....
发表于 12-02 10:13 63次 阅读
解码模块的结构原理及如何基于FPGA芯片实现设计

ASIC和FPGA有什么区别

  1、概念区别:   ASIC(专用集成电路)是一种在设计时就考虑了设计用途的IC。   FPGA(现场可编程门阵列)也...
发表于 12-01 17:41 101次 阅读
ASIC和FPGA有什么区别

微软或将发布深度神经网络语音系列产品

以往,谈及对合成语音的刻板印象,很多人会联想到《星球大战》中的C-3PO那个有着近似人类外形金光闪闪....
的头像 璟琰乀 发表于 12-01 16:23 135次 阅读
微软或将发布深度神经网络语音系列产品

清华大学联合提出了用于半监督学习的图随机神经网络

导读:在 NeurIPS 2020 上,清华大学联合微众银行、微软研究院以及博世人工智能中心提出了 ....
的头像 Les 发表于 12-01 15:25 81次 阅读
清华大学联合提出了用于半监督学习的图随机神经网络

【新技术发布】基于深度神经网络的激光雷达物体识别系统及其嵌入式平台部署

        激光雷达可以准确地完成三维空间的测量,具有抗干扰能力强、信息丰富等优点,但受限于数...
发表于 12-01 12:13 101次 阅读
【新技术发布】基于深度神经网络的激光雷达物体识别系统及其嵌入式平台部署

微软深度神经网络:基于Azure云的端到端语音合成系统

以往,谈及对合成语音的刻板印象,很多人会联想到《星球大战》中的C-3PO那个有着近似人类外形金光闪闪....
的头像 Les 发表于 12-01 11:05 98次 阅读
微软深度神经网络:基于Azure云的端到端语音合成系统

基于EP2C8Q208C7和AD9858实现雷达信号源的应用方案

一般的雷达信号源实现主要有三种方式:第一种方式是采用DDS和MCU控制器件结合的方式;第二种是DDS....
发表于 12-01 10:13 159次 阅读
基于EP2C8Q208C7和AD9858实现雷达信号源的应用方案

芯片制作的故障仿真PDF文件免费下载

• 定义:仿真是指对设计及其功能、性能的建模 • 软件仿真器是EDA软件,也有硬件仿真器,基于大规模....
发表于 12-01 08:00 37次 阅读
芯片制作的故障仿真PDF文件免费下载

如何实现光纤陀螺惯导系统FPGA接口的设计

采用光纤陀螺的捷联惯性导航系统是一种极具发展潜力的导航系统,对于其核心部件的光纤陀螺,尤其是中高精度....
发表于 12-01 02:44 9次 阅读
如何实现光纤陀螺惯导系统FPGA接口的设计

神经网络与感知机的不同讲解

大家好,今天来继续聊聊深度学习。 有同学跟我说很久没有更新深度学习的模型了,倒不是不愿意更新,主要是....
的头像 工程师邓生 发表于 11-30 16:51 103次 阅读
神经网络与感知机的不同讲解

FPGA的设计流程

  FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。FPGA的开发流程一般如图1-10所示,...
发表于 11-30 16:22 101次 阅读
FPGA的设计流程

基于FPGA的DSP技术实现伺服控制器的应用方案与设计

介绍了一种用基于FPGA的DSP技术来设计电液伺服系统控制器的方法。该方法克服了传统伺服控制器的一些....
发表于 11-30 14:02 184次 阅读
基于FPGA的DSP技术实现伺服控制器的应用方案与设计

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

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

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

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

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

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

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

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

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

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

FPGA设计的8大重要知识点

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FPGA基础篇:Verilog基础语法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Xilinx FPGA设计进阶(提高篇)

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

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

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

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

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

ACAP的主要架构创新解析

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

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

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

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

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

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

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

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

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

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

大多数存储器接口都是源同步接口,从外部存储器器件传出的数据和时钟/ 选通脉冲是边沿对齐的。在 Vir....
发表于 11-26 10:01 235次 阅读
基于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 43次 阅读
快速简单的FPGA异构计算

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 具有引脚可编程的总线地址的高精度远程和本地温度传感器
博评网