【Attack】拓扑缺陷图注入攻击

TDGIA: 图神经网络的有效注入攻击

  • 图注入攻击下 GNN 的脆弱性
  • TDGIA框架
    • 拓扑缺陷边选择
    • 平滑的对抗优化
    • 整体攻击流程

在这里插入图片描述
KDD’21

😄

图注入攻击:攻击者无法修改输入图的现有link结构和节点属性,而是通过向其中注入对抗性节点来执行攻击。

图注入攻击不同于图修改攻击所面临的挑战:

  1. 如何将现有节点与注入节点连接
  2. 如何从头开始为注入节点生成特征。

budget限制:注入节点的数量,注入节点的度,注入节点的特征

本文方法的环境条件:
1. 黑盒设置。攻击者无法访问目标GNN模型或目标节点的正确标签;
2. 逃逸攻击。这种攻击只能在推理阶段进行。

GIA步骤:
首先,生成现有节点和注入节点(AI、V)之间的边; 其次,优化注入节点的特征。这种细分可以很大程度上降低复杂性,并使 GIA 适用于大规模图形。

图注入攻击下 GNN 的脆弱性

直观上,GIA 的功能要求注入的节点在边缘上传播(误导)信息,以影响其他(现有)节点。 哪些模型容易受到这种影响?

本文证明了如果排列不变图 ML 模型不是结构无知的,那么它是 GIA 可攻击的。我的理解是这里的结论得出图神经网络往往可以被图注入攻击成功的,即GNN面对GIA的脆弱性被证明。

关于排列不变、 GIA 可攻击、结构无知的定义
在这里插入图片描述

为了更好地设计对 GNN 的注入攻击,本文继续探索 GNN 的拓扑漏洞。
一般来说,在节点 𝑣 上执行的 GNN 层可以表示为聚合过程: h v k = ϕ ( h v k − 1 , f ( { h u k } u ∈ A ( v ) ) ) \textbf{h}_v^k=\phi(\textbf{h}_v^{k-1},f(\{\textbf{h}_u^k\}_{u\in A(v)})) hvk=ϕ(hvk1,f({huk}uA(v)))
A(𝑣) 表示节点 𝑣 的邻域,A(𝑣) 包括直接连接到𝑣 的节点以及可以在一定步数内连接到𝑣 的节点。 我们使用 A t ( v ) A_t(v) At(v) 来表示𝑣的𝑡跳邻居,即可以在𝑡步内到达𝑣的节点。 我们使用 f t ( ⋅ ) f_t(·) ft()作为相应的聚合函数。 因此,聚合过程可以进一步表示为:在这里插入图片描述
简单来说,就是图消息传递的机制/边的消息聚合/图结构很容易得出一阶邻居的扰动会影响全局输出:
在这里插入图片描述

在这里插入图片描述

TDGIA框架

在这里插入图片描述

最简单来说,根据度选择目标节点,包括是谁、多少个,都是由degree选择的。
本文的topology就是依据节点度⭐️

拓扑缺陷边选择

原始节点的特征不变,注入节点的原始特征为0。所以,首先最大化对第1时刻权重的影响。一般GNNs比如GCN w u , 1 = 1 d e g ( u ) d e g ( v ) , u ∈ A 1 ( v ) w_{u,1}=\frac{1}{\sqrt{deg(u)deg(v)}}, u\in A_1(v) wu,1=deg(u)deg(v) 1,uA1(v),而基于平均池化的GNNs比如GraphSAGE w u , 1 = 1 d e g ( v ) , u ∈ A 1 ( v ) w_{u,1}=\frac{1}{deg(v)}, u\in A_1(v) wu,1=deg(v)1,uA1(v),与GCN不同,GraphSAGE的权重只与目标节点𝑣的度数有关,而与邻居节点𝑢的度数无关。

对于TDGIA使用这俩的权重组合,衡量节点 v v v的拓扑脆弱性。

在这里插入图片描述
d d d是注入节点的度的预算, λ v \lambda_v λv越高,表明该节点在拓扑结构上越脆弱,因此GIA攻击倾向于选择这样的节点进行连接注入。

这种组合方式考虑了节点的度数和邻居的数量,允许攻击者在选择注入节点时,不仅考虑节点的度数(即连接的丰富度),也考虑了节点在图中的局部结构(即邻居的数量)。一个节点可能度数很高,但如果其邻居分布较为稀疏,它可能在拓扑上更为脆弱。

那么,一个注入节点与多少目标节点产生边是由 d d d决定的,加上GraphSAGE的方式也就是为了稍微偏向于目标节点 v v v的度一点。

附录A.2从理论上证明了式(10)可以推广到多层GNN,因此这种拓扑缺陷边缘选择策略在一般GNN下仍然有效。

平滑的对抗优化

一旦选择了注入节点的拓扑缺陷边,下一步就是为注入节点生成特征以提高攻击效果。

平滑损失函数。 通常,在对抗性攻击中,我们反向优化用于训练模型的损失函数。 例如,我们可以使用KL散度的倒数作为目标集T中节点𝑣的攻击损失:
在这里插入图片描述
为防止梯度爆炸,使用平滑损失函数:
在这里插入图片描述
所以,优化目标:
在这里插入图片描述
平滑特征优化。使用Clamp函数来限制特征的优化范围:
在这里插入图片描述

为防止梯度消失,使用平滑损失函数:
在这里插入图片描述

整体攻击流程

  • 连续攻击(Sequential Attack)
    在每个批次(batch)中,向图中添加少量节点,选择目标节点与之相链接,并优化它们的特征。我们重复此过程,直到满足注入预算。
  • 代理模型(Surrogate Model): GCN
    在黑盒设置下,攻击者没有有关被攻击模型的信息,因此必须对代理模型进行攻击。 具体来说,我们首先使用输入图上给定的训练数据训练代理模型 M M M,并使用 M M M生成代理标签 { y ^ v , v ∈ T } \{\hat{y}_v, v\in T\} {y^v,vT}。然后优化使 M M M的准确率下降。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/852397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux操作系统学习路线

本文来自Qwen2大模型: Linux操作系统的全面学习是一个渐进的过程,涵盖从基础知识到高级特性的多个阶段。以下是一份详细的Linux操作系统学习路线图,包括各个阶段的学习目标、建议的学习资源和实践步骤。 1. Linux 基础知识与安装 学习目标&a…

vite构建的ts项目配置src别名@

一、安装types/node npm install types/node 二、vite.config.ts 文件中配置以下内容 resolve: {alias: {: path.resolve(__dirname, ./src),},}, 三、 tsconfig.json 文件中compilerOptions下配置以下内容 /* 配置 */"baseUrl": ".","paths":…

深度学习长文|使用 JAX 进行 AI 模型训练

引言 在人工智能模型的开发旅程中,选择正确的机器学习开发框架是一项至关重要的决策。历史上,众多库都曾竞相争夺“人工智能开发者首选框架”这一令人垂涎的称号。(你是否还记得 Caffe 和 Theano?)在过去的几年里&…

Python | Leetcode Python题解之第149题直线上最多的点数

题目&#xff1a; 题解&#xff1a; class Solution:def maxPoints(self, points: List[List[int]]) -> int:n len(points)if n < 2:return nres 2for i in range(n):x1, y1 points[i][0], points[i][1]has {}for j in range(i 1, n):x2, y2 points[j][0], points…

随心笔记,第六更

目录 一、 三步构建 XML转成java bean 1.XML转XSD 2.XSD转JavaBean 3.jaxb 工具类 4.测试 &#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「Leen」。刚工作几年&#xff0c;想和大家一同进步&am…

ESP RainMaker®为企业提供AIoT云解决方案,启明云端乐鑫代理商

在AIoT的浪潮中&#xff0c;企业面临着前所未有的机遇与挑战。如何快速响应市场变化&#xff0c;开发出具有竞争力的智能产品&#xff1f;如何确保数据安全&#xff0c;同时实现高效的设备管理&#xff1f;这些问题&#xff0c;ESP RainMaker给出了答案。 ESP RainMaker是一个…

STM32程序启动过程

&#xff08;1&#xff09;首先对栈和堆的大小进行定义&#xff0c;并在代码区的起始处建立中断向量表&#xff0c;其第一个表项是栈顶地址&#xff08;32位&#xff09;&#xff0c;第二个表项是复位中断服务入口地址&#xff1b; &#xff08;2&#xff09;然后执行复位中断&…

了解TF-IDF:一种文本分析的强大工具

了解TF-IDF&#xff1a;一种文本分析的强大工具 在现代信息时代&#xff0c;海量的文本数据充斥着我们的生活。如何有效地从这些文本数据中提取有价值的信息成为了一个关键问题。TF-IDF&#xff08;Term Frequency-Inverse Document Frequency&#xff09;作为一种经典的文本分…

如何将NextJs中的File docx保存到Prisma ORM

背景/引言 在现代 Web 开发中&#xff0c;Next.js 是一个备受欢迎的 React 框架&#xff0c;它具有许多优点&#xff0c;如&#xff1a; 服务器端渲染 (SSR)&#xff1a;Next.js 支持服务器端渲染&#xff0c;可以提高页面加载速度&#xff0c;改善 SEO&#xff0c;并提供更好…

即插即用!CVD:第一个生成具有相机控制的多视图一致视频方案!(斯坦福港中文)

论文链接&#xff1a;https://arxiv.org/abs/2405.17414 项目链接&#xff1a;https://collaborativevideodiffusion.github.io/ 最近对视频生成的研究取得了巨大进展&#xff0c;使得可以从文本提示或图像生成高质量的视频。在视频生成过程中添加控制是未来的重要目标&#x…

笔记99:OSQP 求解器示例代码

注1&#xff1a;以下代码是 OSQP 的官方文档提供的示例&#xff0c;我加上了详细的注释&#xff1b; 注2&#xff1a;OSQP 库仅支持C语言&#xff0c;不支持C&#xff0c;所以下面的示例代码使用的是C语言&#xff1b;但是 OSQP 求解库提供了针对C的接口 OSQP-EIGEN&#xff1…

leetcode240 搜索二维矩阵II

题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18…

ASP淘特二手房房地产系统源码

源码介绍 ASP淘特二手房房地产系统源码主要提供了房屋信息出售、出租、求购、求租、合租等信息的发布平台。 本系统已提供成熟的赢利模式&#xff0c;通过向中介会员提供发布信息平台收取会员费为网站的主要收入来源&#xff0c;中介会员申请开通后&#xff0c;可以添加经济人…

Ubuntu 的 apt 相关问题

错误:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal InRelease Couldnt create temporary file /tmp/apt.conf.KSeTlI for passing config to apt-key 原因 无法创建配置文件 /tmp/apt.conf.KSeTlI 并传递给 apt-key apt-key 等实际上并不是直接使…

phpcms仿蚁乐购淘宝客网站模板

phpcms仿蚁乐购网站模板&#xff0c;淘宝客行业模板免费下载&#xff0c;该模板网站很容易吸引访客点击&#xff0c;提升ip流量和pv是非常有利的。本套模板采用现在非常流行的全屏自适应布局设计&#xff0c;且栏目列表以简洁&#xff0c;非常时尚大气。页面根据分辨率大小而自…

MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)

目录 前言1. 授予权限2. 撤销权限3. 查询权限4. Demo 前言 公司内部的数据库权限一般针对不同人员有不同的权限分配&#xff0c;而不都统一给一个root权限 1. 授予权限 授予用户权限的基本命令是GRANT 可以授予的权限种类很多&#xff0c;涵盖从数据库和表级别到列和存储过…

基于改进字典学习的旋转机械故障诊断方法(MATLAB)

在过去的二十年里&#xff0c;稀疏表示在各个领域引起了广泛的关注。它的核心思想是将信号描述为尽量少的字典原子&#xff0c;在计算机视觉、生物学、特征提取和机械故障诊断方面显示出强大而可靠的能力。SR通常分为两个步骤&#xff1a;构建字典和学习稀疏系数。对于稀疏系数…

k8s+RabbitMQ单机部署

1 k8s 配置文件yaml: apiVersion: apps/v1 kind: Deployment metadata:name: rabbitmq-deploynamespace: rz-dt spec:replicas: 1selector:matchLabels:app: rabbitmqtemplate:metadata:labels:app: rabbitmqspec:containers:- name: rabbitmqimage: "rz-dt-image-server…

MySQL从入门到高级 --- 15.优化 16.pymysql

文章目录 第十五章 && 第十六章&#xff1a;15.优化15.1 查询SQL执行效率15.2 定位低效率执行SQL15.3 explain分析执行计划 - 基本使用15.4 explain分析执行计划 - id15.5 explain分析执行计划 - select_type15.6 explain分析执行计划 - type15.7 explain分析执行计划 …

Java:爬虫htmlunit抓取a标签

如果对htmlunit还不了解的话可以参考Java&#xff1a;爬虫htmlunit-CSDN博客 了解了htmlunit之后&#xff0c;我们再来学习如何在页面中抓取我们想要的数据&#xff0c;我们在学习初期可以找一些结构比较清晰的网站来做测试爬取&#xff0c;首先我们随意找个网站如下&#xff…