【Paper-Attack】Attacking Graph-Based Classification without Changing Existing Connections
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相关推荐
- 【论文笔记】Revisiting graph based collaborative Filtering:一种线性残差图图卷积网络方法
Revisiting Graph based Collaborative Filtering:A Linear Residual Graph Convolutional Network Approac ...
- 【论文笔记】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 ...
- 【Paper Reading】
Levers are simple too, but they can move the world1. 文章目录 1 Categories Classification Compression Da ...
- 【论文阅读】Spatio-Temporal Graph Convolutional Networks:...Traffic Forecasting[时空图卷积网络:用于交通预测的深度学习框架](1)
[论文阅读]Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecastin ...
- 【论文阅读】Attributed Graph Clustering with Dual Redundancy Reduction(AGC-DRR)
[论文阅读]Attributed Graph Clustering with Dual Redundancy Reduction(AGC-DRR) 文章目录 [论文阅读]Attributed Grap ...
- 【代码复现】AGC-DRR__Attributed Graph Clustering with Dual Redundancy Reduction(IJCAI-2022)
[代码复现]AGC-DRR__Attributed Graph Clustering with Dual Redundancy Reduction(IJCAI-2022) 文章目录 [代码复现]AGC ...
- 【paper reading】Uncalibrated Photometric Stereo under Natural Illumination
[paper reading]Uncalibrated Photometric Stereo under Natural Illumination 1.简介 2.等效方向光模型 3. 法向估计 3.1 ...
- 【翻译论文】Urban land cover classification using airborne LiDAR data: A review(2014)
[翻译论文]Urban land cover classification using airborne LiDAR data: A review(2014) 使用机载LiDAR数据的城市土地覆盖分类 ...
- 【推荐算法】Knowledge-aware Graph Neural Networks with Label Smoothness Regularization(KGNN-LS)论文笔记
题目:Knowledge-aware Graph Neural Networks with Label Smoothness Regularization for Recommender System ...
最新文章
- 从代理机制到Spring AOP
- Verifying Checksum ... Bad Data CRC ERROR: can#39;t get kernel image!
- 一行代码搞定 GitHub 访问徽章
- elsa-core——1.Hello World:Console
- Educational Codeforces Round 89 (Rated for Div. 2)(A, B, C, D)
- Mac python Tesseract 验证码识别
- oracle 查询所有组合,Oracle的组合条件查询
- python简体中文、繁体中文转换
- (06)Verilog HDL组合逻辑:always
- 真正勇猛的程序员,敢于让鲁迅崩溃!
- 常用服务的默认端口号总结
- Java入门第37课——猜字母游戏之设计数据结构
- 计算机网络atm功能,ATM技术在计算机网络中的应用
- nginx 的基本配置
- BP神经网络代码和原理
- label怎么换行 vb_VB中怎么换行 | 学步园
- 从零到百亿互联网金融架构发展史
- ISILON OneFS CLI界面网络配置
- 如何计算机画函数图形,Excel中怎么绘制出好看的函数图像
- systemd工具介绍