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)
   175   176   177   178   179   180   181   182   183   184   185