ai 大数据模型(从深度生成模型到对抗样本与差分隐私)
机器之心报道
昨天 Yoshua Bengio 在AIWTB大会解读深度生成模型,其希望让机器具备无监督学习能力
人工智能研究的最大难题之一是无监督学习(unsupervised learning)。当前在应用上成功的深度学习严重依赖于监督学习,即需要人类来分类数据和定义我们希望计算机了解的高层面的抽象。但是,人类即使没有老师告诉它有关世界的任何东西也能发现有关世界的很多方面,计算机要想获得这种自动学习理解世界的能力还需要进一步的发展。面向无监督学习的深度学习方法以学习表征(learning representation)问题为核心,不同的算法都会定义一个目标函数,该目标函数可以让该学习器获取到其数据表征的重要关键方面以及一个可以表征数据的新空间。深度生成模型可以通过生成全新的样本来演示其对于数据的理解,尽管这些生成的样本非常类似于那些训练样本。许多这样的模型都和之前的自编码器的思想有关,其有一个编码器函数将数据映射到表征,还有一个解码器函数(或生成器)将该抽象的表征映射到原始数据空间。本演讲将特别关注生成对抗网络(GAN),其质疑了当前已有的基于最大似然和概率函数估计的方法,并将我们带入了博弈论的领域,为我们提供了比较不同分布的全新方法以及非常出色的图像生成。
演讲主题:深度生成模型。在这张幻灯片上,我们可以看到 Bengio 任职的多个机构,包括蒙特利尔学习算法研究所(MILA)、蒙特利尔大学、加拿大高等研究院(CIFAR)、IVADO。右下角可以看到他与另外两位学界领军人物 Ian Goodfellow 和 Aaron Courville 合著的新书《Deep Learning》,目前该书的中文印前版已经出炉并和英文版一样开放了下载,可参阅文章《资源 |《Deep Learning》中文印前版开放下载,让我们向译者致敬》。
智能需要知识,所以机器若想智能,就需要学习。传统人工智能的失败在于很多知识是直觉式的,难以直接编程给计算机使用。我们的解决方案是使用机器学习来从数据和经历中获取知识。
过去几年,机器学习的进展让人惊叹,但人工智能还远不及人类智能的水平:
-
目前取得了工业应用成功的人工智能大都基于监督学习;
-
学习到的都是肤浅标签的线索,难以很好地泛化到训练环境之外,训练好的网络也很容易被欺骗(比如通过调整狗照片的像素,使其被误认为是一只鸵鸟)——通过选取简单的规则就能欺骗现在的模型;
-
仍然不能在多种时间尺度上发现高层面的特征。
人类在无监督学习上的表现优于机器
-
人类非常擅长无监督学习,比如,两岁小儿也知道直观的物理作用;
-
婴儿可以得到近似的但足够可靠的物理模型,它们是怎么做到这一点的?注意他们不仅仅是观察世界,而且还会与世界进行交互。
用分布式表征对抗维度灾难
-
为了解决维度灾难和很好地泛化到训练样本之外,深度学习利用了深度分布式表征
-
分布式表征和深度利用了组合性,具有极大的优势
隐藏单元能发现有意义的概念
分布式表征=高层抽象的集合
假设一个网络的隐藏单元需要发现以下特征:
-
人——带着眼镜
-
人——女性
-
人——小孩
那么它就需要获取非常大量的变量,其中高层面的特征对应于世界的不同方面。那么问题来了:我们如何将原始数据映射到这样一个空间,而无需预定义这些特征的含义?
不变性与 Disentangling
-
不变特征
-
哪些是不变的
-
备选:学会 disentangle 要素
-
好的 disentangling:避免维度的诅咒
学习多层次的表征
-
深度学习的一大好处是能够学习更高层次的抽象化。
-
更高层次的抽象化能够 disentangle 变化系数,从而能进行更简单的泛化与迁移。
自编码器
-
自编码器有很多变体,有不同的训练目标和概率解释;
-
代码 h 应该是输入 x 的一个更高层面的表征;
-
好的自编码会保留 x 中最重要的信息;
-
用重构误差来衡量信息的损失。
隐变量和抽象表征
-
编码器/解码器角度:低层和高层之间的映射;
-
编码器进行推理:在抽象层面解读数据;
-
解码器可以生成新的配置;
-
编码器可以展平和 disentangle 数据流形
表征之间的映射
-
x 和 y 表示不同的模态,比如图像、文本、声音
-
可以提供到新类别(y 的值)的 0-shot 泛化
生成模型
要演示一个学习器是否已经理解了数据分布,可以让它根据该分布生成一个新样本。比如上面这个使用 BEGAN 在一个人脸图像数据集上生成的新图像。我们可以怎么做呢?如右上图的示意,可以为该模型在参数之外输入额外的随机数,使其生成新样本。
可以说生成模型就是由无穷样本得出概率密度模型,再借用其得出预测。生成方法由数据学习联合概率分布 P(X,Y),然后求出条件概率分布 P(Y|X)=P(X,Y)/P(X) 作为预测的模型。这样的方法之所以成为生成方法,是因为模型表示了给定输入 X 产生输出 Y 的生成关系。用于随机生成的观察值建模,特别是在给定某些隐藏参数情况下。
Helmholtz 机和变分自编码器
而对于变分自编码器(Variational Autoencoder/VAE),其使得我们可以在概率图形模型(probabilistic graphical model)的框架下将这个问题形式化,在此框架下我们可以最大化数据的对数似然值的下界。
Yoshua Bengio 也表明现如今已经有许多类型的生成模型。他首先介绍了最早出现的玻尔兹曼机和受限玻尔兹曼机(Boltzmann machines & RBMs)。受限玻兹曼机不仅在降维、分类、协同过滤、特征学习和主题建模中得到应用,同时 Bengio 还表明在 2006 年深度学习最开始的进程中,RBM 也可以应用于第一阶段的深度神经网络。随后在 90 年代,出现了 Helmholtz 机和 sigmoid 信念网络。Bengio 还介绍了其他几种生成模型:降噪自编码器(Denoising auto-encoders)、变分自编码器(Variational auto-encoders)和自回归神经网络(如 RNN、 NADE、 pixelCNN 等)。当然最后少不了介绍一番生成对抗网络。
据 Bengio 介绍 GAN 是由两个彼此竞争的深度神经网络:生成器和判别器组成。为了理解生成对抗网络的基本原理,可以假定我们需要让 GAN 生成类似于训练集中的人脸图片。那么我们整个 GAN 的架构可能如下所示:
「生成器努力生成让辨别器认为是真的假图片。然后当一张图片输入时,辨别器会尽最大的努力试着辨别真的图片和生成的图片」
生成器和辨别器会共同进步直到辨别器无法辨别真实的和生成的图片。到了那时,生成式对抗网络只能以 0.5 的概率猜一下哪张是真实的哪张是生成的,因为生成器生成的人脸图片太逼真了。
GAN 论文是这样描述的:
生成模型可以被看作是一队伪造者,试图伪造货币,不被人发觉,然而辨别模型可被视作一队警察,努力监察假的货币。游戏当中的竞争使得这两队不断的改善方法,直到无法从真实的物品中辨别出伪造的。
因此在理想最优状态下,生成器将知道如何生成真实的人脸图片,辨别器也会知道人脸的组成部分。
随后 Bengio 还展示了生成对抗网络的早期数据样本:
GAN 本身也存在大量变体,可参阅机器之心文章《资源 | 生成对抗网络及其变体的论文汇总》。由于 CGAN 对于无监督学习和生成模型的巨大推动作用,Bengio 对卷积生成对抗网络也是做了一个概要介绍。
近年来,深度卷积神经网络(CNN)的监督学习在计算机视觉应用上发挥巨大的作用,然而 CNN 的无监督学习只受到较少的关注。因此,他又接着介绍了深度卷积生成对抗网络,该 DCGAN 具有一定的结构约束,并显示了其在无监督学习方向上强有力的潜力。他说通过在各种各样的图像数据集的训练,深度卷积对抗对(adversarial pair)从对象到场景在生成模型和判别模型上都能够学习到层级的表示。此外,在一些的新的任务上使用学习到的特征表明该网络在一般的图像表示上具有通用性。
GAN:在潜在空间中插值(Interpolating),如果模型是好的(展开了 manifold),在隐藏值间插值,就能产生貌似可信的图像。比如下图戴眼镜的男性图像减去男性图像加上女性图像就会得到戴眼镜的女性图像。
接下来 Bengio 又介绍了一篇提交到 CVPR 2017 的论文,该论文主要是介绍了一种通过在生成网络的潜在空间中进行梯度上升而合成高分辨率与逼真的图像。该论文及其地址如下:https://arxiv.org/abs/1612.00005
最后,Bengio 介绍了在训练生成对抗网络时所面对的一些挑战与困难:
训练时可能会产生模型不稳定或发散的情况
GAN 模型对超参数和训练的细节十分敏感
模式崩溃:几乎相似的图像生成太多次
模式缺失:有些数据子类型缺失
在监督学习中,如果没有在训练期提供潜在类别,那么其就很难处理这些类别
很难监控进程
对于模型质量没有一个可接受的定量度量
但 GAN 真的十分优秀
现在也已经提出了很多变体来解决这些问题,但还有更多的研究者正在努力解决它们
如想要了解更多,可查看 Goodfellow 在 NIPS 所做的教程
而正在前天,Goodfellow也在 AIWTB 做了对抗样本与差分隐私这样一个演讲
Ian Goodfellow 是谷歌大脑的一位研究科学家,是生成对抗网络(GAN)的提出者,也是《Deep Learning》的作者之一。他此次的演讲主题为《机器学习的隐私与安全(Machine learning privacy and security)》。
演讲主题:随着机器学习算法得到越来越广泛的使用,确保它们能够提供隐私和安全保证是很重要的。在这个演讲中,Ian Goodfellow 概述了一些对手可以用来攻击机器学习模型的方法,以及一些我们可以用来进行防御的措施,比如对抗训练(adversarial training)和差分隐私(differential privacy)。此次大会,AI With the Best 也邀请了 Nicolas Papernot、Patrick McDanel 和 Dawn Song 来对其中一些主题进行详细解读。
演讲内容介绍
前面介绍了,AI With the Best 线上大会分为两部分内容:在线演讲、在线对话。在这一部分,我们对 Ian Goodfellow 演讲的内容进行了梳理。
Goodfellow 的演讲主题为《机器学习的隐私与安全(Machine learning privacy and security)》,其中重点介绍了对抗样本和差分隐私。在对抗样本部分,他重点解读了在训练时间和测试时间对模型的干扰。在差分隐私部分,他介绍了差分隐私的定义和当前这一领域最先进的算法 PATE-G。
斯坦福的研究者做了一个很有意思的研究:首先用一种对人类而言看起来像是噪声的信号(实际上是经过精心设计的)「污染」训练集的图片,比如上图左侧中狗的照片,得到上图右侧的照片,对我们人类而言看起来还是狗。用原始训练集训练模型后,模型识别下图有 97.8% 的概率是「狗」;而用被「污染」过的图片和标签训练模型之后,模型会把下图显然的狗标记为「鱼」,置信度为 69.7%。这个研究表明我们可以通过影响训练集来干扰测试结果。
除了在训练时间对模型进行干扰,我们也可以在测试时间干扰模型。对于实际投入应用的机器学习模型来说,这个阶段的攻击更值得关注。比如说左边的熊猫照片,如果我们给它加上一点看起来像是噪声的信号,然后得到右边的图像——看起来仍然是熊猫;但对一个计算机视觉系统来说,它看起来却像是一个长臂猿。
这个过程中到底发生了什么?当然实际上,那个看起来像是噪声的信号并不是噪声,真正的噪声信号对神经网络的结果的影响不会有这么大。实际上这是经过精心计算的信号,目标就是诱导机器学习系统犯错。
为什么这个问题很重要呢?自 2013 年以来,深度神经网络已经在目标和人脸识别、破解验证码和阅读地址等任务上达到或接近了人类的水平,并且也实现了很多应用。通过上面提到的方法,我们可以影响这些系统的表现,使对抗样本具有潜在危险性。比如,攻击者可能会用贴纸或者一幅画做一个对抗式「停止」交通标志,将攻击对象瞄准自动驾驶汽车,这样,车辆就可能将这一「标志」解释为「放弃」或其他标识,进而引发危险。研究《Practical Black-Box Attacks against Deep Learning Systems using Adversarial Examples》讨论过这个问题。
让不同的物体被识别为「飞机」
现代深度网络是非常分段线性的
反应中的接近线性的响应
对抗样本不是噪声
让高斯噪声被识别为一架飞机
同样方向的干扰可以在许多输入上欺骗模型(后来被称为「通用对抗扰动」)
跨模型、跨数据集泛化
迁移策略
→带有未知权重的目标模型,机器学习算法、训练集;也许是不可微分的——(训练你自己的模型)→替代模型使用已知的可微分的函数来模拟目标模型——(对抗性的设计来对抗替代)→对抗样本——(部署对抗样本来对抗目标;迁移性导致它们的成功)→
对抗样本的实际应用
欺骗通过远程托管的 API(MetaMind、亚马逊、谷歌)训练的真实分类器
欺骗恶意软件检测器网络
在物理世界中展示对抗样本,通过一个相机欺骗机器学习系统相信它们
物理世界中的对抗样本
用于强化学习的对抗样本。伯克利、OpenAI 以及宾大联合发表的论文《Adversarial Attacks on Neural Network Policies》,内华达大学《Vulnerability of Deep Reinforcement Learning to Policy Induction Attacks》等研究表明强化学习智能体也能被对抗样本操控。研究表明,广为采用的强化学习算法(比如,DQN、TRPO 以及 A3C)都经不起对抗样本的捉弄。这些对抗样本输入会降低系统性能,即使扰乱微妙地让人类也难以察觉,智能体会在应该往上移动的时候却将球拍向下移动,或者在 Seaquest 中识别敌人的能力受到干扰。
失败的防御方法,其中包括生成式预训练、使用自动编码器移除干扰、纠错代码、权重衰减、多种非线性单元等等
在对抗样本上的训练
一匹叫做 Clever Hans 的马。刚出现的时候人们认为这匹马会做算术,但实际上它只是会阅读人的表情,当它点马蹄的次数接近正确答案时,人们的表情会更兴奋,它就知道该这个时候停止了。
OpenAI 开源的 cleverhans 项目,支持 TensorFlow 和 Theano;是对抗样本生成的标准实现,可用于对抗训练和再现基准。项目地址:https://github.com/openai/cleverhans
差分隐私
PATE:教师全体的私有聚合 (Private Aggregation of Teacher Ensembles)。该方法通过黑箱的方式组合多个由互斥数据集(如用户数据的不同子集)训练的模型。因为这些模型都依赖于敏感性数据,所以它们并不会发布,但是它们还是可以作为「学生」模型的「教师」。学生在所有教师间的投票中选择学习预测输出,其并不会直接访问单一的教师或基础参数与数据。学生的隐私属性可以直观地理解(因为没有单一的教师和单一的数据集决定学生的训练),正式地即依据不同隐私训练模型。即使攻击者不仅可以访问学生,还能检查内部运行工作,这一属性还将保持不变。与以前的研究相比,该方法对教师的训练只增加弱假设条件:其适应于所有模型,包括非凸模型(如深度神经网络)。由于隐私分析和半监督学习的改进,我们的模型在 MNIST 和 SVHN 上实现了最先进的隐私/效用(privacy/utility)权衡。
总结
,
现在机器学习已经有效了,让我们让它更稳健
对抗样本可以发生在训练时间,也可以出现在测试时间
对抗训练是一种人们偏爱的对对抗样本的防御方法
PATE-G 是一种高准确度的算法,带有差分隐私的保证
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com