
摘要
在基于神经网络的自然语言处理(NLP)模型中,参数的最大部分通常由词嵌入组成。传统模型准备一个大型嵌入矩阵,其大小取决于词汇表的规模。因此,将这些模型存储在内存和磁盘中是非常昂贵的。本研究提出了一种减少总参数数量的方法,即所有词的嵌入都通过转换共享嵌入来表示。所提出的方法称为ALONE(all word embeddings from one),通过使用特定于词但不可训练的滤波向量对共享嵌入进行修改,从而构建某个词的嵌入。然后,我们将构建的嵌入输入到前馈神经网络中以增强其表达能力。然而,滤波向量在内存中的占用与传统的嵌入矩阵相同,这同样依赖于词汇表的规模。为了解决这一问题,我们还引入了一种内存高效的滤波器构建方法。通过一项关于预训练词嵌入重构的实验,我们表明ALONE可以作为充分的词表示方法使用。此外,我们还在NLP应用任务上进行了实验:机器翻译和摘要生成。我们将ALONE与当前最先进的编码器-解码器模型——Transformer相结合,在WMT 2014英德翻译任务和DUC 2004极短摘要任务上取得了可比的结果,同时减少了参数数量。
代码仓库
takase/alone_seq2seq
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| text-summarization-on-duc-2004-task-1 | Transformer+LRPE+PE+ALONE+Re-ranking | ROUGE-1: 32.57 ROUGE-2: 11.63 ROUGE-L: 28.24 |