0%

论文阅读 [精读]-LANGUAGE MODELING VIA STOCHASTIC PROCESSES (2)

继续讲一篇我布朗桥建模长文本生成的实验部分。之所以单拎出来,是因为他的实验部分的论文书写方式比较有意思,不像是 mehtod 类的论文,反倒像是分析性文章。我很喜欢这种写论文的思路,就单独拿出来说说。

作者团队来自斯坦福大学

实验

在这一部分,作者瞄准动机,想要设计实验回答下面四个问题:

  • 可以很好的 encode 句子级别的语义吗?
  • 可以很好的做句子级别的生成吗?
  • 可以很好的编码全局信息吗?
  • 可以很好的做全局的长文本生成吗?

作者在主模型的基础上做了几个消融模型:

  • Implicit Dynamics (ID):专门用一个 autoregressive 模型来预测下一个 sentence embedding,给定前面的 embedding
  • Brownianmotion (BM):不用布朗桥的三个句子训练,而是直接用两个句子的布朗运动用 zt|zsN(zs,ts) 作为随机过程的编码 oracle
  • VAE:用 VAE 做句子编码,这里不考虑句子间的关系,只是对单独句子要求做 0-1 标准分布的对齐 loss

可以很好的 encode 句子级别的语义吗?

这一部分就是在衡量 sentence encoder 的能力。作者在这里用了一个实验性的定义:

  • 如果我们能从 embedding 中恢复句子的前后关系,说明句表示的学习有很好的承接关系

作者因此用 encoder 跑出来的句表示数据集训一个 MLP classifier 区分句子的先后关系,其实有点像对抗…… 这个实验最差的结果应该随机给,正确率 50

可以发现,正常的 GPT2、VAE、BM 基本都是 random 来搞。而 TC 最好地保持了这种句子顺序的关系,说明这种由 3 个句子形成的对的建模效果很好。

尤其是 BM 这种单向布朗运动的结果是 random。这也许说明这种建模其实不能让模型学到先后关系。

同时,ID 方法其实在 conversation 数据集上的效果很好,说明 Autoregressive 建模其实也还不错。

最后,作者有一个小细节带过了,但我们可以想一想:采样的句子举例 k=1 时,所有的模型最后都是瞎猜。这是不是说明相邻句子的编码关系其实没有那么好?但其实人做分类时,相邻句子是可以做的很好的,这一点上,我们 still have a long way to go。

可以很好的做句子级别的生成吗?

这一部分,作者使用了 in-filling 作为代理任务,因为需要同时考虑前面和后面的内容才能保证生成的内容一致性好。在这一部分,作者对比了一个非常强的 baseline ILM,就是做 in-filling 的 SOTA。注意,TC 并不是一个专门做 in-filling 的模型

作者在 BLEU 上甚至战胜 SOTA。这强烈证明了布朗桥建模确实非常有利于建立一个连续地语义的变化过程。

可以很好的编码全局信息吗?

在这一部分,作者思考了另外一个 setting。通过生成一个 wikipage 和原始 page 的长度之间的差距来衡量全局建模能力。作者在这里对比了 GPT2。

  • 为了加强 GPT2 的能力,作者还给了 GPT2 某些 oracle 的能力,提前告诉 GPT2 对应哪些段落,然后段落名的 embedding,再让 GPT2 对应生成段落。

在这种情况下,TC 仍然战胜了所有竞争者。说明 TC 方法确实很好的把握了全局的语义信息,生成出了正确的长度。作者在这里也提到别的模型的错误主要来源于对于单个段的长度有错误的判断。

然而,这里可能有个 bias 的问题,就是训练的时候我们其实采样过了 wiki 的语料,这说明 TC 其实对于 wiki 的段落长度有个大概的感知,下游任务段落长度判断准确是可以理解的。因此这里我觉得可能涉及有循环论证的问题。

可以很好的做全局的长文本生成吗?

最后,作者目标指向了最终的全局长文本生成问题。叫做 forced long text generation。对于传统 Autoregressive 模型这很难,因为一旦生成 EOStoken 你即使让它接着生成,后面也会开始说一些怪话,表现会很差。

但矛盾就在于,模型正常说几十个字就会出现 EOS,这不是我们能决定的。在这里作者对于传统 GPT2 就直接 forced long generation。对于所有 plan 系的模型,都是按照之前讲的那一套方法进行进行生成

应该说,不管是在哪个机械评分还是 human 评分上,TC 方法都赢了。说明这种建模方式对于长文本段语义保持的有效性。

思考

  • 作者这个实验部分挺有意思。用回答问题的方式设计实验,而不是先设计实验再做分析。不知道作者在完成工作的时候用的是什么顺序,但读起来就会让大家觉得故事线非常完整
  • 同时作者的对比实验和各种附加实验以及人工评测都做的很详细。这样的完成度才像是 ICLR 的体量
  • 有一个有意思的点是作者用的句表示维度其实只有最多 32 维,效果就已经不错了,并且也可以明确分出来句子表示的先后顺序。这也许说明句子中实际含有的语义可能没有我们想象的那么难以表达。
  • 布朗桥的思路非常新,引入的这个归纳偏置值得考究。但是文本生成真的就是想布朗桥一样吗?比如所谓的起承转合,或者欲扬先抑的语义在这套体系下就不能表示。
  • 我们能不能想到更一般性的表示法,有更强的表征能力,然后模型甚至去重新发现所谓的归纳偏置。不过这样可能有点回到了作者之前提到的 former work 的感觉。
  • 最后,就是感觉这种摆一个 strong specific SOTA baseline 然后用一个一般性模型打败它,这种实验好酷啊……
Powered By Valine
v1.5.2