GAN猫的脸

2017 年 7 月 8 日 机械鸡 雷特

文章作者为Alexia,统计学和机器学习研究员。目前在 Jewish General 总医院担任生化统计学家(在医院工作的统计学家或数据科学家的一个花哨的称号)。


△一只喵看到GAN生成自己时的反应


Alexia尝试使用生成对抗网络(GAN)生成猫的脸,同时以高低不等的分辨率尝试DCGAN,WGAN和WGAN-GP。利用CAT数据集作为训练数据。这个数据集有1万张猫的照片。我把图像放在小猫脸上,我去除了异常值(肉眼观察,花费了几个小时...)。最终,生成了 9304 张分辨率大于 64×64 的图像以及 6445 张分辨率大于128×128 的图像。


DCGAN


DCGAN生成器在约2-3小时内就能汇集到非常逼真的图像,只需209次训练,但是对于适当的汇集需要一些恰当的调整。你必须为D和G规划单独的学习率,以便G或D不会比前者更好,一旦平衡,你就很容易融合!使用64 x 64的图像,最佳选择是使用.00005作为鉴别器学习率,而.0002用于生成学习率。没有明显的mode collapse,最终得到真正可爱的猫咪照片!



高分辨率DCGAN和SELU


我初步尝试用DCGAN生成128 x 128的猫图像都失败了。然而,仅仅通过更换一批归一化和ReLUs与SELUs,我还是像以前一样很慢(6+小时),但有稳定的汇集与相当的学习速率。SELU是自标准化的,因此不需要批量归一化。SELU是非常新的,所以对具有GAN的SELU研究不多,但是通过我的观察,它们似乎大大增加了GAN的稳定性。


猫不像以前那样好看,并且有明显的品种偏差(大量的类似脸孔的黑猫)。这主要是由于样本大小为N = 6445而不是N = 9304(我只对大于128×128的图像进行了训练)。



WGAN


WGAN生成器汇集速度非常慢(花费4-5小时,600多次训练),只有使用64个隐藏节点时才会汇集。我无法使发生器与128个隐藏节点汇聚。使用DCGAN,你必须调整学习率,但如果不会汇集,则可以快速查看(如果D的损失为0,或者如果G的损失在开始时为0),但是在WGAN中需要让它运行多次训练。


在视觉上,这里有一些相当惊人的mode collapse; 许多猫有异色,一只眼闭着,一只眼睛睁着,或是鼻子很奇怪。总体而言,结果并不如DCGAN那样令人印象深刻,但是因为神经网络不那么复杂,所以这可能不是一个公平的比较。它也似乎陷入了局部最佳状态。到目前为止,WGAN令人失望。


WGAN-GP可能可以处理这些问题。在Gulrajani等人的论文中 (2017),他们能够训练一个101层神经网络来制作图片!所以我怀疑,训练一个有5层和128个隐藏节点的猫生成器将会面临很大的问题。


Adam优化器具有降低mode collapse的风险,并陷入到一个糟糕的局部最优(REF)。这可能有助于解决WGAN的问题,因为它不使用Adam,而DCGAN和WGAN-GP都使用它。



WGAN-GP(改进的WGAN)


WGAN-GP生成器收敛速度非常慢(超过6个小时),没啥办法做任何设置。它开箱即用,无需任何调整。你可以增加或减少学习率,而不会造成许多问题。所以WGAN-GP真的让人感动到哭。


猫千变万化,没有明显的mode collapse,所以这是对WGAN的一个重大改进。另一方面,猫外表类似,就像你正在看高不等分辨率图片一样。这可能是Wasserstein loss的特点。我认为使用不同的学习率和体系结构将有所帮助。如果进一步的尝试,肯定有很大的潜力。



LSGAN(最小二乘GAN)


LSGAN是一种略显不同的方法,我们尝试最小化鉴别器输出与其分配标签之间的平方距离;  Hejlm等人的论文建议使用:在生成器更新 1为真实图像,0为假图像,然后在生成器中更新1为假图像。建议使用:在鉴别器更新1为真实图像,0为假图像,让.50为假图像在生成器更新来寻求边界。


我没有时间做一些完整的运行,但它似乎总体相当稳定,并能够输出漂亮的猫。虽然一般情况下很稳定,但有一次,损失和梯度崩溃了。


以下是31次和32次训练:



所以这不是完全稳定的,它有时真的很糟糕。为Adam优化器选择更好的超参数将有助于防止这种情况。你不需要像DCGAN那样调整学习率,但如果不崩溃(这可能很少见),似乎会生成看起来很漂亮的猫。


另外:LSGAN的第一作者Xudong Mao给我发了一张128×128的LSGAN生成猫的例子,表明这种方法可以创造出像DCGAN一样同等质量的猫。




GitHub:http://t.cn/RKh9Cs7

Paper:https://arxiv.org/pdf/1702.08431.pdf

数据集:http://t.cn/RKUOuJO

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


作者:Alexia

整理:雷特


★推荐阅读

吴恩达:机器学习模型能比医生更精确诊断心律失常(paper)

收藏 ‖ 神经网络架构图(附Paper)

详解谷歌发布的跨领域通用模型MultiModel

岛国新技术,可去掉马赛克还原照片 

干货 ‖ 入门数据科学的65个免费资源


招聘 志愿者

希望你有稳定输出的时间,英文能力佳,从业者优先。

加入「AI从业者社群」请备注个人信息

添加小鸡微信  liulailiuwang




登录查看更多
11

相关内容

相较原始的GAN,DCGAN几乎完全使用了卷积层代替全链接层,判别器几乎是和生成器对称的,整个网络没有pooling层和上采样层的存在,实际上是使用了带步长(fractional-strided)的卷积代替了上采样,以增加训练的稳定性
最新《生成式对抗网络》简介,25页ppt
专知会员服务
167+阅读 · 2020年6月28日
专知会员服务
107+阅读 · 2020年5月21日
【CVPR2020】MSG-GAN:用于稳定图像合成的多尺度梯度GAN
专知会员服务
26+阅读 · 2020年4月6日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
生成式对抗网络GAN异常检测
专知会员服务
114+阅读 · 2019年10月13日
TF - GAN入门:TensorFlow 2.0 的轻量级 GAN 库
新智元
5+阅读 · 2019年10月8日
关于GAN的灵魂七问
大数据文摘
4+阅读 · 2019年4月27日
万字综述之生成对抗网络(GAN)
PaperWeekly
43+阅读 · 2019年3月19日
【干货】GAN最新进展:8大技巧提高稳定性
GAN生成式对抗网络
31+阅读 · 2019年2月12日
GAN最新进展:8大技巧提高稳定性
新智元
7+阅读 · 2019年2月12日
SRGAN论文笔记
统计学习与视觉计算组
109+阅读 · 2018年4月12日
GAN | GAN介绍(2)
中国科学院网络数据重点实验室
43+阅读 · 2017年8月4日
干货|生成对抗网络(GAN)之MNIST数据生成
全球人工智能
6+阅读 · 2017年7月24日
Seeing What a GAN Cannot Generate
Arxiv
7+阅读 · 2019年10月24日
A Probe into Understanding GAN and VAE models
Arxiv
9+阅读 · 2018年12月13日
Arxiv
4+阅读 · 2018年5月21日
Arxiv
4+阅读 · 2018年3月23日
Arxiv
10+阅读 · 2018年2月17日
VIP会员
相关资讯
TF - GAN入门:TensorFlow 2.0 的轻量级 GAN 库
新智元
5+阅读 · 2019年10月8日
关于GAN的灵魂七问
大数据文摘
4+阅读 · 2019年4月27日
万字综述之生成对抗网络(GAN)
PaperWeekly
43+阅读 · 2019年3月19日
【干货】GAN最新进展:8大技巧提高稳定性
GAN生成式对抗网络
31+阅读 · 2019年2月12日
GAN最新进展:8大技巧提高稳定性
新智元
7+阅读 · 2019年2月12日
SRGAN论文笔记
统计学习与视觉计算组
109+阅读 · 2018年4月12日
GAN | GAN介绍(2)
中国科学院网络数据重点实验室
43+阅读 · 2017年8月4日
干货|生成对抗网络(GAN)之MNIST数据生成
全球人工智能
6+阅读 · 2017年7月24日
Top
微信扫码咨询专知VIP会员