【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)

ELMO,BERT,GPT

  • 1. Review
  • 2. ELMO
  • 3. BERT
    • 3.1 训练BERT
    • 3.2 使用BERT
    • 3.3 ERNIE
    • 3.4 BERT学到了什么
  • 4. GPT
  • 小结

视频地址

1. Review

如何让电脑读人类的词汇?

最早采用1-of-N Encoding,显然一个词用一个向量表示不合理,之后采用Word-Class,但是这种分类还是太粗糙了,再后来采用Word Embedding
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第1张图片
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第2张图片
同一个词汇可能有不同的意思:

  • Have you paid that money to the bank yet ?(银行)
  • It is safest to deposit your money in the bank.(银行)
  • The victim was found lying dead on the river bank.(河堤)
  • They stood on the river bank to fish.(河堤)

以上四个word tokens有相同的word type,在典型的word embedding里面,每一个word type有一个嵌入,但语义这种东西是很微妙的,例如:

  • The hospital has its own blood bank.(血库)

更多的例子:
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第3张图片
期待:

  • Each word token has its own embedding (even though it has the same word type)(每个 word token都有自己的嵌入(即使它有相同的词型))
  • The embeddings of word tokens also depend on its context(word token的嵌入也取决于其语境)

【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第4张图片

2. ELMO

Embeddings from Language Model (ELMO)
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第5张图片

  • RNN-based language models (trained from lots of sentences)

例如:“潮水 退了 就 知道 誰 沒穿 褲子”
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第6张图片
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第7张图片
深层LSTM中的每一层都可以生成一个潜伏的表示,我们应该用哪个?

【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第8张图片
ELMO的思想就是’我全都要’,不同的Task抽不同层的权重不一样:

【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第9张图片

3. BERT

Bidirectional Encoder Representations from Transformers (BERT)
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第10张图片
BERT = Encoder of Transformer

从大量的文本中学习,无需注释,做的事情就是每句话输出一个向量!

【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第11张图片
尽管这里用’word’作为单位,但处理中文时,用’字’character可能是更为恰当的,因为word几乎是无法穷举的,常用的字可能仅有4000多个

3.1 训练BERT

BERT是怎么训练出来的呢?

  • Approach 1: Masked LM
    有15%的几率盖住,让BERT把它填回来
    【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第12张图片
  • Approach 2: Next Sentence Prediction
    • [CLS]: the position that outputs classification results
    • [SEP]: the boundary of two sentences

用一个特殊的token告诉要做Classifier这件事情

【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第13张图片
以上两种训练方法是同时使用的

3.2 使用BERT

Case 1

  • 输入:单句
  • 输出:类
  • 例如:情感分析、文件分类…

【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第14张图片
(BERT有中文版的,有训练好的,直接下载下来用就好了?)

Case 2

  • 输入:单句
  • 输出:每个词的类
  • 例如:槽位填充

【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第15张图片
Case 3

  • 输入:两句
  • 输出:类
  • 例如:自然语言推理
    【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第16张图片

Case 4

基于提取的问题回答(QA)(如SQuAD)
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第17张图片
红色的Vec决定开始的s,蓝色的Vec决定结束的e
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第18张图片
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第19张图片
SQuAD 2.0 BERT 屠榜 ……
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第20张图片

3.3 ERNIE

Enhanced Representation through Knowledge Integration (ERNIE)
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第21张图片
特别为中文设计

【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第22张图片

3.4 BERT学到了什么

BERT到底每一层学到了什么?1、2

【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第23张图片
Multilingual BERT
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第24张图片

4. GPT

Generative Pre-Training (GPT)

GPT、 Source of image
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第25张图片
训练方法如下:
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第26张图片
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第27张图片
Zero-shot Learning(完全没有训练资料的情况下学习)?

  • 阅读理解
  • 总结
  • 翻译

【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第28张图片
可视化,很多词汇都要看第一个词汇,以下结果来自GPT-2:
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第29张图片
以下文章生成例子来自OPENAI
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第30张图片
一个demo

一个调侃的图片
【DL】5 BERT入门——李宏毅机器学习课程笔记(ELMO,BERT,GPT)_第31张图片

小结

  1. ELMO就是把一个词的很多word token都输出一个向量,在把这些向量加起来,根据不同的任务为每个层赋予不同的权重
  2. BERT是Transformer的编码器部分,了解了怎么训练、使用BERT,关于中文的ERNIE可以了解一下,如果能直接用就好了
  3. GPT是Transformer的解码器部分,其最大特点就是’大’,能够在完全没有训练资料的情况下学习,但是GPT-2没有开源,所以是’别人家的东西’

你可能感兴趣的:(【课程学习】,深度学习,机器学习,人工智能,自然语言处理,神经网络)