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

el/2024/5/22 23:54:29

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

一个调侃的图片
在这里插入图片描述

小结

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

http://www.ngui.cc/el/3526016.html

相关文章

【PyTorch】11 聊天机器人实战——Cornell Movie-Dialogs Corpus电影剧本数据集处理、利用Global attention实现Seq2Seq模型

聊天机器人教程1. 下载数据文件2. 加载和预处理数据2.1 创建格式化数据文件2.2 加载和清洗数据3.为模型准备数据4.定义模型4.1 Seq2Seq模型4.2 编码器4.3 解码器5.定义训练步骤5.1 Masked 损失5.2 单次训练迭代5.3 训练迭代6.评估定义6.1 贪婪解码6.2 评估我们的文本7. 全部代码…

如何在服务器下基于Anaconda运行Pycharm上的程序?

实验室用服务器1. 如何打开服务器2. 如何把Windows下文件移到服务器上?3. 如何在服务器上运行程序?安装torch安装pyqt51. 如何打开服务器 首先在服务器上新建账户和密码 之后打开cmd,输入mstsc,再输入地址,我的是&am…

【NLP】11其它句向量生成方法——Tf-idf模型、腾讯AI实验室汉字词句嵌入语料库求平均生成句向量

其它句向量生成方法1. Tf-idf训练2. 腾讯AI实验室汉字词句嵌入语料库求平均生成句向量小结Linux服务器复制后不能windows粘贴? 远程桌面无法复制粘贴传输文件解决办法:重启rdpclip.exe进程,Linux 查询进程: ps -ef |grep rdpclip…

【NLP】13 ERNIE应用在情绪分类NLP任务——ERNIE安装、中文BERT的使用

BERT——ERNIE1. 安装1.1 安装 PaddlePaddle1.2 安装 ERNIE 套件1.3 下载预训练模型(可选)1.4 下载数据集2. 持续学习语义理解框架ERNIE——基本原理3. 快速运行3.1 数据获取3.2 运行Fine-tuning4. 具体实现过程5. 全部代码小结一些链接: 百…

【NLP】14 ERNIE应用在语义匹配NLP任务——Paddlehub安装、BERT推广的使用、与Simnet_bow与Word2Vec效果比较

Ernie语义匹配1. ERNIE 基于paddlehub的语义匹配0-1预测1.1 数据1.2 paddlehub1.3 三种BERT模型结果2. 中文STS(semantic text similarity)语料处理3. ERNIE 预训练微调3.1 过程与结果3.2 全部代码4. Simnet_bow与Word2Vec 效果4.1 ERNIE 和 simnet_bow 简单服务器调用4.2 Word…

【深度学习人类语言处理】1 课程介绍、语音辨识1——人类语言处理六种模型、Token、五种Seq2Seq Model(LAS、CTC、RNN-T、Neural Transducer、MoChA)

Deep Learning for Human Ianguage Processing1. DLHLP-Introduction1.1 概述1.2 六种模型与应用1.2.1 语音到文本1.2.2 文本到语音1.2.3 语音到语音1.2.4 语音到Class1.2.5 文本到文本1.2.6 文本到Class1.3 更多应用2. 语音辨识2.1 语音辨识的Token2.2 声学特征提取2.3 Listen…

【DL】6 GAN入门1——基本思想(Generator、Discriminator)、条件生成、无监督生成(直接转换、投射到公共空间)

GAN 11. Introduction of Generative Adversarial Network (GAN)1.1 GAN的基本思想1.2 GAN作为结构化学习1.3 Generator可以自己学习吗?1.4 鉴别器能生成吗?1.5 一点理论2. Conditional Generation by GAN3. 无监督条件生成3.1 直接转换3.2 投射到公共空…

【PyTorch】12 生成对抗网络实战——用GAN生成动漫头像

GAN 生成动漫头像1. 获取数据2. 用GAN生成2.1 Generator2.2 Discriminator2.3 其它细节2.4 训练思路3. 全部代码4. 结果展示与分析小结深度卷积生成对抗网络(DCGAN):Unsupervised Representation Learning with Deep Convolutional Generative Adversari…

【语音信号处理】2语音信号实践——LSTM(hidden、output)、Attention、语音可视化

语音信号处理 深度学习1. LSTM-hidden 实现细节2. LSTM-output 实现细节3. Attention4. 语音可视化5. 全部代码小结1. LSTM-hidden 实现细节 关于class torch.utils.data.Dataset官方文档, 当ATCH_SIZE 128,HIDDEN_SIZE 64,最大迭代次数…

【NLP】文献翻译4——CH-SIMS:中文多模态情感分析数据集与细粒度的模态注释

CH-SIMS: A Chinese Multimodal Sentiment Analysis Dataset with Fine-grained Annotations of Modality摘要1. 介绍2. 相关工作2.1 多模态数据集2.2 多模态情感分析2.3 多任务学习3. CH-SIMS 数据集3.1 数据获取3.2 标注3.3 特征提取4. 多模式多任务学习框架4.1 单模态子网4.…