论文笔记--See through Gradients. Image Batch Recovery via GradInversion
See through Gradients. Image Batch Recovery via GradInversion

,其输入为一个M维向量,是损失函数对全连接层的导数。
对于一个特定的类别,(为全连接层输出的logits),其输出,那么有,
也就是,即全连接层的第个输入。这里的m和n其实是W参数的索引。
设全连接层输入是,参数为,设样本的类别是,则与对应的等式为,其中n是固定的。
其实这就是idlg的另一种写法,只不过更细了。


我的理解:是一个数,是由这个数据的损失在logits 上的梯度导数相加而来(按照特征维度),当时,加数都是负数,那么,对应着真实标签;
非标签时对应的,就是一个矩阵,每一列对应一个数据对不同logits的梯度,每一列中只有一个负数对应着的真实类别。
关键:从上面图片中看到,是个样本的平均梯度,单个样本的梯度中有一列都是负数,根据观察,根据原文"This leaves a negative sign mostly intact when the summation brings in positive values from other images.",当求和从其他图像中引入正值时,会留下大部分完整的负号,也就是说在真实的梯度中,真实标签对应的列会保留大量的负号,也就是说,多个样本的梯度聚合之后,负的部分仍然是负的,可显示出原始标签的信息。
为了使得这种负号的标志更鲁棒,文章使用了逐列的最小值,而不是按照特征维度进行求和
取每一列中最小值后的向量具有维,从小到大排序,记录对应的列号,直接返回前个值,也就对应着个样本的类别
注意返回的是batch中个样本的类别,并不能一一对应,因为只给定了平均梯度。而且有个假设就是一个批次中不能有重复的标签数据。
真实性正则化
文中加入了一个正则化项(R_{fidelity}(\cdot)),来驱使生成的(\hat{x})尽可能保持真实,具体形式为:
其中(R_{TV})和(R_{l_2})分别惩罚图像的方差和(L2)范数,属于标准的图像先验。
DeepInversion中关键的部分就是使用了BN的先验来进行约束
其中(\mu_l(x))和(\sigma^2_l(x))是第(l)层卷积的,对于一个批数据的均值和方差的估计,这种真实性的正则化能够使图片变得更加真实。
组一致性正则化
在训练数据恢复的时候,有一个挑战就是物体实际位置的确定,如

在实验中,作者使用了不同的随机种子进行图像的还原,结果产生不同程度上的偏移,但这些样本其实语义上都是一致的。
基于这个观察,作者提出了一种组一致性的正则化方法,也就是用不同的随机种子生成,然后对这些结果进行融合。
其正则化形式为:
其中,需要计算这个期望,其实就是平均期望。

如上图所示,首先按像素进行平均,得到一张平均图像,然后所有图像根据这个平均图像进行对齐,之后再取一次平均,得到最后的对齐后的平均图像。
Final Update
文中使用的是一种基于能量的模型,受 Langevin 的启发,具体形式为
其中η是采样噪声,用于进行搜索;λ(t)是学习率;αn是缩放因子。
LPIPS(Learned Perceptual Image Patch Similarity是一种用于评估图像之间感知相似度的指标。它基于深度学习模型,特别是卷积神经网络(CNN)来模拟人类视觉系统对图像差异的感知。LPIPS旨在解决传统像素级相似度指标(如L2距离或结构相似性指数(SSIM))在评估图像质量时可能与人眼感知不一致的问题。
LPIPS通过训练一个网络来学习图像块的相似性,这个网络被训练来预测两个图像块之间的感知差异。训练数据通常包括成对的图像块,其中一些是经过轻微扰动的,而另一些则是完全不同的。网络的目标是学会区分这些差异,即使它们在像素级别上的差异可能很微小。
LPIPS的一个流行实现是使用AlexNet或VGG网络的特征提取层来计算图像块的嵌入,然后比较这些嵌入之间的距离。这种距离度量可以提供一种更接近人类视觉感知的图像相似度评估。
LPIPS在图像处理和计算机视觉领域有很多应用,例如:
- 图像超分辨率:评估重建图像与原始图像的相似度。
- 图像风格转换:评估转换后的图像是否保留了原始内容的感知特性。
- 图像去噪和修复:评估处理后图像与干净图像的接近程度。
LPIPS提供了一个更加灵活和敏感的工具,用于评估图像处理算法的质量,特别是在需要考虑人类视觉感知的情况下。
图像的峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)是衡量图像质量的一个客观标准。它常用于评估压缩算法(如JPEG、PNG)重建图像的质量,或者评估图像在传输过程中损失的情况。PSNR 以分贝(dB)为单位来度量,计算公式如下:
其中:
- 是图像中可能的最大像素值。对于 8 位图像,这个值通常是 255。
- MSE 是均方误差(Mean Square Error),它是原图像 和重建图像 之间差的平方的平均值:这里 是图像的尺寸, 和 分别是原图像和重建图像在位置 的像素值。
PSNR 值越大,表示重建图像的质量越好,失真越小。通常情况下,PSNR 在 30 dB 以上,人眼就很难察觉到图像的失真;而低于 20 dB,失真就很明显了。
需要注意的是,PSNR 只能反映图像的失真程度,并不能完全代表图像的主观质量。有时候即使 PSNR 值很高,人眼仍然可能感觉到图像质量的下降,因为 PSNR 并不考虑人眼的视觉特性。因此,在评估图像质量时,通常会结合主观评价和客观指标一起来综合判断。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)