深入理解深度学习——BERT(Bidirectional Encoder Representations from Transformers):微调训练-[文本问答]

分类目录:《深入理解深度学习》总目录
相关文章:
· BERT(Bidirectional Encoder Representations from Transformers):基础知识
· BERT(Bidirectional Encoder Representations from Transformers):BERT的结构
· BERT(Bidirectional Encoder Representations from Transformers):MLM(Masked Language Model)
· BERT(Bidirectional Encoder Representations from Transformers):NSP(Next Sentence Prediction)任务
· BERT(Bidirectional Encoder Representations from Transformers):输入表示
· BERT(Bidirectional Encoder Representations from Transformers):微调训练-[句对分类]
· BERT(Bidirectional Encoder Representations from Transformers):微调训练-[单句分类]
· BERT(Bidirectional Encoder Representations from Transformers):微调训练-[文本问答]
· BERT(Bidirectional Encoder Representations from Transformers):微调训练-[单句标注]
· BERT(Bidirectional Encoder Representations from Transformers):模型总结与注意事项


BERT根据自然语言处理下游任务的输入和输出的形式,将微调训练支持的任务分为四类,分别是句对分类、单句分类、文本问答和单句标注。本文就将介绍文本问答的微调训练,其它类别的任务将在《深入理解深度学习——BERT(Bidirectional Encoder Representations from Transform)》系列中的其它文章介绍。

给定一个问句和一个蕴含答案的句子,找出答案在后者中的位置,称为文本问答。常见任务为:

  • 斯坦福问答数据集SQuAD 1.1(Stanford Question Answering Dataset):给定一个问题(句子 A A A),在给定的段落(句子 B B B)中标注答案的起始位置和终止位置。

文本问答任务与《深入理解深度学习——BERT(Bidirectional Encoder Representations from Transform):微调训练》中的其他任务有较大差别,无论是在优化目标上,还是在输入数据和输出数据的形式上,都需要做一些特殊处理。为了标注答案的起始位置和终止位置,BERT引入了两个辅助向量—— s s s e e e,其中向量 s s s(Start)用于判断答案的起始位置,向量 e e e(End)用于判断答案的终止位置。

BERT判断句子 B B B中答案位置的做法是:将句子 B B B中的每一个词得到的最终特征向量 T i ′ T_i^′ Ti经过全连接层(利用全连接层将词的抽象语义特征转化为任务指向的特征)后,分别与向量 s s s e e e求内积,对所有内积分别进行Softmax操作,即可得到词 Tok m ( m ∈ [ 1 , M ] ) \text{Tok}_m(m\in[1, M]) Tokm(m[1,M])作为答案起始位置和终止位置的概率。最后,取概率最大的片段作为最终的答案,如下图所示。

文本问答
文本问答任务的微调训练用到两个技巧,先用全连接层将BERT提取后的深层特征向量转化为用于判断答案位置的特征向量,在微调训练中,该全连接层的变化最显著;其次,引入辅助向量 s s s e e e作为答案起始位置和终止位置的基准向量,明确优化目标的方向和度量方法。

下面给出文本问答任务的实例,重点关注输入或输出数据的格式:

任务:给定问句“今天的最高温度是多少”,在文本“天气预报显示今天最高温37摄氏度”中标注答案的起始位置和终止位置
输入改写:“[CLS]今天的最高温度是多少[SEP]天气预报显示今天最高温37摄氏度”
对Softmax的结果取 arg ⁡ max ⁡ \arg\max argmax,得到答案的起始位置为6,终止位置为7,即答案为“37摄氏度”

BERT Softmax结果

参考文献:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.
[3] 车万翔, 崔一鸣, 郭江. 自然语言处理:基于预训练模型的方法[M]. 电子工业出版社, 2021.
[4] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021.
[5] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019
[6] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023
[7] 吴茂贵, 王红星. 深入浅出Embedding:原理解析与应用实战[M]. 机械工业出版社, 2021.

猜你喜欢

转载自blog.csdn.net/hy592070616/article/details/131350369