tags
type
status
date
slug
summary
category
password
icon
3.20 (st-gcn)Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition

- Image integration:
,取样函数
,c维的特征函数
- Image→Graph
redefine fin&p&W
,定义为与节点边数≤D的节点集合。这里我们固定D=1
- st-gcn
labeling function。其中和都是针对,K是分组的组数。这样一共分为组。

第一种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


- 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的方式存储
优点:?


- 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忆阻器有内在伪随机性,可以帮助跳出局部最优解
- 架构

- 器件性能(2019)

3.27 In-memory hyperdimensional computing
inspiration:生物神经网络,牺牲准确度换效率
advantage:
- HDC对个别的bit错误不敏感
- 只需要少量的样本
用来适配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
- addition/bundle
component-wise majority看每一位0多还是1多
- multiply
按位XNOR
- permutation
对下标的伪随机重排
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实现?

本工作用PCM实现RRAM
实现时,由于向量中01个数相似,可以作如下简化
4.15 RelHDx: Hyperdimensional Computing for Learning on Graphs With FeFET Acceleration
完成两种任务:
- 预测节点标签
- 预测节点之间是否有连边
是否有其他的任务种类?
- 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”
- 作者:Tianyao Xiao
- 链接:https://www.xty27.top/article/papers
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。