一种二值化神经网络的构建方法、存储介质及终端设备技术

技术编号:23672730 阅读:25 留言:0更新日期:2020-04-04 18:07
本发明专利技术公开了一种二值化神经网络的构建方法、存储介质及终端设备,所述方法包括:获取训练样本集;根据所述训练样本集对二值化神经网络模型进行训练,以得到训练后的二值化神经网络,其中,所述二值化神经网络模型的损失函数为角度归一化指数损失函数。本发明专利技术通过采用角度归一化指数损失函数监督,训练二值化神经网络学习如何将原始数据映射到低维流形上,这样在角度归一化指数损失监督训练下,使得二值化神经网络的分辨能力得到提升。

A binary neural network construction method, storage medium and terminal equipment

【技术实现步骤摘要】
一种二值化神经网络的构建方法、存储介质及终端设备
本专利技术涉及计算机
,特别涉及一种二值化神经网络的构建方法、存储介质及终端设备。
技术介绍
在计算机视觉领域中,卷积神经网络取得了巨大的成功,甚至在多个特定数据集上的表现已经超越了人类。但卷积神经网络对计算资源消耗,严重限制其在移动端等计算资源有限设备上的应用。为了解决上述问题,量化、剪裁等方法被提出,其中,量化方法在计算和存储资源优先的设别上更加适用。而在各量化方法中,二值化卷积神经网络用比特位运算替代浮点运算,显著降低网络的计算复杂度、功耗,使其能够独立于中央处理器、图形处理器,直接运行在现场可编程门阵列芯片或专用集成电路芯片上,从而降低其使用成本,使卷积神经网络走出机房进入千家万户成为可能。然而,二值化神经网络计算代价的降低是以牺性其性能为代价的,这很大程度上限制了二值化神经网络的使用范围。
技术实现思路
鉴于现有技术的不足,本专利技术旨在提供一种二值化神经网络的构建方法、存储介质及终端设备。为了解决上述技术问题,本专利技术所采用的技术方案如下:一种二值化神经网络的构建方法,所述方法包括:获取训练样本集;根据所述训练样本集对二值化神经网络模型进行训练,以得到训练后的二值化神经网络,其中,所述二值化神经网络模型的损失函数为角度归一化指数损失函数。所述二值化神经网络的构建方法,其中,所述二值化神经网络模型的特征表示分布呈角度分布。所述二值化神经网络的构建方法,其中,所述根据所述训练样本集对二值化神经网络模型进行训练包括向前传播过程、向后传播过程以及权值更新过程。所述二值化神经网络的构建方法,其中,所述前传播过程具体包括:对所述二值化神经网络的目标网络层的初始权值进行二值化,以得到目标权值;计算所述目标网络层的网络激活,并对所述网络激活进行批标准化,以得到批标准化后的网络激活;当所述目标网络层的层数小于层数阈值时,对所述批标准化后的网络激活进行二值化,以得到目标网络激活;将所述目标网络层的下一层作为目标网络层,并继续执行对所述二值化神经网络的目标网络层的权值进行二值化的步骤,直至目标网络层的层数等于层数阈值。所述二值化神经网络的构建方法,其中,所述二值化的表达式为:其中,x为输入和网络中的权值。所述二值化神经网络的构建方法,其中,所述向后传播过程具体包括:根据目标网络层的目标网络激活的梯度确定所述目标网络层的目标权值梯度以及批标准化参数梯度,其中,所述目标网络激活根据角度归一化指数损失函数确定的;当所述目标网络层的层数大于1时,将所述目标网络层的前一层作为目标网络层,并继续执行根据目标网络层的目标网络激活的梯度确定所述目标网络层的目标权值梯度以及批标准化参数梯度,直至第一层网络。所述二值化神经网络的构建方法,其中,所述二值化的批标准后的网络激活梯度的表达式为:其中,Lang为二值化神经网络的损失函数。所述二值化神经网络的构建方法,其中,所述权值更新过程具体包括:遍历二值化神经网络模型的各网络层,根据各网络层的批标准化参数梯度以及权值梯度更新每一网络层的批标准化参数、初始权值以及学习率。一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的二值化神经网络的构建方法中的步骤。一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述通信总线实现处理器和存储器之间的连接通信;所述处理器执行所述计算机可读程序时实现如上任一所述的二值化神经网络的构建方法中的步骤。有益效果:与现有技术相比,本专利技术提供了一种二值化神经网络的构建方法、存储介质及终端设备,所述方法包括:获取训练样本集;根据所述训练样本集对二值化神经网络模型进行训练,以得到训练后的二值化神经网络,其中,所述二值化神经网络模型的损失函数为角度归一化指数损失函数。本专利技术通过采用角度归一化指数损失函数监督,训练二值化神经网络学习如何将原始数据映射到低维流形上,这样在角度归一化指数损失监督训练下,使得二值化神经网络的分辨能力得到提升。附图说明图1为本专利技术提供的二值化神经网络的构建方法的流程图。图2为本专利技术提供的终端设备的结构原理图。具体实施方式本专利技术提供一种二值化神经网络的构建方法、存储介质及终端设备,为使本专利技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。本
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本专利技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。下面结合附图,通过对实施例的描述,对
技术实现思路
作进一步说明。本实施提供了一种二值化神经网络的构建方法,如图1所示,所述方法包括:S10、获取训练样本集;S20、根据所述训练样本集对二值化神经网络模型进行训练,以得到训练后的二值化神经网络,其中,所述二值化神经网络模型的损失函数为角度归一化指数损失函数。具体地,所述训练样本集可以为用于训练所述二值化神经网络模型的样本数据,所述样本数据可以根据二值化神经网络模型应用的场景而确定,例如,ImageNet数据集等。所述训练样本集包括训练集、验证集以及测试集。所述二值化神经网络模型的损失函数为角度归一化指数损失函数,在所述角度归一化指数损失函数监督下,二值化神经网络模型学习的特征表示分布呈角度分布。进一步,假设各类别的特征表示为一个n维向量Wj,引入约束条件||Wj||=1及bj=0,那么二值化神经网络模型学习的特征表示可以映射到超球面上,由此在引入角度余量,则可以增强二值化神经网络的分辨能力、增大特征表示的类间距离并较小类内距离。例如,对于二分类问题,假设类别1和类别2的特征表示向量分别为W1和W2,W1和W2间的夹角记为,那本文档来自技高网
...

【技术保护点】
1.一种二值化神经网络的构建方法,其特征在于,所述方法包括:/n获取训练样本集;/n根据所述训练样本集对二值化神经网络模型进行训练,以得到训练后的二值化神经网络,其中,所述二值化神经网络模型的损失函数为角度归一化指数损失函数。/n

【技术特征摘要】
1.一种二值化神经网络的构建方法,其特征在于,所述方法包括:
获取训练样本集;
根据所述训练样本集对二值化神经网络模型进行训练,以得到训练后的二值化神经网络,其中,所述二值化神经网络模型的损失函数为角度归一化指数损失函数。


2.根据权利要求1所述二值化神经网络的构建方法,其特征在于,所述二值化神经网络模型的特征表示分布呈角度分布。


3.根据权利要求1所述二值化神经网络的构建方法,其特征在于,所述根据所述训练样本集对二值化神经网络模型进行训练包括向前传播过程、向后传播过程以及权值更新过程。


4.根据权利要求3所述二值化神经网络的构建方法,其特征在于,所述前传播过程具体包括:
对所述二值化神经网络的目标网络层的初始权值进行二值化,以得到目标权值;
计算所述目标网络层的网络激活,并对所述网络激活进行批标准化,以得到批标准化后的网络激活;
当所述目标网络层的层数小于层数阈值时,对所述批标准化后的网络激活进行二值化,以得到目标网络激活;
将所述目标网络层的下一层作为目标网络层,并继续执行对所述二值化神经网络的目标网络层的权值进行二值化的步骤,直至目标网络层的层数等于层数阈值。


5.根据权利要求4所述二值化神经网络的构建方法,其特征在于,所述二值化的表达式为:



其中,x为输入和网络中的权值。


6.根据权利要求4所述二值化神经网络的构建方法,其特征在于,所述向后传...

【专利技术属性】
技术研发人员:李洋李坚文红光卢念华陈文军赵胤汪旭军
申请(专利权)人:深圳华侨城文化旅游科技集团有限公司
类型:发明
国别省市:广东;44

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

1