对于基于变压器的神经机器翻译(NMT),以中英文为例,通过译码器输入(中文)处理编码器输出,最后输出。
如果我们不将输入传递给解码器,并将其视为翻译的“内存”模型,该怎么办?有可能发生什么事吗?
似乎译码器可以移除,而且只有编码器。
我可以像文本生成一样完成翻译任务吗?请参见:
https://github.com/salesforce/ctrl/blob/master/generation.py
发布于 2019-09-16 07:47:08
目前占主导地位的NMT范式是基于一种编解码结构,其中转换是自回归生成的。这意味着翻译中的每个令牌不仅对源语句,而且对先前生成的标记都有条件。编码器在一次执行中生成源语句的表示,然后解码器接受该表示并逐个生成目标端标记。这样,解码器负责自回归部分。
当您有一个没有解码器的架构时,您就有了非自回归(NAR) NMT。建立NAR模型是可能的,但大多数以这种方式直接训练模型的尝试都失败了。他们通常一次又一次重复相同的单词,完全产生垃圾,而不是实际的翻译。
然而,如果NAR是可能的,它将导致巨大的加速(O(1)而不是O(n)复杂性)。这是目前非常活跃的研究领域。所提出的大多数尝试都依赖于创建某种中间(潜在)表示来提供给解码器,然后解码器对非自回归进行解码。
以下是该领域的一些最新文章:
https://datascience.stackexchange.com/questions/60258
复制相似问题