Topology Attack and Defense for Graph Neural Networks: An Optimization Perspective

Xu K., Chen H., Liu S., Chen P., Weng T., Hong M. and Lin X. Topology attack and defense for graph neural networks: an optimization perspective. In International Joint Conferences on Artificial Intelligence (IJCAI), 2019.

为图添加/删除一些的边使得结点的预测发生误判, 基于此攻击作者又提出了一个对抗训练的方法.

符号说明

  • G=(V,E), 图;
  • |V|=N,|E|=M;
  • A{0,1}N×N, 邻接矩阵;
  • (xiRM0,yi), 结点 i 对应的特征和标签;
  • GCN:

    H(k)=σ(A~H(k1)(W(k1))T),

    其中 A~A 添加 self-loop 后 + 标准化后的邻接矩阵.

Topology Attack

  • Topology attack 就是指在原图 G 的基础上, 添加和删除一些边, 使得对于某一些点 i 的标签预测产生误判;

  • 作者首先将这个问题转换为:

    A=A+CS,C=A¯A,

    其中

    S{0,1}N×N,A¯=11TIA,

    表示 element-wise 的乘法.

    注意到, 扰动后的邻接矩阵 A 是在原来的 A 的基础上进行 CS 的操作. 这里 Sij=1 表示该位置的边发生了变化, 而 Cij=1 表示添加边的操作, 而 Cij=1 表示删除边的操作. 故

    1. [CS]ij=1 表示添加了边;
    2. [CS]ij=0 表示不进行操作;
    3. [CS]ij=1 表示删除了边;
  • 如此以来, 我们就可以着眼于 S 的设计了, 为了保证扰动前后 A,A 的'差别'不是很大, 作者还额外添加了

    S1ϵ

    的限制.

  • 于是, 攻击的目标函数可以归纳为:

    (6)minSiVfi(s;W,A,{xi},yi)s.t.1Tsϵ,s{0,1}n,

    这里我们用 s{0,1}n,n=N(N1)/2 来替代 S, 因为后者是一个对称矩阵, 用 s 就可以避免这一限制. (6) 中的 fi 表示预测误差的损失的反, 比如 CE-type loss:

    fi(s,W;A,{xi},yi)=logZi,yi,

    这里 Zi,yi:=P^(y=yi|xi);

  • 为了进一步解决 (6) 中的限制条件, 我们可以放松为:

    (8)minSiVfi(s;W,A,{xi},yi)s.t.1Tsϵ,s[0,1]n,

    然后通过如下算法采样 u 用于增删 A:

  • 为了更新 s, 我们采用 PGD (projected gradient descent):

    sclip(sηgμ1,0,1),

    其中 η,g 分别为学习率和梯度, 而 μ0

    minμ1Tsϵ

    的解, 可以用二分法逼近.

对抗训练

  • 我们可以通过如下损失进行对抗训练:

    minWmaxsf(s,W),

    这里每次训练我们首先通过上述的攻击方法生成 s, 然后再在此基础上

    minWf(s,W).

    重复直到收敛.

代码

[official]

posted @   馒头and花卷  阅读(195)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2020-10-06 ROC and AUC
2019-10-06 样条函数
点击右上角即可分享
微信分享提示