大数据文摘与百度NLP联合出品
作者:Damien Sileo
审校:百度NLP、龙心尘
编译:张驰、毅航
https://blog.csdn.net/longxinchen_ml/article/details/89058309
原文链接:
https://medium.com/synapse-dev/understanding-bert-transformer-attention-isnt-all-you-need-5839ebd396db
为什么BERT模型这么重要
BERT是google最近提出的一个自然语言处理模型,它在许多任务检测上表现非常好。如:问答、自然语言推断和释义而且它是开源的。因此在社区中非常流行。
下图展示了不同模型的GLUE基准测试分数(不同NLP评估任务的平均得分)变化过程。
尽管目前还不清楚是否所有的GLUE任务都非常有意义,但是基于Trandformer编码器的通用模型(Open-GPT、BERT、BigBird),在一年内缩小了任务专用模型和人类的差距。
但是,正如Yoav Goldberg所说,我们并不能完全理解Transformer模型是如何编码句子的:
Transformer和RNN模型不同,它只依赖于注意力机制。除了标志每个单词的绝对位置嵌入,它没有明确的单词顺序标记。对注意力的依赖可能会导致Transformer模型在处理语法敏感的任务中相对于RNN(LSTM)模型性能表现较差——因为RNN模型是直接根据词序训练模型,并且明确地追踪句子的状态。
一些文章深入地研究了BERT的技术细节。这里,我们将尝试提出一些新的观点和假设来解释BERT的强大功能。
一种语言理解的框架:句法解析/语义合成
人类能够理解语言的方式是一个由来已久的哲学问题。在20世纪,两个互补的原理阐明了这个问题:
- “语义合成性原理”表明复合词的含义来源于单个词的含义以及这些单词的组合方式。根据这个原理,名词短语“carnivorous plants” (食肉植物)的含义可以通过 “carnivorous” (食肉的)这个词的含义和“plant” (植物)这个词的含义组合得到。
- 另一个原理是“语言的层次结构”。它表明通过句法解析,句子可以分解为简单的结构——比如从句。从句又可以分解为动词短语和名词短语等等。
句法解析层次结构以及递归是从组成成分中提取含义,直到达到句子级别,这对于语言理解是一个很有吸引力的方法。考虑到这个句子“Bart watched a squirrel with binoculars” (Bart用双筒望远镜观察松鼠),一个好的句法解析会返回以下句法解析树:
“Bart watched a squirrel with binoculars”基于结构的句法解析树
这个句子的含义可根据连续的语义合成推导出来(将“a” 和 “squirrel” 语义合成, “watched” 和“a squirrel” 语义合成, “watched a squirrel” 和“ with binoculars” 语义合成)&#x