Overview of adversarial attacks and defenses
1.1 Adversarial attacks
对抗性攻击通常被定义为一个优化问题,在这个问题中,“对手”试图在一组允许的扰动上最大化分类器的损失。特别的,给定一个数据点
能够包含真实世界的扰动?”由于定义扰动集的生成器是从数据中学习的,
我们必须仔细评估这个扰动集的质量
。接下来我们简要讨论文中提出的两个用于评测的标准。
Necessary subset property(NSP)
学到的扰动集至少要是训练数据集的一个很接近的近似
,稍微正式一点就是说。给定一个近似误差
,SLP 条件可以定义为:
为什么这个条件可以限制扰动集不应该包含“太多”,因为它必须赋予期望中的真实数据很高的可能性。这有效地限制了扰动集的范围,并激发了它作为一种通过从潜在空间采样的随机数据扩充形式的使用。
总结一下 NSP 和 SLP 分别从上下界的形式限制了扰动集,使得扰动集能够反映真实世界的扰动。
Learning perturbation sets with conditional variational autoencoders
接下来主要看一下文章是如何利用 CVAE 来学习一个满足上述条件的生成器的。传统 CVAE 的训练过程是这样的,基于隐变量
prior_params = cvae.prior(X)
z = cvae.reparameterize(prior_params, z)
return cvae.decode(X,z)
然后通过将隐空间限制在一个
是先验概率的均值和方差。
由于 CVAE 的后验均值被训练为重构扰动数据,因此这种估计确保了所得到的扰动数据包含合理的版本(训练数据)。为了使得这个计算不对训练集过拟合,一般使用 held-out 的验证集进行计算。
Theory of CVAEs and perturbation sets
最后,模型已经明晰了,作者给出两个定理证明了在一定条件假设下,优化 CAVE 的目标学到的模型能够满足上述的两个条件。这里不涉及具体证明细节,只说一说为什么或者证明的大概思路。
首先作者对后验概率和 KL 散度进行约束,给他们一个 bound。
这里可以和之前的两个条件联系起来,NSP 为了约束模型对数据集的拟合,加上了扰动样本近似误差上界的限制,而 SLP 为了确保扰动集“不太大”加上了对后验概率下界的限制,这里将 CVAE loss 的两个部分给上 bound,因此证明方向是这样的:
-
对于 NSP,我们只需要将 upper bound
之间的关系,不过这里找到了他的替代——为重构损失找个上界等价于对似然找个下界,这也是上面这个定理的与 SLP 之间的联系。
这两个定理的主要结论是,优化 CVAE 目标自然会得到一个满足 NSP 和 SLP 的扰动集。因此,学习的扰动集对于对抗鲁棒性是有用的,因为必要的子集性质意味着扰动集不会错过被扰动的数据。它对于数据扩充也很有用,因为充分似然性质保证了扰动数据以高概率发生。
Experiments
通过学习产生的扰动集可以很好的提升 OOD 的性能,其效果相比于其他 baseline 堪称惊艳。
感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?
答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是
最新论文解读
,也可以是
学术热点剖析
、
科研心得
或
竞赛经验讲解
等。我们的目的只有一个,让知识真正流动起来。
????
稿件基本要求:
• 文章确系个人
原创作品
,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以
markdown
格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供
业内具有竞争力稿酬
,具体依据文章阅读量和文章质量阶梯制结算
????
投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(
pwbot02
)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
现在,在
「知乎」
也能找到我们了
进入知乎首页搜索
「PaperWeekly」
点击
「关注」
订阅我们的专栏吧
使用
通用自编码器的时候,首先将输入encoder压缩为一个小的 form,然后将其decoder转换成输出的一个估计。如果目标是简单的重现输入效果很好,但是若想生成新的对象就不太可行了,因为其实我们根本不知道这个网络所生成的编码具体是什么。虽然我们可以通过结果去对比不同的对象,但是要理解它内部的工作方式几乎是不可能的,甚至有时候可能连输入应该是什么样子的都不知道。解决方法是用相反的方法
使用
变分自编码.........
文章目录数据处理相关数据说明1、dialog2、meta3、utt词库构建1、vocab及rev_vocab2、 topic_vocab及rev_topic_vocab3、 dialog_act 及 rev_dialog_act_vocabbatch准备1、batch初始化2、_prepare_batch训练及测试数据1、`meta_corpus`2、`dialog_corpus`模型-KgRnn...
借鉴:https://blog.csdn.net/qq_32560769/article/details/83543122
https://www.cnblogs.com/zhoulixue/p/6567443.html
注:由于我的数据
集
是用来做人脸识别的,所以图像
集
的扩充应该在左右颠倒,随机调整亮度与对比度。
可以加椒盐噪声:注释部分解除即可。
理论上加高斯模糊也可以,不过这些数据已经...
intuition
给定字符’2’,原始的VAE并不能生成数字为2的手写图像,原始的VAE直接对隐变量zzz和数据XXX建模;而
CVAE
对定义在条件概率下的隐变量和数据z建...
https://www.jianshu.com/p/ff28eef92fa1
VAE(Variational Autoencoder)中文译为变分自动编码器,它是一种深度生成模型(Deep Generative Model),是一种无监督
学习
算法。那么VAE的设计思路来源是什么?VAE能干嘛?
代码
如何实现?以及还可以怎样改进呢?下面一一道来。
1、VAE的设计来源
2、VAE的主要思路
import torch.nn as nn
from sklearn.preprocessing import LabelBinarizer
from torch.nn import functional as F
# In[4]
class TextRNN(nn.Module):
def __init__(self,
in...
CVAE
理论到
代码
1. VAE的本质1.1 深度理解VAE1.2 VAE 与GAN2.
CVAE
2.1
CVAE
简介2.2
CVAE
基本模型2.3 数学理解参考
1. VAE的本质
1.1 深度理解VAE
VAE本质就是在我们常规的自编码器的基础上,对encoder的结果(在VAE中对应着计算均值的网络)加上了“高斯噪声”\color{red}“高斯噪声”“高斯噪声”,使得结果decoder能够对噪声有鲁棒性\color{red}使得结果decoder能够对噪声有鲁棒性使得结果decoder能够对噪声有
P(A,B∣C)=P(A∣B,C)P(B∣C)P(A,B|C) = P(A|B,C)P(B|C)P(A,B∣C)=P(A∣B,C)P(B∣C)
由于 P(A∣B)=P(A,B)P(B)P(A|B) = {P(A,B) \over P(B)}P(A∣B)=P(B)P(A,B),所以P(A,B∣C)=P(A,B,C)P(C)P(A,B|C)={P(A,B,C) \ove...