【技术实现步骤摘要】
一种基于忆阻器的神经网络加速器中激活函数的实现方法
本专利技术属于新型材料的非易失存储器领域,涉及存储器内计算技术和神经网络激活函数运算部分的加速。
技术介绍
新兴的忆阻器(RRAM)被认为是深度神经网络(DNN)加速的新范例,因为它能快速地实现在DNN中必不可少的矩阵向量乘(矩阵向量乘)操作。在RRAM连续的输入电压切换过程中,矩阵向量乘可以在RRAM的忆阻器阵列结构上进行模拟域的计算,并具有大量的并行性,几乎将计算复杂度从O(n2)减少到O(1)。同时,当所需要计算的权重直接映射在RRAM的忆阻器阵列上时,可以消除数据的搬移过程。现阶段针对基于忆阻器神经网络加速运算的方法,不同于传统的CMOS工艺,忆阻器利用阻值存储逻辑信息“1”和“0”,输入数据经过数字模拟转换器件(DAC)将数字量转换为电压模拟量,并通过字线将电压施加给电导,结合欧姆定律和基尔霍夫电流定律,电流在位线上汇聚,经由采样保持电路将电流值转换为电压值,再经由模拟数字转换器件(ADC)和移位相加模块得到最后的输出结果,从而完成神经网络中大量的乘累加操 ...
【技术保护点】
1.一种基于忆阻器的神经网络加速器中激活函数的实现方法,其特征在于,包括:改造传统的CORDIC算法(改造后的算法称为RRAM-CORDIC算法),使其适合于用忆阻器阵列来运算,然后改造忆阻器阵列电路,使其适合于执行RRAM-CORDIC算法,从而能够运算超越函数,从而能够运算激活函数。/n
【技术特征摘要】
1.一种基于忆阻器的神经网络加速器中激活函数的实现方法,其特征在于,包括:改造传统的CORDIC算法(改造后的算法称为RRAM-CORDIC算法),使其适合于用忆阻器阵列来运算,然后改造忆阻器阵列电路,使其适合于执行RRAM-CORDIC算法,从而能够运算超越函数,从而能够运算激活函数。
2.如权利要求1所述的基于忆阻器的神经网络加速器中激活函数的实现方法,所述RRAM-CORDIC算法是对传统CORDIC算法的改进,其特征在于,直接令θi=2-i,使用角度二极化重编码(BBR)对输入编码,并通过多次迭代合并的方式,构造出乘累加算子。
3.如权利要求2所述的基于忆阻器的神经网络加速器中激活函数的实现方法,其特征在于,在所述RRAM-CORDIC算法中,将输入值用二进制方式表示(角度用弧度表示,再转化为二进制),经过公式Eq1的转换将二进制的角度旋转方向定义域bi∈{0,1}转换为ri+1∈{-1,1},定义域转换保持了传统CORDIC算法旋转角度的连续性,也消除了角度预测的过程,因为-1代表顺时针旋转,1代表逆时针旋转;
基于传统CORDIC算法,每一次的迭代如Eq2所示:
通过如下若干种方式的一种或多种组合对传统CORDIC算法改造:
方式1、通过2次迭代合并的方式,将公式Eq2转换成公式Eq3,构造出乘累加算子:
方式2、利用Eq2进行大于2次的迭代合并;
方式3、合并全部迭代,得出Eq7,直接由初始值计算出最终值:
方式4、由公式Eq2,利用在接近0时tanθ≈θ的泰勒级数展开,得到公式Eq4:
方式5、由公式Eq4,在截断精度允许的范围内,其数值的表示范围超过了截断精度,忽略这些因子项,构造乘累加算子,合并迭代,得公式Eq5:
其中k的取值依据所计算的函数与计算精度要求来确定。
<...
【专利技术属性】
技术研发人员:张子涵,景乃锋,王琴,蒋剑飞,贺光辉,绳伟光,毛志刚,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。