GPT 1
LZY
# GPT 1
# Improving language Understanding by Generative Pre-Training
# 问题:怎么用无标签的文本来预训练模型
- 传统方法依赖损失函数与子任务的相关程度,选择损失函数很困难
- GPT的方案:使用半监督训练Unlabelled Pretrained Model,然后在子任务上进行微调(fine-tuning)
- 半监督学习:一部分数据有标签,但剩余大量无标签数据,如何利用这些无标签数据
- GPT的方案:使用半监督训练Unlabelled Pretrained Model,然后在子任务上进行微调(fine-tuning)
- 怎么把学到的表示应用到下游任务上
# 模型结构:
采用Transformer:相对于RNN, Transformer在迁移学习中学习到的特征更为稳健
目标函数(自回归模型现在的损失函数)是使用一个标准的语言模型去最大化一个似然函数(既不是n-grams,也不是马尔可夫决策过程)
k是一个窗口大小,越长模型越复杂能看到的信息就越多,能更好的提取文本中的关系,更好的完成任务;k越小模型越简单,能看到的信息就越少
Decode-only部分计算(没空懂先抄下来)
- s
- s
- s
# 如何对于下游任务进行微调以及子任务需要的
# NLP的四大任务
特点:
- 对下游任务进行微调的时候,不会去微调模型参数,transform是冻结的
- 虽然不需要对于Transformer进行参数更新,但是需要在更改模型的输入序列,需要加入不同的起始符以及分隔符
# GPT 2
# Language Models are Unsupervised Multitask Learners
# 问题
- 当时NLP模型泛化能力不强,一个领域上的模型很难应用到另一个领域上去;多任务学习可以一定程度上解决这个问题,在训练的时候多看一个数据集以及损失函数,但是NLP上用的不多(为什么用的不多)
- GPT 1和BERT等方法用预训练模型在下游任务上微调
- 问题1:对于子任务,仍然需要重新训练Transformer
- 问题2:仍然需要收集训练数据并且人工标记,成本较高
# GPT 2解决方案
- Zero-shot 不要参数更新或者模型结构修改来做下游任务
- 用爬虫的方式爬取reddit网站获取数据,这些数据本身具有一定价值,本身也是很好的例子
- 在多种NLP任务上做了测试:Reading Comprehension, Translation, Summarization, Question Answering
# GPT 3
# Language Models are Few-shot Learners
# 问题
- GPT 2 的有效性问题