Re45:读论文 GPT-1 Improving Language Understanding by Generative Pre-Training

这篇文章介绍了2018年OpenAI的GPT-1研究,通过无监督预训练语言模型解决有监督数据稀缺的问题,探讨了Transformer的优势以及在NLI、QA、语义相似度和文本分类任务中的实验结果。

诸神缄默不语-个人优快云博文目录
诸神缄默不语的论文阅读笔记和分类

论文全名:Improving Language Understanding by Generative Pre-Training
论文下载地址:https://www.mikecaptain.com/resources/pdf/GPT-1.pdf

官方博文:Improving language understanding with unsupervised learning

本文是2018年OpenAI的工作,是初代GPT的原始论文。

先用无监督数据预训练语言模型(Transformer decoder),再在有监督数据上微调(加一层prediction head,同时优化语言模型和有监督任务的损失函数)
在这里插入图片描述

1. 简介

NLU任务包括textual entailment, question answering, semantic similarity assessment, and document classification等子任务,本文测试了NLI、QA、语义相似度和文本分类4个任务。
有监督数据稀少,本文的解决方案是在语言模型上用海量无标签数据上进行generative pre-training,然后再在特定子任务上discriminative fine-tuning。
(算半监督学习)

普遍的使用无监督方法来学习语言学知识的方法,是构建预训练词嵌入来提升NLP任务的效果,这种做法有两个问题:1. 在学习文本表征中使用什么优化目标对迁移最有效,不知道。至今没有绝对优秀的方法。2. 如何利用文本表征最有效,不知道。

2. GPT-1

1. 无监督预训练语言模型

标准语言模型目标,最大化文本的似然:
在这里插入图片描述

k k k是上下文窗口尺寸,条件概率 P P P,神经网络的参数 Θ \Theta Θ

本文用多层Transofmer decoder1(多头自注意力机制+position-wise前馈神经网络生成target token上的输出分布):
在这里插入图片描述
U U U是token, n n n是层数, W e W_e We是token嵌入矩阵, W p W_p Wp是position embedding矩阵

Transformer相比LSTM的优势体验在对长文本的处理上

2. 微调

通过输入(每个任务被转变成不同形式的输入,见figure 1)得到表征,喂进线性输出层来预测 y y y
在这里插入图片描述

新的优化目标:
在这里插入图片描述

事实上是将两个优化目标加起来:
在这里插入图片描述

3. 实验

1. 数据集

  1. 上游预训练数据:BooksCorpus和1B Word Benchmark
  2. 下游微调数据
    在这里插入图片描述

2. 下游任务指标

  1. NLI任务的实验结果在这里插入图片描述
  2. QA和常识推理的实验结果在这里插入图片描述
  3. 语义相似度和文本分类的实验结果在这里插入图片描述

3. 模型分析

  1. 层数对微调结果的影响(答案是越多越好)和预训练更新次数对zero-shot表现的影响在这里插入图片描述
    (数值是经规范化后得到的)
  2. ablation study
    在这里插入图片描述

  1. Generating Wikipedia by Summarizing Long Sequences ↩︎

自然语言处理NLP)中,从原始文本中有效学习的能力对于减轻对监督学习的依赖至关重要。大多数深度学习方法需要大量手动标记数据,这限制了它们在许多缺乏注释资源领域的适用性。在这种情况下,能够利用未标记数据中语言信息的模型,为收集更多注释提供了有价值的替代方案,因为收集注释既耗时又昂贵。此外,即便有大量监督的情况,以无监督方式学习良好的表示也能显著提高性能,预训练的单词嵌入被广泛使用以提高一系列 NLP 任务的性能就是例证 [^2]。 然而,利用未标记文本中的单词级信息面临挑战。一方面,目前不清楚哪种优化目标在学习对迁移有用的文本表示方面最有效,近期研究涉及语言建模、机器翻译和话语连贯性等多种目标,每种方法在不同任务上表现各异;另一方面,对于将学习到的表征转移到目标任务的最有效方法也未达成共识,现有技术包括对模型架构进行特定任务更改、使用复杂学习方案和添加辅助学习目标的组合。这些不确定性给开发有效的语言处理半监督学习方法带来困难 [^2]。 其他方法使用预训练的语言或机器翻译模型的表征信息作为特定任务有监督学习训练模型的辅助特征,其侧重点仍在特定任务的从 0 开始的有监督式训练,涉及每个单独目标任务大量新参数的处理。而 GPT - 1 只需要对模型体系结构进行最小的更改 [^3]。 ```python # 这里简单示意一个可能与语言理解训练相关的伪代码思路 # 假设我们有一个语言模型类 class LanguageModel: def __init__(self): # 初始化模型参数 self.params = {} def pretrain(self, unlabeled_data): # 进行生成式预训练 # 这里只是简单示意,实际要根据具体算法实现 for data in unlabeled_data: # 进行一些训练操作 pass def finetune(self, labeled_data): # 针对特定任务进行微调 for data in labeled_data: # 进行微调操作 pass # 创建模型实例 model = LanguageModel() # 假设我们有未标记数据和标记数据 unlabeled_data = [] labeled_data = [] # 进行预训练 model.pretrain(unlabeled_data) # 进行微调 model.finetune(labeled_data) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诸神缄默不语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值