1.《CHARACTERIZING ADVERSARIAL SUBSPACES USING LOCAL INTRINSIC DIMENSIONALITY》
该方法背后的原理:对于对抗性子空间,出现在x'附近的样本点可以来自于多个流形。x'与流形S接近这一现象意味着x'的邻域很可能包于S中。然而,如果x'的邻域主要由S中的样本组成,那么x'不太可能是一个对抗样本。因此,x'的周围的样本点加在一起很可能形成比单独的任何一个子流形都要高得多的内维子空间,而对x'计算的LID估计可以预期揭示这一点。(简单来说,对抗样本的领域可能由多个流形的样本点组成。因此,对抗样本的LID值,也就是维度,会更高。)
检测过程:以正常样本为例,首先,使用循环将所有的网络层(包括conv2d、max-pooling、dropout、ReLU和softmax)的输出作为输入计算LID值,记为LID_neg。因为我们期望DNN的每一层都存在对抗区域。接下来,对于对抗样本与噪声样本进行一样的操作,分别记为LID_pos与LID_neg。最后将(LID_pos,LID_neg)作为训练数据训练分类器(如逻辑回归)。
2. 《Detecting Adversarial Samples Using Influence Functions and Nearest Neighbors》
该方法背后的原理:对于一个正常样本,它的k-NN训练样本(嵌入空间中最近邻)和most helpful的训练样本(使用影响函数发现)应该是相关的。然而,对抗样本没有这种相关性,这可以作为对抗攻击的迹象。
首先,用影响函数挑选出2*M个most helpful和most harmful的训练样本。接下来,对其中的每一个样本都采用k-NN提取helpful/harmful的特征(ranks and distances),命名为NNIF_neg。对于对抗样本进行同样的操作,命名为NNIF_pos。最后,以(NNIF_pos,NNIF_neg)为训练数据训练出一个分类器。实验结果显示,该方法优于DkNN、LID以及Mahalanobis。