GPT(Improving Language Understandingby Generative Pre-Training) 论文笔记
目录
1. 论文简介
2. GPT与ELMO区别与联系.
3. 贡献或主要改进
3.1. Transformer 的半监督学习
why
how
3.2. 基于不同任务在fine-tuning阶段对GPT输入数据改造。
4. 其它
4.1. 为什么GPT可以并行,虽然它也是自回归语言模型(AR模型)
Paper:GPT: Improving Language Understandingby Generative Pre-Training
Code:GPT
1. 论文简介
GPT是“Generative Pre-Training”的简称,是指的生成式的预训练。GPT采用两阶段过程,第一个阶段是利用语言模型进行预训练,第二阶段通过Fine-tuning的模式解决下游任务。下图展示了GPT的预训练过程。
2. GPT与ELMO区别与联系.
(1)相同点:GPT和ELMO是类似的都是两阶段模型。
(2)不同点:首先,特征抽取器不是用的RNN,而是用的Transformer,它的特征抽取能力要强于RNN;其次,GPT的预训练虽然仍然是以语言模型作为目标任务,但是采用的是单向的
3. 贡献或主要改进
3.1. Transformer 的半监督学习
why
监督学习的问题,这里的监督学习是只用大量手动标记的数据去训练模型。
- 大多数深度学习方法需要大量的手动标记的数据,但是其实我们是没有那么多的手动标记的数据,这限制了它们在许多受领域的适用性。
- 一些可以利用无监督学习到语言信息,如果你利用手动标记的数据去学习。那么可能既耗时又昂贵
- 即使在大量监督的情况下可用,以无监督的方式学习良好的表示可以提供一个重要的性能提升。迄今为止,最令人信服的证据是广泛使用预训练的词嵌入来提高一系列 NLP 任务的性能
how
我们采用两阶段训练方式。 首先,我们使用语言模型在未标记的数据来学习神经网络模型的初始参数。 随后,我们根据下游的有标记的数据对语言模型进行Fine-tuning.x
下图左一是Transformer模型结构图和右图是GPT模型
GPT整个过程如上右图所示,词向量(token embedding)和位置向量(position embedding)的和作为输入,经过12层的Masked Multi-Head Attention和Feed Forward(当然中间也包括Layer Norm),得到预测的向量和最后一个词的向量,最后一个词的词向量会作为后续fine-tuning的输入。
3.2. 基于不同任务在fine-tuning阶段对GPT输入数据改造。
(左)Transformer Decoder 架构和训练目标。 (右)输入用于微调不同任务的转换。 我们将所有结构化输入转换为令牌由我们的预训练模型处理的序列,然后是一个线性+softmax 层。
4. 其它
4.1. 为什么GPT可以并行,虽然它也是自回归语言模型(AR模型)
关键是在于这个Masked Self attention. 自回归是利用下面Masked的Self attention实现。
Masking的目的是确保左边得看不到右边的。比如下面这个图。横轴是Query,纵轴是Key. 空心的是Masked了值。
输入是1时,它什么也看不到,输入2时,它可以看到1.输入3时,它可以看到1,2. 依此类推,如果要实现,可以根据下面这个Masked self attention 实现。
1->2->3->4->5->6
这样就可以并行实现自回归了。不像RNN或LSTM这种串行方式实现自回归。
代码实现
import numpy as npdef test1():nd = 6ns = 6i = np.arange(nd)[:, None]j = np.arange(ns)m = i >= j - ns + ndprint(m)if __name__ == '__main__':test1()
输出结果
[[ True False False False False False][ True True False False False False][ True True True False False False][ True True True True False False][ True True True True True False][ True True True True True True]]
其它
使用BPE (bytepaire encoding)
GPT(Improving Language Understandingby Generative Pre-Training) 论文笔记相关推荐
- Improving Language Understandingby Generative Pre-Training
1 摘要 目前大多数深度学习方法依靠大量的人工标注信息,这限制了深度学习在很多领域的应用.此外,即使在可获得相当大的监督语料情况下,以无监督学习的方式学到的表示也可以让性能显著的提升.到目前为止,最引 ...
- ProGAN: Network Embedding via Proximity Generative Adversarial Network 论文笔记
ProGAN: Network Embedding via Proximity Generative Adversarial Network 使用相似性生成对抗网络的网络嵌入 动机: 发现不同节点之间 ...
- Generative Adversarial Nets 论文笔记
论文地址 Generative Adversarial Nets 摘要 首先,在论文中提出了一个新的框架:生成对抗网络框架,这个框架是为了通过对抗的过程实现评估生成模型. 处理过程中,我们同时训练两个 ...
- Semi-Supervised Semantic Segmentation with Cross-Consistency Training论文笔记
文章标题:Semi-Supervised Semantic Segmentation with Cross-Consistency Training 文章地址:https://arxiv.org/ab ...
- 论文笔记--On the Sentence Embeddings from Pre-trained Language Models
论文笔记--On the Sentence Embeddings from Pre-trained Language Models 1. 文章简介 2. 文章概括 3 文章重点技术 3.1 BERT模 ...
- Paper:GPT之《Improving Language Understanding by Generative Pre-Training》翻译与解读
Paper:GPT之<Improving Language Understanding by Generative Pre-Training>翻译与解读 目录 GPT之<Improv ...
- 阅读文献:“Improving Language Understanding by Generative Pre-Training”(GPT模型)
阅读文献:"Improving Language Understanding by Generative Pre-Training" Introduction 从原始文本中有效学习 ...
- 【GPT】Improving Language Understanding by Generative Pre-Training
Paper Link: Improving Language Understanding by Generative Pre-Training GPT系列文章解读: [GPT2]Language Mo ...
- 论文阅读《Improving Language Understanding by Generative Pre-Training》
论文地址:<Improving Language Understanding by Generative Pre-Training> 文章目录 论文介绍 相关工作 框架 预训练阶段 微调阶 ...
最新文章
- java框架三层架构是_MVC框架模式和Javaweb经典三层架构
- android java.nio.charset.MalformedInputException: Input length = 1
- java day01第一课java简介
- [转]Spring SpringMVC SpringBoot SpringCloud概念、关系及区别
- 详解linux下安装python3环境
- 【Python】Python实战从入门到精通之六 -- 教你读取文件
- linux进程被杀掉日志,Linux进程突然被杀掉(OOM killer),查看系统日志
- React Natvie Fetch工具类
- QQ浏览器该站点长时间无响应_消除CNZZ.站长统计代码被Chrome浏览器警告的操作...
- 【Java编程】模拟帐户存取和转账操作
- 仙侣情缘之麒麟劫java_《仙侣情缘之麒麟劫》详细流程攻略[多图]
- mysql 统计请假天数_sql查询员工请假详情——请假天数跨月问题
- 下载陷阱:软件带着病毒来
- 报告显示,疫情降低了人们的财务和社交幸福感
- 物料需求计划MRP(一)主生产计划
- 利用ARCHPR明文攻击对zip口令进行破解以及报错解决
- 2022届应届生办理落户上海流程是怎样的?
- win10系统自带截图工具快捷键
- C语言学习笔记13-文件
- .ttf字体文件引入vue项目及使用