活动效益怎么写,效益评估怎么写简单

在北京时间8月5日举行的ACL2021大会上,主办方正式颁发了“最佳论文”奖项,字节跳动AI实验室的论文《VocabularyLearningviaOptimalTransportforNeuralMachineTranslation》获得了这一荣誉 。本研究提出了一种新的词汇学习方案VOLT,该方案在各种翻译任务中取得了良好的效果 。
这是自ACL成立59年以来,中国科学家第二次获得最高奖项 。ACL大会由国际计算语言学协会主办,是自然语言处理和计算语言学领域的最高级别学术会议 。自2010年百度投票支持ACL以来,越来越多的中国面孔出现在ACL上,并不断获得荣誉:
2012年,清华大学获得“最佳学生论文”奖;
2019年,中国科学院计算技术研究所、腾讯微信AI、华为诺亚方舟实验室获得“最佳长论文”奖,南京理工大学、香港科技大学也分别获得“优秀论文”奖;
2021年,不仅字节跳动获得了“最佳论文”的荣誉,香港中文大学与腾讯AILab的合作论文也被评为“优秀论文” 。
根据ACL2021发布的官方信息,本次大会共提交论文3350篇,最终21.3%的论文被主大会录用,14.9%的论文被发现子议题录用,综合就业率为36.2% 。为什么字节跳动AI实验室的VOLT在3350篇论文中脱颖而出?
根据ACL的官方审查意见,字节跳动的VOLT方案为机器翻译中的一个重要问题提供了一个有效而新颖的解决方案,可以显著减少词汇学习和搜索的时间 。相信它不仅会在研究领域产生重要影响,在工业应用方面也有很大潜力 。
VOLT试图解决NLP的两个基本问题:什么是最优词汇以及如何生成最优词汇 。
什么是最优词表:以边际收益定义词表评价指标MUV
对于如何定义最优词汇,首先要考虑词汇的哪些属性更重要 。以下图为例 。以下哪个词汇更好?

活动效益怎么写,效益评估怎么写简单

文章插图
到目前为止,子词层面的词汇已经被广泛使用,并在许多任务中得到验证 。因此,在目前的认知条件下,我们可以考虑子词作为更好的选择 。与传统的基于词的词汇相比,小个子词不会面临稀疏表征的问题 。稀疏标记是指在语言中出现概率相对较低的子词 。相对于有词结构的词表,子词不会面临太多熵和语义不可区分的问题 。笔者还主要考虑了信息熵和词汇量两个主要因素来涉及评价指标 。
【信息熵】信息熵也可以理解为每个词所包含的平均语义内容 。直观理解,信息熵越小,每个词或词所代表的信息越简单,更有利于模型学习 。作者使用基于词的熵计算来评估这个属性,其中V是词表,I是词表中的标记,P是训练集中标记的出现频率:
089805f703" />【词表大小】词表越大,稀疏标记出现的概率也变大 。众所周知,机器学习对训练数据的数量要求很高,稀疏标记的出现概率较低,因此稀疏标记越多,需要的训练数据往往也就越多 。因此,在基于频率的方法下,词表越小,稀疏标记越少,参数也越少 。因此从词表大小角度来看,我们期望词表大小越小越好 。
总的来说,信息熵和词表大小不可以兼得 。一般来说,词表越大,所需参数越大,稀疏标记越多,但是信息熵在减小 。
【活动效益怎么写,效益评估怎么写简单】论文作者为了建模这种平衡,引入了边际收益的概念 。边际收益衡量了付出单位代价所能获得的利益的数量 。边际收益越大,那么投入产出比越高 。作者将信息熵看成是边际收益中的利益,词表大小看成是边际收益中的代价 。随着词表的增加,不同大小的词表的信息熵收益是不同的,作者使用边际收益的概念定义了衡量词表质量的指标MUV,并且观测到了MUV指标和下游任务的相关性 。
如何生成最优词表:将词表搜索变为最优运输问题
给定词表评价指标MUV之后,学习最优词表的问题可以粗略地等价为寻找具有最大MUV的词表问题,但是词表搜索空间不仅庞大,而且是离散空间,如何去高效地学到相应的词表呢?作者此处巧妙地将词表搜索变成了最优运输的过程 。为了便于大家更容易理解最优运输,这里对最优运输先做一个简单地回顾 。
【最优运输】大约250年前,法国数学家蒙日在其作品中对这类问题进行了严格分析,下面是一个比较直观的例子 。假设在第二次世界大战中,我方有一些前线发出了需要增兵的信号,而我们的士兵分散在不同的后方根据地 。不同的前线需要的士兵个数不同,后方根据地的士兵个数也不同,前线距离后方根据地的距离也不同 。问如何设计转移方案,使得总转移代价最低?这就是最优运输想要回答的问题 。

活动效益怎么写,效益评估怎么写简单

文章插图
最优运输问题示意图
【词表搜索】作者在新的定义框架下,将字表示为士兵,将所有的标记候选表示为前线,不同字的数量为在训练集中出现的频次,不同标记候选需要字的数量为该标记在训练集中出现的频次 。比如cat在训练集中出现了20次,那么cat需要20个c,20个a,和20个t来组成该标记 。为了避免不合法的搬运,作者将不合法的搬运设为无穷大(比如字e搬运给标记cat是不合法的) 。由于字的个数是有限的,肯定有一些标记候选无法拿到对应的字,那么这些标记将会从最终的词表中踢出去 。最后,得到搬运的标记成最后的词表 。也就是说,每次搬运方式都对应一种词表,只需要将搬运的代价对应成词表学习问题的目标,即可使用高效的最优运输的解法去解决 。那么如何将词表学习的问题转化成为最优运输的代价呢,此处本文做了一些重构操作:
首先,MUV可以理解成为熵对词表大小的一阶导数,为了建模连续的导数,本文引入了相对分数来模拟导数:

活动效益怎么写,效益评估怎么写简单

文章插图
这里的H代表的是信息熵,分子是信息熵的相对变化量,而分母中的i代表词表大小的变化量,S是一个递增序列,每个元素代表以该时刻大小为上届的所有词表组合 。因此对于每个步骤来说,都存在一个具有最大MUV分数的词表,只要对所有的步骤做遍历,就可找到最优词表 。为了进一步降低求解难度,作者对每一步的求解公式做了一个近似,提出最优该公式的上届,也就是:

活动效益怎么写,效益评估怎么写简单

文章插图
那么每个步骤的问题就转化成了每个步骤寻找熵最大词表的问题 。作者紧接着使用了基于熵的最优运输解法就可以将最优运输的目标定义成为寻找熵最大词表的问题 。具体求解公式如下,最小化公式的左边为转移矩阵的熵,可以近似理解为词表的熵,后边的项为避免不合法搬运的正则化项 。如此以来,就可以使用标准的求解算法去求解该公式:

活动效益怎么写,效益评估怎么写简单

文章插图
总的来说,对于每个步骤,作者都是用如上算法找到词表的最大熵并且计算出当前的最大MUV分数,最后遍历所有的步骤即可找到具有最优的MUV的词表 。需要说明的是在得到标记候选集的时候,作者为了简单,借用了字节对编码(BPE:byte pair encoder)学到的标记组合 。具体VOLT方法伪代码见如下所示:

活动效益怎么写,效益评估怎么写简单

文章插图
该方法不需要下游任务训练,因此非常简单高效 。
测试结果
以下是VOLT生成的词表在双语翻译的结果,可以看出,新方法学到的词表比经常使用的词表小很多,效果也很有竞争力 。

活动效益怎么写,效益评估怎么写简单

文章插图
以下是在多语翻译的结果,总体来看,在三分之二的数据集上效果也是较好的 。

活动效益怎么写,效益评估怎么写简单

文章插图
延伸思考
古往今来,大家在做机器翻译的时候都比较习惯用同样的一套词表大小,比如双语翻译中的32000 。但是看本文的实验可以发现,有很多比32000更好的选择,尤其是低资源翻译上 。
这篇文章除了介绍VOLT提供一个更好的词表学习工具外,还分析了词表大小对表现的影响 。作者使用VOLT搜索出的词表大小生成了BPE的词表,发现也可以得到相似的结果,因此作者也推荐使用VOLT作为一种词表大小学习方式 。除此之外,实验中也发现简单的基线模型在使用了VOLT生成的词表之后也达到了和最优受限结果(不借助外部资源)匹配的分数,或许也可以引发大家对基线模型效果的进一步思考 。
论文地址:https://arxiv.org/abs/2012.15671
项目地址:https://github.com/Jingjing-NLP/VOLT
论文blog:https://jingjing-nlp.github.io/volt-blog/