BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 论文阅读

部署运行你感兴趣的模型镜像

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

1 摘要

1、 提出了一种基于Transformer的双向编码表示模型BERT(Bidirectional Encoder Representations from Transformers. )

2、BERT旨在通过在各层中同时考虑左右上下文,从无标签文本中预训练深度双向表示。因此,预训练的BERT模型可以通过仅添加一个额外的输出层来微调,以创建一系列任务的最先进模型,如问答和语言推理,而无需进行大量的特定任务架构修改。

3、实验结果GLUE分数提高到80.5%,SQuAD v1.1问答测试F1提高到93.2(绝对提高了1.5个百分点)以及SQuAD v2.0测试F1提高到83.1。

2 概述

2.1 背景介绍

1、语言模型的预训练已被证明能有效提升众多自然语言处理任务的性能。

①句子级任务(sentence-level tasks):自然语言推理,句子改写,这类任务需要通过整体分析来预测句子的语义关系。

②词元级任务(token-level tasks ):命名实体识别,问答系统,这些任务要求模型在词元层面生成细粒度的输出。

2、目前将预训练语言表示应用于下游任务主要有两种策略:基于特征的微调式的

基于特征的策略(如ELMo,Peters等,2018a):

  • 采用任务特定的架构设计
  • 将预训练表示作为额外的特征输入到模型中
  • 保留预训练参数固定不变

微调式的策略(如生成式预训练Transformer,OpenAI GPT,Radford等,2018):

  • 仅引入极少量的任务特定参数
  • 通过对所有预训练参数进行微调来适应下游任务
  • 实现端到端的任务适配

这两种策略在预训练阶段采用相同的目标函数,都使用单向语言模型来学习通用的语言表,但后续的应用方式存在显著差异。

2.2 动机介绍

我们认为当前的技术限制了预训练表示的能力,尤其是对微调式方法而言。其主要局限在于:标准语言模型采用单向架构,这严重制约了预训练阶段可采用的模型结构选择。

具体而言:以OpenAI GPT为例,其采用从左到右的单向架构

  • 在Transformer的自注意力层中,每个词元只能关注其左侧的词元(Vaswani等,2017)
  • 这种设计虽然简化了训练过程,但牺牲了模型的表达能力

这种限制带来的影响:

  • 对句子级任务已非最优解
  • 对词元级任务(如问答系统)可能造成严重损害:
    • 因为这类任务必须同时利用双向上下文信息
    • 单向架构无法捕捉完整的句子语义关系

2.3 主要工作

本文提出了一种改进微调式方法的新型语言表示模型——BERT(Bidirectional Encoder Representations from Transformers,基于Transformer的双向编码器表示)。该模型通过采用受完形填空任务启发的**“掩码语言模型”(MLM)**预训练目标,有效突破了传统单向架构的限制:

核心创新机制

  • MLM随机遮蔽输入文本中的部分词元(token)
  • 模型需仅根据上下文预测被遮蔽词元的原始词汇ID
  • 相较于传统从左到右的语言模型预训练:
    • 能够融合双向上下文信息
    • 支持预训练深层双向Transformer架构

辅助训练任务

  • 同时采用"下一句预测"(Next Sentence Prediction)任务
  • 联合预训练文本对表示

2.4 主要贡献

双向预训练的重要性:突破Radford等(2018)单向预训练的局限,相较于Peters等(2018a)浅层拼接左右向LM的方法,通过MLM实现真正的深度双向表示

减少任务特定架构需求:证明预训练表示可大幅简化任务工程设计,作为首个基于微调的表示模型,在大量句子级和词元级任务上达到最先进性能,显著优于多数任务特定架构

性能突破

  • 在11项NLP任务上刷新最佳表现
  • 项目代码及预训练模型已开源: https://github.com/google-research/bert

3 相关工作

3.1 无监督的基于特征的方法(Unsupervised Feature-based Approaches )

1、词嵌入训练方法

非神经网络方法(Brown等,1992;Ando和Zhang,2005;Blitzer等,2006)和神经网络方法(Mikolov等,2013;Pennington等,2014)

在预训练词嵌入向量时,研究者采用了多种目标函数,包括:

  • 从左到右的语言建模目标(Mnih和Hinton,2009)
  • 基于左右上下文区分正确与错误词的目标(Mikolov等,2013

2、扩展至更粗粒度表示句子级表示段落级表示,多种目标函数,主要包括:

①候选句子排序目标,通过评估候选句子的合理性来优化表示

②基于前句表示的下一句生成目标

③ 给定前句表示,从左到右生成下一句的词序列

3、最新研究ELMo及其前身(Peters等,2017,2018a)从不同维度拓展了传统词嵌入研究。该方法通过双向语言模型(包含从左到右和从右到左两个方向)提取上下文敏感的特征表示。每个词元的最终上下文表示是其左向和右向表示的拼接组合。

在将上下文词嵌入集成到现有任务特定架构中时,ELMo在多个重要NLP基准测试中取得了显著进展(Peters等,2018a),包括:

  • 问答系统(Rajpurkar等,2016)
  • 情感分析(Socher等,2013)
  • 命名实体识别(Tjong Kim Sang和De Meulder,2003)

其他相关研究包括:

  1. **Melamud等(2016)**提出通过LSTM模型从左右双侧上下文预测单个词来学习上下文表示。与ELMo类似,该方法属于基于特征的方法,但不具备深度双向性。
  2. **Fedus等(2018)**研究表明,完形填空任务可以有效提升文本生成模型的鲁棒性。

3.2 无监督微调方法(Unsupervised Fine-tuning Approaches )

1、早期的研究仅从无标注文本中预训练词嵌入参数(Collobert和Weston,2008),近年来,研究者开始预训练能够生成上下文词元表示的句子或文档编码器,并针对下游监督任务进行微调(Dai和Le,2015;Howard和Ruder,2018;Radford等,2018)。这类方法的优势在于只需从零开始学习少量参数。至少部分得益于这一优势,OpenAI GPT(Radford等,2018)在GLUE基准测试(Wang等,2018a)的多个句子级任务上取得了此前最先进的性能表现。

这些模型的预训练通常采用以下目标函数:

  • 从左到右的语言建模目标(Howard和Ruder,2018;Radford等,2018;Dai和Le,2015)
  • 自编码器目标(Howard和Ruder,2018;Radford等,2018;Dai和Le,2015)

3.3 基于监督数据的迁移学习(Transfer Learning from Supervised Data )

已有研究表明,利用大规模标注数据集(如自然语言推理任务Conneau等,2017;机器翻译任务McCann等,2017)进行有效的知识迁移是可行的。计算机视觉领域的研究也证明了从大型预训练模型进行迁移学习的重要性,其中一种有效的方法是基于ImageNet(Deng等,2009;Yosinski等,2014)预训练模型进行微调。

4 BERT

4.1 方法简介

本节我们将详细介绍BERT模型及其实现方案。该框架包含两个核心步骤:预训练(pre-training)和微调(fine-tuning)

预训练阶段:在预训练阶段,模型通过无标注数据,在多种预训练任务上进行训练。这些任务旨在让模型学习通用的语言表示能力

微调阶段:BERT模型首先使用预训练阶段获得的参数进行初始化,然后针对不同的下游任务(downstream tasks),使用标注数据对所有参数进行微调。值得注意的是:

  • 每个下游任务都有独立的微调模型,尽管它们都基于相同的预训练参数初始化
  • 这种设计使得BERT能够灵活适应各种NLP任务

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如图1所示,BERT采用统一的模型架构同时服务于预训练和微调阶段(输出层除外)。该框架的核心设计特点包括:

  1. 参数共享机制
    • 所有下游任务均采用相同的预训练模型参数进行初始化
    • 在微调阶段,模型所有参数(包括共享参数和任务特定参数)都会被更新
  2. 特殊标记设计
    • [CLS]标记:作为输入序列的起始符号,用于聚合全局信息(如在分类任务中作为分类依据)
    • [SEP]标记:作为序列分隔符,用于区分不同输入片段(例如问答任务中的问题和答案)

4.2 模型架构:BERT的Transformer编码器

BERT采用多层双向Transformer编码器架构,其基础实现源自Vaswani等人(2017)的开创性工作。

在本研究中,我们采用以下参数定义:

  • L:Transformer编码器层数(即Transformer块数量)
  • H:隐藏层维度大小
  • A:自注意力头的数量

我们主要报告两种模型规模的结果:

  1. BERTBASE:L=12层,H=768维,A=12个注意力头,总参数量1.1亿
  2. BERTLARGE:L=24层,H=1024维,A=16个注意力头,总参数量3.4亿

特别说明: BERTBASE的模型规模与OpenAI GPT保持一致,便于直接对比研究。但关键区别在于:

  • BERT采用双向自注意力机制
  • GPT采用单向自注意力机制(每个token只能关注左侧上下文)

4.3 输入/输出表示:支持多任务处理的统一表示方法

BERT采用创新的输入表示设计,能够统一处理单句和句对(如[问题,答案])等多种下游任务场景。本节详细说明其输入表示的关键特性:

  1. 广义句子定义
    • 在本研究框架中,"句子"指任意连续文本片段(不限于语言学意义上的完整句子)
    • "序列"指输入BERT的token序列,可能包含单个句子或打包在一起的两个句子
  2. 词表示方案
    • 采用WordPiece分词算法(Wu et al., 2016)构建30,000词表的词汇表
    • 每个输入序列以特殊分类标记[CLS]开头,该标记的最终隐藏状态将作为分类任务的聚合序列表示
  3. 句对处理机制
    • 通过两种方式区分打包的句子对: a) 使用特殊分隔符[SEP]标记句子边界 b) 为每个token添加可学习的句子归属嵌入(标识属于句子A或B)
    • 如图1所示,定义输入嵌入为EEE,[CLS]标记的最终隐藏向量为C∈RHC\in{R^H}CRH,第ithi^{th}ith个token的最终隐藏向量为Ti∈RHT_i\in{R^H}TiRH
  4. 输入表示构造
    • 每个token的最终输入表示是其词嵌入、句子段嵌入和位置嵌入的加权和
    • 具体构造过程如图2所示(可视化展示)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如图2所示,BERT的输入表示是通过三种嵌入向量的加和构成的复合表示:

  1. Token Embeddings(词嵌入)
    • 采用WordPiece分词算法生成的词级表示
    • 包含30,000词表的词汇信息
  2. Segment Embeddings(句子段嵌入)
    • 用于区分句子对中的不同句子(A或B)
    • 每个token会获得一个可学习的段标识嵌入
  3. Position Embeddings(位置嵌入)
    • 提供token在序列中的位置信息
    • 支持模型理解文本的顺序关系

这三种嵌入向量的逐元素相加构成了最终的输入表示,使模型能够同时捕捉:

  • 词汇语义信息(通过词嵌入)
  • 句子边界信息(通过段嵌入)
  • 文本顺序信息(通过位置嵌入)

4.4 预训练BERT

4.4.1 任务1:Masked LM

1、问题:直觉上可以认为,深度双向模型比单向模型(左到右或右到左)或者浅层双向模型(左到右与右到左的简单拼接)具有更强的表达能力。然而,标准条件语言模型只能进行单向训练(左到右或右到左),因为双向条件会导致每个词间接"看到自己",模型可以轻易地在多层上下文中预测目标词。

2、解决方案:掩码语言模型(MLM),为训练深度双向表示,我们采用以下创新方法:

随机掩码输入token:随机遮盖输入序列中一定比例的token

预测被遮盖的token:模型需要预测这些被遮盖的token

术语说明:虽然这种方法在文献中也被称为"Cloze任务"(Taylor, 1953),但我们称之为"掩码语言模型"(MLM)

3、具体实现细节

掩码比例:在所有实验中,我们随机遮盖每个序列中15%的WordPiece token

②与去噪自编码器的区别:

  • 不同于去噪自编码器(Vincent et al., 2008)需要重建整个输入
  • 我们仅预测被遮盖的词,而不是重构整个输入序列

③预训练与微调的匹配问题:

  • 由于**[MASK]标记在微调阶段不会出现,这会造成预训练和微调之间的不匹配**
  • 缓解措施:
    • 训练数据生成器随机选择15%的token位置进行预测
    • 对于被选中的第i个token:
      • 80%概率替换为[MASK]标记
      • 10%概率替换为随机token
      • 10%概率保持原token不变
    • 然后使用Ti来预测原始token,采用交叉熵损失
4.4.2 任务2:Next Sentence Prediction (NSP)

1、核心目标:为使模型能够理解句子间的关系(这是问答系统QA和自然语言推理NLI等下游任务的关键能力),我们设计了一个专门的任务来训练这种能力。

2、任务设计

  1. 任务形式
    • 二分类任务:判断句子B是否是句子A的下一句
    • 标签:
      • IsNext(50%概率):B确实是A的下一句
      • NotNext(50%概率):B是语料库中的随机句子
  2. 输入构造
    • 从单语语料库中随机选择句子对(A,B)
    • 按照上述概率分布构造训练样本
  3. 模型使用
    • 如图1所示,使用[CLS]标记的最终隐藏向量(记为C)进行下一句预测
    • 通过二分类输出层进行预测

3、技术优势与相关研究

  1. 有效性验证
    • 尽管任务简单,但在第5.1节证明该预训练任务对QA和NLI等任务非常有益
    • 与Jernite等人(2017)和Logeswaran等人(2018)的表示学习目标密切相关
  2. 创新点
    • 与之前工作不同:
      • 之前工作仅迁移句子嵌入用于下游任务
      • BERT迁移所有参数来初始化最终任务的模型参数
    • 这种全参数迁移带来了更强的迁移学习能力

实现细节

  • 句子对的选择完全随机,确保模型学习通用的句子关系理解能力
  • 二分类任务的简单性使其易于实现且计算高效
4.4.3 预训练数据说明

1、**数据来源 **BERT的预训练采用了两个主要的大规模英文语料库:

  1. BooksCorpus:包含约8亿单词的书籍文本数据(Zhu et al., 2015)
  2. 英文维基百科:包含约25亿单词的百科全书文本

2、数据预处理 对于维基百科数据,我们进行了严格的筛选:

  • 仅保留纯文本内容
  • 过滤掉所有非文本内容,包括:
    • 列表(lists)
    • 表格(tables)
    • 标题(headers)

3、关键设计选择 采用文档级语料而非句子级语料(如Billion Word Benchmark)具有以下重要优势:

  1. 保留文本连贯性
    • 文档级语料保持原始文本的段落结构和上下文关系
    • 句子级语料会打乱文本顺序,破坏自然语言的连贯性
  2. 支持长序列学习
    • 能够提取更长的连续文本序列
    • 有利于模型学习更长距离的依赖关系
    • 对理解复杂文本和长篇内容至关重要

这种数据选择策略是BERT能够学习高质量语言表示的关键因素之一,为后续的预训练任务(如掩码语言模型和下一句预测)提供了高质量的基础数据。

4.5 微调(Fine-tuning)BERT

微调机制的核心优势: BERT的微调过程非常直接高效,这得益于Transformer架构中的自注意力机制(self-attention mechanism)。该机制使得BERT能够通过简单的输入输出调整,灵活适配多种下游任务——无论是处理单文本还是文本对任务。

与现有方法的对比: 对于涉及文本对的任务(如文本蕴含、问答等),现有方法(如Parikh et al., 2016; Seo et al., 2017)通常采用以下模式:

  1. 先独立编码两个文本
  2. 再应用双向跨注意力机制

而BERT采用更简洁高效的方式:

  • 统一处理:通过自注意力机制直接处理拼接后的文本对
  • 内在包含:这种处理方式实际上已经包含了句子间的双向跨注意力关系

微调的具体实现

  1. 输入适配:预训练中的句子A和句子B可以对应多种下游任务:

    (1) 释义任务中的句子对

    (2) 文本蕴含任务中的假设-前提对

    (3) 问答任务中的问题-段落对

    (4) 文本分类/序列标注中的退化文本对(即单个文本)

  2. 输出适配:对于token级任务(如序列标注、问答),将token的表示输入到输出层;对于分类任务(如文本蕴含、情感分析):将[CLS]标记的表示输入到输出层。

  3. 微调效率:相比预训练,微调计算成本极低:

    • 在单个Cloud TPU上最多1小时

    • 在单个GPU上仅需几小时

    • 所有实验结果都可以从完全相同的预训练模型开始复现

实现细节

  • 具体任务的微调细节将在第4节的相应小节中说明
  • 更多技术细节可参阅附录A.5

5 实验

5.1 GLUE

GLUE基准测试与BERT微调

GLUE基准概述: GLUE(General Language Understanding Evaluation)是一个涵盖多样化自然语言理解任务的基准测试集,其详细数据集描述见附录B.1。

BERT在GLUE上的微调方法

  1. 输入表示
    • 对于单句或文本对任务,采用第3节描述的输入表示方法
    • 使用第一个输入token([CLS])对应的最终隐藏向量C∈RH作为聚合表示
  2. 分类层设计
    • 微调阶段仅新增分类层参数W∈RK×H(K为类别数)
    • 采用标准分类损失函数:log(softmax(CWT))
  3. 训练设置
    • 批量大小:32
    • 训练轮数:所有GLUE任务均训练3个epoch
    • 学习率选择:在开发集上从{5e-5,4e-5,3e-5,2e-5}中选择最优学习率
  4. 特殊处理
    • 对于BERTLARGE模型:
      • 在小数据集上发现微调有时不稳定
      • 采用多次随机重启策略(保持相同预训练检查点)
      • 每次重启执行不同的数据洗牌和分类器层初始化
      • 最终选择开发集上表现最好的模型

实验结果

  1. 性能对比
    • BERTBASE和BERTLARGE在所有任务上都显著优于现有系统
    • 相较于先前最佳系统,分别获得4.5%和7.0%的平均准确率提升
    • 特别值得注意的是:
      • BERTBASE与OpenAI GPT在架构上几乎相同(仅注意力掩码不同)
      • 在最大规模且最受关注的GLUE任务MNLI上,BERT获得4.6%的绝对准确率提升
      • 在GLUE官方排行榜上,BERTLARGE获得80.5分,而OpenAI GPT为72.8分(截至写作日期)
  2. 模型规模影响
    • BERTLARGE在所有任务上都显著优于BERTBASE
    • 这种优势在小训练数据量的任务上尤为明显
    • 模型规模的影响将在第5.2节进行更深入探讨

5.2 SQuAD v1.1问答任务

数据集概述:SQuAD v1.1(Stanford Question Answering Dataset)是一个包含10万条众包问答对的数据集(Rajpurkar等,2016)。该任务要求模型根据给定的维基百科段落和问题,预测答案文本在段落中的具体位置(即答案文本跨度)

BERT在SQuAD上的微调方法

  1. 输入表示
    • 问题和段落组合为一个连续的输入序列
    • 问题使用A嵌入表示,段落使用B嵌入表示(如图1所示)
  2. 微调参数
    • 新增两个向量参数
      • 起始向量S∈RH
      • 结束向量E∈RH
  3. 预测计算
    • 对于段落中每个词i,计算其为答案起始位置的概率: Pi = softmax(Ti·S) (其中Ti为词i的隐藏表示)
    • 类似方法计算结束位置概率
    • 候选答案跨度的得分为:S·Ti + E·Tj(i≤j)
    • 选择得分最高的跨度作为最终预测
  4. 训练设置
    • 训练轮数:3个epoch
    • 学习率:5e-5
    • 批量大小:32
    • 训练目标:正确起始和结束位置的对数似然之和

实验结果与对比

  1. 性能表现
    • 我们的最佳系统在SQuAD排行榜上:
      • 集成模型比最高分系统高+1.5 F1
      • 单模型比最高分系统高+1.3 F1
    • 单个BERT模型在F1分数上超越了最佳集成系统
  2. 数据增强策略
    • 采用适度的数据增强:
      • 先在TriviaQA(Joshi等,2017)上微调
      • 再在SQuAD上微调
    • 即使不使用TriviaQA数据:
      • 仅损失0.1-0.4 F1
      • 仍大幅优于所有现有系统
  3. 与现有系统的对比
    • 表2展示了SQuAD排行榜顶尖系统和顶级发表系统的结果
    • 需要说明的是:
      • 排行榜顶尖系统的最新公开描述不可用
      • 这些系统可能使用了任何公开数据进行训练

5.3 SQuAD v2.0问答任务(支持无答案情况)

任务扩展说明 SQuAD 2.0在SQuAD 1.1的基础上进行了重要扩展:

  • 新增了"无答案"情况:允许段落中不存在符合问题的简短答案
  • 使任务更加贴近真实场景
  • 这种扩展显著增加了任务的复杂性

BERT模型扩展方法**

我们采用简单而有效的方式将SQuAD v1.1的BERT模型扩展到SQuAD 2.0:

  1. 无答案处理
    • 无答案的问题视为答案跨度位于[CLS]标记处
    • 答案的起始和结束位置均为[CLS]标记
  2. 概率空间扩展
    • 将原本的答案起始和结束位置概率空间扩展至包含[CLS]标记的位置
  3. 预测决策
    • 计算无答案跨度的得分:snull = S·C + E·C
    • 计算最佳非空答案跨度的得分:s^i;j = maxj≥i(S·Ti + E·Tj)
    • 当s^i;j > snull + τ时预测为非空答案
    • 阈值τ在开发集上选择以最大化F1分数
  4. 训练设置
    • 不使用TriviaQA数据进行预训练
    • 训练轮数:2个epoch
    • 学习率:5e-5
    • 批量大小:48

实验结果 与先前排行榜系统和顶级发表工作(Sun等,2018;Wang等,2018b)的对比结果如表3所示(排除了使用BERT作为组件的系统):

  • 我们的模型取得了+5.1 F1的显著提升
  • 相较于之前的最佳系统有明显优势

5.4 SWAG常识推理任务

数据集概述:SWAG(Situations With Adversarial Generations)是一个包含11.3万条句子对补全示例的数据集(Zellers等,2018),用于评估基于事实的常识推理能力。该任务要求模型根据给定句子,在四个候选延续中选择最合理的一个

BERT在SWAG上的微调方法

  1. 输入表示
    • 每个句子对构建四个独立的输入序列
    • 每个序列由给定句子(句子A)和一个候选延续(句子B)拼接而成
  2. 微调参数
    • 仅新增一个任务特定参数向量
    • 该向量与[CLS]标记表示C的点积作为每个选项的得
    • 使用softmax层对得分进行归一化
  3. 训练设置
    • 训练轮数:3个epoch
    • 学习率:2e-5
    • 批量大小:16

实验结果:与基线系统的对比结果如表4所示:BERTLARGE显著优于现有系统:

  • 比作者提出的ESIM+ELMo基线系统高+27.1%
  • 比OpenAI GPT高8.3%

6、消融研究

6.1 预训练任务的影响

双向性的重要性验证

我们通过严格控制实验条件(使用与BERTBASE完全相同的预训练数据、微调方案和超参数),评估了两种不同的预训练目标,以此证明BERT深度双向性的重要性:

  1. 无NSP模型(No NSP)
    • 采用双向架构
    • 仅使用"掩码语言模型"(MLM)进行预训练
    • 移除"下一句预测"(NSP)任务
  2. 左向模型(LTR & No NSP)
    • 采用纯左向架构(仅使用左文上下文)
    • 使用标准左到右语言模型(LTR LM)进行预训练
    • 同样移除NSP任务
    • 微调时也保持左向约束(因为解除该约束会导致预训练与微调不匹配,降低下游性能)

实验结果分析

  1. NSP任务的影响
    • 如表5所示,移除NSP任务会显著降低模型在以下任务上的表现
      • QNLI(问答自然语言推理)
      • MNLI(多类型自然语言推理)
      • SQuAD 1.1(问答任务)
  2. 双向表示的价值
    • 将"无NSP"模型与"左向+无NSP"模型对比,发现:
      • 左向模型在所有任务上的表现均逊于MLM模型
      • 在MRPC(微软研究释义语料库)和SQuAD任务上表现下降尤为明显
    • 对于SQuAD任务,左向模型表现不佳的原因很直观:
      • 由于缺乏右侧上下文,左向模型的token级隐藏状态无法获取完整的句子信息
    • 为验证左向模型的潜力,我们尝试在其顶部添加随机初始化的BiLSTM:
      • 虽然显著提升了SQuAD上的表现
      • 但整体性能仍远逊于预训练的双向模型
      • 且在GLUE任务上反而损害了性能
  3. 替代方案的局限性
    • 理论上也可以采用ELMo的方式:
      • 训练独立的左向和右向模型
      • 将每个token表示为两个模型的拼接
    • 但存在两个主要问题: (a) 计算成本是单双向模型的两倍 (b) 对于问答等任务不直观:
      • 右向模型无法为答案预测提供条件信息
      • 这种拼接方式缺乏理论依据

6.2 模型规模的影响

实验设计与方法

本节我们研究了模型规模对微调任务准确率的影响。我们训练了多个具有不同层数、隐藏单元数和注意力头数的BERT模型,同时保持其他超参数和训练流程与之前完全一致。实验结果显示(表6),在选定的GLUE任务上:

  • 所有四个数据集都呈现出严格的准确率提升趋势
  • 即使对于仅有3,600个标注训练样本、且与预训练任务差异显著的MRPC数据集也同样适用
  • 这种显著提升是在已有相当大规模的模型基础上实现的(相比之下,现有文献中最大的Transformer模型参数量仅为235M)

关键发现

  1. 规模效应的普适性
    • BERTBASE(110M参数)和BERTLARGE(340M参数)都展现出明显的规模优势
    • 这种优势不仅体现在大规模任务(如机器翻译和语言建模)上:
      • 表6显示的LM困惑度结果证实了这一点
    • 更重要的是,在小规模任务上也表现出显著提升:
      • 这是首个令人信服地证明极端模型规模能带来巨大提升的研究
      • 前提是模型经过充分预训练
  2. 与现有研究的对比
    • Peters等(2018b)关于增加预训练双向LM层数(从2层到4层)的研究结果喜忧参半
    • Melamud等(2016)曾提到隐藏维度从200增加到600有帮助,但进一步增加到1,000却没有更多提升
    • 本研究突破了这些局限,展示了更大规模模型的优势

实验细节与结果分析

  • 模型配置
    • 参考Vaswani等(2017)的最大Transformer模型:(L=6, H=1024, A=16),编码器100M参数
    • 文献中最大的Transformer模型:(L=64, H=512, A=2),235M参数(Al-Rfou等,2018)
    • 本研究模型规模:
      • BERTBASE:110M参数
      • BERTLARGE:340M参数
  • 性能表现
    • 表6显示所有GLUE任务都随着模型规模增大而持续提升
    • 即使在小样本任务(如MRPC)上也表现出显著优势
    • 这种提升在机器翻译和语言建模等大规模任务上更为明显(通过LM困惑度体现)

研究意义

本研究的重要贡献在于:

  1. 首次系统性地证明了极端模型规模在小规模任务上的显著优势
  2. 展示了充分预训练对发挥模型规模优势的关键作用
  3. 突破了现有研究关于模型规模与性能关系的认知局限

7 结论

核心发现:近期基于语言模型的迁移学习所带来的实证改进表明:

  • 丰富的无监督预训练已成为众多语言理解系统的核心组成部分
  • 这些成果使得即使是资源受限的任务也能从深度单向架构中获益

本研究的主要贡献:我们的重要突破在于:

  1. 双向架构的普适性拓展
    • 将上述发现进一步推广到深度双向架构
    • 证明同一预训练模型可以成功应对广泛的自然语言处理任务
  2. 技术革新意义
    • 突破了单向架构的局限
    • 为NLP任务提供了更强大的预训练范式
    • 显著提升了模型在各类任务上的适用性和性能

**研究价值:**本研究的重要意义在于:

  • 为语言理解领域提供了新的技术路线
  • 拓展了预训练模型的应用范围
  • 为后续研究奠定了重要基础

您可能感兴趣的与本文相关的镜像

Qwen3-VL-30B

Qwen3-VL-30B

图文对话
Qwen3-VL

Qwen3-VL是迄今为止 Qwen 系列中最强大的视觉-语言模型,这一代在各个方面都进行了全面升级:更优秀的文本理解和生成、更深入的视觉感知和推理、扩展的上下文长度、增强的空间和视频动态理解能力,以及更强的代理交互能力

内容概要:本文详细介绍了一个基于Java和Vue的联邦学习隐私保护推荐系统的设计与实现。系统采用联邦学习架构,使用户数据在本地完成模型训练,仅上传加密后的模型参数或梯度,通过中心服务器进行联邦平均聚合,从而实现数据隐私保护与协同建模的双重目标。项目涵盖完整的系统架构设计,包括本地模型训练、中心参数聚合、安全通信、前后端解耦、推荐算法插件化等模块,并结合差分隐私与同态加密等技术强化安全性。同时,系统通过Vue前端实现用户行为采集与个性化推荐展示,Java后端支撑高并发服务与日志处理,形成“本地训练—参数上传—全局聚合—模型下发—个性化微调”的完整闭环。文中还提供了关键模块的代码示例,如特征提取、模型聚合、加密上传等,增强了项目的可实施性与工程参考价值。 适合人群:具备一定Java和Vue开发基础,熟悉Spring Boot、RESTful API、分布式系统或机器学习相关技术,从事推荐系统、隐私计算或全栈开发方向的研发人员。 使用场景及目标:①学习联邦学习在推荐系统中的工程落地方法;②掌握隐私保护机制(如加密传输、差分隐私)与模型聚合技术的集成;③构建高安全、可扩展的分布式推荐系统原型;④实现前后端协同的个性化推荐闭环系统。 阅读建议:建议结合代码示例深入理解联邦学习流程,重点关注本地训练与全局聚合的协同逻辑,同时可基于项目架构进行算法替换与功能扩展,适用于科研验证与工业级系统原型开发。
源码来自:https://pan.quark.cn/s/a4b39357ea24 遗传算法 - 简书 遗传算法的理论是根据达尔文进化论而设计出来的算法: 人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因。 遗传算法(英语:genetic algorithm (GA) )是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。 进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择、杂交等。 搜索算法的共同特征为: 首先组成一组候选解 依据某些适应性条件测算这些候选解的适应度 根据适应度保留某些候选解,放弃其他候选解 对保留的候选解进行某些操作,生成新的候选解 遗传算法流程 遗传算法的一般步骤 my_fitness函数 评估每条染色体所对应个体的适应度 升序排列适应度评估值,选出 前 parent_number 个 个体作为 待选 parent 种群(适应度函数的值越小越好) 从 待选 parent 种群 中随机选择 2 个个体作为父方和母方。 抽取父母双方的染色体,进行交叉,产生 2 个子代。 (交叉概率) 对子代(parent + 生成的 child)的染色体进行变异。 (变异概率) 重复3,4,5步骤,直到新种群(parentnumber + childnumber)的产生。 循环以上步骤直至找到满意的解。 名词解释 交叉概率:两个个体进行交配的概率。 例如,交配概率为0.8,则80%的“夫妻”会生育后代。 变异概率:所有的基因中发生变异的占总体的比例。 GA函数 适应度函数 适应度函数由解决的问题决定。 举一个平方和的例子。 简单的平方和问题 求函数的最小值,其中每个变量的取值区间都是 [-1, ...
### 关于BERT模型论文下载与阅读 #### BERT模型的核心概念 BERTBidirectional Encoder Representations from Transformers)是一种基于Transformer架构的预训练语言表示模型[^3]。它通过引入掩码语言模型(Masked Language Model, MLM)和下一句预测任务(Next Sentence Prediction, NSP),实现了深度双向的语言理解能力。 #### 论文获取方式 BERT模型的原始论文由Google Research团队发布,题目为《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》。可以通过以下途径获取该论文: 1. **arXiv**: 原始版本通常可以在arXiv网站上找到,地址为 https://arxiv.org/abs/1810.04805。 2. **学术搜索引擎**: 使用Google Scholar或其他学术资源平台搜索“BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”,可以找到PDF链接。 3. **官方文档**: Google AI Blog提供了详细的背景介绍和技术细节[^5]。 #### 阅读建议 为了更好地理解和掌握BERT模型的内容,可以从以下几个方面入手: - **基础理论**: 学习Transformer架构的工作原理以及其在自然语言处理中的应用[^1]。 - **核心创新点**: - 双向语言建模的重要性及其相对于单向模型的优势[^4]。 - 掩码语言模型的具体实现机制。 - **实验部分**: 查看作者如何验证模型的有效性,并了解其在不同NLP任务上的表现提升情况。 以下是Python代码片段用于加载并测试已有的预训练好的BERT模型: ```python from transformers import BertTokenizer, BertModel tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') model = BertModel.from_pretrained('bert-base-uncased') text = "Replace me by any text you'd like." encoded_input = tokenizer(text, return_tensors='pt') output = model(**encoded_input) print(output.last_hidden_state) ``` 此脚本展示了如何利用Hugging Face库快速导入标准版的小规模BERT模型来进行实际操作演示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值