Page 178 - 《软件学报》2021年第8期
P. 178

2460                                   Journal of Software  软件学报 Vol.32, No.8,  August 2021

                    RRAM 设备的 I-V 特征曲线如图 2(b)所示,可以看到,RRAM 设备的 RESET 过程具有渐变性.因此,理论上
                 可以将 RRAM 的电导值调整到从 G off 到 G on 之间的任意电导值.由 RRAM 硬件组成的交叉开关矩阵结构能够
                 执行 MVM 操作.如图 2(c)所示,输入为应用到 RRAM 交叉开关阵列字线(WL)的电压(V),输出为在 RRAM 交叉
                 开关阵列的比特线(BL)累计的电流(I).由于在 RRAM 计算系统中,计算中间值为数字信号,因此需要使用数模转
                 换器(DAC)和模数转换器(ADC)来转化.输入电压、RRAM 交叉开关阵列中 RRAM 的电导值和输出电流满足基
                 尔霍夫定律,可以表示为
                                                    m
                                                 i =  j ∑  g ×  ij  i , v g ∈  ij  [G off  ,G on ]    (2)
                                                    i= 1
                 其中,g ij 为与 w ij 对应的 RRAM 设备的电导值.由于 w ij 可以是正数、负数或者 0,而电导值 g ij 只能为正数,因此
                                     +
                                          −
                 需要用一对 RRAM 设备 g 和 g 来表示 w ij ,如式(3)所示.
                                     ij   ij
                                                           +
                                                       w =  g −  g −                                  (3)
                                                        ij  ij  ij
                  +
                       −
                 g 和 g 分别接入幅值相同但方向相反的电压,如图 2(c)所示.
                  ij  ij
                 1.2   威胁模型和动机
                    RRAM 计算系统芯片的知识产权不仅在于其芯片设计,而且还包含部署在其中的神经网络模型.攻击者通
                 过访问未授权的过渡生产的 RRAM 计算系统芯片,通过收集大量的输入和输出,从而逆向工程训练出一个具有
                 类似功能的神经网络模型.本文将提出一种保护机制来防止未授权的 RRAM 计算系统被正常使用.该防御方法
                 基于良性木马(在本文剩余部分使用简称木马代替),当芯片启动时,木马即激活,此时 RRAM 计算系统无法正常
                 运行;只有当输入正确的密钥之后,RRAM 计算系统才能够正常运行.
                 1.3   定   义
                    定义 1(神经元激活值).  指神经网络模型中神经元的输入通过激活函数计算后的输出值.
                    定义 2(木马激活概率).  指木马神经元被激活的概率.

                 2    神经元级别木马

                    让我们以一个简单的神经网络模型作为示例展示.如图 3 所示,一个简单神经网络,其功能是将一个 4 比特
                 的二进制数转换成一个十进制的数.



















                                Fig.3    An example neural network and inserting a neuron-level Trojan in it
                                   图 3   示例神经网络及在示例神经网络中插入神经元级别木马
                    该网络模型中只有 3 层:一层输入层、一层隐藏层和一层输出层.我们将输入层的 4 个神经元分别表示为
                 I1,I2,I3 和 I4,隐藏层的 5 个神经元表示为 H1,H2,…,H5 以及输出层的神经元表示为 O1,O2,...,O16.二进制向量
   173   174   175   176   177   178   179   180   181   182   183