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
同一个词汇可能有不同的意思:
- 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.(血库)
更多的例子:
期待:
- 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的嵌入也取决于其语境)
2. ELMO
Embeddings from Language Model (ELMO)
- RNN-based language models (trained from lots of sentences)
例如:“潮水 退了 就 知道 誰 沒穿 褲子”
深层LSTM中的每一层都可以生成一个潜伏的表示,我们应该用哪个?
ELMO的思想就是’我全都要’,不同的Task抽不同层的权重不一样:
3. BERT
Bidirectional Encoder Representations from Transformers (BERT)
BERT = Encoder of Transformer
从大量的文本中学习,无需注释,做的事情就是每句话输出一个向量!
尽管这里用’word’作为单位,但处理中文时,用’字’character可能是更为恰当的,因为word几乎是无法穷举的,常用的字可能仅有4000多个
3.1 训练BERT
BERT是怎么训练出来的呢?
- Approach 1: Masked LM
有15%的几率盖住,让BERT把它填回来
- Approach 2: Next Sentence Prediction
- [CLS]: the position that outputs classification results
- [SEP]: the boundary of two sentences
用一个特殊的token告诉要做Classifier这件事情
以上两种训练方法是同时使用的
3.2 使用BERT
Case 1
- 输入:单句
- 输出:类
- 例如:情感分析、文件分类…
(BERT有中文版的,有训练好的,直接下载下来用就好了?)
Case 2
- 输入:单句
- 输出:每个词的类
- 例如:槽位填充
Case 3
- 输入:两句
- 输出:类
- 例如:自然语言推理
Case 4
基于提取的问题回答(QA)(如SQuAD)
红色的Vec决定开始的s,蓝色的Vec决定结束的e
SQuAD 2.0 BERT 屠榜 ……
3.3 ERNIE
Enhanced Representation through Knowledge Integration (ERNIE)
特别为中文设计
3.4 BERT学到了什么
BERT到底每一层学到了什么?1、2
Multilingual BERT
4. GPT
Generative Pre-Training (GPT)
GPT、 Source of image
训练方法如下:
Zero-shot Learning(完全没有训练资料的情况下学习)?
- 阅读理解
- 总结
- 翻译
可视化,很多词汇都要看第一个词汇,以下结果来自GPT-2:
以下文章生成例子来自OPENAI
一个demo
一个调侃的图片
小结
- ELMO就是把一个词的很多word token都输出一个向量,在把这些向量加起来,根据不同的任务为每个层赋予不同的权重
- BERT是Transformer的编码器部分,了解了怎么训练、使用BERT,关于中文的ERNIE可以了解一下,如果能直接用就好了
- GPT是Transformer的解码器部分,其最大特点就是’大’,能够在完全没有训练资料的情况下学习,但是GPT-2没有开源,所以是’别人家的东西’