但是,请不要把这篇论文命名为「自然语言的对抗性生成」,而是还原其本来面目:「在小词汇量中一个用于短离散序列的对抗性训练的稍好一些且多少奏效的技巧」。 你在说什么?这听起来令人厌烦?这样会没人读这篇论文的。也许,但是这篇文论就是这样。我相信论文作者会想出一个更加吸引人的标题,但是它应该反映论文的真实内容,而不是假装「解决了自然语言问题」。 (顺便说一句,就像在这篇论文当中,如果我们并不在乎以一种有意义的方式控制生成的文本,那么我们就已经有了生成可读文本的好方法:从一个 RNN 语言模型或者变分自编码器中取样。大量论文通过它们生成了令人惊讶的符合语法规则的文本,甚至还扩展到了大量词汇上。如果你没有太多渠道,那就从 Andrej Karpathy 的这篇经典文章(链接:)开始吧。由于某些原因,这些并没有在论文中提及,更不要说比较了。) 这不是唯一一个立旗子占山头、宣传极度过分的文章。最近,一个类似的例子是来自 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 生成的。 (责任编辑:本港台直播) |