文章目录
前言
论文名:Neural Machine Translation without Embeddings
论文作者:Uri Shaham et.al.
机构:
School of Computer Science, Tel Aviv University(以色列特拉维夫大学计算机科学学院)
Facebook AI Research(脸书人工智能研究组)
期刊/会议名:Arxiv 2020
本文作者:XMU_MIAO
日期:2021/1/13
摘要
许多NLP模型遵循embed-contextualize-predict的范式,其中序列中每个token通过嵌入矩阵表示为一个稠密向量,并被送入能聚合序列信息并用于预测的上下文模块中。那么NLP模型能否在没有嵌入模块工作下工作呢?为了解决这个问题,本文将输入和输出的嵌入模块从模型中去除,将文本表示为一个UTF-8的字节序列,每个字节用一个定长的256维度的one-ho向量表示。在10个语言对上的实验表明,移除嵌入模块能够持续提升基于byte-to-byte的模型,通常优于char-to-char模型,有时甚至优于标准的基于subword的模型。
1、Introduction
由于embedding模块在模型中占用了大量的参数并且使用广泛,因此会期望它相对更重要。本文的工作展示了可以训练没有embedding模块的翻译模型并且有时它还比标准的基于embedding模块的模型性能更优。
无embedding模块的模型采用UTF-8编码来表示文本,UTF-8是一种变长的编码表示法,英文字符可以用单字节表示,其他语言可用多字节表示,使用该编码方式就没有OOV问题。使用UTF-8(字节)编码的例子如下:
3、Embeddingless Model
无embedding模块的模型是基于原始的transformer模型,与原始模型的主要不同就是我们移除了输入和输出的词嵌入层。通常情况下,这些嵌入层会被合并为一个大矩阵,矩阵的每一行表示源和目标词表中的一个词。我们采用了一个固定的one-hot编码来表示我们的字节词表。为了能够预测单词,我们对transformer解码器最后一层的输出的每个维度应用softmax,无embedding与标准原始模型的输入输出区别如下:
除此之外,编码器输入和解码器输出上的dropout层也被移除,但初步实验发现,在解码器输入上使用dropout对结果有积极的影响,因而在之后的实验中都采用这样的策略。另外,编码器的输入、解码器的输入以及解码器的输出(softmax之前)都乘以
d
\sqrt{d}
d
,这与原始transformer模型类似。
2、Experiments
数据集:IWSLT英语翻译为其他语言的语料,从中选择10语言作为训练语料,如下图所示:
baseline:采用三种不同分词方式(subword、char、byte)的transformer模型作为baseline
实验结果:
作者从四个问题入手分析实验结果
1.Are embeddings essential?
实验结果表明,无embedding模块的机器翻译模型还是很有竞争力的。采用不同分词方法的模型性能差距相对较小。byte-based模型不带embedding模块比带有该模块得到更高的BLEU值(19/20,其中一种情形相等),平均有0.5个BLEU的提升。相比于char-based模型,不带embedding模块的byte-based模型也得到更高的效果(16/20),平均有0.26个BLEU值的提升。相比于subword-based模型,在源句为English上,无embedding模块的byte-based模型取得了领先(7/10)
2.Is subword tokenization superior to bytes or characters?
实验结果表明,对于有embedding模块的模型来说,大部分情况下,subword-based取得更好的效果。但引入无embedding模块的byte-based模型后,在源句为English的翻译中,后者取得更好的结果。
3.Why does removing the embedding matrix improve the performance of byte-based models?
假设不同于word-based和subword-based模型,byte-based模型的词向量是正交的,这意味着词之间没有相似性和语义关联。根据这个假设猜想,byte-based模型能否从完全正交的embedding矩阵中获益呢?对此在EN-RU语料上进行了实验,发现使用完全正交的embedding矩阵能够稍微提升性能(17.6BLEU vs. 17.4 BLEU),但是相比于无embedding的byte-based模型还有差距(18.2 BLEU)
4.Can forcing orthogonality improve subword models?
完全正交的embedding矩阵是否能提升subword-based模型的性能呢?为此,在EN-RU上做了以下实验:冻结随机初始化的embedding矩阵训练subword-based模型。实验结果表明该模型的结果降低了1.8个BLEU值。这说明可训练的embedding模块对于subword-based模型是有益的。
总结
本文的工作测试了embedding模块在神经翻译中的重要性,在10个语料对上的实验表明,无embedding模块的翻译模型也具有一定的竞争力。之后的可能方向是在不同探索在不同NLP任务上无embedding模块的模型效果以及改善byte-based模型训练的新方法。