【技术实现步骤摘要】
交叉开关阵列装置和使用该装置的模拟乘积累加操作方法
[0001]相关申请的交叉引用
[0002]本申请基于于2020年10月7日在韩国知识产权局提交的第10
‑
2020
‑
0129509号韩国专利申请并要求其优先权,其公开内容通过引用整体并入本文。
[0003]本公开涉及与神经形态计算相关的硬件装置、以及使用该硬件装置的模拟乘积累加(analog multiply
‑
accumulate,MAC)操作方法。
技术介绍
[0004]为了克服基于传统冯
·
诺依曼结构的芯片的结构限制,集成电路(integrated circuit,IC)芯片开发者一直在开发神经网络硬件和/或神经形态计算硬件。这种硬件可以基于神经网络,神经网络包括神经元和连接神经元的突触,神经元是人脑的基本单元。神经网络可能会超过传统机器学习算法的限制,并且特别是在图像识别、模式学习和认知能力方面显示出潜力,并且可能能够接近人类的能力。神经网络硬件和/或神经形态计算硬件用于各种 ...
【技术保护点】
【技术特征摘要】
1.一种基于压缩截断奇异值分解C
‑
TSVD的交叉开关阵列装置,包括:原始交叉开关阵列或通过基于C
‑
TSVD分解所述原始交叉开关阵列而获得的两个部分交叉开关阵列,所述原始交叉开关阵列在m
×
n矩阵中,所述m
×
n矩阵具有n个行输入线和m个列输出线并且包括包含电阻存储器设备的单元,其中m和n是自然数;模数转换器ADC,被配置为转换通过经过阵列划分来划分所述原始交叉开关阵列或所述两个部分交叉开关阵列而获得的子阵列的列输出线的输出值;加法器,被配置为将所述ADC的结果求和,以对应于所述列输出线;以及控制器,被配置为控制所述原始交叉开关阵列或所述两个部分交叉开关阵列的应用,其中,所述基于C
‑
TSVD的交叉开关阵列装置对应于神经网络的一层,并且其中,输入值被输入到所述行输入线,权重被乘以所述输入值,并且累加结果作为所述列输出线的输出值输出,并且所述权重对应于所述原始交叉开关阵列或所述两个部分交叉开关阵列。2.根据权利要求1所述的基于C
‑
TSVD的交叉开关阵列装置,其中,基于SVD将所述原始交叉开关阵列的矩阵W划分为三个矩阵U、S和V
T
的乘积,使得所述矩阵U具有m
×
m的尺寸,所述矩阵S具有m
×
n的尺寸,并且所述矩阵V
T
具有n
×
n的尺寸,其中,当矩阵W的秩为k()时,矩阵U、S和V
T
的尺寸分别减小到m
×
k、k
×
k和k
×
n,并且矩阵U、S和V
T
的分量的数量经由基于TSVD在k个分量当中以大的顺序选择至少部分分量而进一步减小到k
’
,其中k≤n且k≤m,并且k
’
≤k,并且其中,所述两个部分交叉开关阵列包括第一部分交叉开关阵列和第二部分交叉开关阵列,所述第一部分交叉开关阵列表示为矩阵U并且尺寸为m
×
k,并且所述第二部分交叉开关阵列表示为矩阵S*V
T
并且尺寸为k
×
n。3.根据权利要求2所述的基于C
‑
TSVD的交叉开关阵列装置,其中,当将所述原始交叉开关阵列划分为所述子阵列的第一种情况与将所述两个部分交叉开关阵列划分为所述子阵列的第二种情况进行比较时,所述第二种情况的子阵列的数量、所述第二种情况的ADC的操作的数量、所述第二种情况的加法器的操作的数量和所述第二种情况的操作电流小于所述第一种情况中的那些,并且所述第一种情况的加法器级的数量与所述第二种情况的加法器级的数量相同。4.根据权利要求3所述的基于C
‑
TSVD的交叉开关阵列装置,其中,对于所述子阵列的数量、所述ADC的操作的数量、所述加法器的操作的数量和所述操作电流中的至少一个,随着所述原始交叉开关阵列的矩阵的尺寸增加,所述第二种情况相对于所述第一种情况的减少增加。5.根据权利要求3所述的基于C
‑
TSVD的交叉开关阵列装置,其中,当所述子阵列的矩阵具有s
×
s的尺寸时,其中s是自然数,其中,在所述第一部分交叉开关阵列被划分为所述子阵列的第三种情况中,所述子阵列的数量是Nu=ceil(m/s)*ceil(k/s)*b,其中,在所述第二部分交叉开关阵列被划分为所述子阵列的第四种情况中,所述子阵列的数量为Nv=ceil(k/s)*ceil(n/s)*b,并且其中,ceil(x)表示不小于x的最小整数,并且b表示每个权重元素所需的单元的数量。6.根据权利要求5所述的基于C
‑
TSVD的交叉开关阵列装置,其中,在所述第一种情况
中,子阵列的数量是Ns(W)=ceil(m/s)*ceil(n/s)*b,并且其中,在所述第二种情况中,所有子阵列的数量是Ns(Wt)=Nu+Nv=ceil(m/s)*ceil(k/s)*b+ceil(k/s)*ceil(n/s)*b。7.根据权利要求6所述的基于C
‑
TSVD的交叉开关阵列装置,其中,在所述第一种情况中,所述ADC的操作的数量为Ns(W)*s,所述加法器的操作的数量为{Ns(W)
‑
ceil(n/s)*b}*s,所述加法器级的数量为ceil(log
2 ceil(m/s)),并且所述操作电流为Ns(W)*s*s乘以单元电流,并且其中,在所述第二种情况中,所述ADC的操作的数量为Ns(Wt)*s,所述加法器的操作的数量为{Ns(Wt)
‑
(ceil(k/s)+ceil(n/s))*b}*s,所述加法器级的数量为ceil(log
2 ceil(m/s)),所述操作电流为Ns(Wt)*s*s乘以单元电流。8.根据权利要求2所述的基于C
‑
TSVD的交叉开关阵列装置,其中,当k'/(m或n)*100是取数比时,所述交叉开关阵列装置被配置为执行:在所述第一学习方法中,其中在通过学习来计算所述原始交叉开关阵列之后、通过所述SVD将所述原始交叉开关阵列分解成部分交叉开关阵列并选择所述k
’
来执行推理,根据所述取数比的推理准确度受用于防止所述学习中的过拟合的正则项的正则化参数的影响,并且在第二学习方法中,其中在学习之前选择任意的第一原始交叉开关阵列并且通过所述SVD将所述第一原始交叉开关阵列分解成部分交叉开关阵列来选择k
’
之后、通过学习整合的第二原始交叉开关阵列来执行推理,与所述第一学习方法相比,根据所述取数比的推理准确度受所述正则化参数的影响较小。9.根据权利要求2所述的基于C
‑
TSVD的交叉开关阵列装置,其中,当基于所述原始交叉开关阵列执行所述交叉开关阵列装置的操作所花费的时间是1级延迟,并且基于所述两个部分交叉开关阵列执行所述交叉开关阵列装置的操作所花费的时间是2级延迟时,随着所述原始交叉开关阵列的矩阵的尺寸增加,所述2级延迟相对于所述1级延迟的增加减少。10.根据权利要求2所述的基于C
‑
TSVD的交叉开关阵列设备,还包括:恒等函数的第一电路,将所述第一部分交叉开关阵列的加法器树的输出原样输入到所述第二部分交叉开关阵列;以及激活函数的第二电路,用于激活所述原始交叉开关阵列的加法器树的输出或所述第二部分交叉开关阵列的加法器树的输出,并将激活的输出输入到下一层,其中,包括所述加法器的加法器树被布置在所述原始交叉开关阵列的输出部分或所述第一部分交叉开关阵列和所述第二部分交叉开关阵列中的每一个的输出部分。11.一种基于压缩截断奇异值分解C
‑
TSVD的交叉开关阵列装置,包括:两个部分交叉开关阵列,通过基于C
‑
TSVD分解在由n个行输入线和m个列输出线连接的m
×
n矩阵中的原始交叉开关阵列而获得,所述矩阵包括包含电阻存储器设备的单元,其中n和m是自然数;模数转换器ADC,被配置为转换通过经过阵列划分来划分所述两个部分交叉开关阵列
而获得的子阵列的列输出线的输出值;以及加法器,被配置为将所述ADC的结果求和,以对应于所述列输出线,其中,所述基于C
‑
TSVD的交叉开关阵列装置对应于神经形态计算中的神经网络的一层,并且其中,所述交叉开关阵列装置被配置为将输入值输入到所述行输入线,将权重乘以所述输入值,并且将累加结果作为所述列输出行的输出值输出,并且所述权重对应于所述两个部分交叉开关阵列。12.根据权利要求11所述的基于C
‑
TSVD的交叉开关阵列装置,其中,基于SVD将所述原始交叉开关阵列的矩阵W分解为三个矩阵U、S和V
T
的乘积,使得所述矩阵U具有m
×
m的尺寸,所述矩阵S具有m
×
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。