机器之心报道
机器之心编辑部
众所周知,生成对抗网络(GAN)是由Ian Goodfellow 于2014年提出的。但是,一篇reddit热帖披露早在2010年OlliNiemitalo即提出了同样的概念。Goodfellow回应道:没有提到随机 z 向量,只是纯策略版本。
GAN是深度学习领域非常火爆的研究主题,大家普遍认为它最早是由Ian Goodfellow 于2014年提出的。当然,也存在异议,比如 LSTM 之父 Jurgen Schmidhuber 就认为 GAN 是其1992年提出的PM模型的变体,甚至在 NIPS 2016会议上与 Ian Goodfellow 直接互怼,引发了热议。
而今天,reddit上一个热门帖子又将「GAN是由谁首创」这个话题引爆,这篇帖子披露2010年即有人提出了GAN,与2014年Goodfellow提出的GAN思想几乎没有差别。这到底是怎么回事呢?
我们先从Olli Niemitalo 2010年2月发布的一篇帖子说起。
2010 年 OlliNiemitalo 提出的思想
Olli Niemitalo目前居住在芬兰赫尔辛基,主要研究信号/图像/视频处理,他在Signal Processing Stack Exchange问答网站上回答了大量问题。
个人主页:http://yehar.com/blog/
2010年,他发布了一篇帖子,提出了一种新思想:
这里介绍一种训练神经网络来生成可变上下文缺失数据的方法。这种方法很难用一句话讲清楚,所以下面我将举个例子:
一张图像中可能会有缺失的像素(例如有污渍)。那么在知道周围像素的情况下,该如何修复污渍下的缺失像素呢?一种方法是用“生成器”神经网络,该网络将缺失像素周围的像素作为输入,生成缺失的像素。
但如何训练这样的网络呢?不要期待该网络能够准确生成缺失的像素。假设缺失的数据是一片草地,你可以让网络学习一堆缺失了一部分的草坪图像。你知道缺失的数据,然后可以根据生成草地和原始数据之间的均方根误差(RMSD)给网络打分。
问题是,如果生成器遇到的图像不属于训练集,那神经网络就不可能把所有的叶子(尤其是图像块中间的叶子)准确地放在缺失位置。最低RMSD误差可能通过网络用纯色填补图像块的中间区域来实现,该纯色取的是典型草地图像中像素颜色的平均值。如果网络生成的草地能够骗过人类,那它就达到了目的,而RMSD度量将会有一个不幸的惩罚。
我的想法如下图所示:与生成器同时训练一个分类器网络,以随机或交替顺序向该网络输入生成数据和原始数据。然后,分类器根据周围图像的语境猜测该输入是原始数据 (1) 或生成数据 (0)。同时,生成器网络尝试从分类器中获得高分 (1)。
希望的结果是,这两个网络开始都比较简单,然后朝着生成和识别越来越高级的特征发展,最后接近甚至超越人类辨别生成数据和原始数据的能力。如果每个分数考虑多个训练样本,则*应使用RMSD作为误差度量*,因为这将鼓励分类器网络输出概率。
Olli提出的架构图
2014年IanGoodfellow提出的GAN思想
2014年,IanGoodfellow等人发布论文,提出了新型生成对抗网络GAN,它受启发于博弈论中零和博弈的思想,包含两个模块:判别模型和生成模型,二者不断博弈,使生成器学习数据分布。
Goodfellow提出的GAN架构图
其中,生成器(Generator)通过随机噪声z生成伪造图像。这些伪造图像会和真实图像混在一起,并希望判别器(Discriminator)判断每张图片是不是真实的。如果最后判别器无法区分两种图像,那么生成器就能达到以假乱真的效果。
生成器和判别器构成一个动态的博弈过程,其最终平衡点就是纳什均衡点。
Jurgen Schmidhuber 和 Ian Goodfellow关于GAN的争论
GAN对深度学习领域的影响很大,各种不同的变体也层出不穷,有研究者创建了GAN Zoo,收集了数百个不同GAN。
GAN Zoo:https://github.com/hindupuravinash/the-gan-zoo
大家普遍认为GAN是由IanGoodfellow提出的,而德国计算机科学家、LSTM之父JurgenSchmidhuber表示异议。
巧合的是,GAN这篇原始论文最初投递NIPS大会时,Jurgen Schmidhuber正是审稿人之一,并给出了拒稿意见。他认为GAN是他1992年提出的Predictability Minimization(PM)模型的变体,PM模型才是第一个对抗网络,GAN和PM的主要区别仅在于方向相反。
之后,二人进行过一系列邮件讨论,然而似乎并没有取得一致。2016年,在NIPS 2016大会的GAN Tutorial上,Ian Goodfellow进行了一场演讲,而Jurgen Schmidhuber在演讲现场提问「PM模型与GAN是否有相似之处」。
Ian Goodfellow对此的态度是否定的,他认为GAN并没有借用PM的思想。
PM模型架构(图源:https://zhuanlan.zhihu.com/p/27159510)
Olli Niemitalo对此事的评价
在NIPS 2016上JurgenSchmidhuber与Ian Goodfellow就GAN的话题直接互怼后,Olli Niemitalo也做出了评价:
我在2010年的一篇博客中发表了关于GAN的基本概念。我当时没有在网络上搜索到任何相似的东西,我也没有时间去实现它。我当时而且现在也不是神经网络领域的研究者,我的专业和该领域无关。
我2000年开始考虑使用神经网络为上采样(重新采样到更高的采样频率)的数字音频生成缺失的高频,以令人信服而不是准确的方式。2001年我收集了音频库进行训练,以下是从2006年1月20日开始的EFNet#musicdsp Internet Relay Chat(IRC)日志的一部分,其中我 (yehar) 与另一个用户 (_Beta) 讨论了这个想法:
2006年至2010年间的某个时候,朋友邀请了一名专家来看我提出的概念并与我展开讨论。他们觉得这个想法很有趣,但认为当一个网络可以完成这项工作时,训练两个网络不太划算。
我一直没有确定他们是否理解了核心思想,还是说立即找到了一种方法将其形式化为单个网络。也许使用拓扑结构中的瓶颈将其一分为二了。
当时我甚至不知道反向传播仍是实际在用的训练方法(我在2015年制作Deep Dream视频时才了解到)。这些年来,我和多名数据科学家以及其他可能对此感兴趣的人讨论了我的想法,但反应平平。
2017年5月,我看到了Ian Goodfellow在NIPS 2016 GAN Tutorial上的演讲视频,这让我非常开心。他的基本思想与我的一样,而且他做了艰苦的研究,实现了很好的结果。该演讲回答了我的很多疑问。
当评审者向作者施加压力,要求其引用自己的研究时,这是一种利益冲突。
Ian Goodfellow回应与网友观点
在Olli这件事引发热议之后,IanGoodfellow表达了自己的看法:
他们似乎没有正确地理解GAN的概念。这篇文章中没有提到随机 z 向量,所以这只是GAN理论的「纯策略」版本。你需要 z 才能使“混合策略”起作用,因为有纳什均衡。另外,这篇文章最后说RMSD是正确的度量标准。
众多网友在Reddit上也热议纷纷,主流观点仍支持Ian。
网友MasterSama的观点得到了最多支持:
Olli像其他很多人一样走在了时代的前面,这些人因为各种原因没有得到认可。历史上,乃至我们日常生活中也有很多这样的例子。总之,我很感激 Ian推广了这个概念。也许他不是第一个想到这个想法的人,但是如今他以这个闻名。这有什么问题吗?事实上,他提出概念并实际致力于使其取得成果才是最重要的。
对于他的评论,以下几个网友用各种观点表示了支持。
@whymauri:
是的,我同意这种观点。我在大学数学课上学到的第一个东西是斯蒂格勒定律(又称名字命名法则)。该法则认为“没有科学发现是以其最先发现者的名字而命名的”。事实上,斯蒂格勒定律最初是由社会学家罗伯特·默顿提出的,而不是斯蒂格勒。
@antisnb:
这更是一个教训,让我们认识到只有想法是无法转化为影响力的。想法本身并不会转化为什么有价值的东西,除非你努力发展它。
@BoiaDeh:
我觉得这更像是时机不对。有时候想法很棒,但它比能够实现它的技术领先十年。
@mikolchon: 
在这个例子中,就算作者付出了努力,我怀疑以2010年的硬件水平来看,也未必能实现什么。
不知道大家怎么看?欢迎留言讨论~
参考链接:
  • https://web.archive.org/web/20120312111546/http://yehar.com:80/blog/?p=167
  • https://stats.stackexchange.com/questions/251460/were-generative-adversarial-networks-introduced-by-j%C3%BCrgen-schmidhuber/301280#301280
  • https://www.reddit.com/r/MachineLearning/comments/bnqm0p/d_gans_were_invented_in_2010/
本期 Interface 我们邀请到了拥有丰富一线开发经验的 NVIDIA 开发者社区经理暨高级讲师 Ken He,为我们介绍 CUDA 并行计算基础,点击阅读原文参与报名。
继续阅读
阅读原文