GAN
生成对抗网络(Generative Adversarial Network,简称 GAN)的目标是通过生成器(Generator)和判别(Discriminator)的对抗训练,生成逼真的数据,可以用于图像处理
基本结构为:
生成器(Generator):尽量生成接近真实分布的数据
判别器(Discriminator):分辨数据是生成器生成的还是真实的
判别器损失,目的是最大化判别的正确性:
\begin{equation}L_D = -\mathbb{E}_{x \sim p_{\text{data}}} [\log D(x)] - \mathbb{E}_{z \sim p_z} [\log(1 - D(G(z)))]\end{equation}生成器损失,目的是使判别器判别为真实样本:
L_G = -\mathbb{E}_{z \sim p_z} [\log D(G(z))]训练过程:生成器和判别器交替训练,固定训练器参数来更新判别器,和固定判别器参数来更新生成器
参考代码(MNIST):123456789101112131415161718192021222324252627 ...
Square-based adversarial patch optimization
Square-based adversarial patch optimization 是一种对抗性补丁生成方法,其核心思想是通过方块(square)形式的区域划分和优化来生成对抗性补丁,以在目标任务中实现攻击效果。它是一种专门设计用于黑盒攻击的优化方法,适用于需要高效和大规模生成对抗性补丁的场景
背景对抗性补丁是一种特殊形式的对抗样本,它通过在输入图像的特定区域添加显著干扰(如某种图案或贴纸)来欺骗机器学习模型。传统补丁优化方法存在以下问题:
计算复杂度高:
全图优化需要对大量像素进行梯度计算,尤其在黑盒环境下显得尤为困难。
黑盒场景中的挑战:
黑盒攻击无法直接访问模型的梯度信息,需要通过迭代查询模型输出进行优化,这种方式通常效率较低。
扩展性问题:
大规模补丁生成在计算资源受限时难以实施。
为了应对这些挑战,square-based adversarial patch optimization 提出了基于方块的策略,显著提高了效率和扩展性
核心方法1. 方块划分(Square Partitioning)
目标区域划分:
将对抗性补丁划分为多个小方块(squa ...
pixel-level_regression
单目深度估计bloghuggingface深度估计,就是获取图像中场景里的每个点到相机的距离信息,这种距离信息组成的图我们称之为深度图![[Pasted image 20241122141944.png]]
深度网络:
常用的网络结构包括:
卷积神经网络(CNN):提取局部特征。
编码器-解码器(Encoder-Decoder)结构:编码全局上下文信息,解码为逐像素的深度预测。
Transformer:利用其捕获全局特征的能力提升精度。
监督学习与无监督学习:
监督学习:需要带有深度标签的数据(如通过激光雷达标注)。
无监督学习:通过图像对(如立体对、视频帧)间的几何关系训练模型。
损失函数:
常见的损失包括:
L1/L2 损失:度量预测深度与真实深度的差异。
结构相似性(SSIM)损失:增强深度预测的边缘对齐。
应用场景:
自动驾驶:检测障碍物距离。
增强现实(AR):构建虚拟与现实交互的深度场景。
机器人导航:帮助机器人感知周围的3D环境。
简单来说就是给图测深度
光流估计任务定义光流估计旨在计算时间序列(多个图片)中的每个像素的运动,即预测一个像素从一 ...
black-box attack
1. Training a Substitute Model原理
训练一个替代模型(substitute model)来近似目标模型的行为。
使用替代模型生成对抗样本,然后利用对抗样本在目标模型上的迁移性(transferability)来实现攻击。
步骤
数据收集:
收集目标模型输入和输出的对应数据(通过查询目标模型)。
输入可以是原始数据集的一部分,输出是目标模型的预测结果。
替代模型训练:
用收集的数据训练一个与目标模型功能类似的替代模型。
替代模型不需要与目标模型结构相同,但需要尽量拟合目标模型的决策边界。
生成对抗样本:
在替代模型上利用常见的白盒攻击方法(如 FGSM、PGD)生成对抗样本。
攻击目标模型:
将生成的对抗样本输入目标模型,通过迁移性实现攻击。
优点
查询次数少:只需有限的目标模型查询用于数据收集。
效率高:生成对抗样本后,可以离线测试多个目标模型。
迁移性利用:在多种目标模型之间具有一定的通用性。
缺点
依赖迁移性:对抗样本在目标模型上的成功率依赖于替代模型和目标模型的相似性。
训练成本高:需要额外训练一个替代模型,尤其在复杂任 ...
white-box attack
白盒攻击是对抗性攻击的一种形式,指攻击者能够完全访问目标模型的结构、参数和梯度信息。利用这些信息,攻击者可以精确地构造对抗样本,以最大化模型误判的可能性
简单来讲,就是针对目标要达到的攻击效果,来有目的性的更新白盒模型的梯度
常见白盒攻击方法1. FGSM(Fast Gradient Sign Method)
提出者:Goodfellow 等人在 2014 年的论文中提出。
核心思想:
使用目标模型的损失函数梯度信息,沿输入的梯度方向快速调整输入样本,以生成对抗样本。
公式: x′=x+ϵ⋅sign(∇xJ(θ,x,y))x' = x + \epsilon \cdot \text{sign}(\nabla_x J(\theta, x, y))
$xx$:原始输入。
$x′x’$:对抗样本。
$ϵ\epsilon$:攻击强度,表示每次扰动的幅度。
$∇xJ(θ,x,y)\nabla_x J(\theta, x, y)$:损失函数 JJ 关于输入 xx 的梯度。
$sign\text{sign}$:符号函数,确保扰动方向一致。
特点:
计算简单,适合快速生成对抗样本。
可控扰动幅 ...
Attack as Defense
原文
很有趣的work
传统的模型编辑是编辑作为推理的结果,所以传统后门的效果是当进行模型编辑的时候,后台给模型加一个后门标识,产生指定的更改结果
本文的模型编辑后台加一个mask noise,来保护指定的区域,在推理阶段不能根据text更改
并且使用的是原模型,只在推理阶段进行添加noise(效果有点像mask啊)就可以达到保护的效果,所以称为运行时
利用的是后门可以指定激活一些神经元的特性,所以可以通过激活指定神经元来达到保护指定的区域的效果,同时保证其他区域的编辑和生成不受影响,确实很像后门
三个优化目标:
植入损失,
不完全触发损失,保持保护区域的激活
隐藏损失,保证编辑区域的可用性
三方:
模型商
用户
图片版权拥有者
原始的后门模型修复损失(inpainting loss):
原始图像和生成图像的像素差异$L_{inpaint}$
生成器的损失$L_{adv}$
其中的inpaint损失改为具有后门监督的损失,可以训练出具有后门的修复模型
Run-time backdoor基于现有模型,不需要训练阶段的后门植入
原理:\mathcal{L}_{implan ...
TrojanNN
Note不需要使用原本的数据集的后门攻击,
“INTRODUCTION” (pdf)对比增量学习,增量学习因为原本的权重很大,所以没法是模型直接改变行为
提出trojan trigger,即使用触发器来达到植入后门,不会影响其他数据并且使用少数据集进行训练
Overview三个步骤:
触发器生成器
训练数据生成器
模型重训练
Trojan trigger generation通过选定某些层的某些神经元作为最大值激活的目标,来反向梯度传播调整后门标识的值,即在标识和神经元之间建立强联系,然后通过神经元的选择和训练,和最终结果建立强联系
神经元的选择
反向梯度传播的详细过程
Training data generation通过反向梯度传播来找到每一个分类结果的最大化样本图片作为模拟训练集
细节:
就是一个基本的梯度下降,loss是均方误差
mask是用来和梯度相乘,来掩盖掉其他部分的梯度的
DENOISE Function 降噪,思想是使用最小化总方差,值为像素之间的平方误差之和,来使像素之间平滑,作用是可以提升准确率
Retraining model训练过程中要注意的
...