GAN初创者另有其人?IanGoodfellow:只是纯策略版本
众所周知,生成对抗网络(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/dganswereinventedin2010/_
Tips: Until now, everytime you want to store your article, we will help you store it in Filecoin network. In the future, you can store it in Filecoin network using your own filecoin.
Support author:
Author's Filecoin address:
Or you can use Likecoin to support author: