一种缓解忆阻加速器非理想因素的方法及装置制造方法及图纸

技术编号:30407445 阅读:15 留言:0更新日期:2021-10-20 11:16
本申请提供了一种缓解忆阻加速器非理想因素的方法及装置,属于电子信息技术领域。所述方法包括:获取已训练好的神经网络中卷积层和/或全连接层的浮点值表示的原始权重、映射各层权重的量化位宽以及忆阻器表示精度;根据所述量化位宽和所述忆阻器表示精度,量化所述原始权重,得到第一理想硬件级权重;将所述第一理想硬件级权重映射到所述忆阻器单元中,得到第一非理想因素硬件级权重;根据所述第一非理想因素硬件级权重,重建浮点值表示的第一非理想因素权重;对所述第一非理想因素权重进行处理,得到浮点值表示的抗非理想因素权重;根据所述抗非理想因素权重,得到第二理想硬件级权重,将所述第二理想硬件级权重,重映射到所述忆阻器单元中。述忆阻器单元中。述忆阻器单元中。

【技术实现步骤摘要】
一种缓解忆阻加速器非理想因素的方法及装置


[0001]本申请属于电子信息
,特别是涉及一种缓解忆阻加速器非理想因素的方法及装置。

技术介绍

[0002]神经网络算法在许多领域取得了突破性的成功,帮助构建了图像识别、目标检测、语音识别等技术的基础。随着神经网络模型规模的进一步增大,以及随着神经网络模型的部署逐渐下沉至边缘设备,神经网络计算的硬件实现方案同时对高算力和低功耗提出了要求。传统冯诺依曼架构处理器的访存瓶颈对计算速度造成限制,且处理神经网络这样的大数据规模的任务所需的频繁访存也带来较大的功耗。考虑到忆阻器的低功耗、高存储密度特性,以及忆阻器交叉阵列的存内计算特性可以有效缓解访存压力,且忆阻器交叉阵列的电压电流关系与神经网络计算大量使用的向量矩阵乘法运算高度匹配,因此使用忆阻器交叉阵列构建的加速器代替传统处理器来加速神经网络计算成为一个很有竞争力的方案。
[0003]然而忆阻器交叉阵列这样的模拟电路的非理想因素可能会严重影响其存储及计算的可靠性,例如忆阻器的器件偏差(Device Variation),即忆阻器件在制造过程中,由于器件长度和宽度、氧化物厚度和表面粗糙度都存在差异,不同的忆阻器的不同阻态的实际阻值会相应地偏离该阻态的标准阻值一定范围;再例如忆阻器的固定型故障(Stuck At Fault,SAF),即由于单元永久损坏或选择器导线损坏等因素导致忆阻器单元始终处于高阻状态,或者由于短路等缺陷引起忆阻器单元始终处于低阻状态,从而导致忆阻器无法被编程写入需要的阻值;再例如忆阻器阻值漂移(Memristance Drift)忆阻加速器计算过程中,输入信号会对忆阻器阻值状态造成干扰,导致忆阻器单元保存的权重偏离目标值,且忆阻器阻值的漂移会随着时间的推移而累积。尽管神经网络具有一定的故障容忍度,但是如果不做任何处理而直接将权重参数简单量化并映射到带有非理想因素的忆阻器单元中,那么这些非理想因素可能会导致最终计算结果精度下降甚至不可用。

技术实现思路

[0004]鉴于上述问题,本专利技术实施例提供了一种缓解忆阻加速器非理想因素的方法及装置,以便克服上述问题或者至少部分地解决上述问题。
[0005]本专利技术实施例的第一方面,提供了一种缓解忆阻加速器非理想因素的方法,所述方法包括:
[0006]获取已训练好的神经网络中卷积层和/或全连接层的浮点值表示的原始权重、映射各层权重的量化位宽以及忆阻器表示精度;
[0007]根据所述量化位宽和所述忆阻器表示精度,量化所述原始权重,得到第一理想硬件级权重;硬件级权重表征权重参数量化后的整数值由单个或多个忆阻器单元各自保存的数值和所保存数值的位权;
[0008]将所述第一理想硬件级权重映射到所述忆阻器单元中,得到第一非理想因素硬件
级权重;
[0009]根据所述第一非理想因素硬件级权重,重建浮点值表示的第一非理想因素权重;
[0010]对所述第一非理想因素权重进行处理,得到浮点值表示的抗非理想因素权重;
[0011]根据所述抗非理想因素权重,得到第二理想硬件级权重,将所述第二理想硬件级权重,重映射到所述忆阻器单元中。
[0012]可选地,所述方法还包括:
[0013]在所述忆阻加速器运行的过程中,每隔预设时间和/或每隔预设计算次数,将所述第二理想硬件级权重,重映射到所述忆阻器单元中。
[0014]可选地,对所述第一非理想因素权重进行处理,得到浮点值表示的抗非理想因素权重,包括:
[0015]以所述第一非理想因素权重作为所述神经网络权重的初始值,进行重新训练;
[0016]当重新训练得到的第一训练权重收敛,以所述第一训练权重作为第一抗非理想因素权重。
[0017]可选地,对所述第一非理想因素权重进行处理,得到浮点值表示的抗非理想因素权重,包括:
[0018]以所述第一非理想因素权重作为所述神经网络权重的初始值,作反向传播训练,得到第二训练权重;
[0019]计算所述反向传播训练中添加的第一偏移量,所述第一偏移量为所述第二训练权重与所述第一非理想因素权重的差值;
[0020]以所述原始权重和所述第一偏移量之和,作为第二抗非理想因素权重。
[0021]可选地,对所述第一非理想因素权重进行处理,得到浮点值表示的抗非理想因素权重,包括:
[0022]以所述第一非理想因素权重作为所述神经网络权重的初始值,进行重新训练;
[0023]当重新训练得到的第三训练权重收敛,根据所述第三训练权重,得到第三理想硬件级权重;
[0024]将所述第三理想硬件级权重映射到所述忆阻器单元中,得到第二非理想因素硬件级权重;
[0025]根据所述第二非理想因素硬件级权重,重建浮点值表示的第二非理想因素权重;
[0026]以所述第二非理想因素权重作为所述神经网络权重的初始值,作反向传播训练,得到第四训练权重;
[0027]计算所述反向传播训练中添加的第二偏移量,所述第二偏移量为所述第四训练权重与所述第二非理想因素权重的差值;
[0028]以所述第三训练权重和所述第二偏移量之和,作为第三抗非理想因素权重。
[0029]可选地,对权重进行量化处理包括:
[0030]获取该层浮点值表示的权重绝对值的最大值max_abs;
[0031]根据该层的量化位宽,获取用于表示所述权重绝对值的位可表示的最大整数max_int,其中:
[0032]max_int=2
qbits
‑1‑1[0033]该式中,qbits表示所述量化位宽;
[0034]获取最小量化单位Δ,其中:
[0035][0036]将该层中每一个浮点值表示的权重参数x,量化为相应的整数值Q(x),其中:
[0037]该式中,round(.)是取整函数,用于将浮点数转换为距离其最近的整数;clip(.)是截断函数,用于限制量化后整数的范围,其中:
[0038][0039]该式中,T1=max_int,T2=

max_int。
[0040]可选地,由权重量化结果得到理想硬件级权重,包括:
[0041]对每一个权重参数,计算映射所述权重参数量化后的整数值所需的忆阻器单元数量n,其中:
[0042][0043]该式中,cbits为所述忆阻器单元的表示精度;qbits表示所述量化位宽;
[0044]计算表示所述权重参数绝对值量化后的整数值Q(x)的第i个忆阻器单元映射的数值bitvalue
i
和该映射的数值的位权bitweight
i
,其中:
[0045][0046]bitweight
i
=2
(i

1)*cbits
[0047]该式中,mod是取余函数,mod(p,q)的第一个参数p是被除数,第二个参数q是除数,i=1,2,...,n。
[0048]可选地,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缓解忆阻加速器非理想因素的方法,其特征在于,所述方法包括:获取已训练好的神经网络中卷积层和/或全连接层的浮点值表示的原始权重、映射各层权重的量化位宽以及忆阻器表示精度;根据所述量化位宽和所述忆阻器表示精度,量化所述原始权重,得到第一理想硬件级权重;硬件级权重表征权重参数量化后的整数值由单个或多个忆阻器单元各自保存的数值和所保存数值的位权;将所述第一理想硬件级权重映射到所述忆阻器单元中,得到第一非理想因素硬件级权重;根据所述第一非理想因素硬件级权重,重建浮点值表示的第一非理想因素权重;对所述第一非理想因素权重进行处理,得到浮点值表示的抗非理想因素权重;根据所述抗非理想因素权重,得到第二理想硬件级权重,将所述第二理想硬件级权重,重映射到所述忆阻器单元中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述忆阻加速器运行的过程中,每隔预设时间和/或每隔预设计算次数,将所述第二理想硬件级权重,重映射到所述忆阻器单元中。3.根据权利要求1所述的方法,其特征在于,对所述第一非理想因素权重进行处理,得到浮点值表示的抗非理想因素权重,包括:以所述第一非理想因素权重作为所述神经网络权重的初始值,进行重新训练;当重新训练得到的第一训练权重收敛,以所述第一训练权重作为第一抗非理想因素权重。4.根据权利要求1所述的方法,其特征在于,对所述第一非理想因素权重进行处理,得到浮点值表示的抗非理想因素权重,包括:以所述第一非理想因素权重作为所述神经网络权重的初始值,作反向传播训练,得到第二训练权重;计算所述反向传播训练中添加的第一偏移量,所述第一偏移量为所述第二训练权重与所述第一非理想因素权重的差值;以所述原始权重和所述第一偏移量之和,作为第二抗非理想因素权重。5.根据权利要求1所述的方法,其特征在于,对所述第一非理想因素权重进行处理,得到浮点值表示的抗非理想因素权重,包括:以所述第一非理想因素权重作为所述神经网络权重的初始值,进行重新训练;当重新训练得到的第三训练权重收敛,根据所述第三训练权重,得到第三理想硬件级权重;将所述第三理想硬件级权重映射到所述忆阻器单元中,得到第二非理想因素硬件级权重;根据所述第二非理想因素硬件级权重,重建浮点值表示的第二非理想因素权重;以所述第二非理想因素权重作为所述神经网络权重的初始值,作反向传播训练,得到第四训练权重;计算所述反向传播训练中添加的第二偏移量,所述第二偏移量为所述第四训练权重与所述第二非理想因素权重的差值;
以所述第三训练权重和所述第二偏移量之和,作为第三抗非理想因素权重。6.根据权利要求1

5任一所述的方法,其特征在于,对权重进行量化处理包括:获取该层浮点值表示的权重绝对值的最大值max_abs;根据该层的量化位宽,获取用于表示所述权重绝对值的位可表示的最大整数max_int,其中:max_int=2
qbits
‑1‑
1该式中,qbits表示所述量化位宽;获取最小量化单位Δ,其中:将该层中每一个浮点值表示的权重参数x,量化为相应的整数值Q(x),其中:该式中,round(.)是取整函数,用...

【专利技术属性】
技术研发人员:梁峰卞鼐李冰梁辉张洁李佩嵘张国和
申请(专利权)人:西安交通大学
类型:发明
国别省市:

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

1