Exploratory Adversarial Attacks on Graph Neural Networks
依赖training loss的最大梯度的这种基于梯度的策略,在攻击GNN模型时候,可能不会产生一个好的结果。
原因在于图结构的离散的特点。
⇓
\Downarrow
⇓
我们可不可以推导出一种有效的方法,来选择攻击GNN的扰动?
我们提出一种新颖的exploratory adversarial attack命名为EpoAtk。
专注于poisoning attack 和 global attack。继承基于梯度攻击效率高的优势,克服最大梯度方法的不足。
概括为三个阶段:generation,evaluation,recombination
- 利用training loss的一阶导数,EpoAtk生成一个扰动候选集,而不仅仅是一个具有最大梯度的扰动。
- 在evaluation阶段,提出一个有效的评估函数,来评估候选集中的每个元素
- 为了进一步提高evaluation的有效性,引入recombination,从长远的角度来看,避免training loss的局部最大值。
无向图
每个节点有一个F维的特征向量,和一个class label(1~C)
X:代表一个节点特征矩阵,VxF
C
L
C_L
CL:代表有标签节点
V
L
V_L
VL的one-hot label矩阵
在半监督节点分类任务中,给定 A , X , V L , C L A,X,V_L,C_L A,X,VL,CL,GNN的目标就是学到一个分类器 f w f_w fw,来预测无标签节点的label, w w w是模型的参数集合。
为了满足扰动不易被发现,假定攻击者最多修改M次。
根据代表性的全局攻击[24]、[28],攻击者使用一系列修改过程,按照贪婪的方式来得到最终的图G(M)。
在每一步,只允许增加或者删除一条边,由于图的离散结构,这可能不能获得最优攻击结果,所以提出EpoAtk。
模型
Generation部分
引入一个梯度矩阵 B ( k ) ∈ R ∣ V ∣ × ∣ V ∣ B^{(k)} \in R^{|V| \times |V|} B(k)∈R∣V∣×∣V∣
与以往方法不同的是,不只是选择最大的梯度,而是依次选择 Δ \Delta Δ个满足条件的来构成候选集。
Evaluation部分
先在原始图上学习到一个可控模型,并且预测无标签节点,作为ground truth。
评估函数如下:
f
w
∗
f_{w^*}
fw∗:在修改过的图上学到的分类器
Z
Z
Z:在修改过的图上学到的分类器给出的预测结果。
G a G_a Ga可能就是候选集里最有效的扰动
Recombination部分
攻击者在公式5的一系列修改中,可能陷入局部最大值。引入recombination来增加决策的不确定性。在此基础上,将对recombination阶段产生的每个元素进行精确评估,以克服上述难题。
recombination阶段是以概率 k β M − 1 \frac{k \beta}{M-1} M−1kβ发生的。 k ∈ [ 1 , M − 1 ] k \in [1,M-1] k∈[1,M−1], β \beta β是超参数。
也就是说:我们有 1 − k β M − 1 1-\frac{k \beta}{M-1} 1−M−1kβ的概率直接选取 G a k + 1 G_a^{k+1} Gak+1作为 G k + 1 G^{k+1} Gk+1。
如果recombination发生,就需要扩大搜索空间,而不是简单地选取 G a k + 1 G_a^{k+1} Gak+1作为 G k + 1 G^{k+1} Gk+1。
除了 G a k + 1 G_a^{k+1} Gak+1外,再从候选集中按照如下分布sample另外一个修改过的对抗图 G b k + 1 G_b^{k+1} Gbk+1:
注: G a k + 1 G_a^{k+1} Gak+1和 G b k + 1 G_b^{k+1} Gbk+1与 G k G^k Gk只有一个边不同。
把这两条边记作 ( u a , v a ) (u_a,v_a) (ua,va)和 ( u b , v b ) (u_b,v_b) (ub,vb)(假设四个点不同,如果不满足则重新sample)。
在 G a k + 1 G_a^{k+1} Gak+1和 G b k + 1 G_b^{k+1} Gbk+1的基础上,再生成两个扰动图:
(用这种方法,还可以生成更多的扰动图,但是为了高效和容易实现,只考虑了这两个图)
从这个集合 S m S^m Sm中选择最有效的扰动