机器之心编辑部编译

GAN用于无监督表征学习,效果依然惊人……

无所不能的 GAN 又攻占了一个山头。

近年来,GAN 在图像合成领域取得了惊人的成果,例如先前 DeepMind 提出的 BigGAN。近日,DeepMind 提出全新的 BigBiGAN,引起了社区极大的关注。

该论文提出的方法建立在 SOTA 模型 BigGAN 之上,通过对其表征学习和生成能力进行广泛评估,证明这些基于生成的模型在 ImageNet 数据集的无监督表征学习和无条件图像生成方面均实现了 SOTA 效果。

机器学习社区众多研究者认为这是一篇极为有趣的工作,如 GAN 之父 Ian Goodfellow 在 Twitter 上表示,在他们写最初的 GAN那篇论文时,合作者也在做类似于 BigGAN 的表征学习研究。5 年后终见这样的成果。

论文:Large Scale Adversarial Representation Learning

论文地址:https://arxiv.org/abs/1907.02544

用 GAN 来做表征学习真的能行?

其实在 GAN 的早期,它也是能用于无监督表征学习的,只不过后来自编码器等自监督学习有了更好的效果。在这篇论文中,研究者表示图像生成质量的提升能大幅度提升表征学习的性能。并且相比自编码器等关注「底层细节」的模型,GAN 通过判别器能捕捉语义层面的差异,从而显著提升效果。

研究者所采用的的 BigBiGAN 方法是在 SOTA 模型 BigGAN 上建立的,并通过添加编码器和修改判别器将该方法扩展到表征学习领域。作者展示了一系列图像重构效果,这些图像都不是像素级的完美重建,因为模型甚至都不会有目标函数强制拉近像素间的距离。

但是用 BigBiGAN 做表征学习,用来重建图像有个优势:它能直观地理解编码器所学到的特征。例如当输入图像有「狗」或「人」等目标时,重建图像通常都会包含该类别的目标,且它们的姿势状态也差不多。下面我们可以看看 BigBiGAN 的重建效果,体会用来做无监督表征学习的优势。

真实图片(第一行)和针对真实图片重建的图片(第二行)。

随机挑选的生成图片。

GAN 为什么能做表征学习

GAN 框架中的生成器是一个从随机采样的潜变量(也叫「噪声」)到生成数据之间的前馈映射,学习信号由一个判别器提供,该判别器被训练用于区分真实和生成的数据样本。

很多 GAN 的扩展都在增强编码器的能力,并且有些研究发现 BiGAN 的行为类似与自编码器,它会最大化降低图像重构成本。然而重构误差是由参数化的判别器决定的,而不是简单的像素级度量,这就要比自编码器好得多。因为判别器通常都是强大的神经网络,因此我们可以期待它引入的误差度量是「语义」层面的差异。

这对于表征学习非常重要,因为我们希望隐藏表征能学习到最具语义信息的特征,而不仅仅是底层细节上的特征。鉴于这一点,用 GAN 来进行表征学习就非常合理与了。

尽管对于下游任务来说,基于 BiGAN 或 ALI 框架学习的编码器在 ImageNet 上是一种有效的可视化表征学习方法。然而,这些模型用到了一个 DCGAN 风格的生成器,生成器无法在该数据集上生成高质量的图像,因此编码器所能建模的语义非常有限。在本文中,研究者利用 BigGAN 作为生成器重新探究了这一方法。BigGAN 似乎能够捕捉 ImageNet 图像中的诸多模式和结构。研究者表明,在 ImageNet 上,BigBiGAN(BiGAN+BigGAN 生成器)的无监督表征学习能力能够达到当前最佳性能。

BigBiGAN 模型

BiGAN 或 ALI 方法都是 GAN 的变体,用于学习一个编码器,用于推断模型或作为图像的表征。

虽然 BigBiGAN 的核心与 BiGAN 的方法相同,但研究者采用了来自 SOTA BigGAN 的生成器和判别器架构。除此之外,研究者发现,改进的判别器结构可以在不影响生成效果的前提下带来更好的表征学习结果(见图 1)。也就是说,除了 BiGAN 或 ALI 中提出的联合判别器(该判别器将数据和潜在判别器连接到一起),研究者还在学习目标中提出了额外的一元项(unary term)。

尽管 BiGAN 或 ALI 的相关研究证明,原始的 BiGAN 目标已经强制要求所学习的联合分布匹配到全局最优,但这些一元项通过显式地强制执行此属性,直观地指导优化朝着「正确的方向」进行。例如,在图像生成任务中,一元损失项匹配原始的 GAN 目标,并提供了一个学习信号,该信号仅引导生成器与潜在输入无关的图像分布进行匹配。

图 1:BigBiGAN 框架的结构。

实验

研究者在未标注的 ImageNet 数据集上训练 BigBiGAN,冻结学到的表征,然后在输出中训练线性分类器,使用所有的训练集标签进行全监督。他们还衡量了图像生成性能,并以初始分数(IS)和 Fréchet 初始距离(FID)作为标准度量。

训练和数据集

研究者使用了和 BigGAN 相同的优化器——Adam,批大小为 2048,学习率和其他超参数也和 BigGAN 相同。在训练时,研究者对输入图像使用了 ResNet 风格的数据增强方法,但裁剪大小为 128 或 256,而非 224。

在表 1 的实验中,研究者随机采样了 10K 来自官方 ImageNet 训练集的图片,作为验证集,并报告准确率。这一数据集被称为「train_val」。表 1 实验运行了 500K 步,并基于 train_val 数据集上线性分类器准确率进行 early-stop。

在表 2 中,研究者将 BigBiGAN 的训练次数提升到 1M 步,并报告验证集在 50K 张图像上的准确率。分类器训练了 100K 步,使用 Adam 优化器学习率分别为 {10^−4, 3 · 10^−4, 10^−3, 3 · 10^−3, 10^−2}。

实验结果

研究人员将模型的最佳效果和最近的无监督学习结果进行了对比。

表 1:BigBiGAN 变体的性能结果,其中生成图像的初始分数(IS)和 Fréchet 初始距离(FID)、监督式 logistic 回归分类器 ImageNet top-1 准确率百分比(CIs)由编码器特征训练,并根据从训练集中随机采样的 10K 图像进行分割计算,研究者称之为「train-val」分割。

表 2:BigBiGAN 模型在官方验证集上与最近使用监督式 logistic 回归分类器的同类方法进行比较。

表 3:BigBiGAN 用于无监督(无条件的)生成 vs [24] 中的无监督 BigGAN 之前得出的结果。

入门BigBiGAN
3
相关数据
DeepMind机构

DeepMind是一家英国的人工智能公司。公司创建于2010年,最初名称是DeepMind科技(DeepMind Technologies Limited),在2014年被谷歌收购。在2010年由杰米斯·哈萨比斯,谢恩·列格和穆斯塔法·苏莱曼成立创业公司。继AlphaGo之后,Google DeepMind首席执行官杰米斯·哈萨比斯表示将研究用人工智能与人类玩其他游戏,例如即时战略游戏《星际争霸II》(StarCraft II)。深度AI如果能直接使用在其他各种不同领域,除了未来能玩不同的游戏外,例如自动驾驶、投资顾问、音乐评论、甚至司法判决等等目前需要人脑才能处理的工作,基本上也可以直接使用相同的神经网上去学而习得与人类相同的思考力。

Ian Goodfellow人物

Ian Goodfellow 是机器学习领域备受关注的年轻学者之一,他在本科与硕士就读于斯坦福大学,师从吴恩达,博士阶段则跟随蒙特利尔大学的著名学者Yoshua Bengio研究机器学习。Goodfellow 最引人注目的成就是在2014年6月提出了生成对抗网络(GAN)。这一技术近年来已成为机器学习界最火热的讨论话题,特别是在最近几个月里,与GAN有关的论文不断涌现。GAN已成为众多学者的研究方向。

线性分类器技术

机器学习通过使用对象的特征来识别它所属的类(或组)来进行统计分类。线性分类器通过基于特征的线性组合的值进行分类决策。 对象的特征也称为特征值,通常在称为特征向量的向量中呈现给机器。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

表征学习技术

在机器学习领域,表征学习(或特征学习)是一种将原始数据转换成为能够被机器学习有效开发的一种技术的集合。在特征学习算法出现之前,机器学习研究人员需要利用手动特征工程(manual feature learning)等技术从原始数据的领域知识(domain knowledge)建立特征,然后再部署相关的机器学习算法。虽然手动特征工程对于应用机器学习很有效,但它同时也是很困难、很昂贵、很耗时、并依赖于强大专业知识。特征学习弥补了这一点,它使得机器不仅能学习到数据的特征,并能利用这些特征来完成一个具体的任务。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

图像生成技术

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

自监督学习技术

一个例子中的内容特别多,而用一个例子做一个任务,就等于把其他的内容浪费了,因此我们需要从一个样本中找出多个任务。比如说遮挡图片的一个特定部分,用没遮挡部分来猜遮挡的部分是一个任务。那么通过遮挡不同的部分,就可以用一个样本完成不同任务。Yann Lecun描述的这个方法被业界称作「自监督学习」

推荐文章
暂无评论
暂无评论~