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

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

技术编号:33375851 阅读:10 留言:0更新日期:2022-05-11 22:43
本申请涉及神经网络计算技术领域,特别涉及一种神经网络批标准化层硬件实现方法、装置、设备及介质,其中,方法包括:在神经网络中,确定神经网络的当前卷积结果;基于当前卷积结果生成K矩阵,并得到与K矩阵呈映射关系的忆阻器阵列,其中,忆阻器阵列的电导差值与K矩阵的参数相对应;利用忆阻器阵列进行神经网络的BN层计算,得到BN层的计算结果。由此,解决了相关技术中BN层计算只适用于二值神经网络,不适合用于较高精度的神经网络硬件实现等问题,通过在忆阻器阵列上实现BN层计算,节约了数据在处理器单元和忆阻器阵列单元之间的来回传输,提高系统能效。高系统能效。高系统能效。

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


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

技术介绍

[0002]相关技术中,BN层(Batch Normalization,批标准化层)硬件实现包括以下步骤:
[0003](1)在二值神经网络中,将判断符号位的操作和BN层计算结合在一起。卷积层的输出结果只需要和Y
TH
对比,如果大于该值,则最后的结果为1,如果小于该值,则结果为

1;
[0004](2)将BN层参数融合到前一层的卷积中:
[0005][0006]Z
N
=X
N
*W
N

+bias


[0007]把当做等效的权重矩阵,输入输出不变,当做等效偏置,将W
N

和bias

映射到忆阻器阵列中,[X
N
,1]转换得到的电压脉冲信号输入到对应的位线端。流经源线的电流,也即该层卷积和BN层计算后的结果;
[0008](3)通过基于忆阻器阵列的查找表方式。针对二值神经网络输出简单的特点,对于不同的卷积结果,将对应的BN层计算结果以查找表的方式存储在忆阻器阵列中。
[0009](4)通过16bit加法器和乘法器单元实现BN层计算。
[0010]然而,相关技术中只适用于二值神经网络,不适合用于较高精度的神经网络硬件实现,并且该BN层的硬件实现主要是在CPU(central processing unit,中央处理器)或者GPU(graphics processing unit,图形处理器)中实现,随着存算一体技术的逐渐发展,如果仍将BN层放置到通用的处理单元中计算,存算一体模块和CPU/GPU之间的数据搬运将阻碍系统能效的进一步提升,亟待解决。
[0011]申请内容
[0012]本申请提供一种神经网络批标准化层硬件实现方法、装置、设备及介质,以解决相关技术中BN层计算只适用于二值神经网络,不适合用于较高精度的神经网络硬件实现等问题,通过在忆阻器阵列上实现BN层计算,节约了数据在处理器单元和忆阻器阵列单元之间的来回传输,提高系统能效。
[0013]本申请第一方面实施例提供一种神经网络批标准化层硬件实现方法,包括以下步骤:
[0014]在神经网络中,确定所述神经网络的当前卷积结果;
[0015]基于所述当前卷积结果生成K矩阵,并得到与所述K矩阵呈映射关系的忆阻器阵列,其中,所述忆阻器阵列的电导差值与所述K矩阵的参数相对应;以及
[0016]利用所述忆阻器阵列进行所述神经网络的BN层计算,得到所述BN层的计算结果。
[0017]可选地,所述得到与所述K矩阵呈映射关系的忆阻器阵列,包括:
[0018]将所述忆阻器阵列中任意两忆阻器单元构成2T2R单元,得到所述忆阻器阵列。
[0019]可选地,所述任意两忆阻器单元的源线相连,且位线上施加相同幅值、极性相反的电压脉冲信号。
[0020]可选地,还包括:
[0021]检测流经源线的实际电流;
[0022]根据所述实际电流计算实际电压和上下电导的至少一个电导差值。
[0023]可选地,所述利用所述忆阻器阵列进行所述神经网络的BN层计算,包括:
[0024]将所述K矩阵中的参数转换为所述至少一个电导差值。
[0025]本申请第二方面实施例提供一种神经网络批标准化层硬件实现装置,包括:
[0026]确定模块,用于在神经网络中,确定所述神经网络的当前卷积结果;
[0027]获取模块,用于基于所述当前卷积结果生成K矩阵,并得到与所述K矩阵呈映射关系的忆阻器阵列,其中,所述忆阻器阵列的电导差值与所述K矩阵的参数相对应;以及
[0028]第一计算模块,用于利用所述忆阻器阵列进行所述神经网络的BN层计算,得到所述BN层的计算结果。
[0029]可选地,所述获取模块,具体用于:
[0030]将所述忆阻器阵列中任意两忆阻器单元构成2T2R单元,得到所述忆阻器阵列。
[0031]可选地,所述任意两忆阻器单元的源线相连,且位线上施加相同幅值、极性相反的电压脉冲信号。
[0032]可选地,还包括:
[0033]检测模块,用于检测流经源线的实际电流;
[0034]第二计算模块,用于根据所述实际电流计算实际电压和上下电导的至少一个电导差值。
[0035]可选地,所述第一计算模块,具体用于:
[0036]将所述K矩阵中的参数转换为所述至少一个电导差值。
[0037]本申请第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的神经网络批标准化层硬件实现方法。
[0038]本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如权利要求1

5任一项所述的神经网络批标准化层硬件实现方法。
[0039]由此,可以在神经网络中,确定神经网络的当前卷积结果,并基于当前卷积结果生成K矩阵,并得到与K矩阵呈映射关系的忆阻器阵列,并利用忆阻器阵列进行神经网络的BN层计算,得到BN层的计算结果。由此,将BN层计算转换成矩阵向量乘运算,和前向连接以及卷积层一样,其参数可以部署到忆阻器阵列存储并计算,解决相关技术中BN层计算只适用于二值神经网络,不适合用于较高精度的神经网络硬件实现等问题,节约了数据在处理器单元和忆阻器阵列单元之间的来回传输,提高系统能效。
[0040]本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
[0041]本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0042]图1为根据本申请实施例提供的一种神经网络批标准化层硬件实现方法的流程图;
[0043]图2为带BN层的卷积层的示例图;
[0044]图3为根据本申请一个实施例的卷积操作及基于忆阻器阵列的卷积操作的示例图;
[0045]图4为根据本申请一个实施例的基于忆阻器阵列进行BN层计算的示例图;
[0046]图5为根据本申请实施例的神经网络批标准化层硬件实现装置的示例图;
[0047]图6为根据本申请实施例的电子设备的示例图。
具体实施方式
[0048]下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
[0049]下面参本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络批标准化层硬件实现方法,其特征在在于,包括以下步骤:在神经网络中,确定所述神经网络的当前卷积结果;基于所述当前卷积结果生成K矩阵,并得到与所述K矩阵呈映射关系的忆阻器阵列,其中,所述忆阻器阵列的电导差值与所述K矩阵的参数相对应;以及利用所述忆阻器阵列进行所述神经网络的BN层计算,得到所述BN层的计算结果。2.根据权利要求1所述的方法,其特征在于,所述得到与所述K矩阵呈映射关系的忆阻器阵列,包括:将所述忆阻器阵列中任意两忆阻器单元构成2T2R单元,得到所述忆阻器阵列。3.根据权利要求2所述的方法,其特征在于,所述任意两忆阻器单元的源线相连,且位线上施加相同幅值、极性相反的电压脉冲信号。4.根据权利要求1所述的方法,其特征在于,还包括:检测流经源线的实际电流;根据所述实际电流计算实际电压和上下电导的至少一个电导差值。5.根据权利要求4所述的方法,其特征在于,所述利用所述忆阻器阵列进行所述神经网络的BN层计算,包括:将所述K矩阵中的参数转换为所述至少一个电导差值。6.一种神经网络批标准化层硬件实现装置,其特征在在于,包括:确定模块,用于在神经网络中,确定所述神经网络的当前卷积结果;获取模块,用于基于所述当前卷积结果生成K矩阵,并得到与所述K矩阵呈映射关系的忆阻器阵列,其中,所述...

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

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

1