简介
BERT模型来自谷歌团队的paper——BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,它在11个NLP任务中刷新了成绩,效果非常好,非常惊人。但是,这项工作不是很好复现,如果没有足够的资源就不要想了 。之前,利用预训练的语言表征来完成下游NLP任务的研究,可以概括为两类:feature-based和fine-tuning。feature-based类别比如ELMo,fine-tuning类别比如OpenAI GPT、ULMFiT,ELMo是把表征作为feature提供给下游任务,OpenAI GPT、ULMFiT是fine tune(微调)预训练的参数。这些方法没有很好的利用上下文(context)信息,然而这些context信息对于SQuAD类似的任务非常重要。
上图表示BERT和OpenAI GPT、ELMo模型的区别。BERT使用双向Transformer。OpenAI GPT使用从左到右的Transformer。ELMo使用经过独立训练的从左到右和从右到左LSTM的串联来生成下游任务的特征。三个模型中,只有BERT表示在所有层中共同依赖于左右上下文。除了体系结构差异之外,BERT和OpenAI GPT是fine-tuning方法,而ELMo是基于feature的方法。
原文摘要
本文介绍了一种新的语言表征模型 BERT(Bidirectional Encoder Representations from Transformers),它用Transformer的双向编码器表示。与最近的其他语言表示模型不同,BERT旨在通过联合调节所有层中的上下文来预先训练深度双向表示。因此,预训练的BERT表示可以通过一个额外的输出层进行微调,适用于广