BERT: 一个双向理解语言序列的模型 & 第一个用于微调的预训练模型

本文是结合 B 站李沐老师的视频对 BERT 的理解,主要介绍了 BERT 的 overview、预训练和微调三个部分,相比于原视频,本文更加简洁和通俗。视频地址: https://www.bilibili.com/video/BV1PL411M7eQ/?spm_id_from=333.999.0.0&vd_source=2e0bed8f939119c48817ce61f4f75bdd


Overview of BERT

BERT(Bidirectional Encoder Representations from Transformers)是一个预训练的、基于 Transformer 的、双向的、深层的语言模型,论文题目为 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding(https://arxiv.org/pdf/1810.04805),正如论文标题所言,它是一个语言理解模型。

BERT 是基于 Transformer 构建的,但是它只保留了 Transformer 的编码器。Transformer 的编码器是使用 self-attention 双向理解句子的,所以 BERT 是双向理解句子的。对于标准的 Transformer,由于解码器的输入是一个一个往右移动的(shifted right),所以其主要用途为生成式任务。

BERT VS Transformer:

  • BERT 可以理解句子上下文,用于句子分类、特殊词识别、问题回答等任务,不能用于语言生成、机器翻译等生成式任务;
  • Transformer 是生成式模型,用于语言生成、机器翻译等生成式任务。

BERT 的预训练

  • 训练集:在由多伦多图书语料库和维基百科组成的大型语料库
  • 输入: 每个样本都是句子对,表示为:[CLS]...句子1...[SEP]...句子2...[SEP]
  • 预训练任务1:将输入的样本的 token 以 15% 的比例进行随机掩码处理(标记为 mask),然后预测这些 mask 对应的 token。
  • 预训练任务2:预测输入的句子对儿是不是相邻的句子。

BERT 的微调

BERT 是第一个用于微调(fine-tune)的预训练模型,可以说是为微调而生。我们不会直接使用 BERT 模型,而是根据特定的任务对 BERT 进行微调,包括:

  1. 更新预训练模型的参数;
  2. 在模型中增加一个实现任务的输出层。

在 BERT 之前,通过迁移学习使用预训练好的大模型时,通常都是直接使用,不更新预训练模型的参数。在自然语言处理领域,当然是微调的表现更好。

微调模型的好处:先在一个大的数据集上,预训练一个大模型,预训练的大模型已经包含了足够多的、通用的信息;然后我们在一些具体的 NLP 任务中,使用自己的小数据集对大模型进行微调,就得到了针对特定任务表现很好的模型。既简化了训练,又提升了性能。


写在文末

人工智能技术日新月异,逐渐渗透进了各行各业。人工智能技术在生物领域有非常大的应用潜力,让我们一起学习,致力于人工智能推动生物发展。

为了促进交流,我创建了 AI in Bio 微信交流群,可以点击公众号主页底部进交流群一栏,获取交流群二维码,如果二维码失效,请给我留言,我会尽快更新。也可以先加我微信(微信ID:AIinbio),备注进交流群,然后我拉你进群。

感谢大家的支持与帮助!

本文由 mdnice 多平台发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值