【ACL2020论文尝鲜】何时采用BERT更加有效?
来自:AI自然语言处理与知识图谱
导 语:
有些研究表明,BERT并非全能,并非处处完胜,那么BERT何时有效?目前的预训练模型昂贵复杂,让人无福享受,本文是 ACL 2020 一篇词向量的工作,该文探究了影响词向量的两大因素:训练数据的规模和文本语言的特性,并在三种类型的词向量上面分析:BERT词向量、Glove词向量和随机词向量。这篇论文是一篇预训练模型的有效分析,是一个不错的想法,希望更多类似的工作可以呈现,通过分析设计更加简单有效的预训练模型。
背 景
该篇论文目前在arxiv上面,已经被ACL2020接受。
近两年来,文本预训练模型已经在太多的任务上面大放异彩,论文研究层出不穷,并且在工业界也已经慢慢部署开来,解决业界实际难题。这些预训练模型始于18年的ELMO、BERT,历经后续的一系列变种(如下图),以及最新的1700亿参数量的GPT-3,像ELMO、BERT有微调和词向量两种使用方式,今天我们只关心其作为词向量的研究工作,这些词向量带有丰富的上下文信息,可以看做Rich Contextual Embedding。
预训练模型一直都是大家热议的话题,最直接的原因当然是因为效果显著,但是计算力资源(eg Memory,Time, Money)也是一方面,特别是最新的GPT-3,1700亿的参数量,明知模型有个微小的bug,却都不能retrain(如下图),正是因为资源消耗非一般模型可比,更非大多数人可用,我们才更应该关心何时何处采用预训练词向量才能够取得理想化的效果?何时可以增加重要的信息?何时可以使用更有效的表示而不会显著降低性能?该篇论文的研究问题就是这。
三种词向量
我们先对实验中用到的三种词向量加以说明。
Pretrained contextual embeddings:即 BERT Embedding,以 BERT、XLNet为代表,对于给定的句子,这些模型将每个标记编码为一个特征向量,该特征向量来自句子中标记 上下文的信息。
Pretrained non-contextual embeddings:以 word2vec、GloVe、fastText为代表,这部分多说一点,BERT未出世之前,大多数人可能都对这些模型有所了解。拿 word2vec 来说,因为有上下文词(固定窗口)参与学习,一般都说学习到上下文信息,但是在这篇论文中将其划分为无上下文信息的模型,该文认为将单词编码为语义信息向量,类似的单词就有相似的向量表示,而不是上下文信息,BERT 中所涉及的上下文信息远远要大于上下文词所学到的“上下文信息”,是编码整句文本的信息。
Random embeddings:该文还考虑了将没有预训练的随机词向量作为一个简单有效的 baseline, 词向量随机的方法采用循环随机矩阵(circulant random matrices)。
实验中采用的 Contextual embeddings 为768维的 BERT Base,Non-contextual embeddings 是300维公开可获取的GloVe词向量,Random embeddings 采用800维的随机向量,三种词向量均不微调(微调就不知道是模型的作用还是词向量本身的作用)。
实验中包含三个任务,命名实体识别(NER)、情感分析(sentiment analysis)、以及General Language Understanding Evaluation (GLUE)下多个任务。
影响因素一:训练数据规模
任务的训练数据规模是至关重要的因素之一,因此该文首先探索了训练数据的规模对三种词向量的影响,具体的实验结果如下图。
左右两个子图分别是NER和情感分析任务,不同颜色的线条代表不同的词向量。从图中我们能够发现两个点:
训练数据最小时,BERT 词向量在两个任务上面都是领先的地位,明显优于 GloVe和 Random词向量,说明 BERT 在小数据上也能有很好的效果。
伴随着训练数据的不断扩增,BERT 词向量也是一直处于领先的位置,但是 GloVe 和 Random 两者的增长趋势很快,最后基本能达到与 BERT 强有力的竞争点。
结论:在许多任务中,当提供充足的数据,GloVe这些词向量可匹配BERT。
影响因素二:语言的特性
为了更好地理解 BERT 词向量在性能上的巨大提升,该文确定了NLP任务的三个语言特性,看这三个语言特性的影响大小,有助于解释在什么时候会受益?
这三个语言特性陈列如下:
Complexity of sentence structure: 句子中不同单词的相互依赖程度。
Ambiguity in word usage: 训练过程中,单词的歧义性。
Prevalence of unseen words:训练过程中,未登录词的可能性。
我们先来看下这部分的实验结果,如下图是 BERT 词向量和 Random 词向量在两个任务上面的实验结果,表中的结果代表的是 BERT 与 Random 的差值,正数当然是BERT优于Random,负数相反,Abs 和 Rel两项结果,我们暂不关心Rel,只看Abs。
下图中共有21个Abs值,其中正值有19个,表明 BERT 代表的 Contextual embeddings 在19项上面都表现良好,说明, Contextual embeddings 在这三个特性上面有重要的信息增加。
下图是 BERT 词向量和 GloVe 词向量 类似上面的实验结果,仔细观察会发现结果与上面有不同,在 Complexity 和 Ambiguity 这两个共14项结果,有11项为正值,表明 Contextual embeddings 在这两个上面还是表现不错的,但是在 Unseen 特性上面,7项里面仅有2个表现的好。
结论:以 BERT 为代表的 Contextual embeddings 在解决一些文本结构复杂度高和单词歧义性方面有显著的效果,但是在未登录词方面 GloVe 代表的Non-Contextual embeddings 有不错的效果。
结束语
综合来说,在具有大量训练数据和简单语言的任务中,考虑算力和设备等,GloVe 代表的 Non-Contextual embeddings 是个不错的选择。但是对于文本复杂度高和单词语义歧义比较大的任务,BERT代表的 Contextual embeddings 却有明显的优势。
目前学术界或者工业界的预训练模型都越来越复杂,越来越昂贵,让人无福享受,这篇论文是一篇预训练模型的有效分析,是一个不错的想法,希望更多类似的工作可以呈现,通过分析设计更加简单有效的预训练模型。
参考资料
Arora S, May A, Zhang J, et al. Contextual Embeddings: When Are They Worth It?[J]. arXiv preprint arXiv:2005.09117, 2020.
https://github.com/thunlp/PLMpapers
相关注明
上述图片均来自于上述参考资料。
添加个人微信,备注:昵称-学校(公司)-方向,即可获得
1. 快速学习深度学习五件套资料
2. 进入高手如云DL&NLP交流群
记得备注呦