Bert 学习笔记

BERT 可以用来干什么?

  • 问答系统
  • 情感分析
  • 垃圾邮件过滤
  • 命名实体识别
  • 文档聚类
  • ...........

BERT 核心思想是什么

Transformer结构

  • 基于Transformer 的双向编码器表征,双向的意思表示它在处理一个词的时候,能考虑到该词前面和后面单词的信息,从而获取上下文的语义
  • BERT 与传统的注意力模型有所不同,它并非在 RNN 的隐藏状态上直接连接注意力机制。BERT 拥有多层注意力结构(12 层或 24 层,取决于模型),并且在每个层(12 层或 16 层)中都包含有多个“头”。由于模型的权重不在层与层之间共享,一个BERT模型相当于拥有24×16=384 种不同的注意力机制

6 个关键注意力模式

  • 模式1:下一个单词的注意力(Attention to next word)
  • 模式2:前一个单词的注意力(Attention to previous word)
  • 模式3:相同/相关单词的注意力(Attention to identical/related words)
  • 模式4:其它句子中相同/相关单词的注意力(Attention to identical/related words in other sentence)
  • 模式5:预测单词的注意力(Attention)
  • 模式6:分隔符标记的注意力(Attention to delimiter tokens)

无监督的预训练

  • Masked Language Model (MLM——给定左右上下文,预测丢失的单词)
  • 下一个句子预测 (预测一个句子是否跟在另一个句子后面)

任务1: Masked Language Model (MLM)

缺点1:预训练与微调之间的不匹配,因为微调期间是没有看到 [Mask] token。

不是总用实际的 [Mask] token 替换被 “masked” 的词汇,而是采用训练数据生成器随机去选择15% 的 token。

  • 80%:用 [MASK] 标记替换单词(my dog is hairy → my dog is [MASK])
  • 10%:用一个随机的单词替换该单词(my dog is hairy → my dog is apple)
  • 10%的时间:保持单词不变(my dog is hairy → my dog is hairy)


    image.png

缺点2:每个 batch 只预测了 15% 的 token,这说明了模型可能需要更多的预训练步骤才能收敛。

任务 2:Next Sentence Prediction

测试数据1

  • Input = [CLS] the man went to [MASK] store [SEP]
  • he bought a gallon [MASK] milk [SEP]
  • Label = IsNext

测试数据2

  • Input = [CLS] the man [MASK] to the store [SEP]
  • penguin [MASK] are flight ##less birds [SEP]
  • Label = NotNext

BERT 的一些细节

输入表示(input representation)

  • token embeddings
  • segmentation embeddings
  • position embeddings
Bert 学习笔记_第1张图片
image.png

参考链接

  • https://blog.csdn.net/qq_39521554/article/details/83062188
  • https://baijiahao.baidu.com/s?id=1622875199309124702&wfr=spider&for=pc
  • https://www.jianshu.com/p/
  • https://www.jianshu.com/p/d110d0c13063

你可能感兴趣的:(Bert 学习笔记)