Bert(四)

4 Experiments
在本节中,我们介绍了11个NLP任务的BERT微调结果。

4.1 GLUE
通用语言理解评估(GLUE)基准(Wang等人,2018a)是多种自然语言理解任务的集合。 GLUE数据集的详细说明包含在附录B.1中。
为了对GLUE进行微调,我们按照第3节中的描述表示输入序列(针对单个句子或句子对),并使用与第一个输入标记([CLS])相对应的最终隐藏矢量C∈R H作为 聚合表示。 微调期间引入的唯一新参数是分类层权重W∈R K×H,其中K是标签数。 我们用C和W来计算标准分类损失,即log(softmax(CWT))。
对于所有GLUE任务,我们使用32的批处理大小并针对数据进行3个时期的微调。 对于每个任务,我们在开发集上选择最佳的微调学习率(在5e-5、4e-5、3e-5和2e-5中)。
此外,对于BERT-LARGE,我们发现微调有时在小型数据集上不稳定,因此我们进行了几次随机重启,并在Dev集上选择了最佳模型。 对于随机重启,我们使用相同的预训练检查点,但执行不同的微调数据改组和分类器初始化。
结果如表1所示。BERT-BASE和BERT-LARGE在所有任务上的性能均优于现有所有系统,比现有技术分别提高了4.5%和7.0%。 请注意,除了注意力掩码之外,BERT-BASE和OpenAI GPT在模型架构方面几乎相同。 对于最大且使用最广的GLUE任务MNLI,BERT获得4.6%的绝对准确度改进。 在官方GLUE排行榜上,BERT-LARGE的得分为80.5,而OpenAI GPT的得分为72.8(截至撰写本文之日)。
我们发现,在所有任务中,BERT-LARGE的性能明显优于BER-BASE,尤其是那些训练数据很少的任务。 模型大小的影响将在5.2节中更全面地探讨。
在这里插入图片描述
表1:由评估服务器(https://gluebenchmark.com/leaderboard)评分的GLUE测试结果。 每个任务下方的数字表示训练示例的数量。 “平均”列与官方GLUE得分略有不同,因为我们排除了有问题的WNLI集。BERT和OpenAI GPT是单一模型,单一任务。 列出了QQP和MRPC的F1分数,列出了STS-B的Spearman相关内容,列其他任务的准确性分数。 我们排除了使用BERT作为其组件之一的条目。
4.2 SQuAD v1.1
斯坦福问答数据集(SQuAD v1.1)是一组10万人群源问题/答案对的集合(Rajpurkar 等,2016)。 给定一个问题和Wikipedia中包含答案的段落,任务是预测段落中的答案文本范围。
如图1所示,在问题解答任务中,我们将输入的问题和段落表示为单个打包序列,其中问题使用A嵌入,段落使用B嵌入。在微调过程中,我们仅引入了起始向量S∈R H和结束向量E∈R H。 计算出单词i是答案范围开始的概率,先求出Ti和S之间的点积,然后是该段中所有单词的softmax:在这里插入图片描述
类似的公式用于答案范围的结尾。从位置i到位置j的候选范围的分数定义为S·Ti + E·Tj,并且将j≥i的最大得分跨度用作预测。训练目标是正确的起点和终点位置的对数似然率的总和。 我们以3e-5的学习率和3的批次大小微调了3个时期。
表2显示了排行榜中排名靠前的条目以及排名靠前的系统的结果(Seo等人,2017; Clark和 Gardner,2018; Peters等人,2018a; Hu等人,2018)。 SQuAD排行榜的最高结果没有可用的最新公开系统描述,并且可以在训练他们的系统时使用任何公共数据。 因此,我们先在TriviaQA上进行微调(Joshi等人,2017)来在我们的系统中使用适度的数据增强,然后在SQuAD上进行微调。
我们的最佳性能系统在整体表现上领先+1.5 F1,而在整体系统方面则优于+1.3 F1。实际上,就F1分数而言,我们的单个BERT模型优于顶级集成系统。如果没有TriviaQA的微调数据,我们只会损失0.1-0.4 F1,仍然远远超过所有现有系统。
在这里插入图片描述
表2:SQuAD 1.1结果。 BERT集成是7x系统,它使用不同的预训练检查点和微调种子。

4.3 SQuAD v2
SQuAD 2.0任务通过允许在所提供的段落中不存在简短答案的可能性扩展了SQuAD 1.1问题定义,从而使问题更加实际。
我们使用一种简单的方法来扩展SQuADv1.1 BERT模型以完成此任务。 我们将没有答案的问题看作答案范围是以[CLS]令牌为起点和终点。起始和终止答案跨度位置的概率空间已扩展为包括[CLS]令牌的位置。为了进行预测,我们将无答案跨度的分数:Snull = S·C + E·C与最佳非零跨度的分数:sˆi,j =maxj≥iS·Ti + E·T进行比较。当sˆi,j> Snull +τ时,我们预测一个非空答案,其中在开发集上选择阈值τ以最大化F1。 我们没有在模型上使用TriviaQA数据。 我们针对2个时期进行了微调,学习率为5e-5,批次大小为48。
表3中显示了与先前排行榜项目和排名靠前的工作(Sun等人,2018; Wang等人,2018b)相比的结果,其中不包括使用BERT作为其组件之一的系统。 我们发1比以前的最佳系统提高了+5.1F1。
在这里插入图片描述
表3:SQuAD 2.0结果。 我们排除使用BERT作为其组件之一的条目。

4.4 SWAFG
对抗生成(SWAG)数据集包含113k句子对完整示例,这些示例评估了基于常识的推理(Zellers等人,2018)。 给定一个句子,任务是在四个选择中选择最合理的连续性。
在SWAG数据集上进行微调时,我们构造了四个输入序列,每个输入序列都包含给定句子(句子A)和可能的延续词(句子B)的串联。 引入的唯一特定于任务的参数是一个矢量,这个矢量与[CLS]令牌所表示的C的点积代表每个选择的得分,并使用softmax层对得分进行归一化。
我们对模型进行了3个时期的微调,学习率为2e-5,批处理大小为16。结果显示在表4中。BERT-LARGE的表现优于作者的基准ESIM + ELMo系统+ 27.1%,优于OpenAI GPT8.3%。
在这里插入图片描述
表4:SWAG开发集和测试集精度。 †根据SWAG文件中的报告,用100个样本测量了人类的表现。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在处理数据集的文本数据之前,通常需要进行一些预处理步骤。其中,使用预处理词向量的模型如BERT(Bidirectional Encoder Representations from Transformers)可以有效地处理文本数据。BERT模型采用了Transformer结构,能够同时利用上下文信息来理解每个单词的含义,从而提高了文本分类任务的性能。 在数据预处理过程中,可以参考以下步骤: 1. 查看数据集的基本数据:了解数据集中的样本数量、特征数量等基本信息。通过对数据集的整体了解,可以为后续的数据处理提供参考。 2. 分析数据集的标签构成:对数据集的标签进行统计分析,了解各类别的样本数量分布情况。这可以帮助我们了解数据的类别平衡性,并在后续的模型训练中进行适当的处理。 3. 数据集拆分成训练集、验证集、测试集:将数据集划分为训练集、验证集和测试集是为了能够在训练过程中对模型进行评估和调优。通常,我们会按照一定的比例划分数据集,例如将数据集按照70%、15%和15%的比例划分为训练集、验证集和测试集。 4. 处理数据集的文本数据:在处理文本数据时,首先需要了解BERT模型的输入格式。BERT模型要求输入数据以token的形式进行表示,通常采用WordPiece或BytePair Encoding(BPE)等方式对文本进行分词。接下来,可以根据具体任务的需求对文本数据进行进一步处理,例如去除停用词、标点符号等。 综上所述,对于BERT数据预处理,可以按照以上几个步骤进行,以便更好地准备数据用于模型训练和预测。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【BERT-多标签文本分类实战】之——数据集预处理](https://blog.csdn.net/qq_43592352/article/details/127060985)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值