无符号DAC实现有符号运算的方法、装置、设备和介质制造方法及图纸

技术编号:30825972 阅读:35 留言:0更新日期:2021-11-18 12:23
本申请提供的一种无符号DAC实现有符号运算的方法、装置、设备和介质,依据数据输入对应的有符号激活值转换为无符号激活值;将通过训练得到的权重和原偏置,结合数据宽度转换为新偏置;将无符号激活值、权重、新偏置映射到无符号DAC实现的存算一体电路上执行矩阵运算。本申请用无符号DAC实现的存算一体电路完成有符号矩阵乘法,相比于现有的有符号DAC,无符号DAC大大降低了实现的复杂度与成本。DAC大大降低了实现的复杂度与成本。DAC大大降低了实现的复杂度与成本。

【技术实现步骤摘要】
无符号DAC实现有符号运算的方法、装置、设备和介质


[0001]本专利技术涉及的神经网络运算
,特别是涉及一种无符号DAC实现有符号运算的方法、装置、设备和介质。

技术介绍

[0002]深度神经网络(DNN)研究近年来取得了飞速发展并得到初步应用。然而实现这样的算法,通常需要消耗大量的算力。如经典的深度卷积网络(CNN)模型AlexNet,需要进行至少7.2亿次的乘法运算。大的运算量产生大的功耗,一般功耗在10瓦到100瓦左右。
[0003]典型的存算一体电路中,多位宽的数字信号经过数字模拟转化器(DAC)被转成模拟信号,与存储在阵列中的权重在模拟域实现了乘加运算,模拟信号经过模拟数字转换器(ADC)被转成数字信号。存算一体电路实现了矩阵乘法,将存算一体电路输出进行其他数字域的处理,就可以实现深度神经网络的硬件加速。
[0004]通常深度神经网络中每层的数据输入(多位宽的数字信号)一般是有符号数(即正负),因此其中的DAC是有符号数DAC,而有符号DAC相比于无符号DAC设计复杂度高,成本较高。
[0005]因此,本申请提出一种无符号DAC实现的存算一体电路完成有符号矩阵乘法。

技术实现思路

[0006]鉴于以上所述现有技术的缺点,本申请的目的在于提供一种无符号DAC实现有符号运算的方法、装置、设备和介质,以解决现有技术中的问题。
[0007]为实现上述目的及其他相关目的,本申请提供一种无符号DAC实现有符号运算的方法,应用于存算一体电路,所述方法包括:依据数据输入对应的有符号激活值转换为无符号激活值;将通过训练得到的权重和原偏置,结合数据宽度转换为新偏置;将无符号激活值、权重、新偏置映射到无符号DAC实现的存算一体电路上执行矩阵运算。
[0008]于本申请的一实施例中,所述依据数据输入对应的有符号激活值转换为无符号激活值包括:通过在存算一体电路各DAC前设置反相器对多位二进制表示的有符号激活值的最高位取相反数,以转换为符合无符号DAC输入要求的多位二进制表示的无符号激活值。
[0009]于本申请的一实施例中,所述无符号激活值为:au
i
=a
i
+2
AW
‑1;其中,a
i
为有符号激活值,其取值范围为
‑2AW
‑1≤a
i
≤2
AW
‑1‑
1;AW为数据宽度;au
i
为无符号激活值,其取值范围为0≤au
i
≤2
AW

1;i表示存算一体阵列的行。
[0010]于本申请的一实施例中,所述新偏置为:其中,a
i
为有符号激活值;AW为数据宽度;weight
i,j
为存算一体阵列中存储的权重;N表示权重数;bias
j
为原偏置;bias

j
为新偏置;i,j分别表示存算一体阵列的行和列。
[0011]于本申请的一实施例中,所述矩阵运算为:其
中,O
j
为数据输出;weight
i,j
为存算一体阵列中存储的权重;N表示权重数;au
i
为无符号激活值;bias

j
为新偏置;i,j分别表示存算一体阵列的行和列。
[0012]于本申请的一实施例中,所述方法包括:所述矩阵运算中所述新偏置所参与的运算可在存算一体电路之外进行处理。
[0013]为实现上述目的及其他相关目的,本申请提供一种无符号DAC实现有符号运算的装置,所述装置包括:转换模块,用于依据数据输入对应的有符号激活值转换为无符号激活值;将通过训练得到的权重和原偏置,结合数据宽度转换为新偏置;处理模块,用于将无符号激活值、权重、新偏置映射到无符号DAC实现的存算一体阵列上执行矩阵运算。
[0014]为实现上述目的及其他相关目的,本申请提供一种计算机设备,所述设备包括:存储器、及处理器;所述存储器用于存储计算机指令;所述处理器运行计算机指令实现如上所述的方法。
[0015]为实现上述目的及其他相关目的,本申请提供一种计算机可读存储介质,存储有计算机指令,所述计算机指令被运行时执行如上所述的方法。
[0016]综上所述,本申请的一种无符号DAC实现有符号运算的方法、装置、设备和介质,依据数据输入对应的有符号激活值转换为无符号激活值;将通过训练得到的权重和原偏置,结合数据宽度转换为新偏置;将无符号激活值、权重、新偏置、映射到无符号DAC实现的存算一体电路上执行矩阵运算。
[0017]具有以下有益效果:
[0018]本申请用无符号DAC实现的存算一体电路完成有符号矩阵乘法,相比于现有的有符号DAC,无符号DAC大大降低了实现的复杂度与成本。
附图说明
[0019]图1显示为本申请于一实施例中的存算一体电路的示意图。
[0020]图2显示为本申请于一实施例中的无符号DAC实现有符号运算的方法的流程示意图。
[0021]图3显示为本申请于一实施例中的无符号DAC实现有符号运算的装置的模块示意图。
[0022]图4显示为本申请于一实施例中的计算机设备的结构示意图。
具体实施方式
[0023]以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0024]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,虽然图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,但其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0025]在通篇说明书中,当说某部分与另一部分“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种部分“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素,排除在外,而是意味着可以还包括其它构成要素。
[0026]其中提到的第一、第二及第三等术语是为了说明多样的部分、成分、区域、层及/或段而使用的,但并非限定于此。这些术语只用于把某部分、成分、区域、层或段区别于其它部分、成分、区域、层或段。因此,以下叙述的第一部分、成分、区域、层或段在不超出本申请范围的范围内,可以言及到第二部分、成分、区域、层或段。
[0027]再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种无符号DAC实现有符号运算的方法,其特征在于,应用于存算一体电路,所述方法包括:依据数据输入对应的有符号激活值转换为无符号激活值;将通过训练得到的权重和原偏置,结合数据宽度转换为新偏置;将无符号激活值、权重、新偏置、映射到无符号DAC实现的存算一体电路上执行矩阵运算。2.根据权利要求1所述的方法,其特征在于,所述依据数据输入对应的有符号激活值转换为无符号激活值包括:通过在存算一体电路各DAC前设置反相器对多位二进制表示的有符号激活值的最高位取相反数,以转换为符合无符号DAC输入要求的多位二进制表示的无符号激活值。3.根据权利要求2所述的方法,其特征在于,所述无符号激活值与有符号激活值的转换关系为:au
i
=a
i
+2
AW
‑1;其中,a
i
为有符号激活值,其取值范围为
‑2AW
‑1≤a
i
≤2
AW
‑1‑
1;AW为数据宽度;au
i
为无符号激活值,其取值范围为0≤au
i
≤2
AW

1;i表示存算一体阵列的行。4.根据权利要求1所述的方法,其特征在于,所述新偏置为:其中,a
i
为有符号激活值;AW为数据宽度;weight

【专利技术属性】
技术研发人员:陈克林朱贤桢梁龙飞
申请(专利权)人:上海新氦类脑智能科技有限公司
类型:发明
国别省市:

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

1