当前位置: 首页 > 专利查询>福州大学专利>正文

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

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

A Construction Method of Binary Convolutional Neural Network for Embedded Platform

The invention relates to a construction method of binary convolution neural network suitable for embedded platform, which includes the following steps: collecting ImageNet data set and dividing the obtained ImageNet data set into training set, verification set and test set; (2) training and validation of XNOR Net binary neural network model according to the obtained training set and verification set, and getting training. After the binary neural network model; _: The scaling operation and batch normalization operation of the trained binary network model are integrated and transplanted into the embedded system; _: The test set is input into the embedded system to test the performance of the model. The method can improve the network operation speed while maintaining the accuracy of network classification, and can promote the deployment of binary convolution neural network on embedded system and FPGA.

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

【技术保护点】
1.一种适用于嵌入式平台的二值化卷积神经网络的构建方法,其特征在于,包括以下步骤:步骤S1:采集ImageNet数据集,并将得到ImageNet数据集分为训练集、验证集和测试集;步骤S2:根据得到的训练集和验证集,对XNOR‑Net二值化神经网络模型进行训练,并验证,得到训练后的二值化神经网络模型;步骤S3:将训练好的二值化网络模型中的缩放操作和批归一化操作进行整合,并移植到嵌入式系统中;步骤S4:将测试集输入嵌入式系统中,对模型进行性能测试。

【技术特征摘要】
1.一种适用于嵌入式平台的二值化卷积神经网络的构建方法,其特征在于,包括以下步骤:步骤S1:采集ImageNet数据集,并将得到ImageNet数据集分为训练集、验证集和测试集;步骤S2:根据得到的训练集和验证集,对XNOR-Net二值化神经网络模型进行训练,并验证,得到训练后的二值化神经网络模型;步骤S3:将训练好的二值化网络模型中的缩放操作和批归一化操作进行整合,并移植到嵌入式系统中;步骤S4:将测试集输入嵌入式系统中,对模型进行性能测试。2.根据权利要求1所述的一种适用于嵌入式平台的二值化卷积神经网络的构建方法,其特征在于:所述ImageNet数据集包括1000种类别,分为126万张训练集、5万张验证集和10万张测试集。3.根据权利要求1所述的一种适用于嵌入式平台的二值化卷积神经网络的构建方法,其特征在于:所述步骤S2具体为:步骤S1:目标分类采用的二值化神经网络为XNOR-Net网络,XNOR-Net网络模型的基础结构为AlexNet网络,将输入网络的数据和网络中的权重进行二值化操作,二值化操作的公式如下:其中,x为输入和网络中的权重。在XNOR-Net中,为了减少二值化所引起的信息损...

【专利技术属性】
技术研发人员:陈志聪吴丽君蒋佩卿赖云锋林旭洪志宸林培杰程树英
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1