Page 180 - 《软件学报》2021年第8期
P. 180
2462 Journal of Software 软件学报 Vol.32, No.8, August 2021
值用 a T 表示,该神经元与第 n+1 层神经元的突触参数用 w 1 ,w 2 ,…,w r 表示.
(a) 含有神经元级别木马的 (b) 神经元级别木马在 RRAM
神经网络 计算系统中的实现
Fig.4 Embedding neuron-level Trojans in RRAM computing system
图 4 在 RRAM 计算系统中嵌入神经元级别木马
图 4(b)展示了将图 4(a)的部分神经网络映射到 RRAM 交叉开关阵列中的方式.图 4(b)中,虚线框内的
RRAM 单元是被使用的,虚线框之外的 RRAM 单元是空闲的,空闲的 RRAM 行的 WL 输入为 0.我们利用图 4(b)
+
+
−
+
−
,
,
中左边 RRAM 交叉开关阵列中的最后一列中的 RRAM 单元 g gg g − 2 ,..., g g 作为木马的 Trigger,让我们
,
,
1
p
p
2
1
把这些 RRAM 单元称为 Trigger RRAM 单元.Trigger RRAM 单元所在列的电流输出用 i Tri 表示,则有:
p
=
i Tri ∑ a i n− 1 × (g − i + g − i ) (4)
i= 1
为了让该木马神经元极容易被激活,我们提出使用感应放大器(SA)来取代 Trigger RRAM 单元所在列的
ADC.与 ADC 不同的是,SA 只输出两种结果,即 1 或者 0.该 SA 有两个基准电流 i ref1 和 i ref2 ,只有当 i ref1 ≤i Tri ≤i ref2
时,SA 才输出 0.SA 输出 0 的概率为
P = ( P i ref 1 ≤ i ≤ Tri i ref 2 ) (5)
T
当 i Tri <i ref1 或者 i Tri >i ref2 时,SA 输出 1.SA 输出 1 的概率为
P = 1 P− T (6)
T
神经元 T 的激活值 a T 可以表示为
a T =σ(P T ×1) (7)
其中,激活函数σ为
1
σ () x = (8)
+
1e − x
请注意,在本文中,由式(4)~式(7)可知,木马神经元 T 的激活函数的输入只能为 1 或者 0.因此,本文提出的方
法不仅适用于 Sigmoid 函数,也适用于其他激活函数,例如 Relu 等.由式(4)~式(8)可知,神经元的激活值 a T 只能为
0 或者 1:a T 为 0 表示木马神经元未激活;a T 为 1 表示木马神经元激活.当 a T 为 0 时,神经元 T 通过突触 w 1 ,w 2 ,…,w r
对第 n+1 层的神经元没有影响;当 a T 不为 0 时,神经元 T 通过突触 w 1 ,w 2 ,…,w r 对第 n+1 层的神经元才有影响.
然而,由于 RRAM 硬件的限制,神经元 T 的突触 w 1 ,w 2 ,…,w r 必须满足:
G Off −G on ≤w i ≤G on −G Off , i∈[1,r] (9)