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

神经网络批标准化层硬件实现方法、装置、设备及介质制造方法及图纸

技术编号:33530100 阅读:13 留言:0更新日期:2022-05-19 01:59
本申请涉及神经网络计算技术领域,特别涉及一种神经网络批标准化层硬件实现方法、装置、设备及介质,其中,方法包括:将神经网络的权重参数以电导形式存储至忆阻器阵列中;基于上一个卷积层的卷积结果,根据忆阻器阵列的每根源线流经的实际电流得到对应量化结果;将量化结果送入至下一个卷积层,以进行卷积层计算。由此,采用基于忆阻器阵列实现存算一体任务中常用的ADC模块,实现了BN层计算,以及激活函数模块,节约了处理器进行BN层计算的额外的开销,提升系统能效。提升系统能效。提升系统能效。

【技术实现步骤摘要】
神经网络批标准化层硬件实现方法、装置、设备及介质


[0001]本申请涉及神经网络计算
,特别涉及一种神经网络批标准化层硬件实现方法、装置、设备及介质。

技术介绍

[0002]批标准化层(Batch Normalization,BN层)是深度神经网络训练中常用的模块。它将分布比较离散的输出结果集中在一定范围内,避免梯度消失问题,加快网络训练速度。BN层的硬件实现方法中,比较常用的是通过和改进阈值进行对比。
[0003]相关技术中,如图1所示,在二值神经网络中,每一层的输出值为1或者

1。X
N
,Y
N
,Z
N
分别是第N个的卷积层,BN层,符号位判断模块的结果。卷积层的输出向量在经过BN层后,需要判断其符号位送到下一个卷积层计算,如下面的公式所示:
[0004][0005]改进的阈值方案,将BN层计算和后面的符号位判断模块结合起来。具体的计算公式如下:
[0006][0007]假设k>0,k<0同理,此方法避开了BN层的繁琐计算步骤,大大降低了计算开销。
[0008]然而,改进阈值的BN层实现方案是针对二值神经网络设计的,每一层的输出值只有两个取值,计算步骤比较简单。但是对于精度更高的神经网络硬件实现,该方法并不适用,亟待解决。
[0009]申请内容
[0010]本申请提供一种神经网络批标准化层硬件实现方法、装置、设备及介质,采用基于忆阻器阵列实现存算一体任务中常用的ADC(Analog

to

digital converter,模拟数字转换器)模块,实现了BN层计算,以及激活函数模块,节约了处理器进行BN层计算的额外的开销,提升系统能效。
[0011]本申请第一方面实施例提供一种神经网络批标准化层硬件实现方法,包括以下步骤:
[0012]将神经网络的权重参数以电导形式存储至忆阻器阵列中;
[0013]基于上一个卷积层的卷积结果,根据所述忆阻器阵列的每根源线流经的实际电流得到对应量化结果;以及
[0014]将所述量化结果送入至下一个卷积层,以进行卷积层计算。
[0015]可选地,所述根据所述忆阻器阵列的每根源线流经的实际电流得到对应量化结果,包括:
[0016]对预设范围进行8bit量化,得到所述量化结果。
[0017]可选地,所述预设范围为:
[0018][0019]其中,Z
max
为批标准化层计算结果的上限值,β,γ,σ,μ均为所述批标准化层的参数,ε为极小值。
[0020]可选地,在根据所述忆阻器阵列的每根源线流经的实际电流得到所述对应量化结果之前,还包括:
[0021]按照预设充放电策略对积分器中的电容进行充放电,以对所述上一个卷积层的卷积结果进行积分。
[0022]可选地,所述对预设范围进行8bit量化,得到所述量化结果,包括:
[0023]将所述积分器的输出电压,送至8bitADC中,将所述卷积结果量化到预设电压内多个电平。
[0024]本申请第二方面实施例提供一种神经网络批标准化层硬件实现装置,包括:
[0025]存储模块,用于将神经网络的权重参数以电导形式存储至忆阻器阵列中;
[0026]获取模块,用于基于上一个卷积层的卷积结果,根据所述忆阻器阵列的每根源线流经的实际电流得到对应量化结果;以及
[0027]量化模块,用于将所述量化结果送入至下一个卷积层,以进行卷积层计算。
[0028]可选地,所述获取模块,具体用于:
[0029]对预设范围进行8bit量化,得到所述量化结果。
[0030]可选地,所述预设范围为:
[0031][0032]其中,Z
max
为批标准化层计算结果的上限值,β,γ,σ,μ均为所述批标准化层的参数,ε为极小值。可选地,在根据所述忆阻器阵列的每根源线流经的实际电流得到所述对应量化结果之前,所述获取模块,还用于:
[0033]按照预设充放电策略对积分器中的电容进行充放电,以对所述上一个卷积层的卷积结果进行积分。
[0034]可选地,所述获取模块,具体用于:
[0035]将所述积分器的输出电压,送至8bitADC中,将所述卷积结果量化到预设电压内多个电平。
[0036]本申请第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的神经网络批标准化层硬件实现方法。
[0037]本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如权利要求1

5任一项所述的神经网络批标准化层硬件实现方法。
[0038]由此,可以将神经网络的权重参数以电导形式存储至忆阻器阵列中,并基于上一
个卷积层的卷积结果,根据忆阻器阵列的每根源线流经的实际电流得到对应量化结果,并将量化结果送入至下一个卷积层,以进行卷积层计算。由此,采用基于忆阻器阵列实现存算一体任务中常用的ADC模块,实现了BN层计算,以及激活函数模块,节约了处理器进行BN层计算的额外的开销,提升系统能效。
[0039]本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
[0040]本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0041]图1为带BN层的卷积层示意图根据本申请实施例提供的一种神经网络批标准化层硬件实现方法的流程图;
[0042]图2为两种方式实现BN层计算以及ReLU函数的对比示意;
[0043]图3为第N层卷积后的结果及BN计算结果示意图;
[0044]图4为根据本申请实施例提供的一种神经网络批标准化层硬件实现方法的流程图;
[0045]图5为根据本申请一个实施例的卷积层,BN层,以及ReLU激活函数的实现方法示意图;
[0046]图6为采用量化模块实现BN层实现,以及ReLU激活函数计算的示例图;
[0047]图7为根据本申请实施例的神经网络批标准化层硬件实现装置的示例图;
[0048]图8为根据本申请实施例的电子设备的示例图。
具体实施方式
[0049]下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
[0050]下面参考附图描述本申请实施例的神经网络批标准化层硬件实现方法、装置、设备及介质。
[0051]在介绍本申请实施例的神经网络批标准化层硬件实现方法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络批标准化层硬件实现方法,其特征在在于,包括以下步骤:将神经网络的权重参数以电导形式存储至忆阻器阵列中;基于上一个卷积层的卷积结果,根据所述忆阻器阵列的每根源线流经的实际电流得到对应量化结果;以及将所述量化结果送入至下一个卷积层,以进行卷积层计算。2.根据权利要求1所述的方法,其特征在于,所述根据所述忆阻器阵列的每根源线流经的实际电流得到对应量化结果,包括:对预设范围进行8bit量化,得到所述量化结果。3.根据权利要求1所述的方法,其特征在于,所述预设范围为:其中,Z
max
为批标准化层计算结果的上限值,β,γ,σ,μ均为所述批标准化层的参数,ε为极小值。4.根据权利要求2所述的方法,其特征在于,在根据所述忆阻器阵列的每根源线流经的实际电流得到所述对应量化结果之前,还包括:按照预设充放电策略对积分器中的电容进行充放电,以对所述上一个卷积层的卷积结果进行积分。5.根据权利要求4所述的方法,其特征在于,所述对预设范围进行8bit量化,得到所述量化结果,包括:将所述积分器的输出电压,送至8bitADC中,将所述卷积结果量化到预设电压内多个电平。6.一种神经网络批标准化层硬件实现装置,其特征在在于,包括:存储模块,用于将神经网络的权重参数以电导形式存储至忆阻器阵列中;获取模块,用于基于上一个卷积层的卷积结果,根据所述忆阻器阵列的每根源线流经的实际电流...

【专利技术属性】
技术研发人员:高滨周颖刘琪唐建石张清天钱鹤吴华强
申请(专利权)人:清华大学
类型:发明
国别省市:

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

1