10年前一篇博客,让Ian Goodfellow的GAN之父身份再遭质疑
【新智元导读】一般认为GAN是2014年由Ian Goodfellow等人提出的,但有人发现同样的想法早在2010年,就被一位芬兰的电气工程师提出了,引发关于“怎样才算是第一个发明者”的讨论。
Ian Goodfellow于2014年提出的GAN,至今已经是计算机视觉领域最重要、使用最广泛的概念之一。
学术界流传的一则GAN诞生的传说。据说是因为一天晚上Ian Goodfellow在酒吧在喝高的状态下与同事讨论学术问题,突然灵光一闪,提出了GAN初步的想法,当时并没有得到同事的认可。
后来从酒吧回去发现女朋友已经睡了,于是熬夜写了代码,发现还真有效果。经过一番研究后,GAN就诞生了。
GAN的主要灵感来源于博弈论中零和博弈的思想,由一个生成网络与一个判别网络组成,二者不断博弈:生成网络从潜在空间(latent space)中随机采样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入则为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来。而生成网络则要尽可能地欺骗判别网络。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。
有人比Ian Goodfellow早4年就提出了GAN?
正当大家都已经认为GAN等于Ian Goodfellow的时候,Reddit上有人挖坟,称其实早在Ian提出GAN这一概念的4年前,就已经有人提出了非常类似的概念。
Reddit讨论地址:https://www.reddit.com/r/MachineLearning/comments/bnqm0p/d_gans_were_invented_in_2010/这位叫做Olli Niemitalo的芬兰电气工程师,会在自己的博客上记录他时不时冒出的一些想法。2010年2月24日,他记录了一种训练人工神经网络以在可变上下文内、生成缺失数据的方法。
博客链接:http://yehar.com/blog/?p=167#2010-02-24在博客中他写到:图像可能丢失像素,那么如何通过周围已知的像素,去恢复丢失的像素呢?
他提出的方法是一种叫做“生成器”的神经网络,在给定周围像素作为输入的情况下,生成缺失像素。(看,在2010年,Olli就已经提到了generator这个概念!)
那么接下来的问题就是,该如何训练这样的网络呢?
比如一个草原的照片上有一块污渍,我们知道被盖住的部分(缺失的数据)也是草,那么我们就可以训练神经网络用草去修复,并可以根据生成的草,与原始数据之间的均方根差(RMSD),对神经网络的成果进行评分。
但如果生成器遇到不属于训练集的图像,那么神经网络就不可能将所有叶子(尤其是缺失部分的中心位置的数据)放在恰当的位置。如果生成器的结果看起来不理想,就会遭受惩罚。
看,生成/对抗,都有了!接下来,他还画了一个流程图:
解释一下上图。给定一个分类器网络,使之同时和生成器进行训练。分类器网络以随机、或交替顺序给出生成的原始数据。
接着,分类器需要猜测在周围图像上下文的上下文中,输入是原始数据or生成数据,并给猜测结果打分。原始数据给1分,生成数据给0分。
生成器网络的目的就是获得尽可能高的分数。随着生成器网络不断学会获得高分,最终能够生成逼真的、人眼区分不出真假的图像。
看到这里,很多Reddit网友不淡定了,纷纷感慨“这个人是谁?”“可惜他不出名,要不然blahblah”:
MasterSama:Olli是数百万领先他们时代却籍籍无名的例子之一。但我仍然认为虽然Ian可能不是第一个提出GAN的人,却是第一个让GAN火起来的。
whymauri:同意MasterSama。我上课的时候听过一个说法,没有任何一个科学发明是以最早发现它的那个科学家命名的。
alexmlamb:先入为主的感情来说,我并不想承认两者是相同的。但我可能不得不承认两者的相似度高的让人不可思议。
GAN之父的头衔从来不缺质疑,其中就包括LSTM之父
中国古话说,文无第一武无第二。在学术领域,永远不缺乏争论。
比如今年图灵奖的归属,包括南京大学人工智能学院院长周志华教授在内的许多学界人士,均发出质疑为什么图灵奖得主不是LSTM之父Jürgen Schmidhuber?他也是深度学习领域的大家啊。
LSTM之父Jürgen Schmidhuber声称,他在92年提出了一种PM(Predictability Minimization)模型,其与GAN有一些相似之处,所以称Ian Goodfellow的“GAN之父”的说法是站不住脚的。
最后,无奈之下的Goodfellow只好在论文的最终版本里加入了GAN和PM不同之处的比较,这才有了第一篇GAN论文的诞生。
为此,Schmidhuber和Ian不仅在邮件中展开了激烈的争论,甚至在2016 NIPS大会上,趁Ian正在做GAN的tutorial的时候,Schmidhuber站起来打断演讲。首先介绍了一下自己92年提出的PM模型,介绍了PM模型的原理和实现过程等等,然后反问Ian如何看待GAN和PM的相似点。
Ian当场直接明说他们之前已经在邮件里讨论了这个问题,不想牵扯到NIPS大会上来浪费广大听众的时间。
Ian的言论赢得了在场大佬的多次掌声。一位五十多岁的长者试图碾压三十出头的小伙子,但被小伙子反杀,场面一度十分尴尬。
点子一文不值,做出成果的人才有话语权?
人工智能、机器人、空间科学工程师John Cooper在Twitter阐述了他对此事的观点:点子一文不值,做出成果的人才有话语权。
Ian也在下面回复,从侧面认可“做永远比说有价值”:如果你有确切的想法可行,并且领域知识能够认识到它应该有效,那实际上就确实有价值。制作第一个能运作的GAN只花了大约1个小时,写论文只花了2个星期。这绝对是一个“99%灵感,1%汗水”的故事。
言外之意就是“我做出来了,就这么一点工作量,你呢?”
Keras之父François Chollet回复说:这对学术界来说是一个大问题。通常需要数十人(如果不是数百人),花费很多年心血才能正确地发展一个想法。然而,荣誉要归功于第一篇学术论文的第一作者(无论学术界之外的现有技术如何)。
事实上,如果我们翻开维基百科对GAN的定义,就会看到其实Wiki提到了Olli Niemitalod在2010年的博客。不仅如此,还列举了从1990年到2017年,所有和GAN相似的概念。
比如92年Schmidhuber的可预测性最小化;2012Yan Zhou等将对抗原理应用于SVM;2013年Li、Gauci和Gross采用了在竞争环境中推断模型提出“图灵学习”;直到2014年,Ian Goodfellow向公众介绍了GAN的概念,对今后的人工智能领域产生了巨大影响。
大神的成就总会被人记住。而即使一个默默无闻的人,也可能会在10年后被人提到进行热议。
Ian也好,Schmidhuber也好,科学家做出的成果的重要性和原创性,总会有人认可、有人质疑。但无论如何,大神们总有相似之处,那就是坚持!
正如Ian所说:我把整个GAN理念放在一起只需要大约30秒钟。但这是建立在我花了4年时间攻读相关领域的博士学位,加上在攻读博士学位之前、用了2年作为业余爱好的基础之上。
台上30秒,台下需6年!