tags
type
status
date
slug
summary
category
password
icon

3.20 (st-gcn)Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition

notion image
  • Image integration:
,取样函数
,c维的特征函数
  • Image→Graph
redefine fin&p&W
,定义为与节点边数≤D的节点集合。这里我们固定D=1
  • st-gcn
labeling function。其中都是针对,K是分组的组数。这样一共分为组。
notion image
第一种uniform。
第二种distance。根节点,邻居
第三种spatial configuration。所有节点的空间位置取平均为“重心”。根节点,比根节点离重心更近,否则
(element-wise product)
(V*c’)=(V*V)(V*V)(V*V)(V*c)(c*c’)?
V=25, c=3,64,128,256
,3*9=27(对于第三种)
batchnorm→3→64^3→128^3→256^3→softmax

3.20 A scalable universal Ising machine based on interaction-centric storage and compute-in-memory

 

3.21 High-speed emerging memories for AI hardware accelerators

比较了各种硬件实现PIM buffer memory的路线
加速器需要两种存储:weight memory存模型权重 & buffer memory存中间结果
本文主要关注buffer memory,主要关注读写速度和寿命两个指标
  • SRAM
传统实现buffer memory的方式
结构:传统6T,触发器4+MOS2
优点:访问快~ns,耐用性好>10^16 cycles,扩展性好
缺点:high stand-by leakage power
靠近运算单元的buffer需要ns级别的读写速度,但较远的global buffer对读写速度没有那么高的要求,有创新空间
  • PCM/PRAM(phase change memory) & ReRAM
缺点:读写速度慢~100ns,耐用性差10^6~10^9cycles,写入耗能大>1pJ
notion image
notion image
  • 2T gain cell
结构(上图左):利用寄生电容代替了传统DRAM中1T1C的C。SN(storage node)中的电荷存储信息。WWL写入信息,RWL读出信息
缺点:寄生电容必须足够大才能维持信息较长时间(~s)不变化,这样就能免去refresh的操作;漏电流大;charge-injection issue,寄生电容与WWL,RWL耦合
  • FeFET & FeRAM
结构(上图右):经过掺杂的HfO2薄层具有铁电特性,用原子极性来存储信息。该种铁电材料可以替代半导体。FeRAM在FeFET的基础上加入一个MFM(metal–ferroelectric–metal)电容,WL激活后,
State ‘1’ induces a polarization switching current in addition to the discharge current of the state ‘0’.
通过BL电流的差别,我们就可以区分0和1。
缺点:‘1’的读取是destructive process,故每次读取完之后需要write-back。这使得读和写都会消耗铁电器件的寿命。目前寿命约~10^12cycles。可以通过dual-mode来优化,把经常变动的数据用类似eDRAM的方式存储
优点:?
notion image
notion image
  • STT-MRAM & SOT-MRAM
结构(上图):核心是MTJ,铁电+电介质+铁电,其阻抗与两侧铁电材料极性有关。读取时,施加电压,观测电流;写入时,电流会引起铁电材料极性变化
优点:亚ns级读写速度
缺点:STT-MRAM共享read/write,SOT把两条通路分开但引入了额外的面积消耗
  • 其他内容:各类memory的benchmark(prototype chips)

3.21 Resistive Memory-Based In-Memory Computing: From Device and Large-Scale Integration System Perspectives

这篇文章主要探讨了各个尺度上RRAM器件的可能应用
  • 存储、运算
数据传输的瓶颈不是新出现的,几十年前数据库就已经遇到了这种问题。PIM/CIM希望为了解决数据传输的高时延和高耗能问题,其高密度在边缘计算有很大潜力,无论是边缘推理还是边缘训练(因为数据隐私问题)
有潜力的存储器:SRAM, flash memory, MRAM, racetrack memory(sequential), PCM, RRAM。除了SRAM均为非易失性nonvolatile存储器(断电数据不消失)
RRAM device:阻抗可以被外加电压/电流改变。SET将其变成高阻态,RESET将其变成低阻态。有双态、多态、模拟等多种类别
2012年Hu第一次提出基于基尔霍夫定律电流相加,用RRAM进行VMM矩阵向量乘
PIM不支持outer product。目前难以完全在PIM中进行反向传播。RRAM一般与数字电路配合,数字电路可以方便实现pooling、activation等操作
💡
能不能支持outer product?
能不能抛弃反向传播设计学习算法?
  • 非线性和随机性
在spiking neural network中,可能通过SET作为激活函数(RRAM synapse)
As an alternate to train RRAM synapse, hyperdimensional (HD) computing eases the computation complexity and enhan ces training efficiency with interpretability
用于震荡电路:
That is,the induced current decreases as the applied voltage increases. This uncommon nonlinearity has been leveraged in developing a relaxation oscillation circuit.
Mott忆阻器有内在伪随机性,可以帮助跳出局部最优解
  • 架构
notion image
  • 器件性能(2019)
notion image

3.27 In-memory hyperdimensional computing

inspiration:生物神经网络,牺牲准确度换效率
advantage:
  1. HDC对个别的bit错误不敏感
  1. 只需要少量的样本
💡
用来适配NISQ?
像zcs的AGI线路
  • Hypervector
HDC全程基于d(>1000)维的hypervectors超维向量,每一个位置独立同分布,等概率0/1
这些向量伪正交quasi-orthogonal,因为
因此我们可以随机生成h个向量作为基底(fixed in the process),h为symbol的个数
这些基向量(h*d)组成Item Memory(IM)
💡
对于任何一个系统,怎么确定symbols是哪些?信息熵?PCA?
怎么快速生成这些(伪)随机的向量?
如果分量不是简单01,是否还能满足伪正交性?有何优势?
  • Operators
  1. addition/bundle
    1. component-wise majority看每一位0多还是1多
  1. multiply
    1. 按位XNOR
  1. permutation
    1. 对下标的伪随机重排
💡
QM排列算符?
  • Encoding(prototype vectors)
训练数据有n个symbols,经过encoder生成对应的prototype vector,表示该训练数据
其中s表示symbol,B表示与symbol对应的basis,为XNOR
假设训练数据有c个类别,则经此过程生成c*d向量,称为associative memory(AM)
💡
c很大怎么办?会不会存不下?
  • Query
同上encode成Q,与AM中向量计算Hamming距进行分类
  • PIM
IM(h*d)和AM(c*d)分别存在两个RRAM阵列上,每一行存一个向量。第一个RRAM相当于一个encoder
PIM实现,CMOS实现+,
💡
能不能全部用PIM实现?
notion image
本工作用PCM实现RRAM
实现时,由于向量中01个数相似,可以作如下简化

4.15 RelHDx: Hyperdimensional Computing for Learning on Graphs With FeFET Acceleration

完成两种任务:
  1. 预测节点标签
  1. 预测节点之间是否有连边
💡
是否有其他的任务种类?
  • Algorithm
Node HV:代表节点的特征
k-hop HV: 。特别的
注意对每个节点不变,始终是直接邻居。这样避免了过多的数据运输,同时也能汇集更远的节点的信息

4.17 HDTest: Differential Fuzz Testing of Brain-Inspired Hyperdimensional Computing

  • 基础算法
在MNIST数据集上,每一张图片28*28=784,每个位置0~255灰度值
position HVs: 784个,代表位置
value HVs: 255个,代表灰度值
pixel HV: 假设该像素位置为i,灰度值为
Image HV:
💡
(1)这种编码方式没有充分利用位置信息,应该有某种编码方式满足平移不变性
(2)灰度值需要这么多不同的HV吗?是不是减少一些HV会有更好的表现?(因为相近的灰度值并不是表达截然不同的信息)
但考虑到经过加减之后,Im不再是正负1取值的,所以我们重新bipolarize:(但作者github代码似乎并没有实现这一步)
训练过程:依次处理每一张图片,把其Im加到对应类别的(associative memory)上。最后再用同样的公式再次把变成二值的
Note:在hdc中,AM就是模型的全部
重训练retrain:把所有图片都重新过一遍。如果当前模型预测结果不正确(假设正确的是y,当前预测结果是y_pred),那么把这张图片的Im从AM[y_pred]中减掉,并把Im加到AM[y]上
💡
(1)这一步似乎只有之前没有二值化才能进行
(2)但从另一个方面想,其实就是利用了“反样本”去训练。那其实可以在一开始就把所有的“正样本”和“反样本”训练完
(3)这里的推理是基于原来的am进行,还是基于当前最新的更新过的am_进行?如果是后者,会不会收敛的更快?
测试过程:先把输入的图片用同样的方法encode成,计算其与所有之间的cos_sim,最大的就是预测结果
💡
(1)计算两两之间的cos,因为各个HV模长不尽相同,需要大量计算量
(2)如果我们能保证取值都是正负1,那么各个HV的模长就是相等的,可以直接算矩阵乘法然后求最大值
  • 代码实现和实验结果见“hdc”
 
CTAW-portfolioQuantum Computation News-followup
Loading...