约束重编程单元数量的忆阻器阵列闭环重映射算法.pdf
《约束重编程单元数量的忆阻器阵列闭环重映射算法.pdf》由会员分享,可在线阅读,更多相关《约束重编程单元数量的忆阻器阵列闭环重映射算法.pdf(9页珍藏版)》请在咨信网上搜索。
1、第 35 卷 第 6 期 计算机辅助设计与图形学学报 Vol.35 No.6 2023 年 6 月 Journal of Computer-Aided Design&Computer Graphics Jun.2023 收稿日期:2021-11-16;修回日期:2022-05-15.基金项目:国家自然科学基金(61834006,62174048,62027815),中央高校基本科研业务费专项资金(PA2022GDSK0067).刘军(1978),男,博士,副教授,硕士生导师,CCF 会员,主要研究方向为数字系统设计自动化集成电路测试、嵌入式系统;缪伟伟(1997),男,硕士研究生,主要研究方向
2、为高可靠性嵌入式系统;吴玺(1978),女,博士,讲师,主要研究方向为机器学习;任福继(1959),男,博士,教授,博士生导师,主要研究方向为智能机器人.约束重编程单元数量的忆阻器阵列闭环重映射算法 刘军1,2),缪伟伟1,2),吴玺1,2),任福继3)1)(合肥工业大学计算机与信息学院 合肥 230601)2)(合肥工业大学情感计算与先进智能机器安徽省重点实验室 合肥 230601)3)(Graduate School of Advanced Technology and Science,University of Tokushima Tokushima 7708502 Japan)()摘
3、要:忆阻器阵列能够有效地加速神经网络中的矩阵运算,但会受到老化的影响,导致忆阻器阵列计算精度不满足要求.为了继续使用忆阻器阵列,提出一种基于重编程忆阻单元数量约束的闭环重映射算法.首先根据忆阻器阵列的老化分布得出行偏差矩阵;然后以行偏差矩阵中的最小值为起始点开始映射,直至重映射关系形成闭环;通过在映射过程中设置行偏差约束,使得重映射后的行偏差总和尽可能小,达到提高计算精度的目的;通过对重编程单元数量进行约束,尽可能减少需要重新编程的忆阻单元数量,减轻重编程造成的忆阻器阵列老化.在Pytorch上采用MINST数据集进行仿真测试的实验结果表明,所提算法不仅能够有效地提高忆阻器阵列的计算精度,而且
4、与国际上同类方法相比,在达到相同计算精度的前提下,最多可以减少 75.43%的重编程单元数.关键词:忆阻器阵列;闭环重映射;神经网络;忆阻器老化 中图法分类号:TP389.1 DOI:10.3724/SP.J.1089.2023.19475 A Closed-Loop Remapping Algorithm for Memristor-Based Crossbar with a Constraint on the Number of Reprogramming Cells Liu Jun1,2),Miao Weiwei1,2),Wu Xi1,2),and Ren Fuji3)1)(School
5、 of Computer Science and Information Engineering,Hefei University of Technology,Hefei 230601)2)(Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine,Hefei University of Technology,Hefei 230601)3)(Graduate School of Advanced Technology and Science,University of Tokush
6、ima,Tokushima 7708502 Japan)Abstract:Memristor-based crossbar can effectively accelerate matrix-vector multiplication in neural network.However,the accuracy of crossbar may seriously decrease due to aging.Memristor-based crossbar will not meet the requirements of accuracy and cannot be used.To conti
7、nue using the crossbar,this paper proposes a closed-loop remapping algorithm with a constraint on the number of reprogramming cells.Firstly,the row devia-tion matrix is obtained according to the aging distribution of memristor-based crossbar.The remapping algorithm starts from the minimum value of r
8、ow deviation matrix until a closed-loop is formed.With the row deviation con-straint during remapping process,the sum of row deviations is as small as possible to improve accuracy.Besides,the number of reprogramming cells can be greatly reduced to alleviate aging of crossbar with a constraint on re-
9、programming cells.Experimental results show that the proposed technique can effectively improve accuracy.Compared with other techniques,it can also reduce the number of reprogramming cells by up to 75.43%while achieving the same accuracy.第 6 期 刘军,等:约束重编程单元数量的忆阻器阵列闭环重映射算法 971 Key words:memristor-base
10、d crossbar;close-loop remapping;neural network;aging of memristor 神经网络中存在大量的矩阵乘法运算,随着神经网络的不断加深,利用传统处理器实现矩阵乘法会导致计算时间过长和能耗过大.新型器件忆阻器为实现矩阵乘法提供了一种更高效的方式1,能够以 1O的时间复杂度实现矩阵乘法,且具有极低的能耗2-3.利用忆阻器阵列实现矩阵乘法,首先需要将神经网络中的权值矩阵n mW映射为忆阻器电导矩 阵n mG;然 后 将 输 入 向 量 转 换 为 电 压12,nV VVV,第j列的输出电流1njijiiIgV,即为输入向量与权值矩阵第j列的乘积结
11、果.为了便于后续部分的表述,本文将权值矩阵n mW中的权值称为理想权值,忆阻器电导矩阵n mG中的电导值称为实际权值.利用忆阻器阵列加速神经网络计算分为映射和计算 2 个阶段.其中,映射阶段将神经网络的理想权值映射为忆阻器阵列的实际权值;计算阶段将输入向量转换为电压施加在忆阻器阵列上,进而得到神经网络计算结果.在映射阶段,将理想权值映射到忆阻器阵列上的方法有 2 种:(1)在线训练4.直接在忆阻器阵列上实现梯度下降算法训练理想权值;(2)软件训练和在线调整的结合.该类方法首先在软件上训练神经网络权值,并将训练好的理想权值映射为忆阻器电导值;然后对忆阻器电导值进行在线调整,以提高计算精度.上述
12、2 种方法都需要对忆阻器进行反复编程.在编程过程中,电压脉冲被施加到忆阻器上会引起忆阻器内导电细丝的变化.多次编程后会导致其可编程电导范围降低,这种效应被称为老化5-7.当忆阻器老化后,理想权值可能会超出忆阻器的可编程电导范围,从而导致实际权值和理想权值之间存在偏差.例如,忆阻器初始电导范围为0,1,理想权值为 0.2;忆阻器未老化时,实际权值可以被编程为0.2,没有权值偏差;当多次编程后,电导范围变为0.3,0.8,此时理想权值超出了忆阻器可编程电导范围,实际权值无法被编程为 0.2,此时实际权值只能被编程为 0.3,会产生权值偏差.为了延缓忆阻器的老化,文献8提出只更新忆阻器阵列中梯度较大
13、的权值的方法,以此减少权值更新的次数.除了忆阻器阵列上权值的频繁更新,高温也会加速忆阻器的老化.大权值映射到忆阻器阵列时会产生比小权值更大的热量,文献9-10提出将大权值均匀分散到忆阻器阵列上的方法.可以避免大权值聚集在某些区域而造成此区域温度过高的现象,使热量分布更加均匀,延缓忆阻器阵列的老化.上述方法的解决思路是在映射阶段延缓忆阻器的老化.但在计算阶段,由于不断对忆阻器阵列施加电压进行计算,同样会造成忆阻器阵列老化.而当理想权值超出忆阻器老化后的可编程电导范围时,会导致实际权值与理想权值存在偏差,造成计算精度降低;并且随着忆阻器阵列使用时间的增加,老化程度会不断加深,忆阻器的可编程电导范围
14、越来越小,实际电导值与目标电导值的偏差越来越大,最终忆阻器阵列将完全无法使用.老化将导致忆阻器阵列的计算精度不满足要求,无法使用,此时若将忆阻器阵列抛弃,则会造成很大的浪费.为了避免器件浪费,本文提出一种约束重编程单元数的闭环重映射算法(closed-loop remapping algorithm with constraint on the number of reprogramming cells,RACR),通过重新确定理想权值和忆阻器阵列的映射关系,尽可能多地将理想权值映射到未超出忆阻器可编程电导范围的单元上,降低忆阻器老化对计算精度的影响,使其能够继续使用.RACR 以行偏差为指标
15、来衡量老化对计算精度的影响,行偏差越小,表示老化对计算精度的影响越小.通过设置行偏差约束,使重映射后的行偏差之和尽可能小.闭环重映射算法首先根据忆阻器阵列的老化分布,得到理想权值矩阵映射到忆阻器阵列的行偏差矩阵;然后以最小行偏差对应的理想权值行为起始边开始匹配,直至形成满足约束条件的闭环重映射关系,使重映射后的行偏差总和尽可能小,降低老化对忆阻器阵列的影响,提高计算精度.此外,为了避免忆阻器阵列老化程度的进一步加深,需要减少重映射中重新编程的忆阻单元数量.如果重映射前和重映射后映射到一个忆阻单元上的理想权值的大小相等,那么此忆阻单元编程后的实际权值也是相等的,可以不对该忆阻单元进行重编程.因此
16、,RACR 通过约束重编程忆阻单元数量,避免重映射过程中重新编程的忆阻单元数量过多而加深忆阻器阵列的老化.972 计算机辅助设计与图形学学报 第 35 卷 1 RACR 1.1 RACR 整体流程 RACR 整体流程如图 1 所示,下面具体阐述该流程.图 1 RACR 整体流程(1)根据忆阻器阵列中所有忆阻器老化后的可编程电阻范围信息,得到行偏差矩阵n nS.本文中忆阻器阵列的老化分布指忆阻器阵列中所有忆阻器老化后的可编程电阻范围.忆阻器老化后的可编程电阻范围为5,7 aged,maxfresh,maxaged,minfresh,min,RRf T tRRg T t(1)其中,aged,max
17、R和aged,minR分别表示忆阻器老化后的最大电阻和最小电阻,fresh,maxR和fresh,minR分别表示初始状态下忆阻器的最大电阻和最小电阻,T表示温度,t表示忆阻器的累积编程时间,f 和 g 表示基于阿伦尼乌斯公式的老化函数.在实际应用中,忆阻器温度T和施加电压计算的累积时间t均可由实测得到6.行偏差矩阵n nS的第i行第j列元则为 aged,minaged,maxaged,minaged,max10,if min,otherwiseikjkjkmijikikjkjkkGwGswGwG 其表示理想权值矩阵n mW的第i行映射到忆阻器阵列第j行产生的理想权值和实际权值的偏差之和.其中
18、,ikw表示理想权值矩阵第i行第k列的权值;aged,minjkG和aged,maxjkG分别表示忆阻器阵列第j行第k列的单元老化后的最小电导值和最大电导值.当ikw在对应忆阻单元的可编程电导范围内时,权值偏差为0;否则,权值偏差为ikw与忆阻单元最大电导值和最小电导值的最小差值.ijs越小,意味着老化对忆阻器阵列计算精度的影响越小.(2)计算重编程单元数矩阵n nC,其第i行第j列元素为,1mi jijkkce,其表示理想权值矩阵n mW第i行重映射到忆阻器阵列第j行所需的重编程忆阻单元数量.为了便于下文表述,在算法中使用ix表示理想权值矩阵的第i行,jy表示忆阻器阵列第j行.本文针对的是理
19、想权值行与老化后忆阻器阵列行的重映射,而在未重映射前,忆阻器阵列第j行jy也是由理想权值矩阵n mW的某一行映射而成的.假设在重映射前,jy由理想权值矩阵的第t行tx映射而成;重映射后,jy由理想权值矩阵的第i行ix映射而成.ijc为ix与tx中相同位置上不相等的理想权值数量.若ikw,tkw分别为ix和tx中的第k个权值,当iktkww时,1i jke,表示此忆阻单元需要重新编程;否则,0i jke,表示此忆阻单元不需要重编程.(3)在行偏差增量以及重编程单元数阈值TC的约束下,执行闭环匹配重映射算法.行偏差增量用于对重映射过程施加行偏差约束,使确定的重映射关系满足行偏差约束,保证重映射后忆
20、阻器阵列的计算精度.RACR初始时,将TC设置为最大值,然后不断调整,计算闭环匹配重映射后的计算精度,当达到最高计算精度时,记此时的为;然后将TC调整为最小值,固定,不断增大TC,判断重映射后忆阻器阵列的计算精度是否大于阈值,若小于,则继续增大TC,再执行闭环匹配重映射,直至计算精度大于等于,输出重映射结果.以此使重映射后的忆阻器阵列在满足计算精度要求的同时,尽可能减少重编程忆阻单元数,减轻对忆阻器阵列的老化.RACR中,行偏差约束等于行偏差增量加上理想权值矩阵第i行映射到忆阻器阵列的最小行偏差 min,1,2 ijisOjm.这是因为不同权第 6 期 刘军,等:约束重编程单元数量的忆阻器阵列
21、闭环重映射算法 973 值矩阵行映射到忆阻器阵列行的行偏差大小可能存在较大差异,如果只通过一个全局的行偏差阈值约束整个算法的行偏差,很可能会出现某些理想权值行的iO就已经大于行偏差阈值,造成该权值行无法在行偏差约束下完成重映射.而如果将行偏差阈值设置得过大,则可能会造成重映射后忆阻器阵列的计算精度无法满足要求.所以只通过一个全局的行偏差阈值对所有理想权值行的匹配进行约束是十分困难的.因此,在RACR中行偏差阈值为iO,表示为权值行ix的最小行偏差加上行偏差增量,等同于对每个理想权值行ix的匹配设置特定的行偏差阈值,可以改变来调整对重映射结果的行偏差约束,避免重映射算法结果的行偏差总和过大,导致
22、忆阻器阵列的计算精度较低.和TC是根据对计算精度和重编程单元数的具体要求自定义的.下面介绍闭环匹配重映射算法.1.2 闭环匹配重映射算法 闭环匹配重映射算法的思想是以当前行偏差矩阵中的最小值对应的理想权值行为起始边,使理想权值行与忆阻器阵列行形成满足重编程单元数约束和行偏差约束的闭环重映射关系.在闭环匹配中,当理想权值行无法在约束条件下确定重映射关系时,会将上一次暂时确定的重映射关系破坏,并回溯到上一次确定重映射关系前的状态接着匹配,直至形成满足约束条件的闭环重映射关系,以此优化全局的重映射结果,提高重映射后的忆阻器阵列计算精度.闭环匹配重映射算法通过确定多个闭环重映射关系,使所有的理想权值行
23、与忆阻器阵列行确定重映射关系.闭环匹配重映射算法的伪代码如算法1所示.算法 1.闭环匹配重映射算法.输入.重编程单元数矩阵n nC,行偏差矩n nS,行偏差增量,重编程单元数阈值TC,重映射前的理想权值行的映射关系unremap_wgtn,重映射前忆阻器阵列行的映射关系unremap_ memn.输出.重映射结果.Step1.初始化.将 remapn数组全部设置为1,ST为空栈,0c.Step2.对未确定重映射关系的理想权值行进行匹配:Step2.1.在当前n nS矩阵中找到最小值,将其行序号赋给i,初始化1u;Step2.2.迭代匹配直至1u 且 remapi为1:Step2.2.1.can
24、Matched(,)n njiS,通过 canM-atched 算法得到理想权值第i行重映射的忆阻器阵列行序号;Step2.2.2.若0j,则更新状态.ST.push(i,n nS),remapi=j,ijccc,将n nS第i行和第 j 列的元素全部置为,i更新为 unremap_memj;Step2.2.3.若=0j,此时若 ST 为空,将u设置为 0;否则,ST 内容出栈,回溯到前一状态,令i ST.pop()i,ST.pop()n nn nSS,remap ji,remap i 1,ijccc;Step2.3.若0u,则表示无法在约束下确定重映射关系,维持重映射前的映射关系.remap
25、i=unre-map_wgti;Step2.4.清空堆栈ST.算法1的Step1对数组remapn、堆栈ST和整型变量c进行初始化;remapn数组用于存储算法中得到的理想权值行与忆阻器阵列的重映射关系;堆栈ST用于存储暂时确定重映射关系的理想权值行的序号和更新前的行偏差矩阵n nS状态的数据对,便于后续回溯时恢复之前的状态信息;c记录需要重新编程的忆阻单元数量.下面通过具体例子阐述算法1的执行过程.假设行偏差矩阵n nS和重编程单元数矩阵n nC分别为 04 41.41.50.30.60.41.51.20.30.51.41.50.42.10.51.20.4和S4 403233022.2204
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 约束 编程 单元 数量 忆阻器 阵列 闭环 映射 算法
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。