首页 > 编程知识 正文

BERT 读论文,如何读论文

时间:2023-05-04 13:31:17 阅读:281235 作者:3841

论文地址: https://arxiv.org/abs/1810.04805

Abstract

1、Bert,一个基于Transformer的双向编码表示器.

2、从无标签的文本中,通过对所有层进行上下文联合学习,对深度双向表示进行预训练。

3、预训练好的bert模型,仅需要一层额外的输出层进行finetune训练

一、Introduction

1、将预训练语言模型应用于下游任务有两种策略:

feature-based,例:ELMo,有特定任务的网络结构、预训练的表示层作为其额外的特征

fine-tuning,例:GPT,引入最少的任务特定参数,并通过简单地微调所有预训练参数来训练下游任务。

两者区别:feature-based,使用预训练模型的参数是被冻结的,仅训练下游任务的网络参数、fine-tuning,下游任务仅有一层output层(softmax),同时训练预训练模型的参数和下游任务的参数。

(是学习率很低的训练叫微调嘛?)

2、双向预训练模型VS双向预训练模型

原先的语言模型都是单向的,因为使用的训练任务是预测下一个单词,

而Bert通过将任务定义为MLM(Masked Language Model),从而结合上下文信息,实现双向语言模型的预训练。

MLM:随机屏蔽输入中的tokens,通过上下文信息来对屏蔽的token进行预测。

同时,Bert增加了Next Sentence Prediction预训练文本对的表示。

二、Related Work

对预训练语言模型进行介绍:

1、无监督Feature-based方法

Class-based n-gram models of natural language.

A framework for learning predictive structures from multiple tasks and unlabeled data

Domain adaptation with structural correspon- dence learning.

Distributed representations of words and phrases and their compositionality.

2014 Glove: Global vectors for word representation.

2010,Word representations: A simple and general method for semi-supervised learning.

2009,A scal- able hierarchical distributed language model.

2、无监督Fine-tuning方法

2008,A unified architecture for natural language processing: Deep neural networks with multitask learning.

3、有监督的迁移学习

三、BERT

1、Bert的pre-training 和Fine-tuning

pre-training: 通过不同的预训练任务训练无标签数据。

Fine-tuning: 使用预训练的参数进行初始化,然后使用下游任务的标注数据来微调所有的参数。

不同的下游任务有单独的fine-tuned模型,尽管他们的预训练参数的初始化值一样。

Bert的一个显著特点是跨任务的统一结构,预训练模型的结构和最终下游任务的结构之间的差别很小

2、Bert的结构

Bert的模型结构是多层双向Transformer编码器。

Transformer 的层数记作​,隐藏层的大小记作​, self-attention的头数记作​

输入输出表示: 为了处理各种下游任务,Bert的input representation可以表示单个句子,也可以表示句子对。在Bert中,“句子”可以表示任意范围的连续文本,而不仅是一句话。

采用WordPiece embeddings,每个序列的第一个输入为[CLS]。

区分一个序列中两句话的方式有两种,一是,在两句话的中间加入特殊符号[SEP],二是,加入一层embedding来学习它是属于A句还是B句。

对于一个序列,它的输入表示是由token,segment,position embedding 加和组成的

Pre-training Bert

Task 1: Masked LM

为了训练一个深度双向的表示,我们随机的mask输入序列里的一些片段,然后预测这些被mask的tokens,我们将此定义MLM,我们只预测masked token。

在fine-tuning任务中不会出现[MASK],不会对所有的masked token都用[MASK]来代替,输入序列中15%的token会被选中做masked处理,其中,80%的token用[MASK]替代、10%被随机token替代、10%不进行任何变换。

Task 2: Next Sentence Prediction

做一个二分类任务,判断B是不是A的下句话。

pre-training data

在对长序列进行提取时,使用文本级的语料,而不是打乱顺序的句子级的语料,这一点至关重要。

Fine-tuning BERT

对于每个任务,我们只需要将特定于任务的输入和输出插入到BERT中,端到端的微调所有参数,

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。