论文阅读——Imperceptible Adversarial Attack via Invertible Neural Networks
Imperceptible Adversarial Attack via Invertible Neural Networks
作者:Zihan Chen, Ziyue Wang, Junjie Huang*, Wentao Zhao, Xiao Liu, Dejian Guan
解决的问题:虽然视觉不可感知性是对抗性示例的理想特性,但传统的对抗性攻击仍然会产生可追踪的对抗扰动。
代码:https://github.com/jjhuangcs/AdvINN
类型:黑盒 目标攻击,
摘要:
作者利用可逆神经网络(AdvINN)方法进行对抗性攻击,生成鲁棒且难以察觉的对抗性示例。AdvINN利用INN的信息保留属性,添加目标类的指定信息、删除与原始类别不同的信息来生成对抗样本。
引言部分引出对抗攻击示例
虽然对抗样本的存在可能会阻碍深度学习在风险敏感领域的应用,但它进一步促进了对深度学习鲁棒性的研究。
现有对抗样本的类别:
- 在原始图像上添加扰动来生成对抗样本:FGSM系列的对抗攻击方法+混合其他类别的信息来生成对抗样本,这种方法可能会导致噪声被感知和图像存储容量的增加;
- 在原始图像上丢弃部分信息来生成对抗样本,这种方法可能会影响目标攻击的性能。
方法整体概述
给定一张良性图像 x c l n x_{cln} xcln,其标签为 c c c,作者的目标是通过丢弃类 c c c的discriminant information和添加target image x t g t x_{tgt} xtgt的对抗细节,同时能够通过残差图像 x r x_r xr解析添加和丢弃的特征信息。方案整体包含Invertible Information Exchange Module (IIEM)和目标图像选择和学习(Target image selection and learning)两个模块,整体概述如下图所示:

- IIEM模块: θ \theta θ是 f θ ( ⋅ ) {f_\theta }({\cdot}) fθ(⋅)的参数,由Invertible Information Exchange Module (IIEM), Target Image Learning Module (TILM) 和loss functions三个模块组成用于优化;IIEM由损失函数驱动,通过执行 x c l n {x_{cln }} xcln和 x t g t {x_{tgt}} xtgt的信息交换来生成对抗图像。由于IIEM的保留属性,输入图像 ( x c l n , x t g t ) ({x_{cln}},{x_{tgt}}) (xcln,xtgt)和输出图像 ( x a d v , x r ) ({x_{adv}},{x_{r}}) (xadv,xr)是相同的且 ( x a d v , x r ) = f θ − 1 ( x c l n , x t g t ) ({x_{adv}},{x_r})= {f_\theta }^{ - 1}({x_{cln }},{x_{tgt}}) (xadv,xr)=fθ−1(xcln,xtgt)。AdvINN生成对抗样本的目标函数定义如下:

L a d v ( ⋅ ) \mathcal{L_{adv}}( \cdot ) Ladv(⋅)表示对抗损失, L r e c ( ⋅ ) \mathcal{L_{rec}}( \cdot ) Lrec(⋅)表示重构损失, λ a d v {\lambda _{adv}} λadv 表示正则参数, ε \varepsilon ε表示对抗扰动预算。
-target image选择: target image是对抗信息的来源,可以从highest confidence target image (HCT)、universal adversarial perturbation (UAP)或online learned classifier guided target image( CGT)中选择;
方法详细阐述:
Invertible Information Exchange Module (IIEM)
该模块主要包括离散小波变换和仿射偶尔两个模块,示意图如下:

- 离散小波变换:作者使用离散小波变换(正文使用的是哈儿小波变换)用以区分输入干净和目标图像分解为低频和高频成分。分解低频和高频特征有助于修改输入图像的高频成分,因而可以产生更不易察觉的对抗样本(注意:修改高频成分生成的对抗样本更不易被察觉。)离散小波变换 T ( ⋅ ) \mathcal{T}(\cdot) T(⋅)中,输入图像 x x x可被转换成小波域 T ( x ) \mathcal{T}(x) T(x),该域上包含一个低频子带特征和3个高频子带特征。在IIEM的输出端,逆离散小波变换 T − 1 ( ⋅ ) {\mathcal{T}^{-1}}( \cdot ) T−1(⋅)用于重构特征到图像域。
- 仿射耦合模块:可逆信息交换模块由 M M M个Affine Coupling Blocks(仿射耦合模块)组成。 w c l n i w_{cln }^i wclni和 w t g t i w_{tgt}^i wtgti表示第 i i i个Affine Coupling Blocks的输入特征, w c l n i = T ( x c l n ) w_{cln }^i = T({x_{cln }}) wclni=T(xcln), w t g t i = T ( x t g t ) w_{tgt}^i = T({x_{tgt}}) wtgti=T(xtgt)。第 i i i个Affine Coupling Blocks的前向过程可表示为:

Θ \Theta Θ表示两个矩阵对应相乘, α \alpha α表示一个sigmod 函数乘以一个常数因子, ψ ( ⋅ ) , ρ ( ⋅ ) , η ( ⋅ ) \psi ( \cdot ),\rho ( \cdot ),\eta ( \cdot ) ψ(⋅),ρ(⋅),η(⋅)表示dense network architecture。给定第M个仿射耦合模块的输出,利用逆小波变换可获得对抗图像和残差图像: x a d v = T − 1 ( w c l n M ) , x r = T − 1 ( w t g t M ) {x_{adv}} = {T^{ - 1}}(w_{cln }^M),{x_r} = {T^{ - 1}}(w_{tgt}^M) xadv=T−1(wclnM),xr=T−1(wtgtM) - 信息保留属性:由于DWI和IDWT的可逆性, ( w c l n M , w t g t M ) (w_{cln }^M, w_{tgt}^M) (wclnM,wtgtM)可以被保存在 ( x a d v , x r ) ({x_{adv}}, {x_r}) (xadv,xr), ( w c l n i − 1 , w t g t i − 1 ) (w_{cln }^{i - 1},w_{tgt}^{i - 1}) (wclni−1,wtgti−1)可以被保存在 ( w c ln i , w t g t i ) (w_{c\ln }^{i },w_{tgt}^{i}) (wclni,wtgti)

IIEM是完全可逆,输出图像 ( x a d v , x r ) ({x_{adv}},{x_r}) (xadv,xr)和输入图像 ( x c l n , x t g t ) ({x_{cln}},{x_tgt}) (xcln,xtgt)包含相同的信息。他们之间的联系可表示如下:

σ \sigma σ表示干净图像上丢弃的信息, δ \delta δ表示添加到干净图像上目标图像的判别信息。
目标图像选择和学习(Target image selection and learning)
- 选取最高置信类的图像:选取最高置信的图像作为目标图像可能包含大量目标类的无关信息,例如背景纹理和其他的类的信息。这将会影响攻击成功率和寻优过程;
- 通用对抗扰动:作者沿用该方法,利用优化后的通用对抗摄动作为目标图像,加快收敛速度;
- 目标图像学习模块:该模块学习分类器引导的目标图像,而不是使用固定的图像作为目标图像。目标图像被设置为一个可学习的变量,该变量用一个恒定的图像初始化(即所有像素设置为0.5),然后根据攻击分类器的梯度进行更新。这样,自适应生成的目标图像可以嵌入目标类的更多判别信息,从而辅助生成对抗样例。
学习细节
整个网络的总体损失定义如下:

L a d v {\mathcal{L}_{adv}} Ladv表示对抗损失用于定位正确的优化方向和加速收敛速度,

实验:
- 数据集: ImageNet-1K
- 基准:PGD,CW, Drop, PerC-AL,SSAH
- 指标:感知性、攻击能力
- 受害者模型:ResNet50
- 感知性评估+目标攻击性能评估+鲁棒性评估(JPEG、bit-depth reduction、NRP and NRP_resG)+消融实验
相关文章:
论文阅读——Imperceptible Adversarial Attack via Invertible Neural Networks
Imperceptible Adversarial Attack via Invertible Neural Networks 作者:Zihan Chen, Ziyue Wang, Junjie Huang*, Wentao Zhao, Xiao Liu, Dejian Guan 解决的问题:虽然视觉不可感知性是对抗性示例的理想特性,但传统的对抗性攻击仍然会产…...
List和ObservableCollection和ListBinding在MVVM模式下的对比
List和ObservableCollection和ListBinding在MVVM模式下的对比 List 当对List进行增删操作后,并不会对View进行通知。 //Employee public class Employee : INotifyPropertyChanged {public event PropertyChangedEventHandler? PropertyChanged;public string N…...
insightface安装过程中提示 Microsoft Visual C++ 14.0 or greater is required.
pip install insightface安装过程中提示 Microsoft Visual C 14.0 or greater is required.Get it with "Microsoft C Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ 根据提示网站访问官网下载生成工具 打开软件后会自动更新环境&#…...
mongodb数据库
目录 一、数据库 二、文档 三、集合 四、元数据 五、MongoDB 数据类型 1、ObjectId 2、字符串 3、时间戳 4、日期 一、数据库 一个 mongodb 中可以建立多个数据库。 MongoDB 的默认数据库为"db",该数据库存储在 data 目录中。 MongoDB 的单…...
OpenCV-Python中的图像处理-图像特征
OpenCV-Python中的图像处理-图像特征 图像特征Harris角点检测亚像素级精度的角点检测Shi-Tomasi角点检测SIFT(Scale-Invariant Feature Transfrom)SURF(Speeded-Up Robust Features)FAST算法BRIEF(Binary Robust Independent Elementary Features)算法ORB (Oriented FAST and R…...
Ajax入门+aixos+HTTP协议
一.Ajax入门 概念:AJAX是浏览器与服务器进行数据通信的技术 axios使用: 引入axios.js使用axios函数:传入配置对象,再用.then回调函数接受结果,并做后续处理 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>01.axios使用…...
conda创建虚拟环境
创建虚拟环境是在计算机上设置一个独立的空间,用于安装和运行特定版本的软件和依赖项,以避免与系统其他部分的冲突。 创建虚拟环境: conda create --name myenv python3.8 这将创建一个名为myenv的虚拟环境,并安装Python 3.8版本。…...
Golang服务的请求调度
文章目录 1. 写在前面2. SheddingHandler的实现原理3. 相关方案的对比4. 小结 1. 写在前面 最近在看相关的Go服务的请求调度的时候,发现在gin中默认提供的中间件中,不含有请求调度相关的逻辑中间件,去github查看了一些服务框架,发…...
Jenkins的流水线启动jar后未执行问题处理
现象 在流水线里配置了启动脚本例如,nohup java -jar xxx.jar >nohup.out 2>&1 & 但是在服务器发现服务并未启动,且nohup日志里没输出日志,这样的原因是jenkins在执行完脚本后,就退出了这个进程。 在启动脚本执行jar命令的上一步加入以下…...
智慧工地平台工地人员管理系统 可视化大数据智能云平台源码
智慧工地概述: 智慧工地管理平台是以物联网、移动互联网技术为基础,充分应用大数据、人工智能、移动通讯、云计算等信息技术,利用前端信息采通过人机交互、感知、决策、执行和反馈等,实现对工程项目內人员、车辆、安全、设备、材…...
外包干了2个月测试,技术退步明显...
先说一下自己的情况,大专生,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...
神经网络基础-神经网络补充概念-19-向量化实现的解释
概念 向量化是一种优化技术,通过使用数组操作代替显式的循环,可以大大提高代码的性能和效率。在机器学习和数据分析领域,向量化是一种常见的实践,它允许你在处理大量数据时更快地进行计算。 一般操作 数组操作:向量…...
四层和七层负载均衡的区别
一、四层负载均衡 四层就是ISO参考模型中的第四层。四层负载均衡器也称为四层交换机,它主要时通过分析IP层和TCP/UDP层的流量实现的基于“IP端口”的负载均衡。常见的基于四层的负载均衡器有LVS、F5等。 以常见的TCP应用为例,负载均衡器在接收到第一个来…...
Scala 如何调试隐式转换--隐式转换代码的显示展示
方法1 在需要隐式转换的地方,把需要的参数显示的写出。 略方法2,查看编译代码 在terminal中 利用 scalac -Xprint:typer xxx.scala方法打印添加了隐式值的代码示例。 对于复杂的工程来说,直接跑到terminal执行 scalac -Xprint:typer xxx.…...
Rust交叉编译简述 —— Arm
使用系统:WSL2 —— Kali(Microsoft Store) 命令列表 rustup target list # 当前官方支持的构建目标架构列表 rustup target add aarch64-unknown-linux-gnu # 添加目标架构sudo apt-get install gcc-13-aarch64-linux-gnu gcc-13-aarch64-linux-gnu # 下载目标工具…...
算法与数据结构(二十三)动态规划设计:最长递增子序列
注:此文只在个人总结 labuladong 动态规划框架,仅限于学习交流,版权归原作者所有; 也许有读者看了前文 动态规划详解,学会了动态规划的套路:找到了问题的「状态」,明确了 dp 数组/函数的含义&a…...
相机的位姿在地固坐标系ECEF和ENU坐标系的转换
在地球科学和导航领域,通常使用地心地固坐标系(ECEF,Earth-Centered, Earth-Fixed)和东北天坐标系(ENU,East-North-Up)来描述地球上的位置和姿态。如下图所示: 地心地固坐标ecef和…...
RFID技术助力汽车零配件装配产线,提升效率与准确性
随着科技的不断发展,越来越多的自动化设备被应用到汽车零配件装配产线中。其中,射频识别(Radio Frequency Identification,简称RFID)技术凭借其独特的优势,已经成为了这一领域的重要技术之一。本文将介绍RF…...
应用高分辨率 GAN 对扰动文档图像去扭曲的深度Python实践
1. 引言 随着技术的不断发展,图像处理在各种场景中的应用也变得越来越广泛。高分辨率 GAN (Generative Adversarial Network) 是近年来图像处理领域的热点技术,它能够生成极高分辨率的图像,与此同时,它也可以用于各种修复和增强任…...
【BASH】回顾与知识点梳理(二十六)
【BASH】回顾与知识点梳理 二十六 二十六. 二十一至二十五章知识点总结及练习26.1 总结26.2 模拟26.3 简答题 该系列目录 --> 【BASH】回顾与知识点梳理(目录) 二十六. 二十一至二十五章知识点总结及练习 26.1 总结 Linux 操作系统上面,…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
