精华内容
下载资源
问答
  • 样本分布

    千次阅读 2020-02-28 08:54:09
    样本分布是样本所受随机影响的最完整的描述. 要决定样本分布, 就要根据观察值的具体指标的性质 (这往往涉及有关的专业知识), 以及对抽样方式和对试验进行的方式的了解, 此外常常还必须加一些人为的假定 EX1: 一...

    样本既然是随机变量, 就有一定的概率分布, 这个概率分布就叫作样本分布. 样本分布是样本所受随机性影响的最完整的描述.
    我们知道样本是由总体中抽取的一部分个体组成.
    要决定样本分布, 就要根据观察值的具体指标的性质 (这往往涉及有关的专业知识), 以及对抽样方式和对试验进行的方式的了解, 此外常常还必须加一些人为的假定
    X=(X1,,Xn)X=\left(X_{1}, \cdots, X_{n}\right)取可能取值的全体成为样本空间 , 记为X\mathcal{X}

    样本的两重性和简单随机样本

    样本的两重性是说, 样本既可看成具体的数, 又可以看成随机变量 (或随机向量). 在完成抽样后,它是具体的数;在实施抽样前,它被看成随机变量. 因为在实施具体抽样之前无法预料抽样的结果, 只能预料它可能取值的范围, 故可把它看成一个随机变量,因此才有概率分布可言。为区别起见, 今后用大写的英文字母表示随机变量或随机向量, 用小写字母表示具体的观察值.对理论工作者, 更重视样本是随机变量这一点, 而对应用工作者虽则将样本看成具体的数字, 但仍不可忽视样本是随机变量 (或随机向量) 这一背景. 否则, 样本就是一堆杂乱无章毫无规律可言的数字,无法进行任何统计处理. 样本既然是随机变量 (或随机向量), 就有分布而言, 这样才存在统计推断问题.简单随机样本:样本具有随机性,独立性
    抽样是指从总体中按一定方式抽取样本的行为. 抽样的目的是通过取得的样本对总体分布中的某些未知因素做出推断, 为了使抽取的样本能很好的反映总体的信息, 必须考虑抽样方法. 最常用的一种抽样方法叫作 “简单随机抽样”, 它要求满足下列两条:
    (1) 代表性. 总体中的每一个体都有同等机会被抽入样本, 这意味着样本中每个个体与所考察的总体具有相同分布. 因此, 任一样本中的个体都具有代表性.
    (2) 独立性. 样本中每一个体取什么值并不影响其它个体取什么值. 这意味着, 样本中各个体 X 1 ,X 2 ,··· ,X n 是相互独立的随机变量
    EX1:\mathcal{EX1:}

    一大批产品共有 NN 个, 其中废品 M 个, NN已知, 而 M 未知. 现在从中抽出 nn 个加以检验, 用以估计 M 或废品率 p=MNp = \frac{M}{N}
    (1) 有放回抽样, 即每次抽样后记下结果, 然后将其放回去, 再抽第二个, 直到抽完 nn个为止. 求样本分布.
    (2) 不放回抽样, 即一次抽一个, 依次抽取, 直到抽完 nn 个为止.求样本分布.


    P(Xi=1)=M/N,P(Xi=0)=(NM)/NP\left(X_{i}=1\right)=M / N, P\left(X_{i}=0\right)=(N-M)/N

    P(X1=x1,,Xn=xn)=(MN)a(NMN)naP\left(X_{1}=x_{1}, \cdots, X_{n}=x_{n}\right)=\left(\frac{M}{N}\right)^{a}\left(\frac{N-M}{N}\right)^{n-a}

    x1,,xnx_1,\dots,x_n都为0或者1,i=1nxi=a\sum\limits_{i=1}^{n}x_i=a(样本随机独立)

    采用不放回抽样,

    i=1nxi=a\sum\limits_{i=1}^{n}x_i=ax1,,xnx_1,\dots,x_n都为0或者1

    P(X1=x1,X2=x2,,Xn=xn)P\left(X_{1}=x_{1}, X_{2}=x_{2}, \cdots, X_{n}=x_{n}\right)
    =MNM1N1Ma+1Na+1xi=1NMNaNMn+a+1Nn+1xi=0=\underbrace{\frac{M}{N} \cdot \frac{M-1}{N-1} \cdots \frac{M-a+1}{N-a+1} }_{x_i=1}\cdot \underbrace{\frac{N-M}{N-a} \cdots \frac{N-M-n+a+1}{N-n+1}}_{x_i=0}(随机不独立)


    EX2:\mathcal{EX2:}

    为估计一物件的重量 a, 用一架天平将它重复称 n 次, 结果记为X1,,XnX_{1}, \cdots, X_{n} , 求样本X1,,XnX_{1}, \cdots, X_{n} 的联合分布.


    (1) 假定各次称重是独立进行的, 即某次称重结果不受其它次称重结果的影响. 这样 X1,,XnX_{1}, \cdots, X_{n}就可以认为是相互独立的随机变量.
    (2) 假定各次称重是在 “相同条件” 下进行的, 可理解为每次用同一天平, 每次称重由同一人操作, 且周围环境 (如温度、湿度等)都相同. 在这个假定下, 可认为 X1,,XnX_{1}, \cdots, X_{n} 是同分布的. 在上述两个假定下, X1,,XnX_{1}, \cdots, X_{n} 是 n 个独立同分布的随机变量, 即为简单随机样本.

    由概率论中的中心极限定理可知这种误差近似服从正态分布. 再假定天平没有系统误差, 则可进一步假定此误差为均值为 0 的正态分布. 可以把X 1 (它可视为物重 a 加上称量误差之和) 的概率分布为 N(a,σ2)N\left(a, \sigma^{2}\right)

    f(x1,,xn)=(2πσ)nexp{12σ2i=1n(xia)2}f\left(x_{1}, \cdots, x_{n}\right)=(\sqrt{2 \pi} \sigma)^{-n} \exp \left\{-\frac{1}{2 \sigma^{2}} \sum_{i=1}^{n}\left(x_{i}-a\right)^{2}\right\}


    正态总体样本均值和样本方差的分布

    设随机变量X1,,Xni.i.d.N(a,σ2),c1,c2,,cnX_{1}, \cdots, X_{n} i.i.d. \sim N\left(a, \sigma^{2}\right), \quad c_{1}, c_{2}, \cdots, c_{n}为常数

    T=k=1nckXkN(ak=1nck,σ2k=1nck2)T=\sum\limits_{k=1}^{n} c_{k} X_{k} \sim N\left(a \sum_{k=1}^{n} c_{k}, \sigma^{2} \sum_{k=1}^{n} c_{k}^{2}\right)


    c1==cn=1/n,T=1ni=1nXi=Xˉc_{1}=\cdots=c_{n}=1 / n,T=\frac{1}{n} \sum_{i=1}^{n} X_{i}=\bar{X}

    XˉN(a,σ2/n)\bar{X} \sim N\left(a, \sigma^{2} / n\right)


    展开全文
  • 所谓对抗样本就是:在原始样本添加一些人眼无法察觉的扰动(这样的扰动不会影响人类的识别,但是却很容易愚弄模型),致使机器做出错误的判断。 如下所示,这两张图片添加噪声(或者说扰动之后)被误分类。 ...

    1.对抗样本

    所谓对抗样本就是指:在原始样本添加一些人眼无法察觉的扰动(这样的扰动不会影响人类的识别,但是却很容易愚弄模型),致使机器做出错误的判断。

    如下所示,这两张图片添加噪声(或者说扰动之后)被误分类。

     

    2.对抗攻击

    由于机器学习算法的输入形式是一种数值型向量(numeric vectors),所以攻击者就会通过设计一种有针对性的数值型向量从而让机器学习模型做出误判,这便被称为对抗性攻击。(也可以这样理解:将上面生成对抗样本的过程,理解为对抗攻击

    和其他攻击不同,对抗性攻击主要发生在构造对抗样本的时候,之后该对对抗样本就如正常数据一样输入机器学习模型并得到欺骗的识别结果。在构造对抗样本的过程中,无论是图像识别系统还是语音识别系统,根据攻击者掌握机器学习模型信息的多少,可以分为如下两种情况:

    2.1 白盒攻击

    攻击者能够获知机器学习所使用的算法,以及算法所使用的参数。攻击者在产生对抗性攻击数据的过程中能够与机器学习的系统有所交互。

    2.2 黑盒攻击

    攻击者并不知道机器学习所使用的算法和参数,但攻击者仍能与机器学习的系统有所交互,比如可以通过传入任意输入观察输出,判断输出。

     

    这里借用网上一位博主的例子来说下白盒/黑盒攻击

    下面就以Inception v3为例,介绍一下如何使用白盒模型来攻击Google的Inception v3  ImageNet分类器:

    我使用谷歌Inception v3作为目标图像识别模型,并选取ImageNet中的50000个验证图像针对Inception v3构造出相对应的对抗性图像。在实验中,将所有的对抗性图片和原始图片都打印出来,并手动用一个Nexus 5智能手机进行拍照,然后将手机里的图像输入Inception v3模型进行识别。现场结果表明,87%的对抗性图像在经过外界环境转化后仍能成功欺骗机器。

    你可以将经过训练的神经网络看作一组单元格,而同一单元格利的每个点(比如本文中就代表图像)都与同一个类相关联。不过,这些单元格过度线性化,就很容易对细微的变化不敏感,而攻击者恰恰是抓住了这一点。

     

    使用快速梯度逐步算法(Fast Gradient Step Method ,FGSM)可以分解对抗过程。这个方法的关键就是在每一步分析的过程中加入少量扰动,让预测结果朝目标类别偏移。有时候我需要限制扰动的振幅以使得攻击更加隐蔽, 一方被反侦察。在本文中,扰动的振幅意味着像素通道的强度,这意味着限制振幅可以确保扰动几乎无法察觉,最理想的情况就是,经过扰动的图片看起来仅像一个压缩的JPG文件。

    应该说是一个纯粹的最优化问题,不过在本文中,我优化扰动强度的目的是为了使攻击最大化。由于你可以获取神经网络的原始输出信息, 所以你可以直接测量误差以及计算梯度。

    但如果你没有完整的原始输出信息怎么办,比如你只有一个分类结果,这就是黑盒攻击模型。

    这时,你要做的就是从相同的方向进行Noise。首先你需要生成扰动并加到图片上, 然后将图片输入分类器, 并不断重复这个过程直到机器出错。不管你是否限制Noise强度的大小,重复到某个时刻,你都不会再看到正确的分类结果。此时你需要做的事就是找到能得到相同错误结果的最弱扰动,用一个简单的二分搜索就可以做到。

     

    2.3 有目标攻击 & 无目标攻击

    无目标攻击(untargeted attack):被攻击的模型的输出只要是错误的,就可以了。如原图像是小猫,添加干扰形成对抗样本输入到模型中,模型输出错误,输出结果可以是小狗也可以是小羊或者是其他,只要求是错误的。

    有目标攻击(targeted attack):被攻击模型的错误输出为特定类别。如原图像是小猫,生成的对抗样本使DNN模型错误分类为攻击者想要的小狗。

     

    3.对抗防御

    为了防御对抗攻击,相应的对抗防御也就应运而生了,目前主要有以下几大类:

    对抗训练:将生成的对抗样本和原始样本混合在一起训练出一个鲁棒性更强的模型。

    梯度掩码:由于当前的许多对抗样本生成方法都是基于梯度去生成的,所以如果将模型的原始梯度隐藏起来,就可以达到抵御对抗样本攻击的效果。

    随机化:向原始模型引入随机层或者随机变量。使模型具有一定随机性,全面提高模型的鲁棒性,使其对噪声的容忍度变高。

    去噪:在输入模型进行判定之前,先对当前对抗样本进行去噪,剔除其中造成扰动的信息,使其不能对模型造成攻击。

     

    4.研究对抗攻击的意义如下
    1. 能让机器学习模型处理大规模数据;
    2. 以“计算机速度”处理攻击威胁;
    3. 不依赖数据的明显特征,发现实际应用中的各种内在威胁;
    4. 阻止已知和未知的恶意软件;
    5. 阻止恶意软件的提前执行;
    6. 优化模型,让分类模型达到更加高的分类准确率和更加低的错误率。



     

    展开全文
  • 样本学习

    千次阅读 2020-07-14 23:30:31
    前言 这篇博客为阅读论文后的总结与感受,方便日后翻阅、查缺补漏,侵删! 论文: 零样本学习研究进展 ...更一般来说,零样本学习如果模型在训练过程中,只使用训练类的样本进行训练,,且在测..

    前言

    这篇博客为阅读论文后的总结与感受,方便日后翻阅、查缺补漏,侵删!

    论文:

    • 零样本学习研究进展
    • 零样本图像识别

    概念:

    零样本学习 (Zero-shot learning).,零样本学习是迁移学习的一种特殊场景;在零样本学习过程中,训练类集和测试类集之间没有交集,需要通过训练类与测试类之间的知识迁移来完成学习, 使在训练类上训练得 到的模型能够成功识别测试类输入样例的类标签。更一般来说,零样本学习如果模型在训练过程中,只使用训练类的样本进行训练,,且在测试阶段可以识别从未见过的测试类样例,,那么就认为该模型实现 了零样本学习。

    迁移学习:

    迁移学习简单来说,就是将一个学习任务A建立的模型可以迁移到学习任务B中;这里举个例子:人在实际生活中有很多迁移学习,比如学会了骑自行车,就比较容易学摩托车,学会了C语言,再学一些其它编程语言会简单很多。

    应用:

    在机器视觉领域,你如果想实现一个应用,而不想从零开始训练权重,比方从随机初始化开始训练,实现最快的方式通常是下载已经训练好的权重的网络结构,把它当做预训练迁移到你感兴趣的新任务上,这样可以节省大量的训练时间。

    如上图所示,已有一个模型,该模型输入x最后经Sigmoid处理可以输出猫和狗的概率;但现在我们有一个新任务分类猫、狗、猪、其他动物。这时我们不需要重新训练模型的所有参数,只需要修改模型最后一层并训练改层的参数。

    当然这不是绝对的,如果我们的训练集比较充分,可以选择从零开始训练我们模型的参数,这样分类效果可能更高;但如果我们的数据集较少,也可以选择冻结模型参数的一部分,训练模型的其他参数,实现特定任务的分类。

    零样本学习的基本思想:

    零样本学习利用训练集中的样本,和样本对应的辅助信息 (例如文本描述或者属性特征等) 对模型进行训练,在测试阶段利用在训练过程中得到的信息,以及模型的测试类辅助信息对模型进行补足,使得模型能够成功对测试集中的样例进行分类。我的理解,在训练样本中假设有个牛的样本,我们可以运用该样本集对神经网络模型进行训练,我们知道神经网络可以将输入样本压缩成隐空间的一个向量表示,如果在训练过程还得知,对应隐空间的第i维数值表示待识别动物的体重,第j维数值表示待识别动物鼻子的长短;当我们如果规定,在隐空间的对应牛和训练样本距离很近,且第j维数值较大,我们有理由相信待识别的图像为大象图像。

    零样本学习结构示意图 :

    零样本学习的相关领域:

    • 单样本学习 

    单样本学习 (One-shot learning)是与零样本学习最为相似的研究领域,单样本学习希望识别模型可以实现仅使用某些对象类极为少量 (100 以 内, 甚至只有 1 个) 的训练样本,,就可以对这些类的样例进行识别。但是,单样本学习模型较差的泛化能力是它所具有的致命缺陷,如果测试阶段的样例与训练样例不是十分相似的话,那么单样本学习模型很有可能无法准确地识别测试样例的类标签.。因此,为了回避这一问题,零样本学习在单样本学习的基础上得以产生。

    • 偶然学习 

     “偶然学习” (Serendipitous learning, SL) 方法,该方法希望能够在给定的标签空间之外,识别未定义类标签的测试样例所属类标签;这一方法的核心思想是在对见过的训练类的样例进行识别的同时,也可以对从未见过的未见类样例进行聚类分析

    零样本学习经典模型:

    • 新任务的零数据学习 

    零数据学习的目标在于如何构造模型学习没有可用的训练数据、且只有类描述的分类器学习问题。因此在定义上,零数据学习与零样本学习本质上是相同的。零数据学习主要有(1)输入空间方法 (2)模型空间方法 。

    • (1)输入空间方法

    核心思想:

    利用训练类和测试类中对应于每一类的描述信息,对模型进行信息补充, 使得模型不再是简单的学习由输入样例到类标签的映射关系,而是把输入样例与对应类描述的信息对作为新的输入, 并学习其到类标签的映射关系。 在训练阶段,输入空间方法利用训练类的样本以及对应的类描述信息对模型进行训练,因为是直接在输入阶段,对模型所需要的信息进行了补充,所以该 方法被命名为输入空间方法。个人理解:即测试阶段将测试集类描述信息与已知训练集的辅助联系起来,从而确定未知样本的类别。

    示意图 : 

    上述过程简单来说:训练过程,将训练样例的描述信息D_{tr}看做该样例的类别和训练样例^{}X_{tr}一块输入到模型中进行训练,得到D_{tr}X_{tr}映射关系f。测试阶段,将未知类别的测试样例输入到模型f中,找到待分类样例的描述信息,从而确定类别的方法。

    • (2)模型空间方法 

    核心思想:

    模型空间方法假设对于每一类 y, 都存在对应的分类函数 d(y)∈D。 假定 d(y)为该类所对应的描述信息,用把分类函数参数f_{f}(.)化为g_{d(y)}(x)即令: 

    零数据学习问题变为用 d(y) 和输入样例学习g_{d(y)}(x)的表示问题,例如,可以使用以下平均损失最小化来求解模型参数::

    通俗来讲:训练阶段,如果可以利用给定的 x_{i}y_{i}以及 d(y)^{i}对函数 g 进行充分的训练,在测试阶段,假定每一个测试类都具有给定的 d(y) 时,就可以利用训练阶段学习到的函数 g, 计算每个测试类样例所对应的分类函数g_{d(y)}(x),这样,就可以利用这一系列测试类函数族,来判断测试类输入样例的类标签。

    示意图 : 

    个人感觉这个和输入空间方法是一样的,但论文给的解释为:与输入空间方法相比, 模型空间方法具有更 强的泛化能力, 输入空间方法相当于令 gd(y)(x) = g(x,d(y)), 可看作是模型空间方法的特例. 模型空 间方法将 d(y) 作为调整模型 gd(y)(x) 的参数,不太理解。

    • 语义输出编码零样本学习

    具体做法:先定义多维的语义特征空间,每个维度都对应一个二值编码特征。例如,对于 “狗” 这一类标签来说,在 “多毛”、“有尾巴”、“水下呼吸”、“肉食 性” 和 “可以快速移动” 5 条语义特征下的语义空间中,“狗” 这一类可以利用布尔值表示为语义特征向量 [1, 1, 0, 1, 1],(这里假设知识库只有这5个语义知识)。定义语义输出编码分类器为 H :X → Y,假定 H 是复合映射函数H = L(S(·)),S 函数负责将图像映射到语义空间,L 函数负责将语义编码空间映射到标签集上。 L函数通过查询知识库 K 中语义编码与类标签的对应关 系实现映射。

     学习过程示意图:

    个人感觉这个和新任务的零数据学习相比,就是把新任务的零数据学习中的描述信息D_{tr}进行了one_hat编码而已。

    • 基于属性类间迁移的未见类学习 

    基于属性类间迁移的未见类检测方法, 这一模型可谓是零样本学习的奠基之作,现有的零样本学习方法大多都继承了该模型的思想,Lampert 等建立的数据集 “Animals with attributes” 也成为研究零样本学习所必须使用的数据集之一。

    下面介绍两种拓扑结构零样本学习模型,分别为(1)直接属性预测 (Direct attribute prediction, DAP) 模型,(2)间接属性预测 (Indirect attribute prediction, IAP) 模型。

    • (1)直接属性预测 (Direct attribute prediction, DAP) 模型

    假定y_{1} ,··· ,y_{k}为训练类, y_{k+1},··· ,y_{k+L} 为 测试类; a_{1},··· ,a_{M}为全部属性特征的集合。在测试阶段时,尽管模型从未针对测试类进行训练,但属性层仍然可以利用训练阶段得到的属性分类器 β 对输入的测试类图像所具有的属性进行判断,得到输入图像的属性特征估计之后,就可以利用得到测试样例的属性特征估计以及测试类的属性指示对输入样例进行分类判断。通俗来讲:假设我们要通过{有无尾巴,体积大小、头有没有角}来对动物种类识别,属性分类器 β 可以提取输入图像有无尾巴?体积有多大?头有没有角?,得到的结果与测试类的属性指示对输入样例进行分类判断。

    • (2)间接属性预测 (Indirect attribute prediction, IAP) 模型

    分类公式如下图所示:

    •  跨模态迁移的零样本学习 

    核心思想:

    跨模态迁移学习的核心思想是将图像和类标签同时映射到相同的子空间内, 目前通常是将图像和类标签同时映射 (或称为嵌入 (Embedding)) 到语义空间中, 并在语义空间内, 利用一定的相似性度量方法,去确定测试类输入图像的类标签。

    学习示意图:

    上图五边形白点代表测试类 “猫” 的输入图像在语义空间中的表示, 除此之外的白点代表训练类的输入图像在语义空间中的映射向量。在该方法中,黑点代表所有类标签的语义向量,所有的语义向量都是预先给定的辅助信息,这些语义向量可以是 属性向量,也可以是使用文本描述生成的单词语义向量。 训练阶段,首先利用训练类标签对应的语义向量和训练类的样例对跨模态映射模型进行训练。训练后,映射模型可以成功地将输入样例映射到语义空间中,并准确地映射到输入样例所对应的类标签的语义向量附近,测试阶段,输入测试类的样例时, 首先利用训练阶段得到的跨模态映射模型将测试类输入样例映射到语义空间中,并根据相似性判断方法 (如余弦相 似性、K 近邻方法等), 将与输入样例的的语义向量估计最为相似的语义向量的类标签, 作为测试类图 像的类标签估计。

    简单来说,将类标签映射到语义空间中,根据训练集依据一定原则来训练样例到语义空间的映射关系f,原则即:“样例映射到语义空间中应该在类标签向量周围”,依据映射关系f将测试集也映射到语义空间中,并根据相似性判断方法确定其类别。

    零样本学习关键问题:

    • 广义零样本学习 (Generalized zero-shot learning)

    零样本学习在测试阶段,只有未 见类样例出现。” 这在实际应用中是不现实的,已见类的对象往往是现实世界中最为常见的对象, 而且,如果在训练阶段已见类样本容易得到、未见类样本难以获取, 那么在测试阶段就也不应只有未见类样例出现。

     广义零样本学习定义:

    如果模型在训练过程 中,只可以使用训练类的样本进行训练,并且在测试 阶段可以准确识别已见类样例以及从未见过的未见类样例,那么就认为该模型实现了广义零样本学习。

    虽然广义零样本学习定义十分简单, 但传统零样本学习方法仍会出现上述未见类识别准确率较低的问题,这是因为模型在训练过程中只使用了已见类样本进行训练,已见类的先验知识也更为丰富,从而使得已见类模型占主导地位。所以在输入测试样例时,模型会更加倾向于对未见类样例标注为已见类的标签,从而造成识别准确率与传统零样本学习相比的大幅度下跌对于这一问题, 一般有两种解决方法,一种是 在输入样例时,判断其属于已见类或未见类,这种方 法称为新颖检测;另一种方法是在模型判断输入样例为已见类时,叠加一个校准因子以平衡模型对已见类识别的倾向性, 这一种方法称为叠加校准,两种方法具体内容如下。

    • 枢纽度问题 (Hubness)

    这一问题是指将原始空间 (例如图像特征空间或类标签空间) 中的某个元素映射到特征子空间中,得到原始空间中某个元素的在特征子空间中的新表示,这时如果使用 K 近邻方法进行相似性度量时,可能会有某些原始空间中无关元素映射到多个测试样本特征空间中表示最近的几个近邻中, 而这些无关向量,就称为 “枢纽 (hub)”, 枢纽的出现,污染了测试类的近邻列表,对零样本学习产生了较大的影响。所有利用特征子空间的机器学习模型,都会存在这一现象,维度越高,这一现象愈发明显。简单来说,就是在原特征空间类别可分的样例,映射到特征空间中出现类别不可分的现象。

    枢纽化现象的示意图:.

    • 映射域偏移问题 (The projection domain shift problem)

    映射域偏移问题的根源在于映射模型较差的泛化能力:模型使用了训练类样本学习由样例特征空间到类标签语义空间的映射,由于没有测试类样本可以用于训练,因此,在映射测试类的输入样例时,就会产生一定的偏差。示意图如下所示:白色圆点为训练类标签的语义向量,黑色圆点为测试类标签的语义向量,灰色圆点为测试类输入在语义空间中的映射向量,其余为训练类在语义空间的映射向量,可以看出,老虎、马和斑马为训练类, 熊猫为测试类,训练类的样本都很好地映射到了训练类语义向量的附近,而测试类输入样例映射到语义空间后,却与它所对应的类标签距离较远。 因此,如果想要解决映射域偏移问题,就需要提高映射模型的泛化能力。

    映射域偏移问题示意图:

    零样本学习方法研究进展 :

    目前的零样本学习方法一般都沿袭了将输入和输出映射到子空间的思路,在这一思路下的零样本学习方法可以分为两类:“相容性模型” (主要是DAP 模型)和 “混合模型”(主要是IAP 模型)。

    • (1)相容性模型结构示意图(主要是DAP 模型)

    相容性模型又分为线性相容性模型和非线性相容性模型。 非线性相容性模型使用非线性相容函数,与线性相容性模型相比具有着更强的表达能力;因此, 目前的零样本学习研究中,非线性相容性模型在相容性模型中占据主流地位。

    • 线性相容性模型分类示意图 :

    线性相容性模型与非线性相容性模型的主要区别在于 F(θ(x),ϕ(y),w) 是否为线性函数。 在线性相容性模型中,相容性函数定义为:

    线性相容性零样本学习模型:分别是深度语义嵌入模型、属性标签嵌 入模型、属性描述替换模型、文本描述替换模型、多视图零样本学习模型和细粒度数据视觉描述的深度表示模型。

    • 深度语义嵌入模型:

    • 属性标签嵌 入模型:

    •  属性描述替换模型:

    • 文本描述替换模型:

    • 多视图零样本学习模型:

    • 细粒度数据视觉描述的深度表示模型:

    • 非线性相容性模型分类示意图 :

     顾名思义,非线性相容性模型的相容性函数是非线性的, 一般来说有两种常见形式:(1)距离函数形式 (2)概率形式。我们将介绍 7 种典型非线性相容性模型:语义自编码器模型、语义嵌入一致 性度量模型、联合隐变量相似嵌入模型、隐嵌 入模型、反向深度嵌入模型、基于文本描述的 深度零样本卷积神经网络和基于随机森林的零 样本学习模型。 

    • 语义自编码器模型

    • 语义嵌入一致 性度量模型

    • 联合隐变量相似嵌入模型

    • 隐嵌 入模型

    • 反向深度嵌入模型

    • 基于文本描述的深度零样本卷积神经网络

    • 基于随机森林的零 样本学习模型

    • (2)混合模型结构示意图(主要是IAP 模型)

    利用训练类类标签所对应的特征子空间映射的混合组合来表示测试类输入样例在特征子空间中的映射,进而判断输入样例的映射与测试类类标签映射之间的相似性,得到输入样例类标签估计的模型,称为混合模型。简单来说:训练样例映射到特征子空间中,测试阶段过来一个测试样例同样方法可以映射到特征子空间中,且可以用其他已知样例的特征向量表示出来,比如熊猫 = 猫+熊,这样我们就可以预测输入的类别。

    混合模型分类示意图 : 

    •  语义凸组合模型 

    • 综合零样本学习模型 

    • 语义相似嵌入模型 

    • 高斯混合模型 

    • 结构预测模型 

    • 相关知识迁移模型

    • 属性回归类原型矫正模型 

    • 基于神经网络输出无监督学习应用的零样本学习

    • 辅助信息介绍 :

    辅助信息用于描述训练类和测试类, 并将训练类和测试类关联起来,使得训练类和测试类之间可以共享某些特征, 是成功实现零样本学习的关键,目前来说,有三种形式的辅助信息成功应用于零样本学习中,分别为:手工标注的属性、文本学习模型、 以及层次结。 

    • (1)手工标注的属性 (也称:基于属性的方法)

    属性特征向量表示形式为:a^{l} = \left \{ a_{1}^{l},a_{2}^{l},....,a_{M}^{l} \right \}l代表类标签索引值,,M为第 l个类标签中所有可能出现的属性个数;这种方法带来巨大的人力损耗。

    • (2)文本学习 (也称:基于词嵌入向量的方法)

    运用自然语言处理领域语义向量来表示,得到的特征表示为类标签单词在语义空间中的特征向量。目前,应用在零样 本学习中的自然语言处理工具共有三种:Bag-ofWords、Word2Vec和 GloVe。

    • (3)类层次结构关系 (也称:基于知识图的方法)

    WordNet 为包含100000 个英语单词的数据库, 可以提供大量的类层次结构关系, 可以使用多个相似性度量函数对各个类标签的相似度进行度量;层次结构信息在零样本学习中应用较少。

    零样本图像识别

    零样本图像识别通俗来讲,处理对象为图片的零样本学习。
    机器学习方法对比表:

    零样本图像学习技术结构图:

    其中,函数f是由训练数据集学习而来,用来完成 图像特征到嵌入空间的映射,函数一般选用最近邻算法或是其他更复杂的相似度计算方法,用来确定图像所属的类别标签 。目前根据在训练阶段是否使用未知类的无标记数据,可以将零样本学习分为两大类,分别是直推式零样本学习归纳式零样本学习。 

    •  直推式零样本学习:

    直推式零样本学习是指在训练阶段使用未知类的无标记数据,在训练阶段使用无标签未知类数据提高最终分类器对未知类的判别能力,如下图所示:一方面,利用未知类中的数据训练分类器可以提高在未知类上的泛化能 力;另一方面,未知类与已知类的数据相互结合用于学习,可以联合优化分类器 。 

    直推式零样本学习结构示意图如下: 

    • 归纳式零样本学习:

    归纳式零样本学习是指在分类器训练阶段只使用训练集数据学习函数 ,在测试阶段以并行方式对所有测试集数据进行类标签预测,预测过程相互独立,如下图所示:该方法也是目前零样本学习问题中应用最广泛的一种解决思路。 在归纳式零样本学习中最经典的方法就是 Lampert等人提出的直接预测模型(Direct Attribute Prediction, DAP)和间接预测模型(Indirect Attribute Prediction, IAP),前面已经介绍过,这里就不赘述啦。

     归纳式零样本学习结构示意图:

     工程应用 :

    (1)图像处理领域:

    • 人类姿态识别模型(可以精确地识别图片中人类的姿态)
    • 种不依赖于局部 和低维特征的指纹识别方法(实现在低廉的商用设 备上就能达到高精度的识别效果)
    • 基于零样本学习的语义输出编码分类器(对fMRI图像进行解码分析,做到了对从未见过的图像的预测功能)
    • Zero-shot Hashing算法(实现较以往哈希算法更优越的图像检索性能,同时规避了 高昂的人工标签成本)

    (2)视频处理领域:

    • 基于属性的零样本学习将属性特征运用在人类行为识别上
    • 了一种学 习潜在属性的模型(解决了稀疏标签群体社会活动理解中的 属性学习问题)
    • objects2action 模型(利用零样本学习实现在视频中动作的时空定位)
    • 辅助图像传输编码(解决了基于深度特征编码的 大规模视频情绪识别中对未知情绪的识别问题)

    (3)自然语言处理领域:

    • 多语种的神经机器翻译(NMT)模型(提升了在训练源数据不充足时的翻译质量)
    • 一种简单的零样本学习方法解决了预测一个文档的多个以前从未出现过的可能标签的问题

    关键技术:

    处理零样本学习问题中使用的普遍的步骤为:(1)提取视觉特征构建视觉空间; (2)提取语义特征构建语义空间;(3)实现视觉空间 与语义空间之间的映射构建嵌入空间。 

    • 视觉特征:(一般包括颜色、纹理、 形状等信息)

    (1)传统方法(只能提取图像的低级特征):

    •  描述颜色信息   {HSV、 Lab、HIS等颜色模型和HOG特征}
    • 描 述纹理信息   {灰度共生矩阵、Tamura特征、自回归模型和LBP算子}
    • 描述形状信息  {Hough变换、傅里叶形状描述符、SIFT、 SURF、Haar等特征 }

    (2)基于深度学习方法(可以提取图像的高级特征):

    tip:在零样本图像识别任务中,一般使用基于深度学习方法提取特征效果较好。

    零样本学习中使用较为广泛主要有(1)VGG(2)GoogleNet(3)ResNet

    零样本学习中深度卷积神经网络使用情况统计表:

    • 语义特征(类别的特征表示):

    语义特征提取的目的在于构建语义向量,它必须同时具有足够的语义性和较强的判断性。两者相 互矛盾,语义性强要求语义向量能够包含更多对象 的细节信息,其中包含了与分类任务不相关的信息,如动物的习性、人类的习惯、场景的描述等; 而判断性强则要求语义向量更应该关注最能区分不同对象类别的信息。如何平衡两者之间的权重,强 化零样本学习的泛化能力也是目前零样本学习领域的研究重点之一。

    零样本学习中主要的语义特征提取方法分为(1)基于属性(2)基于词嵌入向量(3)基于知识图;其中这3中属性前面已经介绍过了,这里同样不在赘述了。

    • 视觉---语义映射 :

    视觉-语义映射是解决零样本学习问题必不可少的基石,是图像特征与语义向量之间的连接的枢纽。一旦建立好视觉-语义映射,便可以计算任意未知类数据和未知类原型之间的相似度,并基于该相似度对未知类进行分类。

    构建视觉-语义映射主要有3种方式:

    (1)正向映射

    在视觉端构建,将图片特征映射到语义向量空间, 并在语义向量空间进行未知类识别。(通俗来讲:就是将图片特征映射成语义向量的形式

    (2)反向映射

    在语义端构建,将语义向量映射到图片特征空间,并在图片特征空间进行未知类识别。(通俗来讲:就是将语义向量映射成图片特征的形式

    (3)公共 映射

    该方式为零样本学习的主流映射方式;在公共端构建,将图片特征和语义向量映射到公共空间,比如嵌入空间,并在公共空间内完成识别任务。

     3种视觉-语义映射示意图:

    零样本学习领域常用数据集:

    它们分别是(1)AwA(2)CUB(3)aPY(4)SUN(5)Flower (6)Dogs(7)ImageNet。其中前6个数据集为小规模数据集,最后一个为大规模数据集。

    传统零样本学习VS泛化零样本学习 :

    • 传统零样本学习(conventional Zero-Shot Learning, cZSL)是指在实验阶段仅使用已知类训练模型,仅使用未知类测试模型。
    • 泛化零样本学习 (generalized Zero-Shot Learning, gZSL)是指在实验阶段仅使用已知类训练模型,则不再将测试数据强制认定为仅来自未知类,而是对测试数据的来源做更松弛化的假设(测试数据可以来自于所有类别中的任意对象类)。

    注意:上面两项与直推式零样本学习/归纳式零样本学习的区别与联系。

    一个切实有用的零样本学习系统应该既能精确地识别已知类,又能准确地区分未知类。它不但可以区分待识别对象是来自于已知类还是未知类,也可以识别待识别对象属于已知类或未知类中的哪种 物体。但是由于传统零样本学习的测试阶段设置过 于严苛,不能真实反映现实世界中物体识别的情 景,为了更好地评价零样本学习模型在实际情况中 的性能,泛化零样本学习必不可少。

     零样本学习性能比较(%):

    传统零样本学习性能比较选取两个量化指标对模型性能进行分析,其中SS表示数据集在标准分割规则下得到的识别精度,PS表示数据集在新提出的分割规则下得到的识别精度:(1)早期基于浅层图像特征的模型性能普遍较低,当使用深度卷积神经网络提取图像的深度特征后,性能大幅度提升。(2)零样本学习对于粗粒度数据集的性能要优于细粒度数据集,在表中表现为各个模型在AwA数据集上的性能均大于在CUB和 SUN数据集上的性能。

    泛化零样本学习性能比较选取3个量化指标对模型性能进行分析,其中U->T表示假设测试数据来自于未知类,但在所有对象类中进行识别, S->T表示假设测试数据来自于已知类,但在所有对象类中进行识别, H表示调和平均数。从对比结果可以发现:(1)大多数模型在泛化零样本学习设置下的性能指标都不理想,这说明了传统的零样本学习设置存在一定程度的缺陷,未能较真实地契合现实世界的分类情况;(2)QFSL模型在泛化能力上要明显好于其他模型,由于该模型属于直推式零样本学习模型,所以从侧面说明了只依靠已知类数据构建的 算法缺乏泛化能力。

    展开全文
  • 对抗样本

    2018-11-03 10:44:10
     对抗样本指的是一个经过微小调整就可以让机器学习算法输出错误结果的输入样本。在图像识别中,可以理解为原来被一个卷积神经网络(CNN)分类为一个类(比如“熊猫”)的图片,经过非常细微甚至人眼无法察觉的改动...

    聪明汉斯的故事

     

    在二十世纪初的德国,有一匹名叫汉斯的马非常有名。在主人威廉•冯•奥斯滕的训练下,聪明的汉斯经过了一段时间的训练,掌握了简单的数学运算。当奥斯滕问汉斯“一加一等于几”的时候,它会用蹄子在地上“嗒,嗒,嗒”的敲出答案。围观的群众看到汉斯能够正确的回答各种数学题,都感到惊讶和神奇。

     

     

    同时,人们也疑惑,汉斯是否真的通过训练学会了过去人们认为动物做不到的事情。在一系列的调查中,人们发现,如果在提问汉斯时,提问者并不知道问题的答案,或者马看不到提问者,汉斯就无法正确回答。

     原来汉斯并不是根据主人的问题来决定要敲多少下蹄子,而是通过观察提问者和现场观众的细微线索,比如身体姿势,面部表情等,来决定什么时候停止敲蹄子。汉斯没有学会如何做数学运算,它只是善于观察。

    在感知认知心理学和社会心理学等领域,做实验的时候都是做双盲实验,以此控制这种“聪明汉斯效应”。而聪明汉斯的故事对机器学习领域也有启发作用。

    训练汉斯做数学题就像是机器学习中训练一个模型。奥斯滕不断的训练相当于提供了训练集,他真的以为自己在教汉斯数学。其实汉斯学会的是如何在观察到对应的细微反应和动作时停止敲蹄子。但是汉斯这种依赖提示而不是问题本身的能力缺少泛化性,于是在人们故意将提示藏起来的测试集上,汉斯失败了。虽然,在通常情况,汉斯对有观众的测试集有较好的泛化性。

    对于现在的机器学习算法,某种程度也是这种情况。模型能够学得训练集的特征,这些过为线性(之后解释)的特征甚至对与训练集同分布的测试集有很好的泛化性。但是如果测试样本的分布发生了偏移,一个有恶意的敌人故意生成这种样本尝试去欺骗模型,这些模型是很脆弱的。

    对抗样本

    什么是对抗样本

    从2013年开始,深度学习模型在多种应用上已经能达到甚至超过人类水平,比如人脸识别,物体识别,手写文字识别等等。 在之前,机器在这些项目的准确率很低,如果机器识别出错了,没人会觉得奇怪。但是现在,深度学习算法的效果好了起来,去研究算法犯的那些不寻常的错误变得有价值起来。其中一种错误叫对抗样本(adversarial examples)。

     对抗样本指的是一个经过微小调整就可以让机器学习算法输出错误结果的输入样本。在图像识别中,可以理解为原来被一个卷积神经网络(CNN)分类为一个类(比如“熊猫”)的图片,经过非常细微甚至人眼无法察觉的改动后,突然被误分成另一个类(比如“长臂猿”)。

     

    Figure2 图片来源

     

    多方研究者的工作表明,我们可以对任意图像,加上一点细微的,无法察觉的噪声,从而使其被分类为任意的标签。更甚者,不少的对抗样本对不同的卷积网络有泛化性,可以同时欺骗不同结构的模型。在现实生活中,经过相机拍照,在不同光照环境拍摄角度的情况下,经过打印,对抗样本人会被错误分类。

    这说明对抗样本出现,不是因为这些图片有着一些脆弱的特点,或者模型对某些属性的过拟合造成的。我们不应该把对抗样本想象成孤立的outliers,可能理解成它们来自对抗样本子空间更为准确。

     

     如何产生对抗样本 

     

    在讨论为什么对抗样本攻击可行和为什么这些卷积网络容易被欺骗前,先来介绍一下对抗样本是如何产生的。 

    先稍微扯开话题一下,谈谈如何理解深度学习能成,假设有个训练好的用于做物体识别的CNN,怎么去理解这个CNN的工作机制。IanGoodfellow提到在Google一位同事之前做的一个可视化实验。这位同事Christian当时在尝试理解CNN原理时,他想到或许可以用一张图片比如说一艘船,然后逐渐地将这张图片转化成一张能被CNN识别为飞机的图片。 

    基于人脑的理解,我们可能会觉得这张图片的背景会变蓝,或者图片中的船长出了飞机的机翼。从而就能认为CNN利用蓝天或者机翼作为特征来辨认飞机的。但事实完全不是这么回事。

     

    Figure3 图片来源

     

    图中分别是船,小车,猫还有吉普按照从左到右从上到下通过梯度下降和反向传播逐渐向飞机转变的过程,最后一张图片已经被CNN以高概率认为是飞机了。但除了猫的脸颜色变得有点蓝,所有图片几乎发现不出任何变化。

     

     发现了吗,梯度下降和反向传播(见补充内容)没有把原图像变成一架飞机,而是找到能够欺骗CNN的图像,找到了对抗样本。

     

    原本在训练分类器CNN的时候,是保持输入图像不变,通过反向传播更新模型参数来提高对目标标签的分数。而现在要得到对抗样本,只需要保持模型的参数不变,对图片的每个像素值计算梯度并更新。

    那么问题来了,调整了图片的像素值后,模型输出的结果会发生什么变化?

    我们通过反向传播计算量梯度,更新了图像的像素值,最终结果一样是目标标签的分数提高了。也就是说,用一张船的图片,只要往以标签为飞机的梯度方向更新图像,这只会稍微改变图像,但CNN将其分类为飞机的概率显著提高了。

     

     为什么对抗样本会发生

    我先直接说现在业界共识吧。对抗样本不是过拟合的结果,而是因为输入特征维度过高和模型的线性性质导致的。

    首先,如果是过拟合。复杂的CNN过拟合了训练集,而测试集的分布是未知的,模型必然会出现一些随机性的错误。

    举个具体的例子方便理解过拟合,图中绿色的圈圈和蓝色的叉叉是训练集中两类。我们有一个过于分类器能非常容易的拟合训练集。绿色的块块就代表分类器认为类是圈圈的范围,蓝色的块块代表分类器认为类是叉叉的范围。可以看到分类器能正确将训练集分类。但是因为分类器过于复杂,用来表示训练集特征空间的参数过多,分类器对没有训练集的特征空间也进行分类,随机的赋予了绿色或蓝色的块块。而就在这些空间中存在着对抗样本,红色的本该是叉叉被误认为是圈圈,红色的本该是圈圈的被误认为是叉叉。

     

     

    如果真的是过拟合的话,每个对抗样本的出现应该算是运气不好,并且每个对抗样本某种程度上是独特的。如果我们用不同的模型重新拟合时,应该会看到模型在训练集之外犯不同的错误。但实际上,研究人员发现许多不同的模型对同一个对抗样本会犯同样的错误,如果将一个对抗样本和原图像相减得到在图像空间上的方向向量,用来加上其他任一个图像,几乎都会被误分类。所以不是过拟合。

     其实,合理的解释是欠拟合,由于输入空间维度过高,模型过于线性的结果。

    再举个例子理解欠拟合,对于一个类似的训练集,我们用一个简单的线性模型去拟合,得到的超平面也完美的分割了训练集,但是这个超平面没有掌握训练集真正的结果,圈圈的分布明显是一个弧形,沿着弧线继续采样圈圈,却发现越过了超平面被误分;类似的叉叉的分布也容易越过超平面被误分。

     

     

     

    线性模型的问题在于,对于距离决策层越远的地方,如上图的左下角和右上角部分,即使没有训练集数据出现,模型也会认为有相应的很高的概率。而线性模型在在没有训练集出现的地方做出的预测通常是有问题的,这一点也是由线性模型的特点导致的:不管这个特征或其他特征的值的大小,每个特征都有相同的偏斜率。那么当一个数据点沿着一个固定方向,在训练集中移动,当移出到训练集分布之外的地方时,模型输出的变化方向也是不变的。

     

    下图是在CIFAR-10数据集上做的一个实验,可以比较好的理解模型的线性和跨越决策层。使用的攻击方法是FGSM(Fast Gradient Sign Method),不以梯度直接作为扰动,而是对梯度去符号,并用一个epsilon控制大小。 扰动公式:。

     

     

    Figure 6 图片来源:DWarde-Farley, I Goodfellow - Perturbations, Optimization, and Statistics,2016

     

    图中右边10x10的网格,每一个块描述了CIFAR-10测试集数据被分类的决策层位置。左边的图示意了每个块内部的意思,块中心表示原图像,没经过修改,往左右移动相当于对图片在FGSM攻击方向修改,上下移动代表对图像进行垂直于FGSM方向的修改。块中白色的区域表示图像被正确分类,其他颜色表示分类错误。可以明显看到,几乎所有块的左半边都被正确分类,而右半边被错误分类,而且分割线是几乎线性的。也就是说FGSM确定的方向能有效的得到对抗样本,而且对抗样本应该是存在于线性的子空间中的。打个比方就是,对抗样本和正常样本之间的关系,不像实数和无理数之间的关系,好像每个正常样本边上都能找到对抗样本,而更像是存在与区间中,在这个区间中都是对抗样本。 

    进一步来说,在高维空间,每个像素值只需要非常小的改变,这些改变会通过和线性模型的参数进行点乘累计造成很明显的变化。而图片通常都有极高的维度,所以不需要担心维度不够。也就是说,只要方向正确,图像只要迈一小步,而在特征空间上是一大步,就能大程度的跨越决策层。 

    那么,很多人会有疑问,深度学习模型也是以为太线性了?深度学习的精髓不就是那些非线性激活函数吗,如果没有非线性的激活函数,再深再多层的网络和一个单层的线性模型也什么区别,也就不可能这么有效果而被广泛使用了。

     

     

    Figure7图片

     

    再看一眼这些激活函数或许能明白,它们都是非线性函数,但却都一定程度上是线性的,比如现在最流行的relu,有一半是线性的,再回想以前流行的sigmoid函数或者tanh函数,都是希望输入值落在中间接近线性的部分而不是两边斜率接近0的部分,防止梯度消失。这也是为什么relu能取代之前sigmoid的原因,更稳定快速的训练。

     

    其实仔细一想可以明白,深度模型本实确实是一个非常非线性的模型,但是模型能的组成部分都是线性的,全连接网络的矩阵乘法是线性的,卷积网络的卷积计算也是计算点乘,线性的,还有序列模型用到LSTM用的是最简单的加法,更是线性的。

    注意,我们可以说深度学习模型从输入到输出的映射是线性的,但是从模型的参数到输出的映射不是线性的,因为每层的参数,权重矩阵是相乘得到的,这也是深度学习模型不好训练的原因之一,参数和输出的非线性关系。所以针对优化输入的优化问题要比针对模型参数的优化问题要容易得多。

     

    对抗样本的可移植性

    对抗样本的发现给深度学习敲响了警钟,提醒人们要思考深度学习的安全性和可靠性。研究者已经尝试过多种利用对抗样本的攻击,并发现可行。比如通过相似模型训练出的对抗样本,可以让亚马逊或谷歌服务器提供的图像识别服务出错,一张对抗样本经过拍照,在由手机上的图像分类对照片进行分类也会出错,而且产生这个对抗样本的模型和手机上使用的模型是不同的。

     

     

    Figure8 图片来源

     

    除了主流的针对基于CNN分类器的对抗样本攻击,研究的方向还涉及了其他的深度学习领域。如在自编码器和生成模型上的攻击,在循环神经网络上的攻击,深度强化学习上的攻击,在语义切割和物体检测上的攻击等。(Threat of Adversarial Attacks on Deep Learning in Computer Vision: ASurvey)

     

    对抗样本防御

    正所谓道高一尺魔高一丈,目前找到对抗样本比设计一个能防御对抗样本的模型要容易得多。下面我们来看几种防御的尝试,并讨论一下为什么防御这么难。

    对抗训练

    对抗训练是防御对抗样本攻击的一种方法。将对抗样本和正常样本一起训练是一种有效的正则化,可以提高模型的准确度,同时也能有效降低对抗样本的攻击成功率。不过这种防御也只是针对同样用来产生训练集中的对抗样本的方法。

    确实在下图中可以看到,训练集是正常样本和对抗样本,测试集是正常样本的红线比训练集和测试集都是正常样本的错误率要降低,说明对抗训练是有正则化的功能。

     

     

    Figure 9 图片来源

     

    在训练的时候直接生成对抗样本是比较低效的,之前提到的FGSM是一个高效的对抗训练方法。只需要改变目标函数就能在训练每个正常样本的同时也考虑了对抗样本。模型训练去给对抗样本赋予和正常样本原分类同样的类别。

    用经过FGSM训练的网络,可以有效的防御用FGSM产生的对抗样本攻击,但是如果换其他对抗攻击方法,也会被攻破。

    defensive distillation

    蒸馏是最先由Hinton提出的,通过训练一个模型来预测另一个训练好的模型输出的概率的训练过程。防御性蒸馏只是想让最终模型输出结果更柔和一点。虽然这里的前后两个模型结构相同,第一个模型训练的是硬标签(比如狗的概率是1,猫的概率是0),而第二个模型训练的是软标签(狗0.85,猫0.15),这样后面的这个蒸馏模型对FGSM攻击更具鲁棒性。

    隐藏梯度

    构造对抗样本的方法一般都是用到模型的梯度,比如想要模型把飞机误认为是船,只需要将飞机的图片往提高分类为船的概率的方向推一把就行。那是不是只要把模型的梯度藏起来,攻击者就往哪个方向推这个飞机了?设想用GoogleAPI得到对飞机的分类结果是99.9%飞机,0.01%的船,那么攻击者就知道,这个飞机的图片比较容易被误分为船,相当于知道了梯度的方向,只需要在自己的模型上往船的方向生成对抗样本就行了。把分类结果改成“飞机”,不给其他可能的类别就能让模型更鲁棒了呢。很遗憾,只要攻击者自己训练一个能输出各类概率的模型,用这个模型生成的对抗样本通常能攻击成功,这也叫黑盒攻击。

    其他防御方法还有,对测试样本加入随机噪声,尝试通过autoencoder消除扰动,甚至集成学习,但总的来说,这些基于正则化的尝试最终都被证明没能完全防御。就有点像打地鼠游戏,填了一个坑,地鼠会从其他坑冒出来。

    对抗样本之所以难以防御是因为很难去对对抗样本的生成过程建立一个理论模型。生成对抗样本的优化问题是非线性而且非凸的,我们没有掌握一个好的工具去描述这种复杂的优化问题的解,也就很难去想出理论上能解决对抗样本的方法了。从另一个角度,现在的机器学习算法有效的范围只在一个相对小的样本空间中,对比于巨大的样本空间全局,很难要求机器学习算法对空间中每个样本都输出好的结果。

    展望与总结

    最后我们来展望一下,如果解决了对抗样本的问题未来有什么潜力。有很多问题其实深度学习有希望解决的,试想我们要设计一个高性能跑车,可以用一个神经网络来对一个跑车设计图打分,评价这个车能跑的多快。然后根据让设计图产生跑的最快的跑车的优化方向更新图纸,就可以找到跑的最快的跑车。当然,实际上我们找到的是对抗样本,只是模型以为这车跑得快而已。

     

     

    Figure 10图片来源

     

    如果解决了对抗样本,就可以定义一个描述一个我们想要但还不存在东西的函数,然后通过梯度下降和神经网络来帮我们实现它。可以用来设计新的基因,给药物设计新的分子结构,甚至设计性能更好的GPU芯片。 

    本片文章介绍了对抗样本是什么,怎么产生对抗样本,详细讨论对抗样本发生的原因,并介绍了几种防御对抗样本的方法。 

    补充内容

    梯度下降

    想要最小化一个目标函数/损失函数时,对求导,然后按照更新,知道收敛。对于高维特征,分别对每个维度的特征求偏导,这些偏导组成的向量就叫梯度。梯度下降得到的结果是局部最优解。

     

     

     

    想象自己身处于充满迷雾深山中,你想要走到山底。因为四周都是迷雾,唯一的办法就是往下坡坡度最陡的方向一步一步走。最终必然能走到最低点。 

    反向传播

    针对深度神经网络,根据求导的链式法则从后向前更新模型参数。

     我还对Ian Goodfellow的一些演讲,分享视频做了笔记。

    链接(https://blog.csdn.net/nemoyy/article/details/81052274)

     

    参考文献 

    网络视频

    [1] IanGoodfellow PhD DefensePresentation.

    [2] On Deep Learning with IanGoodfellow, Andrew Trask, Kelvin Lwin, Siraj Raval and the Udacity Team.

    [3] Heroes of Deep Learning:Andrew Ng interviews Ian Goodfellow.

    [4] Lecture 16 |Adversarial Examples and Adversarial Training.

     技术博客

    [1] 一文详解深度神经网络中的对抗样本与学习.

    [2] Attacking MachineLearning with Adversarial Examples.

    [3] Breaking LinearClassifiers on ImageNet.

    [4] Adversarialexamples in deep learning.

    [5] cleverhans-blog.

    [6] KnowYour Adversary: Understanding Adversarial Examples (Part 1/2).

    [7] TheModeler Strikes Back: Defense Strategies Against Adversarial Attacks (Part2/2).

    ---------------------

    作者:nemoyy

    来源:CSDN

    原文:https://blog.csdn.net/nemoyy/article/details/81052301

    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • AB实验样本量确定

    千次阅读 2020-01-11 18:59:13
    Z检验样本量确定2.1 统计功效公式推导2.2 样本量计算公式2.3 求解样本量3. 卡方检验样本量确定3.1 求解样本量4. 简要总结Reference 在数据分析过程中,一个完整的闭环是从数据中得到洞察,根据洞察得到某种假设,...
  • 样本学习

    千次阅读 2020-05-31 01:31:40
    然而这一切对于人类来说却不成问题,我们人类是具有快速从少量(单)样本中快速学习能力的。即使对于一个五六岁的孩子来说,他从没有见过 “熊猫”,父亲给他看了一次熊猫的图片后,孩子到了动物园也会认识到那个黑...
  • 对抗样本与对抗训练

    万次阅读 多人点赞 2016-12-07 11:03:28
    本文将会介绍对抗样本与对抗训练的相关知识(请将此对抗训练与Ian Goodfellow的生成对抗网络区别开来)。综合Ian Goodfelow在Burkeley CS 294-131的deeplearning topic上面的讲义,我将从以下几个方面介绍: 什么是...
  • 在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如 K 最近邻(KNN)和 K 均值(K-Means)等等。根据数据...
  • 对抗样本入门详解

    千次阅读 2020-03-29 23:15:49
    对抗样本基本原理
  • 样本估计总体

    千次阅读 2019-07-04 09:59:07
    总体、个体、样本 总体是在进行统计分析时,研究对象的全部; 个体是组成总体的每个研究对象; 样本是从总体X中按一定的规则抽出的个体的全部,用X1,X2,…,XnX_1,X_2,…,X_nX1​,X2​,…,Xn​表示; 样本中...
  • ➢Part One.生成对抗网络GAN ➢一、GAN网络产生的背景 ➢1....• 生成方法通过观测数据,学习样本与标签的联合概率分布P(X,Y),训练好的模型,即生成模型,能够生成符合样本分布的新数据 • ...
  • 样本均值的抽样分布One of the most important concepts discussed in the context of inferential data analysis is the idea of sampling distributions. Understanding sampling distributions helps us better ...
  • 八种样本抽样方法介绍

    万次阅读 多人点赞 2019-10-16 09:24:15
    因此,有一个显著的风险,即最终得到一个不具代表性样本,它不会产生可推广的结果 例如,假设我们的人口由20个人组成。每个个体的编号从1到20,并由特定的颜色(红色、蓝色、绿色或黄色)表示。在概率抽样中,...
  • 即使得到分类模型,也容易产生过度依赖于有限的数据样本而导致过拟合的问题,当模型应用到新的数据上时,模型的准确和鲁棒将很差。 样本分布不平衡主要在于不同类别间的样本比例差异,以笔者的工作经验看,如果...
  • 样本学习研究综述

    千次阅读 2020-12-11 16:34:30
    样本学习方法分类基于模型微调的小样本学习方法基于数据增强的小样本学习基于无标签数据的方法基于数据合成的方法基于特征增强的方法基于迁移学习的小样本学习基于度量学习的方法基于元学习的方法基于图神经网络的...
  • 样本学习(one/few-shot learning)

    万次阅读 多人点赞 2019-04-03 19:42:14
    原文:...小样本学习 来源:我们人类是具有快速从少量(单)样本中快速学习能力的,其实在我们学习的过程中,人类的大脑将对象和类别组成有用的信息将之分类。 首先需要声明的是,小样...
  • 对抗样本&对抗训练

    万次阅读 2018-05-03 18:14:10
    原文本文将会介绍对抗样本与对抗训练的相关知识(请将此对抗训练与Ian Goodfellow的生成对抗网络区别开来)。综合Ian Goodfelow在Berkeley CS 294-131的deeplearning topic上面的讲义,我将从以下几个方面介绍:什么...
  • 本文主要介绍两个在目标检测中解决正负样本和easy,hard样本不平衡问题的方法,分别是发表在ICCV 2017上的Focal Loss for Dense Object Detection和AAAI 2019上的Gradient Harmonized Single-stage Detector。...
  • ENVI软件使用与样本采集

    万次阅读 2016-11-06 09:18:36
    本文主要介绍遥感图像处理平台ENVI以及基于ENVI的样本采集方法。 1.ENVI简介 ENVI——完整的遥感图像处理平台ENVI(The Environment for Visualizing Images)是美国Exelis Visual Information Solutions公司的旗舰...
  • 样本量确定(sample size determination),又称样本量估计(sample size estimation),是为满足统计的准确和可靠(I类错误的控制和检验效能...
  • 机器学习正负样本选择问题

    千次阅读 2018-09-02 22:43:12
    一、 ... 在机器学习模型构建的时候,我们往往会遇到数据样本正负比例极其不平衡的情况,例如在征信模型或者判断客户购买商品...样本不均衡会导致:对比例大的样本造成过拟合,也就是说预测偏向样本数较多的分类。这...
  • VisualStudio中自带有Profile工具进行性能性能分析,其中用得比较多的数据是函数调用时间,它主要有独占样本数和非独占样本数两个指标,关于这两个指标代表的意义,MSDN的解释比较文艺: 非独占样本数: 为函数...
  • 解决样本类别分布不均衡的问题

    千次阅读 2018-04-12 16:12:21
    3.4 解决样本类别分布不均衡的问题转载:http://www.dataivy.cn/blog/3-4-%E8%A7%A3%E5%86%B3%E6%A0%B7%E6%9C%AC%E7%B1%BB%E5%88%AB%E5%88%86%E5%B8%83%E4%B8%8D%E5%9D%87%E8%A1%A1%E7%9A%84%E9%97%AE%E9%A2%98/说明...
  • 样本数据集不平衡处理方式

    千次阅读 2020-10-14 15:44:54
    原始数据中经常存在正负样本不均衡,比如正负样本的数据比例为100:1. 常用的解决办法有: 1、数据上处理 2、权重设置 3、集成的思想 4、转化成异常检测问题 5、利用深度学习:自编码器. 6、确定适合样本不...
  • 十六、比较两个样本 原文:Comparing Two Samples 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 最近邻分类方法的动机是这样的,个体可能像最近的邻居。 从另一个角度来看,我们可以说一个...
  • 除此之外,一个典型的问题就是 Accuracy Paradox,这个问题的是模型的对样本预测的准确率很高,但是模型的泛化能力差。 2、针对样本的不平衡问题,有以下几种常见的解决思路 ①搜集更多的数据 搜集更多的数据...
  • 深度学习与对抗样本

    千次阅读 2019-08-15 16:57:20
    非凸性是 这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样。   2.3 神经网络中包含语义信息的部分并不是在每个独立的神经元,而是整个空间  2.4 神经网络学习到的从输入...
  • 多业务数据源冲突是来自多个或具有相同业务逻辑但结果不同的系统,环境,平台和工具的数据。根据冲突的不同特征。 一般数据冲突类型: 数据类型:同字段数据的格式不同。例如注册日期的字段包含字符串。 数据结构...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,365
精华内容 14,146
关键字:

具有代表性的样本指的是