开源无线网络-OSRAN

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 297|回复: 0
打印 上一主题 下一主题

关于忆阻器的一些重要问题

[复制链接]

42

主题

42

帖子

140

积分

注册会员

Rank: 2

积分
140
跳转到指定楼层
楼主
发表于 2023-6-22 12:25:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

如何改变忆阻器的电导值(Gij)
对于理想阻变器件,线性度和对称性很好,可以通过控制施加的编程脉冲个数直接实现定量的更新。能降低硬件开销、实现低功耗、高能效的片上训练。
传统的基于忆阻器阵列的权重更新,需要计算出具体的脉冲数,这需要构建复杂的外围电路来计算脉冲数。在新的学习方案中,随机提取训练样本,基于训练样本更新整个卷积神经网络的权重,计算梯度值获取权重更新的方向,引入忆阻器非理想特性,给予忆阻器单脉冲进行权重更新,该方法不需要复杂的外围电路设计,节省了芯片面积和功耗。研究基于新的学习方案提出了四种权重更新方式,将传统的SGD和PL作为基准,在基于LeNet5网络对MNIST图像识别中取得了良好的识别率。该方法可应用到更加复杂的神经网络结构中,如resnet8网络和VGG网络识别cifar10数据集,具有良好的应用前景和优化空间。
目前如果更新忆阻器阵列的电导值仍然是重要的研究问题。
[color=inherit !important]Just a moment...​onlinelibrary.wiley.com/doi/10.1002/aisy.202100041

  • 数据是怎么进入到忆阻器阵列进行计算的
上面的图B有8个PE阵列,每个阵列128×16=2048个1T1R单元,也就是说他们的忆阻器支持W矩阵的大小为128×16。
上图中的:
BL Driver是1T1R忆阻器阵列的位线;对输入电压的控制。
SL Driver是1T1R忆阻器阵列的选择线;
WL Driver是1T1R忆阻器阵列外接控制信号;
1T1R的结构:
为什么必须加晶体管?
这里的晶体管负责控制开关元件的位置。这种方法的缺点是一个开关元件使用一个晶体管,因此其封装密度仍然取决于晶体管的所占空间以及可扩展性。
另外晶体管还有一个作用是抑制旁路电流。
8bit的数据是通过8个周期送入阵列的,每次出来的电流会在MUX(多路复用器)中做差分,进入ADC,再经过Shift & Adder将八次的结构移位累加,转化为电压信号。这一点大大降低了器件的工作频率(20M/8=2.5MHz),相比GPU的2.5GHz,差了1000倍,这是制约算力重要因素。如果做0,1运算,不要做差分,进入ADC以后可以直接得到输出结果。
2. 忆阻器的算力如何(其它的性能指标)?

算力真的很一般,假设我们使用0,1运算,算力在656GOPs=0.64TOPs。
3. 是否可以通过增加忆阻器的PE阵列来提升计算精度?
目前不能无限提升,忆阻器级联就相当于做了一个超大规模的交叉阵列,交叉阵列会随着规模增大,线电阻增加,导致权重W的降低,交叉阵列规模从16到128行增加时,精度将从8bits降低至5bits。参考:Li, C., Hu, M., Li, Y. et al. Analogue signal and image processing with large memristor crossbars. Nat Electron 1, 52–59 (2018). https://doi.org/10.1038/s41928-017-0002-z
4. 是否可以使用模拟忆阻器阵列进行数字(布尔)运算?
可以,相当于w的权重是1bit,每输入1bit信息就可以进行一次数据输出,可以达到很好的精度,但是精度不能保证100%。至于算力问题或者忆阻器的阵列能扩大什么程度、精度能到多少还没具体的相关说明。
5. 忆阻器一些详细的性能指标
重要指标的含义:
  • Cell type代表每个PE阵列的组成。
  • crossbar size代表PE阵列规模的大小。
  • cell size占用面积。
  • Array level tuning precision代表精度。
参考论文:Kim, H., Mahmoodi, M.R., Nili, H. et al. 4K-memristor analog-grade passive crossbar circuit. Nat Commun 12, 5198 (2021). https://doi.org/10.1038/s41467-021-25455-0
[color=inherit !important]忆阻器阵列学习笔记_fallenangel2的博客-CSDN博客_忆阻器阵列​blog.csdn.net/qq_42556934/article/details/115024456
上面这篇文章讲了做CNN训练,软件训练的测试集精度为97.99%,15level(4bit)量化之后为96.92%,映射到忆阻器上为95.07%,最后训练全连接层,达到96.19%的精度。经过全连接层训练,训练集精度从95.18%增加到96.79%。精度总体损失1.2%。
6. 我们进行CNN训练过程中不断的刺激忆阻器,使其电导值发生改变,那我们进行乘法运算过程中,是不是每次运算都会改变权重,导致计算数值不准确?
一个是2V,一个是0.2V,Amazing。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|OpenXG  

Copyright © 2001-2013 Comsenz Inc.Template by Comsenz Inc.All Rights Reserved.

Powered by Discuz!X3.2

快速回复 返回顶部 返回列表