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

神经网络权重离散化方法和系统技术方案

技术编号:20119386 阅读:34 留言:0更新日期:2019-01-16 12:21
本发明专利技术涉及一种神经网络权重离散化方法和系统,所述方法包括:获取权重取值范围和离散权重状态个数;获取上一个时间步权重状态和当前时间步权重增量;根据所述当前时间步权重增量,利用方向函数,获取状态转移方向;根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态。本发明专利技术确保权重值始终约束在同一个离散态空间中,而不需要存储额外的虚拟连续态隐含权重,在保证神经网络的计算性能的前提下,大大减小存储空间的消耗并降低计算复杂度。

Neural Network Weight Discretization Method and System

The invention relates to a method and system for discretization of weights of neural networks, which includes: obtaining the range of weights and the number of discrete weighted states; obtaining the weighted state of the previous time step and the current time step weight increment; using direction function to obtain the direction of state transition according to the current time step weight increment; and according to the weighted state of the previous time step and the current time step weight increment. The current time step weight increment, the direction of state transition, the range of the weights and the number of discrete weighted states are described to obtain the current time step weight state. The invention ensures that the weight values are always constrained in the same discrete state space without storing additional virtual continuous state implicit weights. On the premise of ensuring the computational performance of the neural network, the consumption of storage space is greatly reduced and the computational complexity is reduced.

【技术实现步骤摘要】
神经网络权重离散化方法和系统
本专利技术涉及神经网络
,特别是涉及神经网络权重离散化方法和系统。
技术介绍
在过去的几年中,大数据集、不同的学习模型和GPU(GeneralPurposeGraphicProcessingUnits通用图形处理单元)使得深度神经网络在计算机视觉、语音识别、自然语言处理和人机围棋对弈等人工智能领域取得了一个又一个的成果。然而,在这些引人注目的成果的背后也付出了计算它们所需的极大的硬件资源开销、训练时间开销和功耗开销。因此,基于GPU的深度学习系统很难嵌入到便携设备中。而很多功耗效用较高的方案往往需要在性能上有较大的损失。因此,需要在性能和计算复杂度之间加以权衡。传统的解决方案,包括剪枝和预训练神经网络,可以用于减少参数个数,从而减少在推理阶段的运算复杂度。设计紧凑的层或者稀疏连接也可以简化连接。也有一些其它的努力,包括量化参数,并将权重和激活函数的实数乘法运算通过整数移位替代,但都造成了一定程度的神经网络整体性能的下降。另外,针对二进制深度神经网络的研究,对神经网络的性能和开销也进行了权衡,例如在进行前向和后向计算时,通过约束权重(以及激活函数)到二进制数值{-1,1},浮点数乘法和加法将被简化成一些简单的逻辑运算,例如同或逻辑以及比特计数。在很多数据集上已经实现了近似最佳的分类精度。然而,这些技术都不可避免的需要为梯度下降方法保存全精度权重,导致极大的内存开销和浮点运算,以及额外的外存访问功耗。另外,很多新型便携设备基于多值内存器件,支持存储多个状态值,使得二进制算法无法充分利用器件的能力。因此,如何高效地在多值离散权重空间进行深度神经网络训练,成为神经网络研究领域亟待解决的问题。
技术实现思路
基于此,有必要针对如何兼顾神经网络的性能和计算复杂度的问题,提供一种神经网络权重离散化方法和系统,所述方法包括:获取权重取值范围和离散权重状态个数,所述权重取值范围是指由当前时间步最大权重值和当前时间步最小权重值组成的离散权重取值范围,所述离散权重状态个数是指离散权重的状态的个数;获取上一个时间步权重状态和当前时间步权重增量;根据所述当前时间步权重增量,利用方向函数,获取状态转移方向;根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态。在其中一个实施例中,所述获取上一个时间步权重状态和当前时间步权重增量,包括:随机初始化权重状态;根据所述随机初始化权重状态和前向输出误差进行计算,确定上一个时间步权重状态;根据所述上一个时间步权重状态利用梯度下降算法获取当前时间步权重增量。在其中一个实施例中,在所述根据所述当前时间步权重增量,利用方向函数,获取状态转移方向的步骤之后,所述方法还包括:根据所述当前时间步权重增量、所述权重取值范围和所述离散权重状态个数,利用分解函数计算所述当前时间步的权重增量的整步长;根据所述整步长确定状态转移距离;则所述根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态,还包括:根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述状态转移距离、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态。在其中一个实施例中,在利用分解函数计算所述当前时间步的权重增量的整步长的步骤之后,所述方法还包括:根据所述当前时间步权重增量、所述权重取值范围和所述离散权重状态个数,利用分解函数计算所述当前时间步的权重增量的余数;根据所述余数、所述权重取值范围和所述离散权重状态个数,确定状态转移概率;则所述根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述状态转移距离、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态,还包括:根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述状态转移距离、所述状态转移概率、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态。在其中一个实施例中,所述根据所述余数、所述权重取值范围和所述离散权重状态个数,确定状态转移概率,包括:根据所述当前时间步的权重增量的余数和离散相邻状态距离值,获取跃迁概率算子,所述离散相邻状态距离值根据所述权重取值范围和所述离散权重状态个数确定;根据所述跃迁概率算子和所述余数,获取状态转移概率函数;根据所述状态转移概率函数和二值化采样法,获取状态转移概率。本专利技术所提供的神经网络权重离散化方法,通过给定一个离散态权重空间,在获取到的上一个时间步权重状态和当前时间步权重增量的基础上,计算在虚拟连续态空间中当前时间步权重增量,获取状态转移的方向、最后根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向,获取当前时间步权重状态。本专利技术所提供的权重离散化的计算方法,能够在给定的权重离散范围内,根据给定的离散权重状态个数,通过计算离散权重的转移方向、实现离散态空间的状态直接跃迁,确保权重值始终约束在同一个离散态空间中,而不需要存储额外的虚拟连续态全精度隐含权重,在保证神经网络的计算性能的前提下,大大减小存储空间的消耗并降低计算复杂度。在其中一个实施例中,通过随机初始化权重状态,给定权重离散化的范围后,通过给定的前向输出误差以及梯度下降算法,获取上一个时间步的权重状态和当前时间步权重增量,保证离散后的权重状态的精度。在其中一个实施例中,在获取状态转移方向的步骤之后,进一步通过分解函数计算当前时间步的权重增量的整步长,并根据所述整步长确定状态转移距离,最后根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述状态转移距离、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态。能够在给定的权重离散范围内,根据给定的离散权重状态个数,通过计算离散权重的转移方向、转移距离实现离散态空间的状态直接跃迁,并比仅考虑方向转移范围更大,确保权重值始终约束在同一个离散态空间中,而不需要存储额外的虚拟连续态全精度隐含权重,在保证神经网络的计算性能的前提下,大大减小存储空间的消耗并降低计算复杂度。在其中一个实施例中,进一步通过解析所述当前时间步权重增量函数,计算当前时间步权重增量的余数;根据当前时间步权重增量余数,获取状态转移概率值。通过得出的状态转移方向、状态转移距离以及状态转移概率值分别决定离散权重值的跳转方向、状态转移距离和状态转移概率值,使得计算得出的离散权重,即符合离散化前的连续态权重值密切相关,又能通过离散态直接跃迁从而满足始终离散化的需求,从而在保证了神经网络的计算精度的同时,大大减小虚拟连续态隐含权重的存储,并降低了计算复杂度。在其中一个实施例中,根据所述状态转移概率函数和所述当前时间步权重增量的余数,计算状态转移概率向量;根据所述状态转移概率向量和二值化采样法,所获取所述状态转移概率,与离散前的当前时间步权重增量余数密切相关,使得神经网络离散后的权重状态分布在概率意义上更加精确地逼近原始的连续态权重值,从而在保证了神经网络的计算精度的同时,完成了离散化的过程。本专利技术还提供一种神经网络权重离散化系统,包括:权重空间构建本文档来自技高网
...

【技术保护点】
1.一种神经网络权重离散化方法,其特征在于,所述方法包括:获取权重取值范围和离散权重状态个数,所述权重取值范围是指由当前时间步最大权重值和当前时间步最小权重值组成的离散权重取值范围,所述离散权重状态个数是指离散权重的状态的个数;获取上一个时间步权重状态和当前时间步权重增量;根据所述当前时间步权重增量,利用方向函数,获取状态转移方向;根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态。

【技术特征摘要】
1.一种神经网络权重离散化方法,其特征在于,所述方法包括:获取权重取值范围和离散权重状态个数,所述权重取值范围是指由当前时间步最大权重值和当前时间步最小权重值组成的离散权重取值范围,所述离散权重状态个数是指离散权重的状态的个数;获取上一个时间步权重状态和当前时间步权重增量;根据所述当前时间步权重增量,利用方向函数,获取状态转移方向;根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态。2.根据权利要求1所述的神经网络权重离散化方法,其特征在于,所述获取上一个时间步权重状态和当前时间步权重增量,包括:随机初始化权重状态;根据所述随机初始化权重状态和前向输出误差进行计算,确定上一个时间步权重状态;根据所述上一个时间步权重状态利用梯度下降算法获取当前时间步权重增量。3.根据权利要求1所述的神经网络权重离散化方法,其特征在于,在所述根据所述当前时间步权重增量,利用方向函数,获取状态转移方向的步骤之后,所述方法还包括:根据所述当前时间步权重增量、所述权重取值范围和所述离散权重状态个数,利用分解函数计算所述当前时间步的权重增量的整步长;根据所述整步长确定状态转移距离;则所述根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态,还包括:根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述状态转移距离、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态。4.根据权利要求3所述的神经网络权重离散化方法,其特征在于,在利用分解函数计算所述当前时间步的权重增量的整步长的步骤之后,所述方法还包括:根据所述当前时间步权重增量、所述权重取值范围和所述离散权重状态个数,利用分解函数计算所述当前时间步的权重增量的余数;根据所述余数、所述权重取值范围和所述离散权重状态个数,确定状态转移概率;则所述根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述状态转移距离、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态,还包括:根据所述上一个时间步权重状态、所述当前时间步权重增量、所述状态转移方向、所述状态转移距离、所述状态转移概率、所述权重取值范围、所述离散权重状态个数,获取当前时间步权重状态。5.根据权利要求4所述的神经网络权重离散化方法,其特征在于,所述根据所述余数、所述权重取值范围和所述离散权重状态个数,确定状态转移概率,包括:根据所述当前时间步的权重增量的余数和离散相邻状态距离值,获取跃迁概率算子,所述离散相邻状态距离值根据所述权重取值范围和所述离散权重状态个数确定;根据所述跃迁概率算子和所述余数,获取状态转移概率函数;根据所述状态转...

【专利技术属性】
技术研发人员:李国齐邓磊吴臻志裴京
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

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

1