技术新讯 > 计算推算,计数设备的制造及其应用技术 > 用于训练二值深度神经网络的装置和方法与流程  >  正文

用于训练二值深度神经网络的装置和方法与流程

  • 国知局
  • 2024-12-26 16:05:16

本发明涉及机器学习模型,尤其涉及二值深度神经网络的训练。

背景技术:

1、深度学习是过去十年计算机视觉和自然语言处理领域众多成功的根源。它已经占据了技术和社会领域的中心位置,其应用范围远远超出了计算机科学范畴。

2、深度学习使用深度神经网络(deep neural network,dnn),这是一种复杂的非线性系统,受到生物大脑的启发,能够操控高维对象、从给定的示例中自主学习而无需使用任何任务特定的规则进行编程以及获得最先进的性能。

3、图1示出了dnn的基本操作方案,通常分为两个阶段。在训练阶段,dnn(在图中被标注为‘模型’)学习自己的参数。使用提供的训练数据102训练待训练模型的起始版本,如101所示,以形成经过训练的模型103。然后,在推理阶段,dnn用于输出对不可见的输入数据105的一个或多个预测104。

4、深度神经网络通常被认为在内存和计算方面是高度密集型的。一方面,dnn通常由非常多的参数组成,在当今的应用中达到数以亿计。这需要大量的内存占用空间来表示模型。除此之外,训练阶段需要大量的训练数据,并且需要大量用于优化模型权重的其它临时变量(也称为参数),例如梯度信息。因此,训练dnn通常需要专用的强大基础设施,这可能会限制人工智能的潜力。

5、解决这种内存墙问题的一种有前景的方法是设计具有二值参数的dnn,这意味着模型参数由二进制数表示,仅占用1位,而不是使用32位的浮点数。这不仅可以大大减小模型占用空间,还可以减少训练内存并降低计算复杂度。

6、但是,二值参数是离散的,无法使用现有的梯度下降的深度学习理论进行优化(参见例如https://en.wikipedia.org/wiki/gradient_descent)。

7、二值化是一种训练二值深度神经网络的重要方法。图2示出了该过程的示意性操作图,其中,浮点模型201是具有浮点参数的起始dnn,浮点梯度下降优化器202是使用梯度下降原理优化模型浮点参数的块。二值化块203例如通过使用遵循一些预定义性能标准的符号提取,将模型参数从浮点转换为二进制数形式。二值化模型204在训练过程期间被更新,训练过程结束时得到的最终模型将用于推理。

8、这种方案的主要局限性在于,训练阶段完全依赖于浮点训练。它不仅没有解决内存和计算复杂度问题,还为训练过程增加了更多的复杂性。

9、需要开发一种克服这些问题的方法。

技术实现思路

1、根据第一方面,提供了一种用于训练二值深度神经网络的设备,所述设备用于:根据所述二值深度神经网络的原型版本的输出与预期输出之间的误差生成训练信号,所述二值深度神经网络的所述原型版本具有多个二值权重,每个二值权重具有相应值;根据所述训练信号,针对所述二值深度神经网络的所述原型版本的每个二值权重,输出要反转或保持相应二值权重的所述相应值的相应决策。

2、这可以使设备直接在二值域中训练和优化包括二值权重的dnn,而不需要梯度处理方法。因此,训练过程可能需要更少的内存和计算能力,因为该训练过程不使用内存密集型的梯度信号和浮点乘法。

3、所述设备可以用于根据预定义优化目标生成所述训练信号。这可以使训练信号反映与预期结果相比dnn的原型版本在预测结果方面的表现情况。

4、所述预定义优化目标可以是损失函数的最小化。这可以是训练深度神经网络的便捷实现方式。

5、所述训练信号可以包括一个或多个量。所述设备可以用于根据所述一个或多个量针对每个二值权重输出所述相应决策,以便满足所述预定义优化目标。这可以使设备使用训练信号来确定是否反转特定权重以满足预定义优化目标,例如以最小化预定损失函数。

6、所述设备还可以用于跟踪所述预定义优化目标的状态。这可以使设备在迭代优化过程期间将经优化的实体的状态合并到优化信号中。这可以使经过训练的深度神经网络在推理期间达到更好的预测精度。

7、反转或保持所述二值深度神经网络的所述原型版本的每个二值权重的所述相应值的所述相应决策可以基于根据所述训练信号计算的优化信号。这可以使设备做出反转或保持dnn的原型版本的每个二值权重的决策。

8、每个二值权重可以仅有两个可能的值。这可以使模型参数由二进制数表示,仅占用1位,而不是使用32位的浮点数。这不仅可以减小模型占用空间,还可以减少训练内存并降低计算复杂度。

9、所述设备可以用于接收训练数据集,以用于形成所述二值深度神经网络的所述原型版本的所述输出,所述训练数据集包括输入数据和相应预期输出。训练信号可以根据二值深度神经网络的原型版本的输出与预期输出之间的误差形成。这可以使二值dnn的原型版本处理输入数据以形成预测输出,然后可以将该预测输出与相应预期输出进行比较。这可以使设备评估二值dnn的原型版本的性能。

10、所述设备还可以包括存储器,用于存储根据预定义优化函数更新的累加器。这可以支持在每次训练迭代期间控制要反转的二值权重的量,从而增强训练收敛和性能。

11、所述设备可以用于根据相应决策重置所述存储器。例如,对于在训练过程的特定迭代中被反转的每个二值权重,设备可以指示针对与该经反转权重相对应的累加器函数的存储输出进行存储器重置。这可以使累加器在每次对应二值权重反转时被重置。

12、所述设备还可以用于根据相应决策更新所述二值深度神经网络的所述原型版本的所述二值权重。这可以使设备优化权重并更新dnn,以便在训练过程的下一次迭代中使用。

13、所述设备可以用于迭代地更新所述二值深度神经网络的所述原型版本的所述二值权重,直到达到预定义收敛级别。这可以使得到的经过训练的二值深度神经网络在推理期间达到预定义性能水平。

14、所述二值深度神经网络可以是包括布尔神经元的布尔深度神经网络。使用布尔神经元设计,可以以与从浮点神经元构造浮点层和网络相同的方式直接构造布尔层和网络(例如线性层和卷积层)。

15、根据另一方面,提供了一种用于训练二值深度神经网络的方法,所述二值深度神经网络包括多个二值权重,所述方法包括:根据所述二值深度神经网络的原型版本的输出与预期输出之间的误差生成训练信号,所述二值深度神经网络的所述原型版本具有多个二值权重,每个二值权重具有相应值;根据所述训练信号,针对所述二值深度神经网络的所述原型版本的每个二值权重,输出要反转或保持相应二值权重的所述相应值的相应决策。

16、该方法可以支持直接在二值域中优化或训练包括二值权重的dnn,而不需要梯度处理方法。因此,训练过程可能需要更少的内存和计算能力,因为该训练过程不使用内存密集型的梯度信号和浮点乘法。

17、根据另一方面,提供了一种存储有计算机可读指令的计算机可读存储介质,所述计算机可读指令当在计算机系统处执行时,使所述计算机系统执行如上所述的方法。计算机系统可以包括一个或多个处理器。计算机可读存储介质可以是非瞬时性计算机可读存储介质。

技术特征:

1.一种用于训练二值深度神经网络的设备(600),其特征在于,所述设备用于:

2.根据权利要求1所述的设备(600),其特征在于,所述设备用于根据预定义优化目标生成所述训练信号(302)。

3.根据权利要求2所述的设备(600),其特征在于,所述预定义优化目标是损失函数的最小化。

4.根据权利要求2或3所述的设备(600),其特征在于,所述训练信号(302)包括一个或多个量,所述设备(600)用于根据所述一个或多个量针对每个二值权重输出所述相应决策,以便满足所述预定义优化目标。

5.根据权利要求2至4中任一项所述的设备(600),其特征在于,所述设备(600)还用于跟踪所述预定义优化目标的状态。

6.根据上述权利要求中任一项所述的设备(600),其特征在于,反转或保持所述二值深度神经网络(301)的所述原型版本的每个二值权重的所述相应值的所述相应决策基于根据所述训练信号(302)计算的优化信号。

7.根据上述权利要求中任一项所述的设备(600),其特征在于,每个二值权重仅有两个可能的值。

8.根据上述权利要求中任一项所述的设备(600),其特征在于,所述设备(600)用于接收训练数据集,以用于形成所述二值深度神经网络(301)的所述原型版本的所述输出,所述训练数据集包括输入数据和相应预期输出。

9.根据上述权利要求中任一项所述的设备(600),其特征在于,所述设备(600)还包括存储器(305、602),用于存储根据预定义优化函数更新的累加器。

10.根据权利要求9所述的设备(600),其特征在于,所述设备用于根据所述相应决策重置所述存储器(305、602)。

11.根据上述权利要求中任一项所述的设备(600),其特征在于,所述设备(600)还用于根据所述相应决策更新所述二值深度神经网络(301)的所述原型版本的所述二值权重。

12.根据权利要求11所述的设备(600),其特征在于,所述设备(600)用于迭代地更新所述二值深度神经网络(301)的所述原型版本的所述二值权重,直到达到预定义收敛级别。

13.根据上述权利要求中任一项所述的设备(600),其特征在于,所述二值深度神经网络(301)是包括布尔神经元的布尔深度神经网络。

14.一种用于训练二值深度神经网络的方法(500),其特征在于,所述二值深度神经网络包括多个二值权重,所述方法包括:

15.一种存储有计算机可读指令的计算机可读存储介质(602),其特征在于,所述计算机可读指令当在计算机系统(601)处执行时,使所述计算机系统执行根据权利要求14所述的方法(500)。

技术总结公开了一种用于训练二值深度神经网络的设备(600),所述设备用于:根据所述二值深度神经网络(301)的原型版本的输出与预期输出之间的误差生成(501)训练信号(302),所述二值深度神经网络的所述原型版本具有多个二值权重,每个二值权重具有相应值;根据所述训练信号(302),针对所述二值深度神经网络(301)的所述原型版本的每个二值权重,输出(502)要反转或保持相应二值权重的所述相应值的相应决策。这可以使所述设备直接在二值域中训练包括二值参数的深度神经网络,而不需要梯度处理方法。因此,训练过程需要的内存和计算能力可能更少,因为所述训练过程不使用内存密集型的梯度信号。技术研发人员:阮万明,路易斯·勒孔特受保护的技术使用者:华为技术有限公司技术研发日:技术公布日:2024/12/12

本文地址:https://www.jishuxx.com/zhuanli/20241216/348088.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。