应Pattern Recognition审稿人要求,加入最近很火的BERT模型作为我们提出的文本表示模型的对比方法。在此和大家共同学习分析一下最近深度学习在自然语言处理领域的网红模型BERT,尝试品味BERT的精髓,探讨BERT可能的扩展方向。
模型小解
BERT模型全名是Bidirectional Encoder Representations from Transformers. 翻译过来可能叫做基于转换器的双向编码表示。这篇文章是在2018年由Google AI的研究者Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova首先发表于arXiv上。一时间在NLP领域乃至深度学习圈爆红,许多学者公认其为2018年与ELMo齐名的一大技术突破。我们且看,BERT模型是真的惊艳四方?还是学术圈的舆论炒作呢?
BERT的用途
首先,我们要明白BERT模型究竟是做什么的。BERT模型是一个预训练语言表示模型(pre-trained language representations model)。所谓预训练语言表示模型,就是先用这个模型在可与最终任务无关的大数据集上训练处语言的表示,然后将学到的知识(表示)用到任务相关的语言表示上。这样做的原因是考虑到(1)若任务相关的数据集可能很小,小数据无法反映出语言间的复杂关系,同样也很容易让复杂的深度网络模型过拟合;(2)若任务相关的数据集很大,大数据上的训练时间很长,要在短时间内、特别是有限计算资源下利用深度网络学到相关的信息是困难的。提出BERT模型的论文将预训练语言表示模型根据实际使用时的策略也分为两类,一类是基于特征的方法(feature-based approach),另一类是基于微调的方法(fine-tuning approach)。基于特征的方法利用预训练好的模型提取文本特征,并将所提取的特征作为额外的特征加入到针对特定任务的表示模型之中。之前提到的ELMo就是基于特征的方法中的典型代表。基于微调的方法则是使用特定任务的数据集和标签来微调预训练好的模型(网络)参数,从而使得预训练的模型