69 BERT预训练_by《李沐:动手学深度学习v2》pytorch版

系列文章目录



NLP里的迁移学习

  1. 之前是使用预训练好的模型来抽取词、句子的特征,例如 word2vec 或语言模型这种非深度学习的模型
  2. 一般抽完特征后,在做迁移学习时不更新预训练好的模型
  3. 迁移学习前做好的工作所抽取的特征是个比较底层的特征,一般当作embedding用,做自己的工作时需要构建新的网络来抓取新任务需要的信息。之前的工作,比如Word2vec忽略了时序信息,语言模型只看了一个方向,RNN不好处理特别长的序列,所以他也就看了很短的一段东西而已。

Bert的动机

在这里插入图片描述

想研发相似于CV方面的,基于微调的NLP模型,除了输出层,其他层的参数我是可以复用的,我可以挪到其他任务中去。
预训练的模型抽取了足够多的信息
新的任务只需要增加一个简单的输出层

Bert架构

Bert从结构上来讲就是一个只保留了编码器的Transformer,创新很简单,后面在输入和 L o s s Loss Loss上还有创新。
两个版本

  1. Base:#blocks=12,hidden size=768,#heads = 12
    #parameters=110M 参数相比较Transformer大很多,模型深很多。
  2. Large:#blocks=24, hidden size= 1024,#heads = 16
    #parameter=340M

在大规模数据上训练>3B 词

对输入的修改

之前Transformer是比如说把一个句子和他的翻译当作数据和标签进行训练,在encoder中放入数据,decoder中放入标签。现在bert只有encoder,怎么办?
在这里插入图片描述

这个<CLS>用来表示句子开头,<sep>表示这个句子结束,后面是下一个句子,所以可以输入多个句子。但只是这样对Transformer不太好区分哪几个词是一个句子,所以加了Segment Embeddings,通过不同标志来标记句子。最上面是一个可以学的Position Embedddings。

五、预训练任务

1、

2、

3、

六、

1、

2、

3、

七、

1、

2、

3、

八、

1、

2、

3、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值