[发明专利]无符号DAC实现有符号运算的方法、装置、设备和介质在审
申请号: | 202110915035.8 | 申请日: | 2021-08-10 |
公开(公告)号: | CN113656751A | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 陈克林;朱贤桢;梁龙飞 | 申请(专利权)人: | 上海新氦类脑智能科技有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F7/523 |
代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 李治东 |
地址: | 200090 上海市杨浦区长阳*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 符号 dac 实现 运算 方法 装置 设备 介质 | ||
本申请提供的一种无符号DAC实现有符号运算的方法、装置、设备和介质,依据数据输入对应的有符号激活值转换为无符号激活值;将通过训练得到的权重和原偏置,结合数据宽度转换为新偏置;将无符号激活值、权重、新偏置映射到无符号DAC实现的存算一体电路上执行矩阵运算。本申请用无符号DAC实现的存算一体电路完成有符号矩阵乘法,相比于现有的有符号DAC,无符号DAC大大降低了实现的复杂度与成本。
技术领域
本发明涉及的神经网络运算技术领域,特别是涉及一种无符号DAC实现有符号运算的方法、装置、设备和介质。
背景技术
深度神经网络(DNN)研究近年来取得了飞速发展并得到初步应用。然而实现这样的算法,通常需要消耗大量的算力。如经典的深度卷积网络(CNN)模型AlexNet,需要进行至少7.2亿次的乘法运算。大的运算量产生大的功耗,一般功耗在10瓦到100瓦左右。
典型的存算一体电路中,多位宽的数字信号经过数字模拟转化器(DAC)被转成模拟信号,与存储在阵列中的权重在模拟域实现了乘加运算,模拟信号经过模拟数字转换器(ADC)被转成数字信号。存算一体电路实现了矩阵乘法,将存算一体电路输出进行其他数字域的处理,就可以实现深度神经网络的硬件加速。
通常深度神经网络中每层的数据输入(多位宽的数字信号)一般是有符号数(即正负),因此其中的DAC是有符号数DAC,而有符号DAC相比于无符号DAC设计复杂度高,成本较高。
因此,本申请提出一种无符号DAC实现的存算一体电路完成有符号矩阵乘法。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种无符号DAC实现有符号运算的方法、装置、设备和介质,以解决现有技术中的问题。
为实现上述目的及其他相关目的,本申请提供一种无符号DAC实现有符号运算的方法,应用于存算一体电路,所述方法包括:依据数据输入对应的有符号激活值转换为无符号激活值;将通过训练得到的权重和原偏置,结合数据宽度转换为新偏置;将无符号激活值、权重、新偏置映射到无符号DAC实现的存算一体电路上执行矩阵运算。
于本申请的一实施例中,所述依据数据输入对应的有符号激活值转换为无符号激活值包括:通过在存算一体电路各DAC前设置反相器对多位二进制表示的有符号激活值的最高位取相反数,以转换为符合无符号DAC输入要求的多位二进制表示的无符号激活值。
于本申请的一实施例中,所述无符号激活值为:aui=ai+2AW-1;其中,ai为有符号激活值,其取值范围为-2AW-1≤ai≤2AW-1-1;AW为数据宽度;aui为无符号激活值,其取值范围为0≤aui≤2AW-1;i表示存算一体阵列的行。
于本申请的一实施例中,所述新偏置为:其中,ai为有符号激活值;AW为数据宽度;weighti,j为存算一体阵列中存储的权重;N表示权重数;biasj为原偏置;bias′j为新偏置;i,j分别表示存算一体阵列的行和列。
于本申请的一实施例中,所述矩阵运算为:其中,Oj为数据输出;weighti,j为存算一体阵列中存储的权重;N表示权重数;aui为无符号激活值;bias′j为新偏置;i,j分别表示存算一体阵列的行和列。
于本申请的一实施例中,所述方法包括:所述矩阵运算中所述新偏置所参与的运算可在存算一体电路之外进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海新氦类脑智能科技有限公司,未经上海新氦类脑智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110915035.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高质量的串珠打磨装置
- 下一篇:生长黄羽鸡用超低蛋白配合饲料的制备方法