神经元与神经网络的综合训练与推理制造技术

技术编号:38004744 阅读:5 留言:0更新日期:2023-06-30 10:19
一种计算设备,包括或用于实现用于通过对接收输入执行学习过程以产生输出来对所述输入进行运算的神经网络,所述神经网络由用于训练所述神经网络和推理机器学习模型的主模块实现。所述主模块包括投影模块和译码模块。所述投影模块用于根据为所述投影模块存储的机器学习模型,将输入矢量从初始矢量空间投影到码字空间中。所述译码模块用于评估为所述投影模块存储的所述机器学习模型,并形成表示所述评估的结果的评估数据。所述投影模块还用于根据所述评估数据调整为所述投影模块存储的所述机器学习模型。述机器学习模型。述机器学习模型。

【技术实现步骤摘要】
【国外来华专利技术】神经元与神经网络的综合训练与推理


[0001]本专利技术涉及深度神经网络,尤其涉及神经元和神经网络的设计、训练和推理。

技术介绍

[0002]深度神经网络(Deep Neural Network,DNN)是受构成生物大脑的生物神经网络启发的计算系统。DNN通过考虑示例来“学习”执行任务,通常不使用任何特定于任务的规则进行编程。例如,在图像识别中,这些系统可能会通过分析已经被手动标记为“车”或“没有车”的示例图像并使用结果识别其它图像中的车来学习识别包含车的图像。这些系统在没有任何关于汽车的事先了解的情况下这样做。相反,这些系统会从他们处理的学习材料中自动生成识别特征。
[0003]DNN以一组称为人工神经元的连接单元或节点为基础,这些连接单元或节点以松散方式建模生物大脑中的神经元。每个连接就像生物大脑中的突触一样,都可以将信号从一个人工神经元传输到另一个人工神经元。接收信号的人工神经元可以处理信号,然后激活连接到该人工神经元的另外的人工神经元。通常,人工神经元被聚集成层,其中,不同的层可以对其输入执行不同类型的转换。
[0004]在常见DNN实现方式中,人工神经元之间连接处的“信号”是实数,而且每个人工神经元的输出是通过其输入之和的某一非线性函数计算的。人工神经元之间的连接被称为“边缘”。边缘通常具有随着学习的进行而调整的权重。权重增加或减少连接处的信号的强度。人工神经元可以具有阈值,使得只有在聚合信号超过该阈值时,才发送信号。
[0005]图1中示出了单个人工神经元102。输入(x1,x2,

,x
n
)可以是输入信号,也可以是前一个神经元层的输出。每个输入x
i
首先与权重w
ij
相乘,其中,j表示神经元指数,然后将乘积求和。在一些情况下,将偏置w
0j
与该和相加。然后,净输入通过非线性激活函数,最后产生单个输出y
j

[0006]DNN在今天无处不在,渗透到现代通信网络的各个方面。因此,DNN预计将在未来网络中的设备(如智能手机、传感器和可穿戴设备)中发挥非常重要的作用,这并不奇怪。尤其是对于具有各种不同的应用(包括图像识别、人像模式摄影、文本预测、用户画像、去噪和相机增强)的智能手机来说,DNN已经有了很大的市场。
[0007]然而,它们在这种资源受限设备上的实现受到高资源消耗(内存和能量)的限制。在DNN的标准实现中,所有输入、输出、权重、偏置和激活函数都被视为实数,通常在计算机中用浮点运算表示,这意味着每个数字都使用64位序列近似。在深度学习应用中,DNN可能有数千个神经元,其中每个神经元可能有许多输入,从而产生数百万个这样的浮点数。
[0008]因此,最近的研究集中在使用较小的数字运算(即二元、三元或8位)压缩DNN。这种方法基本上以比浮点数使用的位少的位来表示每个数字(输入、输出、权重)。然而,减少表示位对准确性有不好的影响。对于相同数量的神经元,每个神经元现在在描述关系方面的效力都较低,因此可能会引入误差。另一方面,可以增加神经元的数量,理论上达到与以前相同的准确性。例如,在最坏的情况下,64个二元神经元可以模拟浮点神经元。然而,最近的
研究希望是,如果二元神经网络能够被设计得当,这种情况就可以得到改善。
[0009]研究表明,使用BNN可以在内存使用和能耗方面提供巨大的增益,同时实现的精度仍然接近其连续权重对应的精度。然而,获得导致这些增益的正确的二元权重并不是容易的任务,因为众所周知,对于简单神经元来说,即使是单层神经元,这也是一个NP难度的优化问题。因此,训练BNN已成为新的瓶颈,仍然是机器学习领域的关键挑战。训练BNN具有挑战性的主要原因是由于二元权重的性质,用于训练连续DNN的标准反向传播算法不能再直接应用,因为它是基于计算梯度的。已经表明,一旦代表数字的位数较小,梯度就会变得不稳定,更不用说单一的二元值。
[0010]然而,大多数先前关于训练BNN的工作仍然基于反向传播的想法,通过引入梯度近似。这种方法通常需要存储每个神经元权重的两个版本,一个浮点数和一个二元数。例如,一些方法为每个权重保留全精度值,然后(i)取该值的符号以获得二元值,(ii)针对在二元值上评估的梯度,通过直通估计器更新全精度值。
[0011]另一种方法是,存储两个版本的权重,但现在的目标是优化惩罚两者之间的距离的函数,从而迫使浮点数取非常接近二元值的值。
[0012]前面描述的所有这些方法都不适合能量受限的设备,因为它们需要使用全精度数字进行训练,因此它们建议的训练实际上是在云上执行的,在云上,放松了资源限制。然后,可以在设备上使用固定的预训练BNN,对看不见的数据执行要求较低的推理阶段。因此,缺乏允许在设备上训练的BNN设计和训练算法是现有方法的主要限制。
[0013]消除对梯度信息需求的另一种方法是使用设计上适合二元数的训练算法,如进化算法,特别是遗传算法。然而,这种方法存在可扩展性问题,随着所需的存储在内存中的权重的数量乘以填充大小,从而内存占用空间可能很容易变得比使用连续DNN更糟糕。因此,无法以这种方式解决在设备上训练的问题。
[0014]还有一些算法可能潜在地用于直接在设备上的独立训练。例如,一些受统计物理学启发的方法,为每个二元权重引入整数内部变量,降低了运算的复杂性。然而,这种方法限于单层可配置权重的拓扑,无法将其应用于更通用和更深层的体系结构。在另一种方法中,不需要保持连续权重的版本,训练是基于计算梯度和执行概率投影,以将二元权重更新为其新值。然而,仍然需要处理内存中的连续数字并计算梯度,放弃了使用BNN在内存要求中的一些益处。
[0015]最后,先前已经提出了一种BNN的设计和训练方法,其中纠错码被用作训练算法的一部分。
[0016]理想的是,设计神经元和神经网络以便完全二值化DNN,在具有紧凑AI芯片组的智能手机等能量受限的设备中实现人工智能(artificial intelligence,AI),以降低能耗和设备训练。

技术实现思路

[0017]专利技术人提出了一种用于神经网络(包括二元神经网络)的训练和推理的新方法,提供了更灵活和模块化的体系结构和改进的训练过程,其被证明提供了高的准确性以及良好的泛化特性。
[0018]根据一个方面,提供了一种计算设备,包括或用于实现用于通过对接收输入执行
学习过程以产生输出来对所述输入进行运算的神经网络。所述神经网络由用于训练所述神经网络和推理机器学习模型的主模块实现。所述主模块包括投影模块和译码模块。所述投影模块用于根据为所述投影模块存储的机器学习模型,将输入矢量从初始矢量空间投影到码字空间中。所述译码模块用于评估为所述投影模块存储的所述机器学习模型,并形成表示所述评估的结果的评估数据。所述投影模块还用于根据所述评估数据调整为所述投影模块存储的所述机器学习模型。所提出的体系结构提供了一种能够训练神经网络和推理机器学习模型的单一设备。
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种计算设备,其特征在于,包括或用于实现用于通过对接收输入执行学习过程以产生输出来对所述输入进行运算的神经网络,所述神经网络由用于训练所述神经网络和推理机器学习模型的主模块实现,所述主模块包括:投影模块,用于根据为所述投影模块存储的机器学习模型,将输入矢量从初始矢量空间投影到码字空间中;以及译码模块,用于评估为所述投影模块存储的所述机器学习模型,并形成表示所述评估的结果的评估数据;其中,所述投影模块用于根据所述评估数据调整为所述投影模块存储的所述机器学习模型。2.根据权利要求1所述的计算设备,其特征在于,所述投影模块包括:多个神经元,用于接收矢量输入的一个或多个元素,并以它们的相应权重进行运算以产生相应输出;以及多个函数,每个函数对所述多个神经元中的一个神经元的相应输出进行运算,其中,所述多个函数的输出形成所述投影模块的矢量输出。3.根据权利要求1或2所述的计算设备,其特征在于,所述神经网络是二元神经网络,所述二元神经网络用于对一个或多个矢量输入及其相应的二元权重应用具有二元输出的一个或多个函数,以产生二元矢量输出。4.根据权利要求2或3所述的计算设备,其特征在于,所述函数是实现逻辑运算的任何组合的任何布尔函数。5.根据权利要求4所述的计算设备,其特征在于,所述布尔函数选自XOR函数、AND函数、OR函数、XNOR函数或NAND函数中的任一个。6.根据上述权利要求中任一项所述的计算设备,其特征在于,所述译码模块包括编码器和解码器。7.根据上述权利要求中任一项所述的计算设备,其特征在于,所述译码模块用于通过在所述编码器处编码目标模式以确定目标码字来评估所述机器学习模型,所述评估数据是从所述译码模块的编码器传递到所述投影模块的包括所述目标码字的反馈信息。8.根据权利要求7所述的计算设备,其特征在于,所述反馈信息包括准确性分数矢量(φ),其中,所述准确性分数矢量的每个元素与投影的输入矢量的位关联。9.根据上述权利要求中任一项所述的计算设备,其特征在于,所述译码模块用于通过在所述解码器处解码投影的输入矢量以确定估计标签来评估所述机器学习模型,所述评估数据是从所述投影模块传递到所述译码模块的解码器的包括所述投影的输入矢量的前馈信息。10.根据权利要求9所述的计算设备,其特征在于,所述前馈信息(θ)包括与所述投影的输入矢量关联的置信度值。11.根据权利要求10所述的计算设备,其特征在于,所述置信度值用于...

【专利技术属性】
技术研发人员:尼古拉斯
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1