CN109784488B - 一种适用于嵌入式平台的二值化卷积神经网络的构建方法 - Google Patents

一种适用于嵌入式平台的二值化卷积神经网络的构建方法 Download PDF

Info

Publication number
CN109784488B
CN109784488B CN201910034182.7A CN201910034182A CN109784488B CN 109784488 B CN109784488 B CN 109784488B CN 201910034182 A CN201910034182 A CN 201910034182A CN 109784488 B CN109784488 B CN 109784488B
Authority
CN
China
Prior art keywords
network
binary
neural network
xnor
net
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910034182.7A
Other languages
English (en)
Other versions
CN109784488A (zh
Inventor
陈志聪
吴丽君
蒋佩卿
赖云锋
林旭
洪志宸
林培杰
程树英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN201910034182.7A priority Critical patent/CN109784488B/zh
Publication of CN109784488A publication Critical patent/CN109784488A/zh
Application granted granted Critical
Publication of CN109784488B publication Critical patent/CN109784488B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Image Analysis (AREA)

Abstract

本发明涉及一种适用于嵌入式平台的二值化卷积神经网络的构建方法,包括以下步骤:步骤S1:采集ImageNet数据集,并将得到ImageNet数据集分为训练集、验证集和测试集;步骤S2:根据得到的训练集和验证集,对XNOR‑Net二值化神经网络模型进行训练,并验证,得到训练后的二值化神经网络模型;步骤S3:将训练好的二值化网络模型中的缩放操作和批归一化操作进行整合,并移植到嵌入式系统中;步骤S4:将测试集输入嵌入式系统中,对模型进行性能测试。本发明所提出的方法能够在提高网络运算速度的同时保持网络分类的准确率,可促进二值化卷积神经网络能够在嵌入式系统及FPGA上的部署。

Description

一种适用于嵌入式平台的二值化卷积神经网络的构建方法
技术领域
本发明涉及一种适用于嵌入式平台的二值化卷积神经网络的构建方法。
背景技术
随着深度学习的不断发展,其在工业中的应用越来越广泛。深度学习技术大大改善了工业应用的智能及其自动化水平。其中,卷积神经网络是众多神经网络中最具有吸引力的一种神经网络,并且已经在大数据分析、故障诊断等领域得到广泛的应用。其中,卷积神经网络在计算机视觉方面的应用更为广泛,例如目标检测、物体跟踪等任务。
在使用卷积神经网络时,为了获得较高的准确率,研究者都趋向于构造更深层和更复杂的神经网络,这样将需要较大的网络数据存储和计算开销。而在一些情况下需要在计算能力和存储空间有限的设备上部署卷积神经网络模型。为了解决该问题,量化、裁剪等方法被提出。其中,量化方法在计算和存储资源优先的设别上更加适用。
在各种量化方法中,二值化是效率相对较高的方法,因为二值化将浮点运算转化为位运算。基于此,一些二值化量化方法被提出。首先是对二值卷积中的权重的输入数据进行二值化,随后有引入了缩放因子和批归一化运算。添加缩放因子和批归一化可以将二值卷积神经网络的性能提高17%,但是同时也会带来额外的计算量,使二值化卷积神经网络依然难在计算资源有限的设备上进行部署。
发明内容
有鉴于此,本发明的目的在于提供一种适用于嵌入式平台的二值化卷积神经网络的构建方法,通过降低网络中的浮点运算的数量以加速深度卷积网络的运算,可促进其在嵌入式平台及FPGA硬件上进行部署。
为实现上述目的,本发明采用如下技术方案:
一种适用于嵌入式平台的二值化卷积神经网络的构建方法,包括以下步骤:
步骤S1:采集ImageNet数据集,并将得到ImageNet数据集分为训练集、验证集和测试集;
步骤S2:根据得到的训练集和验证集,对XNOR-Net二值化神经网络模型进行训练,并验证,得到训练后的二值化神经网络模型;
步骤S3:将训练好的二值化网络模型中的缩放操作和批归一化操作进行整合,并移植到嵌入式系统中;
步骤S4:将测试集输入嵌入式系统中,对模型进行性能测试。
进一步的,所述ImageNet数据集包括1000种类别,分为126万张训练集、5万张验证集和10万张测试集。
进一步的,所述步骤S2具体为:
步骤S1:目标分类采用的二值化神经网络为XNOR-Net网络,XNOR-Net网络模型的基础结构为AlexNet网络,将输入网络的数据和网络中的权重进行二值化操作,二值化操作的公式如下:
Figure BDA0001945292370000021
其中,x为输入和网络中的权重。在XNOR-Net中,为了减少二值化所引起的信息损失,采用的块结构顺序为批归一化、二值激活、二值卷积和降采样;
步骤S22:在二值卷积和二值激活层之间引入缩放因子α和批归一化操作;
缩放因子根据如下公式进行求解:
Figure BDA0001945292370000031
其中n为网络中权重W一个通道中的变量数目,W为网络中的权重;
步骤S23:将训练集和验证集送入XNOR-Net模型,利用反向传播求取梯度值,并对网络中的权重进行更新,具体公式如下:
Figure BDA0001945292370000032
其中,grad为梯度值,l为学习率,
Figure BDA0001945292370000033
为C通道下的第j个权重元素值。
Figure BDA0001945292370000034
为更新后的权重值。并且在训练的过程中,采用小的学习率l(例如0.01),使得权重得变化更加的平坦。
进一步的,所述步骤S3在模型移植之前,将原二值化网络中的缩放因子和批归一化操作进行简化并相结合,转为只需进行整数运算的操作,使得在网络的中间层中没有浮点数运算;具体的公式如下;
Figure BDA0001945292370000035
其中α为缩放因子,x为输入的数据,γ和β为批归一化中的超参数,ε为任意小的正数。E[αx]和Var[αx]分别为αx的期望和方差;
并令
Figure BDA0001945292370000041
则可将式(4)化简为:
Figure BDA0001945292370000042
其中sign(γ)为求取γ的符号函数。由于sign(γ)为正数,所以对式(5)进行化简:
Figure BDA0001945292370000043
Figure BDA0001945292370000044
向上取整,即将XNOR-Net中的缩放因子和批归一化操作结合成一个只需进行整数运算的操作。
本发明与现有技术相比具有以下有益效果:
1、本发明训练过程中,采用较小的学习率,使网络在训练阶段的梯度变化更加的平缓,提高网络的性能。
2、本发明模型的训练过程中仍采用缩放因子和批归一化层相结合的方法,这样可以保证模型的精度不发生变化,保持模型原有的性能。
3、本发明将缩放因子与批归一化相结合成一个操作,利用整数运算代替浮点运算,这样可以大大缩减计算所需的时间,使二值化卷积可以在计算能力以及存储资源有限的设备上进行部署。
附图说明
图1是本发明模型训练和测试的整体流程图;
图2是本发明实施例中XNOR-Net中二值化卷积层和本发明对其改进后的具体流程图;
图3是本发明实施例中未改进的XNOR-Net和改进后XNOR-Net的计算和存储消耗的对比结果;
图4是本发明实施例中改进前后的XNOR-Net在测试集上的准确率对比。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
请参照图1,本发明提供一种适用于嵌入式平台的二值化卷积神经网络的构建方法,包括以下步骤:
步骤S1:采集ImageNet数据集,所述ImageNet数据集包括1000种类别,并将得到ImageNet数据集分为126万张训练集、5万张验证集和10万张测试集;
步骤S2:根据得到的训练集和验证集,对XNOR-Net二值化神经网络模型进行训练,并验证,得到训练后的二值化神经网络模型;
步骤S21:目标分类采用的二值化神经网络为XNOR-Net网络,XNOR-Net网络模型的基础结构为AlexNet网络,将输入网络的数据和网络中的权重进行二值化操作,二值化操作的公式如下:
Figure BDA0001945292370000051
其中,x为输入和网络中的权重。在XNOR-Net中,为了减少二值化所引起的信息损失,采用的块结构顺序为批归一化、二值激活、二值卷积和降采样;
步骤S22:在二值卷积和二值激活层之间引入缩放因子α和批归一化操作;
缩放因子根据如下公式进行求解:
Figure BDA0001945292370000061
其中n为网络中权重W一个通道中的变量数目,W为网络中的权重;
步骤S23:将训练集和验证集送入XNOR-Net模型,利用反向传播求取梯度值,并对网络中的权重进行更新,具体公式如下:
Figure BDA0001945292370000062
其中,grad为梯度值,l为学习率,
Figure BDA0001945292370000063
为C通道下的第j个权重元素值。
Figure BDA0001945292370000064
为更新后的权重值。并且在训练的过程中,采用小的学习率l(例如0.001),使得权重得变化更加的平坦。
步骤S3:将训练好的二值化网络模型中的缩放操作和批归一化操作进行整合,并移植到嵌入式系统中;
步骤S4:将测试集输入嵌入式系统中,对模型进行性能测试。
参见图2,在本实施例中,所述步骤S3在模型移植之前,将原二值化网络中的缩放因子和批归一化操作进行简化并相结合,转为只需进行整数运算的操作,使得在网络的中间层中没有浮点数运算;具体的公式如下;
Figure BDA0001945292370000065
其中α为缩放因子,x为输入的数据,γ和β为批归一化中的超参数,ε为任意小的正数。E[αx]和Var[αx]分别为αx的期望和方差;
并令
Figure BDA0001945292370000071
则可将式(4)化简为:
Figure BDA0001945292370000072
其中sign(γ)为求取γ的符号函数。由于sign(γ)为正数,所以对式(5)进行化简:
Figure BDA0001945292370000073
Figure BDA0001945292370000074
向上取整,即将XNOR-Net中的缩放因子和批归一化操作结合成一个只需进行整数运算的操作。
本实施例中,将准备好的测试集输入训练好的XNOR-Net网络中,并采用上述将缩放因子和批归一化相结合的改进方法,测试模型的Top1和Top5的准确率,并与未改进XNOR-Net的性能进行比较,同时测试改进前后网络模型所需的计算量和内存占用量,最终性能对比参见图3和图4。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (2)

1.一种适用于嵌入式平台的二值化卷积神经网络的构建方法,其特征在于,包括以下步骤:
步骤S1:采集ImageNet数据集,并将得到ImageNet数据集分为训练集、验证集和测试集;
步骤S2:根据得到的训练集和验证集,对XNOR-Net二值化神经网络模型进行训练,并验证,得到训练后的二值化神经网络模型;
步骤S3:将训练好的二值化网络模型中的缩放操作和批归一化操作进行整合,并移植到嵌入式系统中;
步骤S4:将测试集输入嵌入式系统中,对模型进行性能测试;
所述步骤S2具体为:
步骤S21:目标分类采用的二值化神经网络为XNOR-Net网络,XNOR-Net网络模型的基础结构为AlexNet网络,将输入网络的数据和网络中的权重进行二值化操作,二值化操作的公式如下:
Figure FDA0003699835110000011
其中,x为输入和网络中的权重, 在XNOR-Net中,为了减少二值化所引起的信息损失,采用的块结构顺序为批归一化、二值激活、二值卷积和降采样;
步骤S22:在二值卷积和二值激活层之间引入缩放因子α和批归一化操作;
缩放因子根据如下公式进行求解:
Figure FDA0003699835110000012
其中n为网络中权重W一个通道中的变量数目,W为网络中的权重;
步骤S23:将训练集和验证集送入XNOR-Net模型,利用反向传播求取梯度值,并对网络中的权重进行更新,具体公式如下:
Figure FDA0003699835110000021
其中,grad为梯度值,l为学习率,
Figure FDA0003699835110000022
为C通道下的第j个权重元素值;
Figure FDA0003699835110000023
为更新后的权重值;
所述步骤S3在模型移植之前,将原二值化网络中的缩放因子和批归一化操作进行简化并相结合,转为只需进行整数运算的操作,使得在网络的中间层中没有浮点数运算;具体的公式如下;
Figure FDA0003699835110000024
其中α为缩放因子,x为输入的数据,γ和β为批归一化中的超参数,ε为任意小的正数;E[αx]和Var[αx]分别为αx的期望和方差;
并令
Figure FDA0003699835110000025
则可将式(4)化简为:
Figure FDA0003699835110000026
其中sign(γ)为求取γ的符号函数;由于sign(γ)为正数,所以对式(5)进行化简:
Figure FDA0003699835110000027
Figure FDA0003699835110000031
向上取整,即将XNOR-Net中的缩放因子和批归一化操作结合成一个只需进行整数运算的操作。
2.根据权利要求1所述的一种适用于嵌入式平台的二值化卷积神经网络的构建方法,其特征在于:所述ImageNet数据集包括1000种类别,分为126万张训练集、5万张验证集和10万张测试集。
CN201910034182.7A 2019-01-15 2019-01-15 一种适用于嵌入式平台的二值化卷积神经网络的构建方法 Active CN109784488B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910034182.7A CN109784488B (zh) 2019-01-15 2019-01-15 一种适用于嵌入式平台的二值化卷积神经网络的构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910034182.7A CN109784488B (zh) 2019-01-15 2019-01-15 一种适用于嵌入式平台的二值化卷积神经网络的构建方法

Publications (2)

Publication Number Publication Date
CN109784488A CN109784488A (zh) 2019-05-21
CN109784488B true CN109784488B (zh) 2022-08-12

Family

ID=66499321

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910034182.7A Active CN109784488B (zh) 2019-01-15 2019-01-15 一种适用于嵌入式平台的二值化卷积神经网络的构建方法

Country Status (1)

Country Link
CN (1) CN109784488B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020243922A1 (en) * 2019-06-05 2020-12-10 Intel Corporation Automatic machine learning policy network for parametric binary neural networks
CN110298163B (zh) * 2019-06-06 2021-04-02 重庆大学 一种图像验证方法、装置及计算机可读存储介质
CN110659734B (zh) * 2019-09-27 2022-12-23 中国科学院半导体研究所 深度可分离卷积结构的低比特量化方法
CN110780923B (zh) * 2019-10-31 2021-09-14 合肥工业大学 应用于二值化卷积神经网络的硬件加速器及其数据处理方法
CN112699962A (zh) * 2021-01-13 2021-04-23 福州大学 一种在边缘节点上部署二值化分类网络的方法
CN113159296B (zh) * 2021-04-27 2024-01-16 广东工业大学 一种二值神经网络的构建方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106875011A (zh) * 2017-01-12 2017-06-20 南京大学 二值权重卷积神经网络加速器的硬件架构及其计算流程
CN107480640A (zh) * 2017-08-16 2017-12-15 上海荷福人工智能科技(集团)有限公司 一种基于二值卷积神经网络的人脸对齐方法
CN109086866A (zh) * 2018-07-02 2018-12-25 重庆大学 一种适用于嵌入式设备的部分二值卷积方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10831444B2 (en) * 2016-04-04 2020-11-10 Technion Research & Development Foundation Limited Quantized neural network training and inference

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106875011A (zh) * 2017-01-12 2017-06-20 南京大学 二值权重卷积神经网络加速器的硬件架构及其计算流程
CN107480640A (zh) * 2017-08-16 2017-12-15 上海荷福人工智能科技(集团)有限公司 一种基于二值卷积神经网络的人脸对齐方法
CN109086866A (zh) * 2018-07-02 2018-12-25 重庆大学 一种适用于嵌入式设备的部分二值卷积方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DSP hardware design for fingerprint binarization and thinning on FPGA;Rahul Kr Das et al.;《Proceedings of The 2014 International Conference on Control, Instrumentation, Energy and Communication (CIEC)》;20141120;第544-549页 *
基于ARM+FPGA平台的二值神经网络加速方法研究;孙孝辉 等;《计算机应用研究》;20181221;第779-783页 *
基于FPGA的改进二值化卷积层设计;蒋佩卿 等;《电气开关》;20191215;第8-13页 *

Also Published As

Publication number Publication date
CN109784488A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
CN109784488B (zh) 一种适用于嵌入式平台的二值化卷积神经网络的构建方法
CN110533631B (zh) 基于金字塔池化孪生网络的sar图像变化检测方法
CN113159051B (zh) 一种基于边缘解耦的遥感图像轻量化语义分割方法
CN108764072B (zh) 一种基于多尺度融合的血细胞亚型图像分类方法
CN104866578B (zh) 一种不完整物联网数据混合填充方法
CN112685504B (zh) 一种面向生产过程的分布式迁移图学习方法
CN110657984B (zh) 一种基于强化胶囊网络的行星齿轮箱故障诊断方法
CN104966105A (zh) 一种鲁棒机器错误检索方法与系统
CN112560966B (zh) 基于散射图卷积网络的极化sar图像分类方法、介质及设备
CN115758212A (zh) 一种基于并行网络和迁移学习的机械设备故障诊断方法
CN116362325A (zh) 一种基于模型压缩的电力图像识别模型轻量化应用方法
CN113283524A (zh) 一种基于对抗攻击的深度神经网络近似模型分析方法
CN116186641A (zh) 一种基于特征融合的跨设备滚动轴承小样本故障诊断方法
CN114299305A (zh) 聚合密集和注意力多尺度特征的显著性目标检测算法
CN112215199B (zh) 基于多感受野与密集特征聚合网络的sar图像舰船检测方法
CN106295677A (zh) 一种联合拉斯正则项和特征自学习的水流图像分簇方法
CN110988631B (zh) 局部放电定位检测方法、装置、可读存储介质及电气设备
CN110288002B (zh) 一种基于稀疏正交神经网络的图像分类方法
CN108548669B (zh) 一种工程装备传动系统故障诊断方法及系统
CN113537339B (zh) 一种基于多标签图像分类的识别共生或伴生矿物的方法与系统
WO2021238734A1 (zh) 一种神经网络的训练方法及相关设备
CN113435321A (zh) 一种主轴轴承状态评估方法、系统、设备及可读存储介质
CN113419278A (zh) 一种基于状态空间模型与支持向量回归的井震联合多目标同时反演方法
CN113065653B (zh) 面向移动端图像分类的轻量级卷积神经网络的设计方法
Chen Brain Tumor Prediction with LSTM Method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant