The present application discloses a fixed-point training method and device based on dynamic fixed-point parameters for a deep neural network. More specifically, the depth of the neural network (for example, LSTM neural network) for calculating the structure, put forward a point of the corresponding training methods, in the training process of the neural network, using fixed-point way forward calculation, within certain training period, will reach the level of precision floating-point computation network.
【技术实现步骤摘要】
一种动态策略定点化训练方法及装置专利
本申请涉及一种用于深度神经网络的定点训练方法及装置。更具体地,本申请涉及一种用于LSTM神经网络的基于动态定点参数的定点训练方法及装置。
技术介绍
人工神经网络人工神经网络(ArtificialNeuralNetworks,ANNs),又称神经网络(NNs),是一种模仿动物神经网络的行为特征,进行分布式并行信息处理的数学计算模型。近年来,神经网络得到快速发展,被广泛应用于诸多领域,如图像识别、语音识别、自然语言处理、基因表达、内容推送等等。在神经网络模型,存在大量彼此连接的节点(也称“神经元”)。每个神经元,通过某种特定的输出函数(也称“激活函数”(ActivationFunction))计算处理来自其它相邻神经元的加权输入值,并且神经元之间的信息传递强度用“权值”来定义。算法通过自我学习,调整该权值。早期的神经网络只有输入和输出层两层,无法处理复杂的逻辑,限制了其实用性。如图1所示,深度神经网络(DeepNeuralNetwork,DNNs)通过在输入和输出层之间添加隐藏的中间层,有效提升了网络在处理复杂问题时的表现。为了适应不同的应用场景,深度神经网络进而衍生出多种不同的结构。例如,循环神经网络(RecurrentNeuralNetworks,RNNs)是一种常用的深度神经网络模型。不同于传统前向神经网络(Feed-forwardNeuralNetworks),循环神经网络本身具有记忆性,神经元既可以从上一层神经元获取信息,又可以从自身所在的隐层获取信息,这使其能够广泛应用于与时序相关的问题处理上。深度神经网络的应 ...
【技术保护点】
一种浮点神经网络的定点训练方法,包括:神经网络定点步骤,用于对浮点神经网络进行定点,以获得相应的定点神经网络;定点参数确定步骤,包括:使训练数据集的当前数据输入经过所述定点神经网络并进行浮点前向计算,以获得当前临时定点参数;比较所述当前临时定点参数与对应于在前数据输入的在前定点参数,并选择其中较优的定点参数作为当前数据输入的定点参数;定点前向计算步骤,使当前数据输入再次经过所述定点神经网络并根据所述定点参数进行定点前向计算;以及神经网络更新步骤,根据所述定点前向计算的计算结果来更新浮点神经网络。
【技术特征摘要】
1.一种浮点神经网络的定点训练方法,包括:神经网络定点步骤,用于对浮点神经网络进行定点,以获得相应的定点神经网络;定点参数确定步骤,包括:使训练数据集的当前数据输入经过所述定点神经网络并进行浮点前向计算,以获得当前临时定点参数;比较所述当前临时定点参数与对应于在前数据输入的在前定点参数,并选择其中较优的定点参数作为当前数据输入的定点参数;定点前向计算步骤,使当前数据输入再次经过所述定点神经网络并根据所述定点参数进行定点前向计算;以及神经网络更新步骤,根据所述定点前向计算的计算结果来更新浮点神经网络。2.根据权利要求1所述的方法,还包括:迭代执行所述神经网络定点步骤、定点参数确定步骤、定点前向计算步骤和神经网络更新步骤,直到浮点神经网络达到期望精度。3.根据权利要求1所述的方法,所述定点参数包括:用于表示参与浮点数的定点数的总比特数和小数位长。4.根据权利要求1所述的方法,所述神经网络定点步骤包括:利用浮点数转定点数法则来定点所述浮点神经网络的以浮点数表示的权重参数。5.根据权利要求1所述的方法,其中,在所述定点参数确定步骤中,选择小数位长较短的定点参数作为较优定点参数。6.根据权利要求1所述的方法,其中,在所述定点前向计算步骤包括:使用所述定点参数来定点作为前向计算的输入的训练数据集的数据输入以及所述前向计算的中间计算结果。7.根据权利要求1所述的方法,其中,所述神经网络更新步骤还包括:比较所述定点前向计算的计算结果与标准值以获得损失值;和根据所述损失值计算浮点梯度,并根据所述浮点梯度更新浮点神经网络。8.根据权利要求1所述的方法,其中,所述方法用于对训练好的浮点神经网络进行定点化重训。9.根据权利要求1所述的方法,其中,所述方法用于对初始浮点神经网络进行定点化训练。10.根据权利要求1所述的方法,其中,所述浮点神经网络是LSTM神经网络。11.根据权利要求1所述的方法,其中,所述训练数据集是语音数据集。12.一种浮点神经网络的定点训练方法,包括:神经网络定点步骤,用于对浮点神经网络行定点,以获得相应的定点神经网络;第一前向计算步骤,用于使训练数据集的当前数据输入通过所述定点神经网络并进行浮点前向计算,以获取中间计算结果的动态范围,从而获得当前临时定点参数并存储;定点参数确定步骤,用于...
【专利技术属性】
技术研发人员:李鑫,孟通,
申请(专利权)人:北京深鉴科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。