在 8 月 20 日的智源社区青源 LIVE 活动中,来自字节跳动 AI Lab 的许晶晶博士对其团队在 ACL 2021 上摘得最佳论文奖的论文《Vocabulary Learning via Optimal Transport for Neural Machine Translation》进行了解读。在机器翻译任务中,词表的选择影响模型最终的性能。许晶晶博士从信息论的角度入手,提出了一种基于最优运输理论的词表搜索方法。 

论文地址:https://arxiv.org/pdf/2012.15671.pdf

代码地址:https://github.com/Jingjing-NLP/VOLT

视频地址:https://hub.baai.ac.cn/live/?room_id=160 

 

 

主讲人简介

许晶晶,字节跳动公司AI Lab部门研究员。主要研究方向为自然语言处理和机器学习。已在国内外知名学术会议发表多篇论文,曾担任ACL 2021领域主席以及多项顶会审稿人。现致力于探索轻量级深度学习。

讲者:许晶晶
整理:熊宇轩
校对:李梦佳
 
词表在命名实体识别、语义分析、翻译、摘要生成、对话等任务中广为使用。在理解性任务中,我们需要将离散的输入单词表征为连续的向量,此时词表起到了「查找表」的作用。在一些生成任务中,生成式模型的输出是词表的分布,需要进一步将其映射为离散的字符输出。
 
图 1:词表的类型
 
目前,研究人员已经提出了一系列基于字符(char)、词(word)、子词(sub-word)的词表,以及与具体语言无关的基于字节(UTF-8)的词表。其中,现有阶段最广为使用的是基于子词的词表(例如BPE )。大多数现有的词表是由专家根据自己的知识总结的生成方案得到的。那么这些词表是最优的吗?给定一个数据集,我们应该如何得到对于自然语言处理任务最优的词表?
 
图 2:研究内容
 
为了得到最优的词表,我们需要解决以下问题:
(1)如何高效评价词表?应该使用怎样的评价指标?
(2)在确定了评价指标后,如何在巨大的搜索空间中找到最优解?
如何评价词表
基于子词的词表通过基于频率的方式将常见的字符串组合起来,从而得到新的词表。其中,词表的容量是超参数。当词表较小时,词表中往往更容易出现高频的文本(span);当词表较大时,词表中会出现一些较长的单词,切分出的文本会更短。如图 3 所示,如果我们考虑不同的维度,我们可能得出不同的答案。
 
图 3:如何评价词表
 
比如我们可以从词表大小维度切入考虑。一方面,当词表较大时,词表中包含的处于长尾分布尾部的稀疏单词相对较多。由于深度学习模型往往对高频出现的数据的建模能力较强,因此词表较小可能更有利于模型学习。
 
图 4:词表评价的信息论观点
 
我们还可以从熵的角度考虑。另一方面,从信息论的角度来看,基于子词的方法最初被用于在信息压缩任务中降低熵。在自然语言处理任务中,熵等价于表示文本所需要的平均字节数。当我们将高频的字符合并为子词时,有可能大大压缩表示语料所需的字节数。此外,熵也表示了每个词例中所包含的信息量。不严谨地讲,编码词例平均需要的字节数越多,则建模该词例需要的参数量就越大。
 
图 5:归一化熵
 
由于基于子词的词表可以有效降低语料的熵,许晶晶博士利用了「归一化熵」(Normalized Entropy)的概念来刻画每个字符所包含的信息(IPC)。一般情况下,BPE实际上降低了正则化熵。我们认为,当 IPC 越小时,词表的性能越好,因为语义更确定。当每个词例包含的信息越少时,一词多义等现象发生的概率越小,模型学习语料的难度会大大降低。从这个角度来看,使用较大的词表可能更有利于模型学习。
 
图 6:评价词表的矛盾
 
如图 6 所示,当我们从降低 IPC 的角度来考虑,BPE-30K 是最佳的词表;而从词表大小的角度来考虑,BPE-1K 则是最佳选择。目前,大多数研究人员通过在下游任务上的实验效果来确定最佳的词表。然而,在面临新的语言和新的场景时,这种枚举实验的效率则较为低下。
 
图 7:IPC 与词表尺寸的权衡
 
尽管较大的词表尺寸具有较小的 IPC,但是可能引入较多稀疏单词,我们希望在获得较小 IPC 的同时尽可能控制词表的尺寸。为了提出评价词表性能的统一理论,许晶晶博士等人受到经济学中「边际效应」(Marginal Utility)概念的启发,将 IPC 视为收益,将词表尺寸视为成本。此时,边际成本是 IPC 关于词表尺寸的曲线的负梯度,它反映了随着词表尺寸的增加所带来的收益提升。
 
图 8:最大化 MUI
 
在扩展 BPE 词表的过程中,我们往往先向词表中加入降低熵的程度较大的高频词。我们假设,当熵降低到一定的水平后,再向词表中加入单词就对熵的影响就会变小。此时,我们希望找出「性价比」最高、MUI 最大的点。
 
图 9:MUI 与机器翻译性能
 
为了验证上述猜想,许晶晶博士等人在机器翻译任务中进行了一系列实验。实验结果表明,前文提出的 MUI 指标与通用的 BLEU 分数具有一定的相关性,我们或许可以将 MUI 视为一种粗粒度的词表评价指标。
                                               
                                                如何搜索最优词表
在前文中,我们提出了评价词表的 MUI 指标。为了搜索出最优的词表,最简单的方案是计算现有的词表的 MUI 值,将 MUI 最大的词表视为最优词表,这种方案的优势之一是:我们无需在下游任务上进行大量的训练就可以较好地评价词表性能。
 
图 10:搜索最优词表——最大化 MUI
 
然而, 上述方法将对于词表的搜索空间放缩到了很小的范围内。为了更好地探究此问题,我们试图进一步在更大的离散搜索空间中进行搜索。
 
图 11:VOLT 方法
 
离散优化问题的计算复杂度往往很高,我们需要使用一些近似算法对其进行求解。为了将搜索最优词表的问题与以往被用于求解离散优化问题的近似算法相匹配,许晶晶博士等人将这一过程建模为了一个最优运输问题
 
图 12:最优运输理论
 
以图 12 为例,在某次战役中,我们需要将士兵搬运到前线。然而,不考虑位置信息就直接将散落在各处的士兵按照平均比例运输到前线所需的搬运代价并不一定是最小的。在这里,最优运输理论旨在以最小的代价将一个分布转换为另一个分布。
 
图 13:词表构建
 
词表构建可以理解成频率转移。在构建词表的过程中,我们需要不断地向词表中加入单词。此时,我们可以统计字母的频率和词例的频率。如图 15 所示,当我们根据字母 a、b 构建词例 ab 时,需要将 a、b 的频率「搬运」到 ab 的频率上。

图 14:VOLT 的形式化定义
 
例如,单词「cat」包含 c、a、t 三个字母,它们出现的频率分别为 60、60、150。我们会根据这三个字母生成三个候选词例「ca」、「at」、「cat」并将它们加入到词表中。此时,我们会将字母的频率「搬运」到单词的频率上。当我们根据 60 个 c、60 个 a、60 个 t 得到单词 cat 后,就没有足够的字母用于构建其它词例了。
 
图 15:MUI 与 最优运输
 
因此,我们通过不同的「搬运」方式会得到不同的词表,构造不同的词表的过程对应于不同的搬运代价。通过将搬运代价构造成与 MUI 相关的量,我们可以将构造词表的过程近似为最佳运输过程,并进行优化。
 
                                                   实验结果
如图 16 所示,许晶晶博士在 WMT 数据集上测试了通过 VOLT 词表学习方法得到的词表在双语翻译任务中的性能。

图 16:VOLT 词表与 BPE-30K 词表在 WMT 双语翻译任务上的性能对比
 
可见,VOLT 构建的词表在词表大小远小于 BPE-30K 的情况下,获得了优于 BPE-30K 的 BLEU 分数。
 
图 17:多种双语翻译任务中的性能对比
 
除此之外,VOLT 构建的词表在 TED 数据集上的各种双语翻译任务中也取得了优于 BPE-30K 的性能。
 
图 18:VOLT 词表与 BPE-30K 词表在多语言翻译任务上的性能对比
 
在多语言机器翻译任务中,通过 VOLT 方法构建出的词表的性能通常也优于 BPE 词表。
 
图 19:VOLT 词表与 BPE-30K 词表在 Transformer 和 CNN seq2seq 模型上的性能对比
 
如图 19所示,为了探究 VOLT 得到的词表在不同网络架构上的泛化能力,许晶晶博士等人分别在 Transformer-big 和 CNN seq2seq 模型上测试了使用 VOLT 词表和 BPE-60K 词表的模型性能。实验结果表明,使用 VOLT 搜索到的词表大小在上述两种场景下均远小于 BPE-30K 词表。

Transformer-big 模型在使用 VOLT 词表时获得的 BLEU 值高于使用 BPE-30K 词表获得的 BLEU 值;CNN seq2seq 使用两种词表得到的 BLEU 值相当。许晶晶博士认为,有很多因素可能都对 BLEU 值产生影响。当我们遇到不同的场景时,应该考虑不同的维度。当模型参数量较大时,词表对模型性能会产生影响;当模型参数量较小时,模型的大小对其性能影响可能较大。因此当大家在模型比较小的时候,推荐使用比较小的词表。
 
图 20:VOLT 的计算效率
 
许晶晶博士团队发现,VOLT 方法可以在使用 0.5 个 GPU 小时的情况下,在 BLEU 指标上实现与通过 BPE 词表搜索 384 个 GPU 小时相当的性能。在面对新语言、新场景时,根据 VOLT 方法搜索词表的方法往往更优。
结语
在本文中,许晶晶博士团队针对「如何评价词表」、「如何搜索最优词表」分别提出了基于「信息边际效应」和「最优传输问题」的解决方法。
 

了解更多信息请加入「自然语言处理」交流群

内容中包含的图片若涉及版权问题,请及时与我们联系删除