前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「弱不禁风」的图神经网络

「弱不禁风」的图神经网络

作者头像
Houye
发布2020-04-07 15:55:29
4630
发布2020-04-07 15:55:29
举报
文章被收录于专栏:图与推荐

上一节讲到GNN的第一个局限是无法有效的区分某些图结构结构.

CS224W 18.1-Limitations of Graph Neural Network

本节就延续来讲GNN的第二个局限性

CS224W 18.2-Limitations of Graph Neural Network

GNN的第二个局限就是容易受到噪音的影响和对抗攻击,不够鲁棒.

在受到噪音/攻击的时候, GNN的预测结果很容易产生偏差.

这不是只是GNN的问题,NN中也存在,也有相应的对抗攻击专门研究这个

这里的攻击并不是大规模的公式,比如加入非常多非常强的噪音.

对应到图上的攻击,也是"小动作"攻击,比如改变少量节点或者边.

-听起来很高大上,其实攻击在我们生活中是非常常见的

-下面就具体的GNN在攻击面前是什么样子的.

这里以GCN做了一个例子,关于GCN的东西这里不再赘述.

-假设我们想攻击红色节点(比如改变model对其标签的预测),此时能够攻击的节点是其两个1阶邻居. 那么有2个方法

  1. 直接,改变红色的节点的特征/连接情况.
  2. 间接,这里有种"隔山打牛"的意思, 通过改变被攻击节点的邻居来间接影响GNN对红色节点的预测. 为什么这样有效的呢? 正是由于gnn的聚合过程导致的. GNN通过聚合邻居来学习节点表示进而预测,如果输入是错的(邻居被恶意修改),那么预测也是错的.

-那么如何形式化的定义图上对抗攻击呢? 就是尝试用公式来描述攻击过程.

总的来说就是:在有限的攻击下,能够最大化的误导模型预测.

-图上的攻击主要有两种

  1. 攻击结构, 就是修改邻居矩阵A
  2. 攻击属性,就是改变节点属性X

同时,攻击还不能太明显.

-下面这个更加清晰的展示了攻击前后,模型预测的变化.

攻击前,节点v属于类别c_old(也就是第三个柱形),

攻击后,节点v属于类别c_old(也就是第三个柱形)的概率被压低了.与此同时, 节点v属于类别c(也就是第四个柱形)的概率被提升了.

也就是说攻击前后,节点v属于不同类别的概率发生了变化,攻击成功.

-听起来好像攻击很容易,但是实际上:

  1. 修改A和X的操作都是离散的, 没法用SGD优化
  2. 定义中的GCN是基于修改后的A'和X'训练的,也就是说每修改/攻击一次,就要重新训练GCN.这谁顶得住啊...

-对应上面两个难题,有两个解法

  1. 贪婪搜索
  2. 简化GCN的训练过程

-下面是一个攻击的例子

作者用5个GCN对一个节点的标签进行预测.

攻击前,所有的GCN都认为这个节点属于class5

攻击后,所有GCN都认为这个节点属于class6

-实验结果验证了作者的猜想:GNN非常容易被攻击. 在微小的攻击下,模型预测就会大幅度改变.

最后作者简单介绍了GNN的应用挑战.

-有攻击就有防守. 也有一些工作研究如何使得GNN对攻击更加鲁棒.

第二条推送就是图上对抗攻击的相关研究.图对抗攻击这个研究领域已经变得炽手可热, KDD2019的Best Paper就是颁给了一篇这样的论文.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图神经网络与推荐系统 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档