一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

计算装置及其鲁棒性处理方法与流程

2021-10-19 21:48:00 来源:中国专利 TAG:装置 实施 公开 计算 方法


1.本公开的实施例涉及一种计算装置及其鲁棒性处理方法。


背景技术:

2.基于忆阻器的存算一体技术有望突破经典计算系统的冯诺依曼架构瓶颈,带来硬件算力、能效的爆发式增长,进一步促进人工智能的发展和落地,是最具潜力的下一代硬件芯片技术之一。国内外企业、科研单位都投入大量人力物力,经过近十年的发展后,基于忆阻器的存算一体技术已逐渐从理论仿真阶段进入实际芯片、系统的原型演示阶段。


技术实现要素:

3.本公开至少一实施例提供一种计算装置的鲁棒性处理方法,计算装置包括至少一个处理单元,至少一个处理单元包括第一处理单元,第一处理单元包括第一计算忆阻器阵列,第一计算忆阻器阵列包括多个排列为阵列的多个忆阻器器件,该方法包括:基于目标算法模型的模型参数,得到模型参数与第一计算忆阻器阵列的映射关系;基于决定关键权重器件的影响因子,确定由影响因子得到多个忆阻器器件的权重关键度的方式;获得算法模型的输入集,根据前述方式,确定多个忆阻器器件中每个的关键度值;根据多个忆阻器器件中每个的关键度值,在多个忆阻器器件中确定关键权重器件;基于关键权重器件,对第一处理单元进行优化处理。
4.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,关键权重包括与第一处理单元的硬件无关的第一关键权重,决定关键权重器件的影响因子包括至少一个第一子影响因子,基于决定关键权重器件的影响因子,确定由影响因子得到多个忆阻器器件的第一权重关键度的方式,包括:基于至少一个第一子影响因子,确定由第一子影响因子得到多个忆阻器器件的第一权重关键度的方式。
5.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,至少一个第一子影响因子包括多个忆阻器器件各个的重要程度因子和/或影响第一处理单元的可靠性的风险因子。
6.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,多个忆阻器器件各个的重要程度因子包括多个忆阻器器件各个的电导值或接收到的输入值;影响第一处理单元的可靠性的风险因子包括第一处理单元的硬件特征或算法任务特征。
7.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,基于至少一个第一子影响因子,确定由第一子影响因子得到多个忆阻器器件的第一权重关键度值的方式,包括:
8.通过公式(1):计算对于第一计算忆阻器阵列内的任一忆阻器器件r对于输入值x
i
的第一权重关键度值,其中,f1
i
为忆阻器器件r对于输入值x
i
的第一权重关键度值,g为忆阻器器件r的电导值,p指代第一处理单元或第一计算忆阻器阵列,x
i
为第i次操作中对于忆阻器器件r的输入值,r(g)为电导值为g时的可
靠性风险系数,r
p
为第一处理单元或第一计算忆阻器阵列的模型风险,α为对应于重要程度因子的超参数,β为对应于风险因子的超参数。
9.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,基于至少一个第一子影响因子,确定由第一子影响因子得到多个忆阻器器件的第一权重关键度值的方式,还包括:对于忆阻器器件r,将得到的第一输入集内的所有输入值的第一权重关键度值进行累加,得到忆阻器器件r的最终第一权重关键度值。
10.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,基于至少一个第一子影响因子,确定由第一子影响因子得到多个忆阻器器件的第一权重关键度的方式,还包括:通过对用于算法模型的训练集进行均匀采样得到第一输入集。
11.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,关键权重包括与第一处理单元相关的第二关键权重,决定关键权重器件的影响因子包括至少一个第二子影响因子,基于决定关键权重器件的影响因子,确定由影响因子得到多个忆阻器器件的第二权重关键度的方式,包括:基于至少一个第二子影响因子,确定由第二子影响因子得到多个忆阻器器件的第二权重关键度的方式。
12.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,至少一个第二子影响因子包括:片上计算偏差、算法模型风险系数或针对多个忆阻器器件的输入值。
13.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,片上计算偏差包括:第一计算忆阻器阵列的各列的第一实际输出值和对应的第一理想值之间的第一偏差,和/或第一计算忆阻器阵列所在神经网络的神经单元层中各神经元的第二实际输出值和对应的第二理想值之间的第二偏差。
14.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,基于至少一个第二子影响因子,确定由第二子影响因子得到多个忆阻器器件的第二权重关键度值的方式,包括:
15.通过公式(2):计算对于第一计算忆阻器阵列内的任一忆阻器器件r对于输入值x
i
的第二权重关键度值,其中,f2
i
为忆阻器器件r对于输入值x
i
的第二权重关键度值,x
i
为第i次操作中对于忆阻器器件r的输入值,δ
i
为第i次操作中对于忆阻器器件r所在列或所在神经元的第一偏差或第二偏差,r
p
为第一处理单元或第一计算忆阻器阵列的模型风险系数,α为重要性系数且为超参数。
16.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,基于至少一个第二子影响因子,确定由第二子影响因子得到多个忆阻器器件的第二权重关键度值的方式,还包括:对于忆阻器器件r,将得到的第二输入集内的所有输入值的第二权重关键度值进行累加,得到忆阻器器件r的最终第二权重关键度值。
17.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,基于至少一个第二子影响因子,确定由第二子影响因子得到多个忆阻器器件的第二权重关键度的方式,还包括:通过对用于算法模型的训练集进行均匀采样得到第二输入集。
18.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,基于至少一个第二子影响因子,确定由第二子影响因子得到多个忆阻器器件的第二权重关键度值的方式,还包括:在计算过程中,对不同的输入值设置不同权重系数。
19.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,基于关键权重器件,对第一处理单元进行优化处理,包括:针对关键权重器件采用平均策略进行优化;和/或针对关键权重器件采用重刷新策略进行优化。
20.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,根据多个忆阻器器件中每个的关键度值,在多个忆阻器器件中确定关键权重器件,包括:在多个忆阻器器件中,选择所具有的关键度值大于第一处理单元对应的阈值的器件作为关键权重器件;或者,在多个忆阻器器件中,选择所具有的关键度值在多个忆阻器器件的关键度值中按大小排序后在第一百分比内的器件为关键权重器件;或者在多个忆阻器器件每一列中,选择所具有的关键度值在列的器件的关键度值中按大小排序后在第二百分比内的器件为关键权重器件。
21.例如,本公开至少一实施例提供的计算装置的鲁棒性处理方法还包括:根据应用场景确定算法模型,并且对算法模型进行训练得到模型参数。
22.例如,在本公开至少一实施例提供的计算装置的鲁棒性处理方法中,得到模型参数与第一计算忆阻器阵列的映射关系,包括:通过编译器部署、划分得到模型参数,将模型参数中与第一计算忆阻器阵列对应的部分映射到第一计算忆阻器阵列的多个忆阻器器件。
23.本公开至少一实施例提供一种计算装置,包括:第一计算模块、第二计算模块、第三计算模块和存算一体模块,其中,存算一体模块包括至少一个处理单元和优化单元,至少一个处理单元包括第一处理单元,第一处理单元包括第一计算忆阻器阵列,第一计算忆阻器阵列包括多个排列为阵列的多个忆阻器器件;第一计算模块被配置为,基于目标算法模型的模型参数,得到模型参数与第一计算忆阻器阵列的映射关系,基于决定关键权重器件的影响因子,确定由影响因子得到多个忆阻器器件的权重关键度的方式;第二计算模块被配置为,获得算法模型的输入集,根据方式,确定多个忆阻器器件中每个的关键度值;第三计算模块被配置为,根据多个忆阻器器件中每个的关键度值,在多个忆阻器器件中确定关键权重器件;优化单元被配置为,基于关键权重器件,对第一处理单元进行优化处理。
24.本公开至少一实施例提供一种计算装置,包括:第一计算子装置和存算一体模块,其中,存算一体模块包括至少一个处理单元和优化单元,至少一个处理单元包括第一处理单元,第一处理单元包括第一计算忆阻器阵列,第一计算忆阻器阵列包括多个排列为阵列的多个忆阻器器件;第一计算子装置,包括:处理器和存储器,其中,存储器存储有计算机可执行程序,且计算机可执行程序在由处理器执行时用于实现如下方法:基于目标算法模型的模型参数,得到模型参数与第一计算忆阻器阵列的映射关系,基于决定关键权重器件的影响因子,确定由影响因子得到多个忆阻器器件的权重关键度的方式,获得算法模型的输入集,根据方式,确定多个忆阻器器件中每个的关键度值,根据多个忆阻器器件中每个的关键度值,在多个忆阻器器件中确定关键权重器件,基于关键权重器件,提供对第一处理单元进行优化处理的指令;其中,优化单元被配置为,基于关键权重器件,根据所述指令对第一处理单元进行优化处理。
25.例如,在本公开至少一实施例提供的计算装置中,优化单元包括冗余权重处理单元,冗余权重处理单元包括第一冗余忆阻器阵列,第一冗余忆阻器阵列的列与第一计算忆阻器阵列的列一一对应以共享相同的位线,第一冗余忆阻器阵列的行与第一计算忆阻器阵列的行并行。
26.例如,在本公开至少一实施例提供的计算装置中,优化单元包括刷新控制单元,刷新控制单元配置为对关键权重器件进行重新刷新。
27.例如,在本公开至少一实施例提供的计算装置中,存算一体模块还包括关键权重控制单元,关键权重控制单元被配置为用于对关键权重器件进行选择和处理。
28.例如,在本公开至少一实施例提供的计算装置中,存算一体模块还包括偏差计算处理单元,偏差计算处理单元被配置为,接收运算过程中第一计算忆阻器阵列的各列的第一实际输出值和接收对应的第一理想值,且获得第一实际输出值与第一理想值之间的第一偏差,和/或接收运算过程中第一计算忆阻器阵列所在神经网络的神经单元层中各神经元的第二实际输出值和接收对应的第二理想值,且获得第二实际输出值与第二理想值之间的第二偏差。
附图说明
29.为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
30.图1示出了一种计算装置的处理单元的示意图;
31.图2示出了一种忆阻器交叉阵列结构的示意图;
32.图3示出了波动性造成的忆阻器器件偏差的示意图;
33.图4示出了一种计算装置的模型风险系数分配示意图;
34.图5a示出了本公开至少一实施例提供的一种计算装置的鲁棒性处理方法的流程图;
35.图5b示出了本公开至少一实施例提供的一种基于硬件有关的关键权重确定方式的鲁棒性处理方法的流程图;
36.图6a示出了本公开至少一实施例提供的基于处理单元的列输出计算偏差的示意图;
37.图6b示出了本公开至少一实施例提供的基于层的神经元输出计算偏差的示意图;
38.图7a示出了本公开至少一实施例提供的一种一次输入下处理单元内各个器件的关键度计算示意图;
39.图7b示出了本公开至少一实施例提供的一种基于处理单元的列偏差计算器件单元关键度的过程示意图;
40.图7c示出了本公开至少一实施例提供的一种基于层的神经元偏差计算器件单元关键度的过程示意图;
41.图8a示出了本公开至少一实施例提供的针对关键权重的平均方法提升计算鲁棒性的示意图;
42.图8b示出了本公开至少一实施例提供的针对关键权重的重新映射刷新来提升计算鲁棒性的示意图;
43.图9示出了本公开至少一实施例提供的针对关键权重确定和提升系统鲁棒性的处理单元结构;
44.图10a示出了本公开至少一实施例提供的一种计算装置的示意图;
45.图10b示出了本公开至少一实施例提供的另一种计算装置的示意图;
46.图10c示出了本公开至少一实施例提供的再一种计算装置的示意图。
具体实施方式
47.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
48.除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
49.下面通过几个具体的实施例对本公开进行说明。为了保持本发明实施例的以下说明清楚且简明,可省略已知功能和已知部件的详细说明。当本发明实施例的任一部件在一个以上的附图中出现时,该部件在每个附图中由相同的参考标号表示。
50.基于忆阻器可以实现存算一体技术,在不用访存搬移权重数据的基础上,高并行地完成矩阵向量乘计算。基于忆阻器阵列的计算功能可以通过集成电路技术实现,形成基本的计算加速模块,称为处理单元。本公开的实施例所提供的计算装置包括多个处理单元。
51.图1示出了一种计算装置的处理单元的示意图,该计算装置可以用于实现存算一体装置。如图1所示,处理单元200可以包括模拟域部分和数字域分,模拟域部分实现基于模拟信号的模拟计算,模拟域的输入、控制、输出都是数字信号;数字域部分控制、配合模拟域部分的功能,并和外部进行交互。
52.例如,如图1所示,模拟域部分可以包括输入模块210、忆阻器阵列220、输出模块230和电压模块240。输入模块210是用来实现输入向量功能的相关模拟电路;忆阻器阵列220是忆阻器交叉阵列(例如图2所示的忆阻器交叉阵列结构100,以下也简称“忆阻器阵列”),可以被写入权重矩阵并进行乘累加计算;输出模块230是用来实现输出向量(例如图2所示的输出电流)量化的相关模拟电路;电压模块240是基本的模拟电源电路。例如,数字域部分可以包括控制器、输入缓存、输出缓存、数字后处理模块和接口模块等。
53.需要说明的是,图1所示的处理单元200仅是示例性的,而不是对本公开的限制,处理单元可以根据实际情况进行模块的增减和变形。
54.图2示出了一种忆阻器交叉阵列结构的示意图,。如图2所示,忆阻器交叉阵列结构100可以包括以横纵交叉方式阵列排布的多个忆阻器,通过将输入数据排列为输入向量x(例如,包括图2所示出的x1、x2、
……
、x
n
,并且输入向量可以为已编码幅值、宽度或脉冲个数的电压),将权重矩阵编码为忆阻器电导值g(例如,包括图2所示出的g
11
、g
21

……
、g
1n
,以及图2中未示出的g
m1
、g
m1

……
、g
mn
),利用高并行、低功耗的阵列读操作获得输出电流i(例如,
包括图2所示出的i1、i2、
……
、i
m
),可以实现深度学习中普遍的乘累加计算,进而对矩阵向量乘进行加速。
55.例如,根据基尔霍夫定律,忆阻器交叉阵列结构的输出电流可以根据下述公式得出:i=g
×
x。例如,i1=x1g
11
x2g
12


x
n
g
1n
。上述乘累加计算过程利用物理定律实现,不同于布尔逻辑的数字电路实现方式,不需要频繁访存搬移权重数据,解决了经典计算系统的冯诺依曼瓶颈,可以实现高算力、高能效的智能计算任务。
56.如上所述,每个处理单元包括忆阻器阵列,忆阻器阵列包括多个排列为阵列的多个忆阻器器件。忆阻器器件例如可以是阻变存储器、相变存储器、铁电阻变器件、磁性隧穿器件或传统flash闪存器件等。该忆阻器器件可以为1t1r(一个开关晶体管、一个忆阻器)、2t2r(两个开关晶体管、两个忆阻器)等类型。本公开对于忆阻器器件的类型、结构等没有限制。
57.在上述用于进行计算的忆阻器阵列中,忆阻器器件面临着可靠性问题,具有不可避免的波动、噪声和状态漂移等,从而造成计算误差,影响系统的正常功能。在使用忆阻器器件的电导值进行模拟计算时,由于忆阻器器件的波动性等非理想特性,例如忆阻器器件随机涨落、弛豫特性、保持特性等,会造成实际的电导值偏离理想电导值,从而使得计算结果出现偏差。
58.图3示出了波动性造成的忆阻器器件偏差的示意图。如图3中上半部分所示,在理想电导分布的情况下,电导值分布是一条直线;而如图3中下半部分所示,在实际的电导值分布的情况下,电导值会出现偏离并分布在一个电导区间内。
59.为了解决忆阻器器件误差导致的问题、提高计算装置的鲁棒性,提出了一些优化方法,主要集中为三个方面:(1)、通过机理研究和结构、材料优化,直接改善忆阻器器件特性;(2)、对于系统中的每个权重单元,采用多个忆阻器器件共同表示的策略,通过平均的思路抵消忆阻器器件可靠性对权重单元整体的影响;(3)、对系统中所有的权重单元进行定时刷新,读取、校验所有的权重值,对于达不到要求的器件权重进行重新编程。此外,还有一些系统级的算法优化,比如通过片上更新部分关键层或全部层的忆阻器阵列,来兼容忆阻器器件误差。
60.然而,在实际中,每个忆阻器阵列在参与计算时,不是忆阻器阵列中的所有忆阻器器件都会发生误差波动事件,各个忆阻器器件的权重对计算结果的重要程度和造成的误差大小都不尽相同。通过优化忆阻器器件结构和材料来改进忆阻器器件的可靠性、提升系统鲁棒性,成本高、周期长,目前没有很好的技术方案和突破进展;通过对全部的忆阻器器件权重进行定时刷新的方法或采用多个忆阻器器件表示一个权重的平均策略,开销大,成本高,芯片面积利用率下降。系统级的算法调整,也是针对关键层对应的忆阻器阵列或全部忆阻器阵列内的所有忆阻器器件,同样开销巨大。
61.本公开至少一实施例提供一种计算装置及其鲁棒性处理方法。该计算装置包括至少一个处理单元,至少一个处理单元包括第一处理单元,第一处理单元包括第一计算忆阻器阵列,第一计算忆阻器阵列包括多个排列为阵列的多个忆阻器器件。该鲁棒性处理方法包括:基于目标算法模型的模型参数,得到模型参数与第一计算忆阻器阵列的映射关系;基于决定关键权重器件的影响因子,确定由影响因子得到多个忆阻器器件的权重关键度的方式;获得算法模型的输入集,根据上述方式,确定多个忆阻器器件中每个的关键度值;根据
多个忆阻器器件中每个的关键度值,在多个忆阻器器件中确定关键权重器件;基于关键权重器件,对第一处理单元进行优化处理。
62.本公开上述实施例提供的计算装置的鲁棒性处理方法可以仅通过对关键的部分忆阻器器件进行针对性的鲁棒性提升,实现低成本、高鲁棒的计算装置。
63.例如,本公开的至少一个实施例对各个忆阻器器件的重要程度和可靠性程度进行排序,确定关键权重,并针对具有关键权重的忆阻器器件进行可靠性改进设计,而不用对全部的忆阻器器件进行改进,降低了成本。
64.下面结合附图对本公开所提出的计算装置的鲁棒性处理方法及其实施例和对应的示例进行详细说明。
65.图4示出了一种计算装置的模型风险系数分配示意图。如图4所示,对于任意的算法模型(例如,图像识别模型、声音识别模型等,这些算法模型例如基于神经网络,例如卷积神经网络),通过对算法模型进行训练得到算法模型的模型参数。计算装置包括至少一个处理单元,处理单元包括忆阻器阵列,通过编译器部署、划分模型参数到各个处理单元,基于模型的参数与忆阻器阵列的映射关系,将模型参数与忆阻器阵列对应的部分映射到忆阻器阵列的多个忆阻器器件。由于算法模型中不同层、不同位置和类型的参数变化对算法影响不同,可以对相应的处理单元分配不同的模型风险系数,该模型风险系数反应系统功能对不同神经网络层的参数变化的敏感程度,同层的处理单元通常具有相同的值。
66.例如,如图4所示,对应算法模型第一层的处理单元被分配第一层模型风险系数r1,对应算法模型第二层的处理单元被分配第二层模型风险系数r2,依次类似设置。
67.图5a示出了本公开至少一实施例提供的一种计算装置的鲁棒性处理方法的流程图。
68.如图5a所示,该计算装置的鲁棒性处理方法例如用于如图1或如图4所示包括存算一体模块的计算装置,例如,该计算装置包括至少一个(例如多个)处理单元,该至少一个处理单元包括第一处理单元,第一处理单元包括第一计算忆阻器阵列,第一计算忆阻器阵列包括多个排列为阵列的多个忆阻器器件。该计算装置的鲁棒性处理方法包括步骤s501~步骤s505,
69.步骤s501:基于目标算法模型的模型参数,得到模型参数与第一计算忆阻器阵列的映射关系。
70.步骤s502:基于决定关键权重器件的影响因子,确定由影响因子得到多个忆阻器器件的权重关键度的方式。
71.步骤s503:获得算法模型的输入集,根据方式,确定多个忆阻器器件中每个的关键度值。
72.步骤s504:根据多个忆阻器器件中每个的关键度值,在多个忆阻器器件中确定关键权重器件。
73.步骤s505:基于关键权重器件,对第一处理单元进行优化处理。
74.上述实施例的鲁棒性处理方法仅通过对计算装置中关键的部分忆阻器器件进行针对性的鲁棒性提升,实现低成本、高鲁棒的计算装置。
75.下面对上述步骤s501~步骤s505进行更进一步的示例性说明。
76.对于步骤s501,目标算法模型可以根据应用场景来确定,模型参数可以通过对算
法模型进行训练来得到。如上所述,根据不同的应用场景,算法模型可以为例如图像识别模型、声音识别模型等,这些算法模型例如基于神经网络(例如卷积神经网络),本公开的实施例对此不作限制。
77.例如,在步骤s501处,由编译器等工具将模型参数部署、划分到各个处理单元,并且将模型参数中与各处理单元中计算忆阻器阵列对应的部分映射到计算忆阻器阵列的多个忆阻器器件,从而得到模型参数与计算忆阻器阵列的映射关系。例如,图4所示的映射关系。例如,可以将模型参数中与第一计算忆阻器阵列对应的部分映射到第一计算忆阻器阵列的多个忆阻器器件。
78.对于步骤s502,例如,基于决定关键权重器件的影响因子,确定由影响因子得到多个忆阻器器件的权重关键度的方式可以是与硬件无关的权重关键度确定方式,或者也可以是与硬件有关的权重关键度确定方式。
79.一方面,硬件无关的权重关键度确定方式和芯片实物进行解耦,可以完全集成在编译器等工具内,在具体部署之前即可确定,不需要增加额外的硬件成本。
80.另一方面,与硬件有关的权重关键度确定方式,则是将输入输送到芯片实物中,得到各个处理单元的实际输出(片上测试结果),根据片上测试结果确定权重关键度。
81.与硬件无关的权重关键度确定以及与硬件有关的权重关键度确定可以彼此独立进行,分别用于改善计算装置的鲁棒性,也可以二者结合进行从而更好地改善计算装置的鲁棒性。
82.下面还将分别就与硬件无关的权重关键度确定以及与硬件有关的权重关键度确定进行说明。
83.对于步骤s503,例如,对用于算法模型的训练集进行均匀采样得到第一输入集合,根据硬件无关的权重关键度确定方式,计算多个忆阻器器件中每个的关键度值;或者,对用于算法模型的训练集进行均匀采样得到第二输入集合,根据硬件有关的权重关键度确定方式,计算多个忆阻器器件中每个的关键度值。
84.对于步骤s504,例如,可以设计具体的规则,依据多个忆阻器器件中每个的关键度值确定关键权重。该规则例如是固定阈值法或者固定比例法,但本公开的实施例对此不作限制。
85.例如,固定阈值法包括:预先设定一个固定的阈值,在多个忆阻器器件中,选择所具有的关键度值大于第一处理单元对应的阈值的忆阻器器件作为关键权重器件。
86.又例如,固定比例法包括:预先设定一个或多个固定比例(例如下面的第一固定比例和第二固定比例),在多个忆阻器器件中,选择所具有的关键度值在多个忆阻器器件的关键度值中按大小排序后在第一固定比例(例如前20%)内的器件为关键权重器件;或者,在多个忆阻器器件每一列中,选择所具有的关键度值在列的器件的关键度值中按大小排序后在第二固定比例(例如前10%)内的器件为关键权重器件。
87.对于步骤s505,确定关键权重后,可以结合可靠性优化方法提高计算装置的鲁棒性。例如,可以针对关键权重器件进行冗余备份设置,由此可以针对关键权重器件采用平均策略进行优化;可以针对关键权重器件采用重刷新策略进行优化。后面还将结合图8a和图8b所示对可靠性优化方法进行说明。
88.在本发明的至少一个实施例中,所提供的鲁棒性处理方法基于硬件无关的权重关
键度确定方式。基于硬件无关的权重关键度确定方式的鲁棒性处理方法可以再次参见图5a所示的流程图,其例如通过计算每个处理单元内各权重器件的影响因子,定位忆阻器阵列中的关键权重器件。
89.在该针对硬件无关的权重关键度确定方式实施例中,在步骤s502处,具体地,关键权重是与处理单元的硬件无关的第一关键权重,决定关键权重器件的影响因子包括至少一个第一子影响因子,至少一个第一子影响因子例如包括多个忆阻器器件中的每一个的重要程度因子和/或影响处理单元的可靠性的风险因子。
90.例如,重要程度因子可以是忆阻器器件的电导值,每个权重接收到的输入值等。影响可靠性的风险因子可以是硬件自身的特征,算法任务特征等。对于硬件自身的特征来说,一种情况是忆阻器器件的可靠性和忆阻器器件状态电导相关,则不同状态电导的忆阻器器件具有不同的风险系数;对于算法任务特征来说,又一种情况是由于神经网络模型中不同层、不同位置和类型的参数变化对算法影响不同,可以对相应的处理单元分配不同的系数,如图4所示的风险系数分配。本公开的实施例对此不作限制,可以根据不同的算法任务类型,灵活地选择、构建影响因子。
91.确定决定关键权重的第一子影响因子后,确定由第一子影响因子得到第一权重关键度的计算函数,从而通过第一子影响因子确定处理单元内对输出贡献大、易发生误差的关键权重位置(即关键权重器件)。
92.例如,基于至少一个第一子影响因子,通过下面的公式(1)计算对于第一计算忆阻器阵列内的任一忆阻器器件r对于输入值的第一权重关键度值:
[0093][0094]
其中,f1
i
为该忆阻器器件r对于输入值x
i
的第一权重关键度值,
[0095]
g为该忆阻器器件r的电导值,
[0096]
p指代第一处理单元或第一计算忆阻器阵列,
[0097]
x
i
为第i次操作中对于忆阻器器件r的输入值,
[0098]
r(g)为电导值为g时的可靠性风险系数,
[0099]
r
p
为第一处理单元或第一计算忆阻器阵列的模型风险,
[0100]
α为对应于重要程度因子的超参数,
[0101]
β为对应于风险因子的超参数。
[0102]
对于输入值x
i
等,例如可以先提前对所有的输入进行归一化处理。模型风险r
p
反映系统功能对不同层的偏差的敏感程度,例如,如图4所示,同层的处理单元通常具有相同的值,对应同一处理单元中忆阻器阵列具有相同的值。另外,需要说明的是,超参数是可以预先选择的,可以通过搜索确定具体值,该搜索例如是多次尝试或穷举;一旦确定,在算法模型中,超参数的值通常是固定不变的。
[0103]
例如,可以通过公式(1)是对第一输入集合内的所有输入值的第一权重关键度值的累加运算,累加运算的结果即为忆阻器器件r的最终第一权重关键度值。在至少一个示例中,第一输入集合可以通过对用于算法模型的训练集进行均匀采样得到,本公开的实施例对此不作限制。
[0104]
图7a示出了本公开上述实施例中一次输入下处理单元内各个器件的关键度计算
示意图。
[0105]
如图7a所示,例如,在该示例中,处理单元的模型风险系数为r
p
=0.5,超参数α=β=0.1。该处理单元中的忆阻器阵列的第一行的输入为0.3,第二行的输入为0.2,
……
,第n行的输入为0.6。忆阻器阵列中示出的各个忆阻器的电导分别设置为g
11
=7,g
21
=2,g
12
=3,g
22
=5,
……
,g
1n
=1,g
2n
=3。据上述公式(1),可以得出在此次输入下,忆阻器阵列内的各个忆阻器器件对于输入值的第一权重关键度值如下:
[0106]
忆阻器器件r
11
=0.5*(0.1*7*0.3 0.1*r(7)),
[0107]
忆阻器器件r
21
=0.5*(0.1*2*0.3 0.1*r(2)),
[0108]
忆阻器器件r
12
=0.5*(0.1*3*0.2 0.1*r(3)),
[0109]
忆阻器器件r
22
=0.5*(0.1*5*0.2 0.1*r(5)),
[0110]
……
[0111]
忆阻器器件r
1n
=0.5*(0.1*1*0.6 0.1*r(1)),
[0112]
忆阻器器件r
2n
=0.5*(0.1*3*0.6 0.1*r(3))等。
[0113]
在上述示例中,硬件无关的权重关键度确定方式能够和具体芯片、系统解耦,可以集成在算法编译过程中,更加方便快捷,例如,在具体部署之前即可确定,不需要增加额外的硬件成本。
[0114]
此外,由于忆阻器器件波动等噪声的随机性,往往定位的关键权重和实物存在偏差,为了实现更加可靠的权重关键度确定方法,本公开的再一个实施例涉及基于硬件有关的权重关键度确定方式的鲁棒性处理方法。该方法可以消除忆阻器器件波动等噪声的随机性,实现更加可靠的权重关键度的确定。
[0115]
图5b示出了本公开至少一实施例提供的一种基于硬件有关的关键权重确定方式的鲁棒性处理方法的流程图。
[0116]
如图5b所示,该实施例中计算装置的鲁棒性处理方法包括步骤s511~s516。
[0117]
步骤s511和图5a中的步骤s501相同,步骤s515和图5a中的步骤s504相同,步骤s516和图5a中的步骤s505相同,因此在此不再赘述。
[0118]
在本实施例中,在步骤s512,关键权重是与处理单元的硬件有关的第二关键权重,决定关键权重器件的影响因子包括至少一个第二子影响因子。至少一个第二子影响因子例如包括片上计算偏差、算法模型风险系数或针对多个忆阻器器件的输入值等。
[0119]
片上计算偏差可以表示每个处理单元的各列输出值和理想值之间的偏差,也可以表示网络各层的神经元的实际输出和理想值的偏差(在神经网络的不同层次计算得到)。在存算一体系统中,神经网络的每一层的参数通常需要部署到多个处理单元上,因此神经元的输出偏差是对应多个处理单元共同作用的整体偏差。
[0120]
确定决定关键权重的第二子影响因子后,确定由第二子影响因子得到第二权重关键度的计算函数,从而通过第二子影响因子确定处理单元内对输出贡献大、易发生误差的关键权重位置。
[0121]
例如,基于至少一个第二子影响因子,通过公式(2)计算对于第一计算忆阻器阵列内的任一忆阻器器件对于输入值x
i
的第二权重关键度值:
[0122]
[0123]
其中,x
i
为第i次操作中对于忆阻器器件r的输入值,
[0124]
δ
i
为第i次操作中对于忆阻器器件r所在列或所在神经元的第一偏差或第二偏差,
[0125]
r
p
为第一处理单元或第一计算忆阻器阵列的模型风险系数,
[0126]
α为重要性系数且为超参数。
[0127]
需要说明的是,超参数是可以预先选择的,可以通过搜索确定具体值,该搜索例如是多次尝试或穷举;一旦确定,在算法模型中,超参数的值通常是固定不变的。由于根据片上计算偏差确定关键权重,所以一般不再引入电导权重本身的大小和状态相关的风险系数。
[0128]
此外,在至少一个实施例中,在计算过程中,可以根据实际工作情况,对不同的输入值设置不同权重系数,增强特定输入对定位关键权重的影响。例如,对于重要输入值加大权重,而对于非重要的输入值则减少权重。
[0129]
上述公式(2)是对第二输入集合内的所有输入值的第二权重关键度值的累加运算,第二输入集合可以通过对用于算法模型的训练集进行均匀采样得到,累加运算的结果即为忆阻器器件r的最终第二权重关键度值。
[0130]
在步骤s513,将算法模型部署到实际芯片(例如存算一体模块所在的芯片)或系统中,从而可以通过对实际输入、输出进行采集。
[0131]
在步骤s514,例如,通过对用于算法模型的训练集进行均匀采样获得算法模型的第二输入集合,在采用硬件有关的权重关键度确定方式的情况下,将第二输入集合输入到芯片实物上得到真实计算偏差,以确定多个忆阻器器件中每个的关键度值。
[0132]
在本实施例中,例如,计算偏差的方式有至少两种,一种是计算每个处理单元的各列输出值和理想值之间的偏差,另一种是计算神经网络各层的神经元的实际输出和理想值的偏差,两种计算偏差方式分别在图6a和图6b中示意性地示出。
[0133]
该实施例的硬件有关的权重关键度确定方式通过实物芯片、系统上的运行偏差定位关键权重,可以更加全面地覆盖所有的噪声、波动因素,该流程,结果更加准确可靠。
[0134]
图6a示出了本公开至少一实施例提供的一种基于处理单元的列输出计算偏差的方法示意图。
[0135]
如图6a所示,该处理单元包括忆阻器交叉阵列结构,给定输入值集合x(例如,x1=0.3、x2=0.2、
……
、x
n
=0.6),将权重矩阵编码为忆阻器电导值g(g
11
=7,g
21
=2,g
12
=3,g
22
=5,
……
,g
1n
=1,g
2n
=3),利用高并行、低功耗的阵列读操作获得权重矩阵每一列的实际输出值,并通过乘累加运算i=g
×
x得到权重矩阵每一列的理想输出值,权重矩阵每一列的理想输出值和实际输出值的偏差即为该列的列偏差。
[0136]
图6b示出了本公开至少一实施例提供的一种基于层的神经元输出计算偏差的方法示意图。
[0137]
在存算一体系统中,神经网络一层的参数通常需要部署到多个处理单元上,因此基于层的神经元的输出偏差是对应多个处理单元共同作用的整体偏差。在图6b中,以两个处理单元共同构成神经网络同一层中的神经元为例进行说明。
[0138]
如图6b所示,对于第一处理单元,给定输入值集合x(例如,x1=0.3、x2=0.2、
……
、x
n
=0.6),将权重矩阵编码为忆阻器电导值g(g
11
=7,g
21
=2,g
12
=3,g
22
=5,
……
,g
1n
=1,g
2n
=3),利用高并行、低功耗的阵列读操作获得权重矩阵每一列的实际输出值,并通过乘累
加运算i=g
×
x得到权重矩阵每一列的理想输出值。对于第二处理单元,给定输入值集合x(例如,x1=0.4、x2=0.8、
……
、x
n
=0.2),将权重矩阵编码为忆阻器电导值g(g
11
=5,g
21
=3,g
12
=2,g
22
=6,
……
,g
1n
=1,g
2n
=3),利用高并行、低功耗的阵列读操作获得权重矩阵每一列的实际输出值,并通过乘累加运算i=g
×
x得到权重矩阵每一列的理想输出值。第一处理单元中的忆阻器阵列的第一列的实际输出值和第二处理单元中的忆阻器阵列的第一列的实际输出值之和为第一神经元输出。第一处理单元中的忆阻器阵列的第一列的理想输出值和第二处理单元中的忆阻器阵列的第一列的理想输出值之和为第一理想输出。第一神经元输出和第一理想输出之间的差为第一神经元偏差。同理,第二神经元输出和第二理想输出之间的差为第二神经元偏差。
[0139]
在本实施例中,通过引入片上计算偏差这一影响因子(是各种不可靠因素共同作用的结果),可以消除由于器件波动等噪声的随机性,使得关键权重的定位结果更加可靠。
[0140]
图7b示出了本公开上述实施例中一次输入下基于处理单元的列偏差计算器件单元关键度的过程示意图。
[0141]
如图7b所示,例如,处理单元的模型风险系数为r
p
=0.5,超参数α=0.1。该处理单元中的忆阻器阵列的第一行的输入为0.3,第二行的输入为0.2,
……
,第n行的输入为0.6。忆阻器阵列的第一列的列偏差为0.2,第二列的列偏差为0.5。根据公式(2),可以得出在此次输入下,忆阻器阵列内的每个忆阻器器件对于输入值的第二权重关键度值:
[0142]
忆阻器器件r
11
=0.5*(0.1*0.3*0.2),
[0143]
忆阻器器件r
21
=0.5*(0.1*0.3*0.5),
[0144]
忆阻器器件r
12
=0.5*(0.1*0.2*0.2),
[0145]
忆阻器器件r
22
=0.5*(0.1*0.2*0.5),
[0146]
……
[0147]
忆阻器器件r
1n
=0.5*(0.1*0.6*0.2),
[0148]
忆阻器器件r
2n
=0.5*(0.1*0.6*0.5)。
[0149]
图7c示出了上述实施例中一次输入下基于神经网络中同一层的神经元偏差计算器件单元关键度的过程示意图。同一层的神经单元的计算可以分配到多个处理单元上共同完成,这里以两个处理单元为例。
[0150]
如图7c所示,例如,两个处理单元的模型风险系数为r
p
=0.5,超参数α=0.1。第一处理单元中的忆阻器阵列的第一行的输入为0.3,第二行的输入为0.2,
……
,第n行的输入为0.6。第二处理单元中的忆阻器阵列的第一行的输入为0.4,第二行的输入为0.8,
……
,第n行的输入为0.2。忆阻器阵列的第一列的列偏差为0.2,第二列的列偏差为0.5。第一神经元偏差是第一处理单元的第一列和第二处理单元的第一列共同作用的整体偏差,为0.6。第二神经元偏差是第一处理单元的第二列和第二处理单元的第二列共同作用的整体偏差,为0.8。根据公式(2),可以得出在此次输入下,忆阻器阵列内的每个忆阻器器件r对于输入值的第二权重关键度值。对于第一处理单元:
[0151]
忆阻器器件r
11
=0.5*(0.1*0.3*0.6),
[0152]
忆阻器器件r
21
=0.5*(0.1*0.3*0.8),
[0153]
忆阻器器件r
12
=0.5*(0.1*0.2*0.6),
[0154]
忆阻器器件r
22
=0.5*(0.1*0.2*0.8),
[0155]
……
[0156]
忆阻器器件r
1n
=0.5*(0.1*0.6*0.6),
[0157]
忆阻器器件r
2n
=0.5*(0.1*0.6*0.8)。
[0158]
对于第二处理单元:
[0159]
忆阻器器件r
11
=0.5*(0.1*0.4*0.6),
[0160]
忆阻器器件r
21
=0.5*(0.1*0.4*0.8),
[0161]
忆阻器器件r
12
=0.5*(0.1*0.8*0.6),
[0162]
忆阻器器件r
22
=0.5*(0.1*0.8*0.8),
[0163]
……
[0164]
忆阻器器件r
1n
=0.5*(0.1*0.2*0.6),
[0165]
忆阻器器件r
2n
=0.5*(0.1*0.2*0.8)。
[0166]
图8a示出了本公开至少一实施例提供的针对关键权重的平均方法提升计算鲁棒性的示意图。
[0167]
如上所述,可以结合可靠性优化方法提高计算装置的鲁棒性。例如,可以针对关键权重器件采用平均策略进行优化;可以针对关键权重器件采用重刷新策略进行优化。
[0168]
如图8a所示,左侧的图表示原始的映射和计算关系,虚线框内是基于关键权重确定方法定位的关键权重g
12
。提升计算鲁棒性的平均策略方法即是将关键权重复制k份(冗余备份),即在忆阻器阵列中提供k个关键权重对应的忆阻器器件,这些忆阻器器件具有相同的物理参数,且被设置为相同的电导值,由此可以利用平均的效果抵消器件的波动性。这里,k为大于1的正整数。然而,将关键权重复制k份会导致计算结果发生变化。为了保证计算结果不变,可以采用两种方式:
[0169]
方式(1):将复制后的输入变为原来的1/k,而k个忆阻器器件的电导值保持不变,如图8a中间位置的图所示,输入x2变为x2/k。
[0170]
方式(2):将k个忆阻器器件的电导值变为原来的1/k,而k个忆阻器器件每个的输入保持不变,仍然为x2,如图8a右侧位置的图所示,电导g
12
变为g
12
/k。
[0171]
图8b示出了本公开至少一实施例提供的针对关键权重的重新刷新策略来提升计算鲁棒性的示意图。
[0172]
如图8b所示,左侧的图表示原始的映射和计算关系,虚线框内是基于关键权重确定方法定位的关键权重g
12
、g
21
、g
3n
。如图8b的右侧的图所示,通过对关键权重g
12
、g
21
、g
3n
进行重新刷新,例如按照预定的刷新频率,对关键权重g
12
、g
21
、g
3n
等对应的忆阻器器件的电导值进行设置,从而是这些忆阻器器件的电导值保持稳定,由此以恢复计算装置的精度,提升系统的鲁棒性。
[0173]
需要说明的是,本公开的实施例中,可以仅采用图8a所示的平均策略方法来提升计算鲁棒性,或者仅采用图8b所示的重新刷新方法来提升计算鲁棒性,或者同时采用图8a和图8b所示的方法来提升计算鲁棒性。
[0174]
图9示出了本公开至少一实施例提供的针对关键权重确定和提升系统鲁棒性的处理单元结构。
[0175]
相比于图2所示的计算装置的处理单元,图9所示的处理单元的结构中,增加了如下第一部分至第四部分这四个功能模块中的一个或多个。
[0176]
第一部分是冗余忆阻器阵列和冗余输入模块,用来实现关键权重的平均策略。通过对选择的关键器件进行复制得到冗余忆阻器阵列,冗余忆阻器阵列的行与冗余输入模块连接,计算忆阻器阵列的行与通常的输入模块连接。如图9所示,冗余忆阻器阵列的列与计算忆阻器阵列的列一一对应以共享相同的位线,冗余忆阻器阵列的行与计算忆阻器阵列的行并行。
[0177]
第二部分是关键权重控制单元,用来至少部分实现对关键权重器件的选择和处理的控制。
[0178]
第三部分是偏差计算处理单元,例如,可以接收运算过程中计算忆阻器阵列的各列的第一实际输出值和接收对应的第一理想值,且获得第一实际输出值与第一理想值之间的第一偏差,或者可以接收运算过程中计算忆阻器阵列所在神经网络的神经单元层中各神经元的第二实际输出值和接收对应的第二理想值,且获得第二实际输出值与第二理想值之间的第二偏差,由此用于得到片上计算偏差。
[0179]
第四部分是刷新控制单元,用来实现对计算忆阻器阵列中的关键权重器件的重新映射。
[0180]
与图2所示的计算装置的处理单元相同的部分可以参考图2进行的详细描述,在此不再赘述。
[0181]
需要说明的是,图9所示的处理单元仅是示例性的,而不是对本公开的限制,处理单元可以根据实际情况选择上述第一部分至第四部分,或者对第一部分至第四部分进行修改等。
[0182]
图10a示出了本公开至少一实施例提供的一种计算装置的示意图。
[0183]
如图10a所示,该计算装置1000包括:第一计算模块1010、第二计算模块1020、第三计算模块1030和存算一体模块1040,其中,存算一体模块包括至少一个处理单元1050(例如第一处理单元)和优化单元1060。至少一个处理单元1050中的每一个包括第一计算忆阻器阵列,第一计算忆阻器阵列包括多个排列为阵列的多个忆阻器器件。处理单元1050根据其他模块的设置例如可以为图2或图9所示的处理单元。
[0184]
该计算装置可以用于实施上述鲁棒性处理方法,对关键的部分忆阻器器件(关键权重器件)进行针对性的鲁棒性提升,由此实现低成本、高鲁棒性。
[0185]
第一计算模块1010被配置为基于目标算法模型的模型参数,得到模型参数与第一计算忆阻器阵列的映射关系,基于决定关键权重器件的影响因子,确定由影响因子得到多个忆阻器器件的权重关键度的方式。例如,第一计算模块1010例如可以执行图5a描述的步骤s501和s502或图5b描述的步骤s511和s512。
[0186]
第二计算模块1020被配置为获得算法模型的输入集,根据上述得到权重关键度的方式,确定多个忆阻器器件中每个的关键度值。第二计算模块1020例如可以执行图5a描述的步骤s503或图5b描述的步骤s513和s514中至少部分操作。
[0187]
第三计算模块1030被配置为根据多个忆阻器器件中每个的关键度值,在多个忆阻器器件中确定关键权重器件。第三计算模块1030例如可以执行图5a描述的步骤s504或图5b描述的步骤s515。
[0188]
优化单元1060被配置为基于关键权重器件,对处理单元1050包括的第一计算忆阻器阵列进行优化处理。优化单元1060例如可以执行图5a描述的步骤s505或图5b描述的步骤
s516,例如,该优化单元例如可以实现为图9所示的第一部分和/或第四部分。
[0189]
图10b示出了本公开至少一实施例提供的另一种计算装置的示意图。
[0190]
如图10b所示,计算装置1101包括第一计算子装置1011和存算一体模块1041。
[0191]
存算一体模块1041至少一个处理单元1051(例如第一处理单元)和优化单元1061。至少一个处理单元1051中的每一个包括第一计算忆阻器阵列,第一计算忆阻器阵列包括多个排列为阵列的多个忆阻器器件。处理单元1051根据其他模块的设置例如可以为图2或图9所示的处理单元。
[0192]
第一计算子装置1011包括处理器和存储器,其中,存储器存储有计算机可执行程序,且所述计算机可执行程序在由所述处理器执行时用于实现如下方法:
[0193]
基于目标算法模型的模型参数,得到模型参数与第一计算忆阻器阵列的映射关系,基于决定关键权重器件的影响因子,确定由影响因子得到多个忆阻器器件的权重关键度的方式,获得算法模型的输入集,根据前述方式,确定多个忆阻器器件中每个的关键度值,根据多个忆阻器器件中每个的关键度值,在多个忆阻器器件中确定关键权重器件,基于关键权重器件,提供对第一处理单元进行优化处理的指令。
[0194]
优化单元1061被配置为基于关键权重器件,根据第一计算子装置1011的指令对第一对处理单元1051包括的第一计算忆阻器阵列进行优化处理。优化单元1061例如可以执行图5a描述的步骤s505或图5b描述的步骤s516。例如,该优化单元例如可以实现为图9所示的第一部分和/或第四部分。
[0195]
例如,在本实施例中,第一计算子装置1011和存算一体模块1041可以分别制备在不同的芯片中然后通过总线等方式进行通信,例如设置在同一电路板上且通过电路板上的线路进行通信;或者,第一计算子装置1011和存算一体模块1041可以制备在同一芯片之中,作为该芯片的不同的模块,由此可以通过芯片内部的线路进行通信。
[0196]
图10c示出了本公开至少一实施例提供的再一种计算装置的示意图,该实施例为图10b的一种示例。
[0197]
如图10c所示,计算装置包括第一计算子装置和存算一体模块。需要说明的是,图10c所示的计算装置仅是示例性的,具体的实现不唯一,可以根据实际需要增加或减少所包括的电路模块等。例如,存算一体模块的主控单元可以耦接到第一计算子装置的总线上,实现与第一计算子装置的通讯。存算一体模块包括至少一个处理单元1110和优化单元,至少一个处理单元1110中的每一个包括计算忆阻器阵列,计算忆阻器阵列包括多个排列为阵列的多个忆阻器器件。优化单元被配置为基于关键权重器件,根据第一计算子装置的指令对处理单元1110进行优化处理,例如,该优化单元例如可以实现为图9所示的设置在处理单元内的第一部分和/或第四部分,或者该优化单元例如可以设置在处理单元外,并且可以对处理单元内的忆阻器阵列进行优化操作。第一计算子装置包括处理器1130(例如,中央处理器)和存储器1140,其中,存储器存储有计算机可执行程序,该计算机可执行程序可以被处理器1130运行以执行上述鲁棒性处理方法。
[0198]
例如,在采用硬件无关的权重关键度确定方式的情况下,图5a所示的步骤s501~s504可以在第一计算子装置上实现(例如,集成到编译器当中,即集成到计算机可执行程序中与编译对应的部分中),步骤s505则需要根据关键权重器件对存算一体模块进行针对性的优化改进,可以在存算一体模块内完成。
[0199]
例如,在采用硬件有关的权重关键度确定方式的情况下,图5b所示的步骤s511、s512、s515可以在第一计算子装置上实现(例如,集成到编译器当中,即集成到计算机可执行程序中与编译对应的部分中),步骤s513、s514的操作则可以在存放一体模块中实现。又例如,步骤s514当中的部分操作(例如,理想输出值的存储以及偏差的计算等)也可以在第一计算子装置中实现,例如,可以通过图9所示的第三部分实现。步骤s516需要根据关键权重对存放一体模块进行针对性的优化改进,可以在存放一体模块内完成。
[0200]
上述处理器可以例如为中央处理器、图形处理器等,可以例如为cisc、risc架构等,可以根据存储在存储器中的程序而执行各种适当的动作和处理。上述存储器的具体例子可以包括但不限于:磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。本公开的实施例对于处理器和存储器的具体类型、结构等不做限制。
[0201]
需要说明的是,为表示清楚、简洁,本公开实施例并没有给出该计算装置的全部组成单元,也未给出该计算装置所包括的处理单元的全部组成单元。为实现计算装置及其所包括的处理单元的必要功能,本领域技术人员可以根据具体需要提供、设置其他未示出的组成单元,本公开的实施例对此不作限制。
[0202]
关于不同实施例中的计算装置及其所包括的存算一体模块、处理单元等的技术效果可以参考本公开的实施例中提供的计算装置的鲁棒性处理方法的技术效果,在此不再赘述。
[0203]
有以下几点需要说明:
[0204]
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
[0205]
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
[0206]
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜