从Yoav Goldberg与Yann LeCun争论,看当今的深度学习、NLP与arXiv风气

最近,来自以色列 Bar Ilan 大学的计算机科学高级讲师 Yoav Goldberg 撰文批评了蒙特利尔大学的新论文《Adversarial Generation of Natural Language》,指责了该论文作者,乃至整个 arXiv 目前出现的不良风气。Yoav 的言论引起了学界的关注,Yann LeCun 等人很快也发出了回应。机器之心对这篇文章和 Yann LeCun 的回复进行了编译介绍,但文章内容并不代表机器之心的立场。
Or, for fxxks sake, DL people, leave language alone and stop saying you solve it.

最近,我在 Twitter 上评价了一篇来自蒙特利尔大学 MILA 组的论文《Adversarial Generation of Natural Language》,我不喜欢,有人让我解释一下原因。

一些人建议我写一篇博客,所以我写了这篇文章。这篇文章写得很匆忙(毕竟,我有真正的工作要做),而且因为这不是学术文章,也就没有参考文献这些东西了。文章里可能有些错误,但我对内容完全负责。欢迎讨论。

尽管看起来我好像是在针对这一篇论文(事实上我也是这么做的),但我想传递的信息是针对了整个「用于语言的深度学习」论文的趋势,尤其是那些来自「深度学习」社区的论文,而非来自「自然语言」社区的论文。

许多论文都有非常类似的缺陷。我「选择」这一篇是因为它得到了一些积极的关注,也因为这篇论文的作者来自一个非常强的深度学习团队,(我希望)他们能够为自己的热度负起责任。另外,我觉得这篇论文方方面面都很糟糕,下面我会解释原因。

这篇博文也是针对 arXiv 发布方式的意识形态方面的行动(ideological action):尽管我同意 arXiv 上短时间的发布周期比现在长时间的同行评议流程更好,但现在人们在使用 arXiv 树旗帜、占山头,规避同行评议过程,而且这个趋势已越来越显著。这种情况对于那些「强」研究组而言更是显著。目前来说,将你的成果(通常是初步的和不完整的)发在 arXiv 上没有什么实质的坏处,只有潜在的好处。

我相信这种情况应该有所改变,而且如果在同行评议之前和过程中就将论文发布在 arXiv 上,应该承受应有的风险。

这篇批评文章就代表了这种风险。我希望看到更多类似的文章出现。

为什么我会在意 arXiv 上的文章得到了什么?因为很多人看待这些论文的态度很严肃,尤其是当这些论文来自 MILA 这样的声名显赫的实验室时。现在,每一篇关于自然语言生成或文本对抗学习的成果都必须引用 Rajeswar et al 2017 了。而且它们的引用会越累积越多。声望也会越来越大。尽管在语言生成方面,这是个非常非常糟糕的研究成果。而人们还是会复现他们的设置(为了比较!为了科学!!)。而这是个非常糟糕的设定。而其他人,比如严肃的 NLP 研究者,将会想出一个在真实任务上好的实际的设置,或者一些更加精妙的东西,然后他们必须将结果和 Rajeswar et al 2017 比较。我并不是说他们的任务和他们的设置是不相关的,所以不应该存在,而是旗子已经被插在那里了。

所以,让我们首先从解剖这篇论文开始。

首先表个态:

态度

正如我在 Twitter 上所言,从技术方案到评估,我不喜欢这项工作的一切。但最让我厌烦的是其态度和傲慢自大。

我从事语言理解超过 10 年,如果说有什么感悟的话那就是人类语言广大而复杂,充满挑战,它极其精微,无比奇特,有太多东西不为人所知,却又时时带来惊喜。尽管自然语言处理研究者和自然语言生成研究者(以及语言学家,他们做了大量提升工作)在理解和处理语言方面取得了突出进展,我们依然只是触及到了语言的表面。

我非常尊重语言,深度学习那群人并不是。否则,你怎么解释像「自然语言的对抗性生成(Adversarial Generation of Natural Language)」这样的论文题目?

这个标题表明任务已接近完成,现在我们可以生成自然语言(通过对抗性训练),听起来让人兴奋。但是,你再看看实际的论文,从头到尾,你会看到表 3、4、5 中包含由模型生成的语句实例,比如其中以下的令人印象深刻的自然语言语句:

  • What everything they take everything away from
  • How is the antoher headache
  • Will you have two moment ?
  • This is undergoing operation a year.

这些句子甚至在语法上都不通。

现在,我意识到对抗性训练当下非常火热,而对离散符号序列的对抗性训练则非常困难。也许论文(下面我将会介绍)中提出的技术方案确实相比于以前那些功能较弱的技巧大大提升了结果。如果情况确实这样,这很可能值得一提。其他人也会看到,并作进一步提升。科学!进步!没错,这正是我要看到的。

但是,请不要把这篇论文命名为「自然语言的对抗性生成」,而是还原其本来面目:「在小词汇量中一个用于短离散序列的对抗性训练的稍好一些且多少奏效的技巧」。

你在说什么?这听起来令人厌烦?这样会没人读这篇论文的。也许,但是这篇文论就是这样。我相信论文作者会想出一个更加吸引人的标题,但是它应该反映论文的真实内容,而不是假装「解决了自然语言问题」。

(顺便说一句,就像在这篇论文当中,如果我们并不在乎以一种有意义的方式控制生成的文本,那么我们就已经有了生成可读文本的好方法:从一个 RNN 语言模型或者变分自编码器中取样。大量论文通过它们生成了令人惊讶的符合语法规则的文本,甚至还扩展到了大量词汇上。如果你没有太多渠道,那就从 Andrej Karpathy 的这篇经典文章(链接:http://karpathy.github.io/2015/05/21/rnn-effectiveness/)开始吧。由于某些原因,这些并没有在论文中提及,更不要说比较了。)

这不是唯一一个立旗子占山头、宣传极度过分的文章。最近,一个类似的例子是来自 Hu et al 的可控制文本生成,你说什么?哇好厉害!

实际上,他们证明了其可以控制生成文本的两个因素:情态(积极或消极)和时态(过去、现在和未来),并生最多 15 个单词的句子。又一次,我们看见了被过渡宣传和不符合语法的语言。

在一些语境下,我所有的维基百科语料库中语句的平均长度是 19 个字符(token),很多句子超过这个长度。情态远非积极消极所能涵盖。并且英语在某种程度上有一个比过去、现在和未来更为复杂的时态系统。因此,Hu et al 创建了一个带有一些最小控制选项的演员-评论者-VAE 框架(actor-critic-VAE framework),并工作于一些短文本片段上。「可控性文本生成」(Controllable Text Generation)在这里真的是最好的标题吗?

另一个例子是 Facebook 的 bAbI 的语料库,它最初作为一个玩具似的数据集被创建,当它涉及语言时就变的非常人工,很受限制。但最近的很多工作对它进行了评估,并宣称还要做「自然语言推理」或类似的事情。这里不再赘述 bAbI。

方法

上述章节中我从自然语言方面讨论了论文标题(并且在下一章节中我们会讨论更多)。

现在让我们看一下「对抗性」这部分,它与这篇论文的创新有关。

回想一下,在 GAN 训练中我们有一个生成器网络和一个鉴别器网络,它们在一起被训练。生成器努力生成逼真的输出,鉴别器努力分别生成的输出与真实的实例。通过一起训练模型,生成器学习欺骗鉴别器并因此生成逼真输出。这在图像处理上效果出奇地好。

为了对这篇论文的技术贡献做一个总结(也欢迎作者通过评论纠正我,如果遗漏了什么)。离散序列(比如 RNN 生成器)的对抗性训练非常困难,它有以下几个技术原因:每个 RNN 迭代时间步长的输出是词汇(一个 softmax)上的多项式分布。但是当我们想要实际生成符号序列时,我们不得不从这个分布中挑选一个单一项目(转化为一个独热向量,one-hot vector),尽管这一选择很难反向传播梯度,因为它是不可微分的。这篇论文提议通过向鉴别器馈送可微分的 softmax 而不是独热向量来克服这一困难,差不多就是这样。思考一下,鉴别器在这里的角色是学习从 RNN 产生的 softmax 向量中分离独热向量训练序列。它需要把独热向量从非独热向量中分离出来。这多少是一种弱对抗,并且与自然语言无关。

让我也想想一下鉴别器对生成器造成的影响:生成器需要愚弄鉴别器,鉴别器试图区分生成器的 softmax 输出与独热向量。这造成的影响是生成器产生了近独热向量(near-one-hot vector),即,非常集中的分布。我不确定这是否就是我们希望的自然语言生成模型的发展方向。仔细考虑一下,并试着感受它。但是如果你真的认为非常明显的分布是应该鼓励的事情,那么有更简单的方法可以实现它。我们知道被提议的模型能做的不仅是引进这种对于明显的预测的偏好吗?没有,因为这从来没有在论文中评估过。它甚至没有被讨论。

因此,自然语言实际上并不是自然的。对抗性也不是真正的对抗。下面我们接着讨论评估。

评估

模型是不被评估的,根本不是,也肯定是不在自然语言上进行评估。很明显论文作者并不清楚他们在做什么。

下面引用一段论文作者的原话(第 4 节):

「我们提出了一个简单的评估策略,以评估通过从 CFG 或者 P−CFG 构建数据生成分布来生成自然语言的对抗性方法。」

好吧,猜猜是什么。自然语言不是被 CFG 或 PCFG 生成的。

他们接着描述了自己使用的两个语法:一个是玩具语法(至少他们承认是玩具!),它有 248 条生成规则(!!),另一个是有着 45 个字符的单词(!!!),而且他们还生成了包含 11 个这种单词的句子(!!!)。恩,确实很厉害!

但是等一下,让我们查看一下实际的语法文件(来自霍普金斯大学的 Jason Eisner 的家庭作业,语法非常非常简单,你甚至可以扩展它)。在 248 个生成规则中,只有 7 个是实际有效的。是的,7 个。余下的是词法规则(lexical rule),即预-终端符号到词汇项目的映射。但是,稍等,词汇量是 45 个字符,45+7=52。那其他的 192 个规则在哪里?至少其中的 182 个是从「Misc」符号到一些字词的映射规则。「Misc」符号并不参与语法,它对学生来说是可以扩展的家庭作业。因此,论文作者实际上使用了 52 个生成规则,而不是其所称的 248 个,其中只有 7 个是真实规则。他们甚至没有检查语法或者正确描述它。这确确实实是一个玩具似的语法。

现在是第二个语法,它源自 Penn Treebank 语料库。论文中并没有关于第二个语法的详细细节,但是他们确实说了他们限制了语料库中 2000 个最常用字词的生成。下面是这个语料库中的一个典型句子,当字词不是最常用的 200 个之一时,就以下划线替代:

_ _ _ Inc. said it expects its U.S. sales to remain _ at about _ _ in 1990 .

顺便说一句,这是 20 个字词。

下面是另一个句子:

_ _ , president and chief executive officer , said he _ growth for the _ _ maker in Britain and Europe , and in _ _ markets . 

对于这个更复杂的语法,他们通过查看语法对其生成的样本所分配的可能性来评估模型。

我不确定这一评估的目的是什么,它试图想表现什么。它并没有明晰地测量生成的质量。但是他们说:

「尽管这样一个测量通常会捕捉到一个句子的语法性,但它依然是样本质量的一个合理代表(proxy)。」

并不是。源自语料库的 PCFG 喜欢完全不捕捉句子的语法性,并且如果你关心逼真自然语言的生成,这并不是一个样本质量的合理代表。

这些家伙应该之前就向从事自然语言的研究者咨询一下。

他们也使用了一个汉语诗歌语料库。这是自然语言吗?是的。除了他们并不查看完整诗歌这个事实之外,他们还从每首诗歌中分离每个句行,并单独处理。并且他们只使用长度为 5 和 7 的句行。他们甚至不查看被生成的句行,但是使用 BLEU-2 和 BLEU-3 评估它们。对于不知道 BLEU 的人来讲,BLEU-2 大体是指计算他们生成且出现在参考文本中的 bigram(二词子序列)的数量;BLEU-3 是指计数三词子序列。他们也有一个奇怪的观察,是关于评估每个被生成的句子,在作为参考的训练集的所有句子的背景下。我并不完全明白这一部分,但它时髦,也并不是关于如何使用 BLEU。

他们说这是其以前评估反对使用这个语料库的语言生成对抗网络论文的设置。

当然。

在简单的语法上(52 个生成规则,45 个字符的词汇量),他们的模型能够拟合 5 个字词的句子,并且他们更复杂的模型几乎成功地拟合了 11 个字词的句子。

Penn Treebank 句子并没有真正被评估,但是通过比较 epoch 上的样本可能性,我们看到它在下降,他们的一个模型取得了更高的分数,相比于被称作 MLE 的一些 GAN 基准(他们并没有完整描述,但是在以前蹩脚的语言生成对抗网络的工作中出现过)。哦,他们生成了长度为 7 的句子。

我之前已经说过,PCFG 的可能性对于评估被生成句子的质量相当没有意义。但是即使出于某些原因你关心这一指标,但是我打赌一个非 GAN 基准(比如一个无调试的 Elman RNN)将远远比这一指标更好。

汉语诗歌生车测试再一次只与之前的生成对抗网络工作比较了结果,而不是与一个合适的基准,并报告了最大为 0.87 的 BLEU 值,BLEU 分数通畅大于 10,因此我并不确定这里发生了什么。但是在任何情况下他们的 BLEU 设置从一开始就是奇怪且毫无意义的。

接着是表 3、4、5,在其中他们展示了其模型中生成的真实句子。我希望它们没有经过优选,但是它们真的非常糟糕。

上文中我已展示了一些样本,下面是另一些:

  • I'm at the missouri burning the indexing manufacturing and through .
  • Everyone shares that Miller seems converted President as Democrat .
  • Can you show show if any fish left inside .
  • Cruise pay the next in my replacement .
  • Independence Unit have any will MRI in these Lights

在提到含有这些句子的表格的某些地方,论文这样描述:

「带有一个 WGAN-GP 目标的 CNN 模型似乎能够在更长的时间跨度中保持语境。」

「自然语言的对抗性生成」,确实。

一个恳求

我认为这篇论文不走进一个好的 NLP 会场,至少我希望如此。但让人悲伤的是,尽管(或者也许是由于)有这种显而易见夸大吹嘘存在,没有有意义的评价,也没有有意义的语言生成结果,我还是相信这篇论文可以进入 ICLR、NIPS 或 ICML 这样的机器学习会场,

毕竟,同样有很多缺陷的 Hu et al 的论文「Controllable Text Generation」也被 ICML 接收了。对于 Hu et al,我认为他们的成果比上面讨论的那个还好些。但目前这个是关于 GAN 和对抗的,由于讨论了一个更加热门的话题,所以它们大概有同样大的机会入选。

因此,我想恳求评议者,尤其是机器学习评议者——如果你读到这个的话。

当评价一篇关于自然语言的论文时,请一直记住语言是非常复杂的,而且人们已经在这上面工作了很长时间。不要让你自己被那些宣称假装解决了这一问题的鬼话说服,结果那只是一点芝麻大的微不足道的问题。不要因为模型很性感就动摇,因为它们可能没有解决任何实际问题,或者存在一个更加简单、更加可靠的基线,它们却没有提及。对于 arXiv 上的论文,不要受到作者或他们声誉的影响,尤其是当他们试图研究自己(和你)并不真正了解的东西的时候。试试去了解这一主题并透彻的思考一下(或者叫其他人看看)。看看他们真实的评价,而不是他们所宣称的东西。

我恳求大家,求求大家,不要要求 NLP 研究者在现实的设置和细致入微的任务之间拿这些设置和评议同自己比较,因为这些东西仅仅是由于它们出现在了 arxiv 或是一些机器学习会议上,结果拙劣的研究就得到了开创性的美名。

要说明的是,我不介意对非常困难的问题进行简单化的研究,这是一个获得进展的好方法。但是,这种工作需要澄清其正在做的事情,而不是宣称自己在做一些显然不是的事情。

然后,对于作者而言,请尊重语言。你们要去了解它,去接受那些挑战。你们要明白自己提交的数字是测量结果,还要明白它们是否真正与你力图去展示的东西相符。观察你正在使用的数据集和资源,明白你自己到底在干什么。如果你试图真的和语言打交道,那么请以真实的设置来处理(至少句子要完整,语词规模要合理),此外,你们还应该咨询语言领域的专业人士。如果你们对语言并不关心或者不想解决一个真正的语言任务,而只关心机器学习的部分,那么这也不是不可以。但是请诚实地对待你的工作,诚实地对待你们的听众和你么自己,不要假装自己在做一件和你不相关的事情。此外,无论在什么情况下,把你的工作至于其它工作的语境之下。注明那些很显而易见的底线。最重要的是,在论文中承认你们工作的限制性。这是一种魄力,不是缺点。要知道,科学因此而进步。

Yann LeCun 的回复

对于 Yoav Goldberg 的愤怒,Facebook 人工智能实验室主任 Yann LeCun 表示关注,这位知名人工智能学者认为 Yoav 过于偏激,作为同样把深度学习应用到 NLP 上的研究者,为何还要发出这样言论?随后,Yann LeCun 进一步分析了 arXiv 的模式、挖坑占坑现象,并给出了自己的观点。

将预印版论文发表在 arXiv 上是非常有意义的事,立旗子也是。

Yoav Goldberg 的文章在这几天传遍了整个网络。这篇文章主要抱怨 MILA 在文本生成论文中使用的方法,同时也在抱怨深度学习社区喜欢在 arXiv 上提前发表论文的习惯。我强烈反对他的观点。

我并不是在为这篇论文做辩护,我还没有仔细读它。但是 Yoav 的很多论点在我看来都是非常防御性的,也包括那句副标题:「for fxxks sake, DL people, leave language alone and stop saying you solve it」和那句声明:「I have a lot of respect for language. Deep-learning people seem not to」。很多人的共识是:神经网络/深度学习在很多领域获得了很棒的结果,20 世纪 90 年代初在字符识别上,2010 年左右在语音识别上,计算机识别则到了 2014 年,而现在是 NLP 了。我理解 Yoav 的理由,但他的话听起来非常像是一场防守之战,尤其是对于 Yoav 这样致力于将深度学习应用于 NLP 领域中的学者而言。

为公平起见,首先提醒大家,Yoav 已经在文章发出后又对他的观点进行了解释:

链接:https://medium.com/@yoav.goldberg/clarifications-re-adversarial-review-of-adversarial-learning-of-nat-lang-post-62acd39ebe0d

Nikos Paragios(一位「还没有那么老」的学者)也曾在 2016 年对于深度学习在计算机视觉上的应用有过类似的防御性看法

链接:https://www.linkedin.com/pulse/computer-vision-research-my-deep-depression-nikos-paragios

任何时候,一个群体和另一个发生了冲突,更好的事情就会发生。期初群体 A 阅读了群体 B 提交的论文,认为它在技术上水平不足,而群体 B 认为群体 A 的观点具有方法论上的缺陷,结论没有说服力……这种事情在深度学习社区里发生过无数次,我们有时候扮演 A(B 会是语音、视觉、图片、NLP),有时候扮演 B(A 是统计、优化和计算机科学的各种理论分支)。讲一个群体中的标准应用于另一个群体是没有意义的——除非两个群体找到了共同的方向。如果把不同的社群被视为不同的单位向量,则 A 在 B 上的投影比 B 短,你可以认为 A 小于 B,但反之亦然:B 对 A 的投影比 A 短。社区之间形成共同语言需要时间,这需要两方充分达成共识。

视线回到 arXiv 上,Yoav 等人一直抱怨说在 arXiv 上发表预印版论文有一种「立旗子圈地」的行为:作者有了一个想法,很快粗略地付诸实施,在 arXiv 上贴上了一个初步结果,随后便开始期待所有人将它视为「第一个」。有些人认为这是不公平的,因为在研究的道路上,想法并不是全部,还有很多事情要做。这个看法没错。但想法或技术的发展之路就是这样:有一个想法,实现它,展示它可以工作,使其在玩具级问题上工作,使其在一个真正的问题以及其他方法上工作,击败已有记录,提出一套有关它的理论,解释理论上为什么它可以工作,优化和简化它,然后泛化它,开发与之相关的技术,最后,开发有关它的产品,包装和销售产品....

在这个漫长的过程中,在每个节点上做出贡献的人都应该获得相应的名声。然而在科学的历史上,很少有人能够拥有「率先发现一个想法」的地位(当然我也听说过一些仍然无名的人,他们一直在声称自己应该拥有一些)。

在 arXiv 上发表论文比传统的发表方式高效得多,但它当然不会取代传统的同行评议论文方式。是的,它改变了名声获取的游戏规则,但这没什么大不了的。为什么 arXiv 论文发布方式更有效率?因为它遵循「集市」模式,而不是传统论文发表的「教堂宣讲」模式。

可参阅 Eric Raymond 的文章《Cathedral and the Bazaar》:http://www.catb.org/esr/writings/cathedral-bazaar/

在软件上,集市模式就是 Linux 模式:快速发布,经常发布,而教堂宣讲模式则是 GNU/Hurd 的模式:在没有 bug 前永远不会发布新版本。相比之下,集市模式明显更具效率。

为什么?arXiv/集市模式总是嘈杂而混乱的,但这样的过程也更快速,因为人们总是能得到及时的反馈。这就像是随机梯度和批量梯度之间的差异:随机梯度嘈杂而混乱,但更快,更有效率。

我认为,未成形的论文和粗糙的方法论最终都会获得它应有的地位。在研究体现出它的价值以后,社区就会认识到研究者的贡献,并给与他们应有的地位,总是这样。

论文:Adversarial Generation of Natural Language

论文链接:https://arxiv.org/abs/1705.10929

摘要

生成对抗网络(GAN)已经得到了计算机视觉社区的极大关注,得到了令人激动的图像生成结果。但是,来自从噪声中进行的自然语言对抗性生成的发展是比不上图像生成方面的进展的,而且还远远落后于基于似然的方法(likelihood-based methods)。在这篇论文中,我们仅仅使用了一个 GAN 目标就在自然语言生成上前进了一步。我们为解决不依赖梯度估计器(gradient estimators)的离散输出空间问题引入了一个简单的基线,并且表明其可以在中国诗歌生成数据集上实现当前最佳的结果。我们给出了在无上下文(context-free)和概率无上下文(probabilistic context-free)语法上句子生成的定量结果,以及定性的语言建模结果。我们还描述了一个可以基于句子特征生成条件句子的有条件的版本。

入门深度学习理论Yann LeCunYoav GoldbergNLParXiv