AMAZING、Incredible、Very impressive、A huge fan……
大周末的,各路人工智能、机器学习的大神,一反常态,纷纷在推特上花样夸奖、交口称赞一篇还在双盲评审中的ICLR 2019论文(BigGAN)。
因为,效果实在是,令!人!震!惊!
DeepMind负责星际项目的Oriol Vinyals,说这篇论文带来了史上最佳的GAN生成图片。陈天奇也说对这个研究及后续充满好奇。
效果有多好?
先看数字。经过ImageNet上进行128×128分辨率的训练后,BigGAN的Inception Score(IS)得分是166.3,一下子比前人52.52的最佳得分提升了100多分,离真实图像的233分更近了。而Frechet Inception Distance(FID)得分,也从之前的18.65优化到了9.6。
再看实例。你能分辨出以下哪张图片是AI生成的假图片,哪张是真实的图片么?
再来一个。以下八张,哪个是假的?
现在公布答案,以上12张,全都是生成的假图片。现在你能理解为什么大家都震惊并且齐声称赞了吧。
512×512轻松搞定
其实,这些例子中还隐藏着一个更厉害的事实:上边的八拼图像,分辨率是512×512。放两张大图,来共同鉴赏一下:
是不是依然真假难辨,非常Amazing?
这就对了,除了搞定128×128小图之外,BigGAN还能直接在256×256、512×512的ImageNet数据上训练,生成更让人信服的样本。
上边展示的512×512样本,IS和FID分数分别为241.4和10.9;而256×256样本得到了233.0分的IS、9.3分的FID。
这是BigGAN在各种分辨率下的全部得分情况:
原理
“大”GAN为什么这么厉害?
BigGAN的“大”,不止是模型参数多,训练规模也是有GAN以来最大的。它的参数是前人的2-4倍,批次大小是前人的8倍。
对于图像生成这个任务来说,训练规模大真的很管用。
作者(们)为了做大规模训练,研究了如何克服这种大规模带来的特有的不稳定性。
为了适应大规模训练,他们对GAN架构做了两处简单的改动。BigGAN的生成器和鉴别器架构如下图所示:
BigGAN用了ResNet架构,和Takeru Miyato等人在去年ICLR 2017上发表的cGANs with Projection Discriminator里差不多,但是对判别器的通道类型做了一些改动,让每个模块第一个卷积层里的滤波器数量和输出滤波器相等。
他们的生成器G,用了单个共享类嵌入,它具有线性投影性质,能为BatchNorm层生成每个样本的增益和偏差。
这是BigGAN的生成器架构:
生成器中的一个残差模块如下图所示:
另外,他们还发现,将正交正则化应用到生成器上,能让它适用于简单的“截断技巧”,这样就可以通过截断潜在空间,来精细控制样本保真度和多样性之间的权衡。
樱桃时刻
再来赏析一下BigGAN的功力。
其中有一部分,以“像,真像”而令人震惊。
有个意大利小哥说,BigGAN生成的食物满分。看起来很好吃的样子。
还有一部分,以“想象力惊人”而令人印象深刻。
比如论文里列的“网球狗”失败案例:
不过一大堆人都说这个网球狗狗,挺!萌!的!
还有这种神奇的大象。
当然,BigGAN也有确实生成特别不好的图片类型,比方说有人的场景。
这里挑选几个例子看看。
这个是骑自行车的人?
这个是穿貂的人?
这个是女人?
看来,最难把握的还是人……
最后强调一下,陈天奇说,这项研究是都在分类条件下生成的图像,很好奇它捕捉到了多少分布,非条件版本会是什么样。
论文地址
对BigGAN论文感兴趣的朋友,可以直接前往如下地址访问:
https://openreview.net/pdf?id=B1xsqj09Fm
这是一篇良心论文,附录中还包含了“NG镜头集锦”环节(NEGATIVE RESULTS),讲述了研究中遇到的各种坑,非常值得一读。Google AI研究员James Bradbury专门在Twitter上说,真是太喜欢这部分了。
如果你想反cherry pick,作者还放出了生成图片的图集。图集在Google Drive上。
至于代码?好多人在找,不过目前似乎没放出来。GitHub上貌似也搜不到相关的内容。
这篇论文如此火爆,同时也引发了一些人的担心:毕竟这篇论文还在双盲评审中,现在闹得动静这么大,有可能会影响评审结果。
以及,这篇论文的作者到底是谁?目前还不得而知。
“