Attacking Graph-Based Classification without Changing Existing Connections

背景

training dataset中包含positive node和negative node,positive label代表这个节点是恶意的(fraudulent user),而negative label代表良性(normal user)。

节点分类方法分为两种:

  • GNN:抽取图中节点的特征,利用这些特征在节点上做分类任务
  • collective classification:基于belief propagation算法,在开始时,根据training dataset为每个节点赋予一个先验信誉分,也为边关联一个权重,然后开始通过加权边来传递先验信誉分,来得到每个节点的后验信誉分。最终collective classification根据计算出的后验信誉分来进行分类。

最近的工作专注于通过增加删除边来修改图的结构,然而这样是有些限制的(删除两个节点之间的边,这两个节点中需要有一个是恶性节点,攻击者无法删除两个良性节点之间的边)

有人研究了在GNN模型上添加新的虚假节点,但是没有人研究基于collective classification方法的这种攻击。


攻击者可以插入/创建fake nodes然后把他们和现有的节点连接起来,不修改图中原有的边。

攻击者在原始图中选择一组target node,攻击者的目标是使LinLBP对新加入的fake node和选择的target node(现有的恶意节点)进行错误分类,将本是positive的标记为negative。(在这些节点上提高FNR来逃避检测)

提出一种通过向现有的图中添加虚假节点的基于collective classification的攻击方法Linearized Loopy Belief Propagation(LinLBP),将新的攻击定义为一个优化问题,并且利用基于梯度的方法来为新添加的节点来生成边。

  • 目标函数是创建fake nodes和连接他们与现有节点的总cost。
  • 约束条件是fake node与target node的FNR=1
  • 每个fake node的solution是决定他是否要与一个现有的节点相连。
  • 放松约束条件,近似求解提出的优化问题。(暂时将二进制变量放松为连续变量,并且使用拉格朗日乘法器向目标函数中加入高度非线性的约束)

提出的方法使得全部fake node逃避了检测,并且让LinLBP误分类了大部分的target node。


LinLBP

LinLBP为每个节点赋初值

0<θ<0.50<\theta<0.50<θ<0.5

LinLBP用下式计算后验得分

p是后验得分,q是先验得分,W是权重矩阵(0,0.5],权重越大,连接的两个节点具有相同label的可能性越大

迭代计算后验信誉得分,最终收敛后,pu>0p_u>0pu​>0的点是positive的,是恶性节点,值越大,可能性越大。


模型

攻击者需要确定执行一次成功攻击所需要的新节点的数量。

假设攻击者已知图数据,且已知positive node和negative node,攻击者选取一组positive node作为target node,目标是让LinLBP将新的fake node 和target node第分类为negative。

新的fake node连接两种节点:

  • target node
  • 图中剩余节点

无向图

BuvB_{uv}Buv​代表是否在fake node u和节点v之间添加一条边(v可以是现有节点,也可以是fake node)

定义对抗矩阵B

新图G’的邻接矩阵AG′A_{G'}AG′​和WG′W_{G'}WG′​为:

将优化问题定义为:(连接和插入的cost)

**目标:**找到最小化目标函数的对抗矩阵B

由于变量是二进制的,一些约束也是非线性的,所以将二进制变量BuvB_{uv}Buv​放松为一个连续变量,在解决了有关优化问题之后再转换为二进制。

将第一和第二条约束条件FNR=1修改为pu<0p_u<0pu​<0,使用拉格朗日乘法器,将转换后的约束条件加到目标函数中:

利用LinLBP迭代计算后验信誉得分:


我们通过利用每一行bu(t)b_u^{(t)}bu(t)​的梯度来搜索B(t)B^{(t)}B(t)的最优质的,即逐个找到每个新的fake node的最优连接。

朝着使得目标函数最小化的反方向移动,bu(t)b_u^{(t)}bu(t)​被初始化为全0,为新fake node u计算连接:

λ\lambdaλ是步长。

由于限制了每个新fake node可以连接的邻居的最大数量K,所以,可以选择bu(t)b_u^{(t)}bu(t)​中的非负的最大的topK个,将他们转换为1,其他的转换为0。

【Paper-Attack】Attacking Graph-Based Classification without Changing Existing Connections相关推荐

  1. 【论文笔记】Revisiting graph based collaborative Filtering:一种线性残差图图卷积网络方法

    Revisiting Graph based Collaborative Filtering:A Linear Residual Graph Convolutional Network Approac ...

  2. 【论文笔记】Revisiting Graph based Collaborative Filtering: A Linear Residual Graph Convolutional Network

    LR-GCCF 1. Abstract 2. Introduction 3. LR-GCCF 3.1 模型总体结构(Overall Structure of the Proposed Model) 3 ...

  3. 【Paper Reading】

    Levers are simple too, but they can move the world1. 文章目录 1 Categories Classification Compression Da ...

  4. 【论文阅读】Spatio-Temporal Graph Convolutional Networks:...Traffic Forecasting[时空图卷积网络:用于交通预测的深度学习框架](1)

    [论文阅读]Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecastin ...

  5. 【论文阅读】Attributed Graph Clustering with Dual Redundancy Reduction(AGC-DRR)

    [论文阅读]Attributed Graph Clustering with Dual Redundancy Reduction(AGC-DRR) 文章目录 [论文阅读]Attributed Grap ...

  6. 【代码复现】AGC-DRR__Attributed Graph Clustering with Dual Redundancy Reduction(IJCAI-2022)

    [代码复现]AGC-DRR__Attributed Graph Clustering with Dual Redundancy Reduction(IJCAI-2022) 文章目录 [代码复现]AGC ...

  7. 【paper reading】Uncalibrated Photometric Stereo under Natural Illumination

    [paper reading]Uncalibrated Photometric Stereo under Natural Illumination 1.简介 2.等效方向光模型 3. 法向估计 3.1 ...

  8. 【翻译论文】Urban land cover classification using airborne LiDAR data: A review(2014)

    [翻译论文]Urban land cover classification using airborne LiDAR data: A review(2014) 使用机载LiDAR数据的城市土地覆盖分类 ...

  9. 【推荐算法】Knowledge-aware Graph Neural Networks with Label Smoothness Regularization(KGNN-LS)论文笔记

    题目:Knowledge-aware Graph Neural Networks with Label Smoothness Regularization for Recommender System ...

最新文章

  1. 从代理机制到Spring AOP
  2. Verifying Checksum ... Bad Data CRC ERROR: can#39;t get kernel image!
  3. 一行代码搞定 GitHub 访问徽章
  4. elsa-core——1.Hello World:Console
  5. Educational Codeforces Round 89 (Rated for Div. 2)(A, B, C, D)
  6. Mac python Tesseract 验证码识别
  7. oracle 查询所有组合,Oracle的组合条件查询
  8. python简体中文、繁体中文转换
  9. (06)Verilog HDL组合逻辑:always
  10. 真正勇猛的程序员,敢于让鲁迅崩溃!
  11. 常用服务的默认端口号总结
  12. Java入门第37课——猜字母游戏之设计数据结构
  13. 计算机网络atm功能,ATM技术在计算机网络中的应用
  14. nginx 的基本配置
  15. BP神经网络代码和原理
  16. label怎么换行 vb_VB中怎么换行 | 学步园
  17. 从零到百亿互联网金融架构发展史
  18. ISILON OneFS CLI界面网络配置
  19. 如何计算机画函数图形,Excel中怎么绘制出好看的函数图像
  20. systemd工具介绍

热门文章

  1. golang---文件读写
  2. angularjs学习大纲
  3. struct和union,enum分析
  4. Git命令学习总结(-)
  5. 工信部:手机预装软件下月起须报备审核
  6. ubuntu下的eclipse 3.3初用aptana报SWT错误
  7. leetcode 1185 python
  8. python 无法读取文件 找不到文件
  9. linux 7 远程桌面xrdp,[转帖]CentOS7安装xrdp(windows远程桌面连接linux)
  10. 2020年10月DB-Engines排行:商业开源平分秋色 并驾齐驱四大天王