教程 | 萌物生成器:如何使用四种GAN制造猫图

选自WordPress

作者:Alexia Jolicoeur-Martineau

机器之心编译

参与:李泽南

生成对抗生成网络(GAN)被认为是近年来机器学习界的一大发现,在它的基础上开发各种新算法是很多科研人员努力的方向。近日,毕业于魁北克大学的 Alexia Jolicoeur-Martineau 开始尝试使用猫咪图片来训练不同的对抗生成网络,并把代码和结果公开。目前他已经测试了四种不同 GAN 的效果,Meow Generator 引起了众多学者的兴趣。有人打趣地评论道:由于网络中存在大量猫图,这种训练的数据集简直是最容易获得的。

项目 GitHub:https://github.com/AlexiaJM/Deep-learning-with-cats

我尝试使用几种对抗生成网络(GAN)来生成猫脸,其中包括 DCGAN、WGAN 和 WGAN-GP,以及低和高分辨率。训练模型则使用 CAT 数据集(是的,真的有这么个东西)。这一数据集包含 10000 余张猫的图片。在训练之前,我们必须让图片集中于正面猫脸,剔除数据集中其他方向的图片(作者是手动挑选的,这花了好几个小时...)。最后,用于训练的图片为 9304 张大于 64×64 像素的图片,以及 6445 张大于 128×128 的图片。

  • CAT 数据集链接:https://web.archive.org/web/20150703060412/http://137.189.35.203/WebUI/CatDatabase/catData.html

DCGAN

DCGAN 生成器在两到三个小时后就可以收敛出非常逼真的图像,只用了 209 个 epoch,但为了让收敛效果更佳,我们需要做适当的调整。你必须为鉴别器与生成器选择单独的学习速率,以避免它们有一方表现过于出色——这需要非常小心的平衡,不过一旦成功,你就会得到收敛。在 64×64 像素的图片中,鉴别器的最佳学习率是 0.00005,生成器的则是 0.0002。这样就不会出现模型崩溃,得到真正可爱的图片了!

高分辨率 DCGAN 和 SELU

初步尝试 DCGAN 生成 128×128 像素猫图的所有努力都失败了。但是,把批量规范化(batch normalization)的方法和 ReLU 用 SELU 代替问题就轻松地解决了,这让我可以缓慢(需要六个小时以上)但稳定地收敛和此前相同的学习速率。SELU 是自标准化的,因此不需要进行批量规范化。SELU 论文是在 2017 年 6 月 8 日出现的,目前还没有太多使用它的 GAN 研究,这种方法看起来可以大幅度提高 GAN 的稳定性。

在结果中我们可以看到,猫不像之前那么好看了,还会出现大量类似面孔的黑猫。这主要是因为样本大小为 N = 6445 而非原来的 N = 9304(这次实验只对大于 128×128 的图片进行了训练)。不过,其中的一些结果看起来质量很高,而且因为分辨率的提升,该结果仍可以被视为有意义。

  • SELU 论文《Self-Normalizing Neural Networks》链接:https://arxiv.org/abs/1706.02515

WGAN

WGAN 生成器收敛的速度非常慢(需要花费四五个小时,600 以上个 epoch),且只会在使用 64 个隐藏节点的情况下收敛。我无法让生成器在 128 个隐藏节点时收敛。使用 DCGAN 意味着必须进行大量学习速率的调整,但你可以快速看到是否收敛的结果(鉴别器损失为 0,或生成器损失为 0);但在 WGAN 里,你需要运行完大量 epoch 之后才能得到结果。

看起来,WGAN 的结果有些崩坏,很多猫的两只眼睛都呈现异色,只睁一只眼睛,有些还长着奇怪的鼻子。总体而言,这样的结果并不如 DCGAN,但考虑到 WGAN 的网络复杂性更低,这样的比较或许不太公平。另外,这些结果看起来也陷入了局部最佳的状态,总体而言,WGAN 令人失望。

WGAN-GP(一种改进版本的 WGAN,用正则化代替了权重裁剪)或许可以解决这些问题。在 Gulrajani 等人(2017)的一篇论文中,他们成功训练了 101 层的神经网络来生成图片!所以我怀疑训练一个有 5 层和 128 个隐藏节点的猫生成器还差得很远。Adam 优化器的一些特性也可以降低模型崩溃并陷入错误局部最佳陷阱的可能性。这些方法可能会帮助 WGAN,因为 DCGAN 和 WGAN-GP 都使用了 Adam。

WGAN-GP

WGAN-GP 生成器收敛的速度非常慢(超过 6 个小时),但它几乎已经帮你完成了所有设置。它是开箱即用的,无需任何调试。你也可以增加或减少学习速率,这不会造成太多问题。所以在这个任务中,WGAN-GP 赢得了我的青睐。

如下图所示,WGAN-GP 生成的猫图具有多样性,也没有明显的模型崩溃,这是与 WGAN 相比最大的提升。但另一方面,这些猫看起来十分粗糙,就像是用高分辨率的屏幕在看低分辨率的图片,我也不知道这是为什么。或许这是 Wasserstein 损失函数的特点?我认为使用不同的学习率和体系结构将可以提升一下性能。不过,这还需要进一步的尝试,肯定还有很大的潜力。

  • WGAN-GP 论文《Improved Training of Wasserstein GANs》链接:https://arxiv.org/abs/1704.00028

LSGAN(Least Squares GAN)

LSGAN 是一种略为不同的方法,在这里我们得试图最小化鉴别器输出和分配标签的平方距离;研究者建议:对于真实图像为 1,对于鉴别器更新时的假图像使用 0。Hejlm 等人(2017)的研究则认为:对于真实图像为 1,对于鉴别器更新时的假图像使用 0,而生成器更新时的假图像用 0.5 以寻找边界。

作者还没有时间运行整个流程,但它看起来非常稳定,而且可以输出漂亮的猫图。尽管它总体稳定,有一次损失函数和梯度还是爆炸了,猫变成了无意义的图片。如下图所示。

所以,LSGAN 不是完全稳定的。通过 Adam 选择更好的超参数可以帮助解决这个问题。在失败时(很少见),它可以让你无须像 DCGAN 那样调整学习速率,这个方法可以让你生成漂亮的猫图。

  • LSGAN 论文《Least Squares Generative Adversarial Networks》链接:https://arxiv.org/abs/1611.04076

Update:LSGAN 论文的第一作者毛旭东(香港城市大学)给我发来使用 LSGAN 生成的 128×128 分辨率猫图(如下图),结果证明了这种方法至少可以生成和 DCGAN 一样质量的结果。

原文链接:https://ajolicoeur.wordpress.com/cats/

本文为机器之心编译,转载请联系本公众号获得授权。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2017-07-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

Otto产品分类挑战赛亚军:不要低估最近邻算法

1484
来自专栏量子位

实录 | 旷视研究院详解COCO2017人体姿态估计冠军论文(PPT+视频)

主讲人:王志成 | 旷视研究院研究员 屈鑫 整理编辑 量子位 出品 | 公众号 QbitAI 12月13日晚,量子位·吃瓜社联合Face++论文解读系列第二期开...

3174
来自专栏CVer

[计算机视觉论文速递] 2018-06-06

这篇文章有4篇论文速递信息,涉及目标跟踪、GAN、Zero-Shot Learning、视频分类和行人重识别等方向(含一篇IJCAI 2018和一篇IROS 2...

1742
来自专栏人工智能LeadAI

GoogLeNet的心路历程(一)

这一段时间撸了几篇论文,当我撸到GoogLeNet系列论文的时候,真是脑洞大开!GoogLeNet绝对可以称为已公开神经网络的复杂度之王!每当我看到它那错综复杂...

4059
来自专栏人工智能

2017年最后一篇推送,仍然与技术有关盘点深度学习论文年度之“最”

今年有很多的学术论文发表,以下是小编觉得能够深刻影响到自己的几篇,为大家推荐。对于每一篇文章,都阐述了论文的“目标”,简要总结了相关工作,并解释了推荐的原因。 ...

2019
来自专栏企鹅号快讯

机器学习算法分类

最近看到对机器学习各种算法从另一个角度的分类,觉得很有意思,于是画了几张图,把它们重新整理了一下。 首先依然是有监督地学习,而有监督地学习又能分为回归和分类两种...

3069
来自专栏机器之心

观点 | 争议、流派,有关GAN的一切:Ian Goodfellow Q&A

选自fermatslibrary 机器之心编译 参与:思源、李泽南 自 2014 年提出以来,生成对抗网络(GAN)已经成为深度学习领域里最为重要的方向之一。其...

3818
来自专栏机器之心

业界 | 百度提出NCRF:深度学习癌症图像检测效率再提升

NCRF 项目已开源:https://github.com/baidu-research/NCRF

1130
来自专栏PPV课数据科学社区

【286页干货】一天搞懂深度学习(台湾资料科学年会课程)

11 【导读】本文是2016 台湾资料科学年会前导课程“一天搞懂深度学习”的全部讲义PPT(共268页),由台湾大学电机工程学助理教授李宏毅主讲。作者在文中分四...

4507
来自专栏人工智能头条

ICLR 2018最佳论文出炉,无华人获奖

1746

扫码关注云+社区

领取腾讯云代金券