【NLP】ELMo vs GPT vs BERT

最近看了一篇论文叫《Linguistic Knowledge and Transferability of Contextual Representations》,NAACL 2019,感受长了不少姿式,和你们分享一下。学习

目前词向量的作法有两大类,一类是相似word2vec、glove这样给每一个单词一个固定的向量,另外一类是像ELMo、GPT、BERT这种经过全局信息去给单词计算出一个向量,做者称为CWRs (contextual word representations)。第一类的缺点就很明显,好比“苹果”一词在不一样的上下文中的含义是不一样的。从18年开始,CWRs这种编码方式就不断刷新sota的分数,不只是从道理上仍是实践上都远优于以前的编码方式,从论文结果来看有20-30%的差距。ui

关于上述三个网红模型的具体细节请参考之前的文章:编码

【NLP】语言模型和迁移学习orm

【NLP】Google BERT详解ci


下面主要讲一下论文的一些结论。论文总共探讨了三个问题:get

1. CWRs(上下文词表征)编码了语言的哪些feature?

  • 在各种任务中,BERT>ELMo>GPT,发现“bidirectional”是这类上下文编码器的必备要素
  • 相比于其余任务,编码器们在NER和纠错任务表现较差 => 没有捕获到这方面信息
  • 在得到CWRs编码后,再针对任务增长MLP(relu)或者LSTM会提高效果
  • 引出了问题:何时直接fine-tune编码器?何时freeze编码器,增长task-specific layer?

2. 编码器中不一样层的transferability是怎样变化的?

  • 对于ELMo(LSTM)来讲,靠前的层更transferable,靠后的层更task-specific
  • 对于transformer来讲,靠中间的层更transferable,可是把各个层加权起来的效果会更好
  • 模型是有trade off的,在任务上表现越好,迁移性越差

3. 预训练任务会对任务和transferability有怎样的影响?

  • 双向语言模型预训练出来平均效果越好
  • 预训练任务越接近特定任务,在特定任务的表现越好
  • 预训练数据越多,表现越好



不知道这样简要写同窗们能不能看懂。。不懂的能够留言,看到就回复~it