一、对抗样本(Adversarial Examples)

  1. 定义:对输入样本添加人眼无法察觉的细微干扰,导致模型以高置信度输出错误结果。对抗样本的分布通常偏离自然数据分布,与正常样本在模型中间层/输出层的分布存在差异。

  2. 核心目标:使模型输出与真实标签不同,破坏模型可靠性。

二、对抗样本防御方法

完全防御:

在检测到对抗样本的基础上, 同时还能够修正标签,输出 一个正确的标签给用户。

1. 输入层面防御
  • 核心思想:破坏对抗样本的扰动结构,恢复原始特征。

  • 方法

    • 输入变换:去噪、旋转、裁剪、滤波等预处理操作。

    • 特点:依赖对抗样本的弱鲁棒性,可能影响正常样本性能。

2. 修改网络结构
  • 方法

    • 对抗训练:在训练集中加入对抗样本,提升模型鲁棒性。

    • 梯度掩蔽:遮盖Softmax层与前一层之间的梯度,防御基于梯度的攻击(但可能被替代模型绕过)。

  • 局限性:无法防御迁移攻击(攻击者通过替代模型生成对抗样本)。

3. 附加网络
  • (1)防御性蒸馏

    • 流程

      1. 教师网络:用真实标签训练原始模型。

                2. 学生网络:学习教师网络Softmax输出的概率分布(非真实标签),平滑分类边界。

 具体流程

        1. 教师网络使用标准的真实标签(Hard Labels)进行训练。例如,在分类任务中,真实标签是 one-hot 编码(如 [0, 0, 1, 0] 表示类别3)。训练完成后,教师网络会对输入样本输出一个概率分布(Soft Labels),即 Softmax 层的输出(如 [0.1, 0.2, 0.6, 0.1])。这个概率分布包含了模型对各类别的“置信度”,比 one-hot 标签更丰富(例如,模型可能认为某张图片有 60% 是猫,30% 是狗,10% 是其他)。

        2. 学生网络不再直接学习原始的真实标签,而是学习教师网络生成的 Softmax 概率分布(Soft Labels)。例如,如果教师网络对某张图片的输出是 [0.1, 0.2, 0.6, 0.1],学生网络的目标是让自己的输出尽可能接近这个分布。用相同的训练数据输入教师网络,得到 Softmax 概率分布(Soft Labels)。学生网络以这些 Soft Labels 为监督信号进行训练(而不是原始的 Hard Labels)。

  • 关键点:学生网络学习的是概率分布之间的相似性(如 KL 散度),而非单纯的正确类别。

为什么能提高鲁棒性?

  • 平滑分类边界

    • 教师网络的 Softmax 输出(如 [0.1, 0.2, 0.6, 0.1])比 Hard Labels(如 [0, 0, 1, 0])更平滑,能反映类别间的相似性(例如“猫”和“狗”可能有一定相似性)。

    • 学生网络通过模仿这种平滑分布,会学到更稳健的决策边界,减少对输入微小扰动的敏感度。

  • 对抗样本的扰动失效

    • 对抗样本依赖模型的“尖锐”梯度(如通过微小扰动让模型从 [0, 0, 1, 0] 突变为 [1, 0, 0, 0])。

    • 但学生网络的输出是平滑的,微小扰动难以显著改变概率分布(例如从 [0.1, 0.2, 0.6, 0.1] 到 [0.2, 0.2, 0.5, 0.1]),因此攻击更难成功。

仅检测方法:

模型能够识别输入的信息 是对抗样本,从而可以拒 绝对该样本的服务,例如 抛出错误或者不进行输出

1. 输入层面防御&附加网络
  • 二分类器检测

    • 训练二分类器区分正常样本与对抗样本。

    • 问题:泛化性差,易被新攻击绕过。

  • MagNet

    • 使用正常样本训练自编码器,检测重构误差。

    • 去噪自编码器还原小扰动样本。

以图像数据为例,具体流程如下:

(1)编码器(Encoder)

  • 输入图像(如 28x28 的 MNIST 图片)通过卷积层或全连接层逐步降维。

  • 最终输出一个低维的潜在向量(Latent Code),例如长度为 32 的向量。

  • 这一步骤可以理解为“提取图像的核心特征”。

(2)解码器(Decoder)

  • 将潜在向量通过反卷积层或全连接层逐步上采样,恢复原始尺寸。

(3)重构误差计算

  • 通过损失函数(如 MSE)计算输入图像 x 和重构图像 x′ 的差异:

  • 最终输出重构图像,尽量接近输入图像。

  • 问题:检测能力有限,结构复杂。

2. 附加网络

  • Feature Squeezing

    • 对输入进行多种特征压缩(如降采样、平滑),比较压缩前后输出的差异。

    • 差异超过阈值则判定为对抗样本。

    • 问题:需针对不同数据集设计变换,实用性低。

三、防御方法总结对比

类型代表方法防御效果局限性
输入变换去噪、滤波完全防御可能影响正常样本精度
对抗训练加入对抗样本训练完全防御计算成本高
梯度掩蔽遮盖Softmax梯度部分防御易被替代模型攻击
防御性蒸馏教师-学生网络完全防御依赖概率分布迁移
二分类器检测二元分类仅检测泛化性差
MagNet自编码器重构误差仅检测结构复杂,检测能力有限
Feature Squeezing多变换比较差异仅检测需定制化设计,适应性差

四、攻击者能力

类型攻击者掌握信息典型方法特点
白盒攻击完整模型结构、参数、梯度FGSM、PGD、C&W攻击最强,计算成本高
黑盒攻击仅输入输出接口(API访问)迁移攻击、梯度估计、局部搜索依赖查询或替代模型
灰盒攻击部分信息(如模型架构但无参数)结合白盒与黑盒方法实际场景常见(如知道模型类型)

五、白盒攻击方法

1. 基于优化的攻击(如C&W攻击) 

模型及其参数固定不变,输入数据进行调整 

特点:攻击扰动比较小,攻击计算量大

2. 基于梯度的攻击(如FGSM/PGD)

通过目标模型的梯度方向,指导对抗样本的生成过程,直到生成模型能够,输出造成目标模型产生错误分类但与输入视觉相似的样本,即对抗样本。

特点:速度快但攻击较弱(仅沿梯度符号方向添加固定幅度的扰动(ϵϵ),未考虑梯度的具体数值大小,可能导致扰动不够精准。且迁移性差)。

3. 基于边界的攻击(如Boundary Attack)

从已存在的对抗样本出发,沿决策边界随机游走,寻找最小扰动。

  • 步骤

    1. 初始化一个对抗样本(如随机噪声被误分类)。

    2. 沿边界移动,逐步减少扰动幅度。

六、黑盒攻击方法

1. 基于梯度估计的攻击(如ZOO)

利用算法根据模型的输出对其梯度进行近似估计, 从而利用近似梯度生成对抗样本。

使用了零阶随机坐标下降、降维、多尺度攻击、 重要性采样技术来进行攻击

2. 基于迁移性的攻击

  • 核心思想:对抗样本可跨模型迁移(因模型决策边界相似性)。

  • 步骤

    1. 训练替代模型(Surrogate Model)模拟目标模型。

    2. 用白盒方法生成对抗样本,攻击目标模型。

3. 基于局部搜索的攻击(如POBA-GA)

  • 原理:遗传算法局部搜索最优扰动:

    • 变异:随机修改像素。

    • 选择:保留使模型置信度下降的扰动。


七、LLM(大语言模型)对抗攻击

攻击方式描述示例
Token操纵微调输入中的关键Token(如同义词替换),保持语义但导致模型错误。将"无害"改为"无害(拆字)"。
梯度攻击基于梯度优化对抗文本(需可微分token嵌入,如BERT)。TextFooler
越狱提示设计绕过安全机制的提示(如"假设你是黑客...")。DAN(Do Anything Now)提示
红队攻击人工或辅助模型模拟攻击,测试模型鲁棒性。OpenAI红队测试

八、对抗样本分类

基于攻击方掌握的信息:白盒攻击、黑盒攻击

基于攻击的目标:误分类、目标导向误分类

基于处理过程:数据投毒、后门攻击、提示攻击

基于处理对象:图像对抗样本、声音对抗样本、文本对抗样本

基于模型架构:机器学习模型、深度学习模型、联邦学习模型 

基于攻击效果:隐私攻击、后门攻击、误导攻击

基于应用场景:人脸识别攻击、声音识别攻击、目标识别攻击、自动驾驶攻击 

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

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

相关文章

[数学基础] 矩阵的秩及其应用

深入浅出:矩阵的秩及其应用 文章目录深入浅出:矩阵的秩及其应用一、数学定义二、核心作用三、计算方法与步骤方法1:高斯消元法(最常用)方法2:奇异值分解(SVD)方法3:行列式…

LKH-3算法求解TSP问题基本原理与应用

通俗理解LKH-3算法 LKH-3(Lin-Kernighan-Helsgaun)是求解**旅行商问题(TSP)**的最强启发式算法之一,由丹麦计算机科学家Keld Helsgaun在LKH-2基础上改进而来。它的核心思想是:通过智能的“局部破坏与修复”…

游戏开发学习记录

初始化只是第一次实例化的时候调用,show和unshow是打开界面和关闭界面的时候,会多次调用 在一个脚本里面show是每一次打开界面的时候需要做的事情,而Init是初始化。UIMgr里面的数据结构:为什么我要先从数据结构入手呢?…

一级缓存与二级缓存深度剖析:作用域、配置与同步方案全解析

引言 在分布式系统与高并发场景下,缓存机制已成为提升系统性能的关键技术。本文从作用域、失效机制、配置实践到同步方案,系统化解析一级缓存与二级缓存的核心差异与工程实践。 一、一级缓存:会话级数据加速器 1.1 作用域与生命周期 作用域&a…

OneCode MQTT插件开发实战:基于Paho.Client的物联网通信解决方案

引言 在物联网应用开发中,MQTT协议因其轻量、低带宽占用的特性被广泛采用。OneCode平台提供的xui.MQTT插件基于Eclipse Paho.Client实现了完整的MQTT通信能力,本文将从插件用途、核心实现、开发要点和功能扩展四个维度,详解如何基于该插件构建…

1.1_5_1 计算机网络的性能指标(上)

在这个小节中我们要学习计算机网络的性能指标,我们在考研当中主要掌握这样的七个性能指标,分别是速率、带宽、吞吐量、时延、时延带宽积、往返时延和信道利用率。我会把相关性比较紧密的性能指标放在一起讲解。在这个视频中,我们先来学习前三…

Python 性能优化指南:深入剖析代码分析与优化工具

Python 性能优化指南:深入剖析代码分析与优化工具 在 Python 的广泛应用场景中,性能优化既是挑战,也是机遇。无论是构建 Web 应用还是处理数据分析,理解代码性能瓶颈并有效优化至关重要。本文将探讨 Python 代码性能分析的核心方法,并逐步解析关键工具的使用技巧,带您从…

力扣打卡第二十一天 中后遍历+中前遍历 构造二叉树

106. 从中序与后序遍历序列构造二叉树 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7], postor…

Notepad++正则表达全解

摘要:Notepad正则表达式符号大全包含11类常用语法:基础符号(.^$?等)、预定义字符类(\d\w\s等)、锚点(\b\B)、量词({n,m})、分组引用(()$1)、字符…

前后端分离(java) 和 Nginx在服务器上的完整部署方案(redis、minio)

一、准备工作 服务器环境要求 银河麒麟 V10 操作系统 开放端口:MinIO (9000、9001)、 Redis (6379)、应用服务 jar包(18888)、前端服务(8080) 系统用户:具有 sudo 权限的用户 操作:需要先有必备的工具前端的vsCode,webStrom、后台的idea&…

贪心算法:简单而高效的求解策略C++

贪心算法详解及C实现 1. 什么是贪心算法 贪心算法(Greedy Algorithm)是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法策略。 贪心算法与动态规划不同在于它…

IDEA 中使用 <jsp:useBean>动作指令时,class属性引用无效

问题&#xff1a;在 IDEA 中创建 Java Web项目&#xff0c;在src/model包下存在一个Student类该类中包含&#xff1a;全参构造器、私有属性的get/set方法。然后在 jsp 页面中使用 <jsp:useBean>创建Student类的对象&#xff1a;访问页面时报错&#xff1a;原因&#xff1…

【网络】Linux 内核优化实战 - net.core.flow_limit_table_len

目录参数作用查看与修改调优建议相关警告net.core.flow_limit_table_len 是 Linux 内核中的一个网络参数&#xff0c;用于控制**流限制表&#xff08;Flow Limit Table&#xff09;**的大小。这个表主要用于限制网络流量中单个"流"&#xff08;通常指来自同一源IP、端…

前端开发常见问题技术文章大纲

前端开发常见问题技术文章大纲 常见性能优化问题 页面加载速度慢的原因及解决方案渲染阻塞资源的优化方法内存泄漏的检测与修复 跨浏览器兼容性问题 不同浏览器对CSS和JavaScript的支持差异Polyfill和Shim的使用场景如何利用工具检测兼容性问题 响应式设计挑战 媒体查询的最佳实…

Redis常见性能问题和解决方案有哪些?

Redis 作为高性能的内存数据库&#xff0c;在实际使用中可能会遇到性能问题。以下是常见的性能问题及其解决方案&#xff0c;用中文总结如下&#xff1a; 1. 高延迟问题 问题描述&#xff1a;客户端请求响应时间过长&#xff0c;可能由于网络、命令复杂度或服务器负载导致。 解…

闪测仪应用案例丨手机中框如何突破「尺寸检测」瓶颈?

越来越多的手机中框&#xff0c;正改为更复杂的镂空设计&#xff0c;这种设计不仅保持了手机中框的结构强度&#xff0c;还进一步减轻了机身重量&#xff0c;同时提升了散热性能。这让手机中框的自动化生产增加了很多难点&#xff0c;其中的尺寸检测就遇到了许多瓶颈。▪ 尺寸精…

【字节跳动】数据挖掘面试题0011:介绍下时间序列分析常用知识点

文章大纲时间序列分析全面解析一、时间序列分析的基本概念二、时间序列分析的主要方法1. 描述性分析2.统计分析方法3.预测模型&#xff08;1&#xff09;传统统计模型&#xff08;2&#xff09;现代机器学习模型三、时间序列分析的应用场景四、模型评估五、在字节跳动的应用场景…

ubuntu中交叉编译iperf3到目标平台xilinx

注&#xff1a;此文为ubuntu x86系统编译程序到xilinx aarch64系统中。 一、工具准备 x86上编译aarch64的编译器 sudo apt install gcc-aarch64-linux-gnu g-aarch64-linux-gnu #保证编译器在环境变量中&#xff0c;尝试执行aarch64-linux-gnu-gcc 目标平台的根文件系统rootf…

Java-数据结构-集合框架

什么是集合框架集合本质是java所实现的一组数据结构&#xff0c;提供了不同的增删改查方法。集合就是定义了接口&#xff0c;再通过不同的类去实现定义的接口&#xff0c;这些实现了接口的类就是集合类&#xff0c;例如list&#xff0c;stack&#xff0c;map。集合框架的重要性…

黑马点评系列问题之基础篇16jedis redis依赖引入后仍然还是报错

问题描述依赖已经导入进去了&#xff0c;在仓库里有***.jar和***.pom这两个文件&#xff0c;但是点开右面的maven还是有很多爆红。点击maven里的更新还是不行。解决点到配置文件pom.xml在lombok这个依赖的代码下面&#xff0c;添加上版本号&#xff0c;刷新一下右键单击pom.xml…