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

BERT 采用了 Transformer 的 encoder 侧网络,利用 self-attention 在编码一个 token 的时候同时利用了其上下文,并非像 Bi-LSTM 把句子倒序输入一遍。

BERT 在11种不同NLP测试中创出SOTA表现,将GLUE基准推高至80.4% (绝对改进7.6%),MultiNLI准确度达到86.7% (绝对改进5.6%),成为NLP发展史上的里程碑式的模型成就。
在这里插入图片描述

输入向量

BERT 的输入编码向量(512 个 token):

  1. WordPiece 嵌入:将单词划分成一组有限的公共字词单元,在有效性和字符的灵活性达到折中平衡。文本开头加上 [CLS][CLS][CLS] 表示用于分类任务,结尾加上 [SEP][SEP][SEP] 表示分句符号。
  2. Segment Embeddings:区分两个句子,如 B 是 A 的下文,A 都是 0,B 都是 1。
  3. Position Embeddings:与 transformer 的 position embeddings 不同,transformer 通过固定的正余弦计算得到,BERT 采用可学习的嵌入,意味着同一个单词处在不同位置,那么他们的 position embeddings 不同。实际上是一个 (512,768) 的单词查询表。
  4. 在这里插入图片描述

Masked LM(MLM)

将 15% 的单词被随机 Mask 掉,通过上下文来预测这些单词。

每次确定 Mask 的单词时,有 80% 直接替换为 [Mask][Mask][Mask] ,10% 替换为其他任意单词,10% 保留原始 token。这么做的原因在于,如果句子的某个 token 被 100% Mask 掉,那么在微调的时候模型会有一些没见过的单词。加入随机 token 的原因是 transformer 要保持对每个输入 token 的分布式表征,否则模型就会记住 [Mask][Mask][Mask] 是某个单词的 token。至于保留 15% × 10% = 1.5% 可忽略。

#Next Sentence Prediction(NSP)
该任务是判断句子 B 是否是句子 A 的上下文,是的话输出 IsNext,不是的话输出 NotNext,训练数据是通过从平行语料中随机抽取的连续两句话,50% 保留这两句话,符合 IsNext 关系,50% 随机抽取第二句话,符合 NotNext关系,该关系被记录在 [CLS][CLS][CLS] 中。

Finetune

基于句子对的分类任务:

  • MNLI:给定一个前提 (Premise) ,根据这个前提去推断假设 (Hypothesis) 与前提的关系。该任务的关系分为三种,蕴含关系 (Entailment)、矛盾关系 (Contradiction) 以及中立关系 (Neutral)。所以这个问题本质上是一个分类问题,我们需要做的是去发掘前提和假设这两个句子对之间的交互信息。
  • QQP:基于Quora,判断 Quora 上的两个问题句是否表示的是一样的意思。
  • QNLI:用于判断文本是否包含问题的答案,类似于我们做阅读理解定位问题所在的段落。
  • STS-B:预测两个句子的相似性,包括5个级别。
  • MRPC:也是判断两个句子是否是等价的。
  • RTE:类似于MNLI,但是只是对蕴含关系的二分类判断,而且数据集更小。
  • SWAG:从四个句子中选择为可能为前句下文的那个。

基于单个句子的分类任务

  • SST-2:电影评价的情感分析。
  • CoLA:句子语义判断,是否是可接受的(Acceptable)。

问答任务

  • SQuAD v1.1:给定一个句子(通常是一个问题)和一段描述文本,输出这个问题的答案,类似于做阅读理解的简答题。
  • 命名实体识别
  • CoNLL-2003 NER:判断一个句子中的单词是不是Person,Organization,Location,Miscellaneous或者other(无命名实体)。
    在这里插入图片描述
<think>嗯,用户想学习如何看懂、理解和研究论文。首先,我需要明确他们的背景。可能是个刚入门的研究生,或者刚开始学术研究的人。他们可能对如何高效阅读学术论文感到困惑,尤其是在面对大量专业术语和复杂方法时。 接下来,我要考虑用户的需求。他们可能希望有一个系统的方法,从选择论文到深入理解,再到批判性分析和应用。需要分步骤来引导,避免信息过载。同时,用户可能对如何做笔记、提炼核心观点以及复现结果有疑问。 用户可能没有说出来的深层需求是时间管理和克服阅读中的挫折感。学术论文通常很冗长,结构复杂,新手容易感到沮丧。因此,除了步骤,可能还需要一些实用技巧,比如如何快速定位重点,如何处理不懂的部分,以及如何积累领域知识。 然后,我需要组织回答的结构。先分阶段:读前准备、初步阅读、深度理解、批判分析、应用拓展。每个阶段再细分步骤,比如读前准备包括筛选论文和明确目标。每个步骤给出具体方法,比如如何快速浏览摘要和结论,如何做结构化笔记。 还要注意用户提到的格式要求,比如使用中文,数学公式的正确LaTeX格式。虽然用户的问题不涉及数学,但可能例子中需要用到,比如在解释理论部分时,可能需要展示公式的正确写法,确保符合他们的系统指令。 最后,检查是否有遗漏点。比如是否需要推荐工具或软件帮助整理文献,如何管理参考文献,或者如何与导师、同行交流。这些可能对用户有帮助,但根据用户的问题,可能更关注个人阅读和理解的方法,所以保持重点在个人操作步骤上。 总结:用户需要一个清晰、逐步的指南,涵盖从选择论文到应用成果的全过程,强调主动阅读和批判性思维,同时提供实用技巧缓解阅读压力,帮助他们建立信心和方法体系。</think>好的,我将分阶段教你系统化阅读、理解和研究论文的方法。以下是结构化学习路径: 一、读前准备阶段 1. 筛选论文 - 优先选择领域内顶刊/顶会论文(如CVPR, Nature, IEEE Trans等) - 使用公式判断相关性:$$ \text{相关性} = \frac{\text{被引次数}}{\text{发表年数}} \times \text{期刊影响因子} $$ 2. 建立知识框架 - 绘制领域知识图谱(例:机器学习 → 监督学习 → 神经网络 → Transformer) - 准备工具:文献管理软件(Zotero/EndNote)+ 思维导图工具(XMind) 二、初步阅读(30分钟/篇) 1. 三要素快速定位 - 标题解析:定位核心关键词(如《$BERT$: Pre-training of Deep Bidirectional Transformers for Language Understanding》) - 摘要拆解:按"问题-方法-结果"结构标注 - 结论对比:验证作者承诺是否兑现 2. 关键公式定位 - 寻找核心数学模型(如Transformer的注意力公式): $$ \text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V $$ 三、深度理解(2-4小时/篇) 1. 方法论解构 - 绘制技术路线图(输入→处理模块→输出) - 对照算法伪代码与公式推导(例:ResNet残差块 $H(x) = F(x) + x$) 2. 实验分析 - 制作对比表格: | 数据集 | 基线模型 | 本文方法 | 提升幅度 | |--------|----------|----------|----------| | MNIST | 98.2% | 99.1% | +0.9% | 四、批判性分析 1. 创新点评估 - 使用创新矩阵: $$ \text{创新度} = \alpha \cdot \text{理论突破} + \beta \cdot \text{应用价值} $$ 2. 局限性质疑 - 检查实验设置(如:$batch\_size=32$是否具有普适性) - 验证定理假设(如:假设数据满足$i.i.d.$条件是否合理) 五、应用拓展 1. 复现准备 - 搭建代码框架: ```python class ProposedModel(nn.Module): def __init__(self): super().__init__() self.layer1 = nn.Linear(in_dim, hidden_dim) # 实现论文公式(3) ``` 2. 衍生研究 - 设计改进方案(如:将$ReLU$激活函数替换为$Swish$) - 构造新假设:若修改损失函数$\mathcal{L}_{new} = \mathcal{L}_{ori} + \lambda||\theta||^2$,预期效果如何? ★ 高效阅读技巧 1. 主动阅读法:每读一段用"问题-答案"形式记录 2. 渐进式理解:第一遍抓主线(20%时间),第二遍抠细节(80%时间) 3. 建立错题本:记录无法理解的概念,后续专项突破 建议每周精读2篇+泛读5篇,持续3个月后可建立领域知识体系。遇到具体论文时,可带着具体问题进一步探讨。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值