Improving Language Understanding by Generative Pre-Training GPT-1详细讲解

news2025/7/10 23:08:33

Improving Language Understanding by Generative Pre-Training 2018.06 GPT-1
在这里插入图片描述

0.有监督、半监督、无监督
在这里插入图片描述
CV:ImageNet pre-trained model NLP:pre-trained model?
在计算机视觉中任务包含分类、检测、分割,任务类别数少,对应目标函数loss可控,加上数据容易标注,ImageNet pre-trainded model等易实现

难点:
NLP中任务太多,分类、问答、翻译、总结,分析等等各种任务,
1.利用未标记文本的挑战在于不清楚哪种优化目标对于学习有用的文本表示最为有效。
2.另一挑战是怎么样把学习到的无监督迁移到子任务中。
且标注数据较难,所以预训练模型在NLP中一直未大量使用。

1.GPT简介
GPT训练=无监督的预训练阶段(给定当前单词之前的上下文预测下一个词的概率来学习语言表示,生成式训练生成新的文本,基于统计)+有监督的微调阶段(特定任务上标注的数据微调训练,判别式微调)
本文提出的生成式预训练方法(Generative Pre-Training)基于各种未标记文本无监督、生成式预训练,并在每一个具体任务上进行区分性地有监督、判别式微调,可以使得在这些任务上取得很大的改进。——在文中被称为是半监督方法。
预训练方法通过在大规模数据集上训练神经网络,学习到一个通用表示,从而提高模型的泛化能力,有效地缓解了过拟合问题。因此,预训练方法可以被视为一种有效的正则化范式。

2.数据集
大型无标记文本语料库:语言建模学习神经网络初始参数,不要求目标任何与大型未标记的语料库处于同一域中
•BooksCorpus ,约8亿个单词
•1B Word Benchmark,约10亿个单词
有标记数据集:初始参数调整适应任务目标中

3.GPT transformer框架介绍
在这里插入图片描述
12-layer decoder-only transformer,GPT基于transformer的自回归语言模型,使用了单向的transformer解码器Decoder。
语言模型是利用上文预测下一个单词,只考虑当前单词之前的上下文,因为 Decoder 使用了 Masked Multi Self-Attention 屏蔽了当前单词后面的内容,所以 Decoder 是现成的语言模型。
text embedding+position embedding,输入是768维,经过12层 transformer block(带有掩码自注意力头(768维状态向量和12个注意力768=6412 ),每个key value query 是64维),得到transformer特征向量,通过linear线性层得到text的概率分布
standard transformer: d=512=64
8
ViT: 768x(196+1)xbatch
GPT1: 768x512x64 输入维度 x token数量 x batch

4.无监督的预训练阶段
在这里插入图片描述
模型首先接收输入文本的前k-1个单词,然后生成第k个单词的概率分布,选取概率最高的单词作为预测结果,并将其添加到输入序列的末尾,不断重复,直到生成整个文本序列为止。
优化最大似然函数目标函数,序列的条件概率

5.有监督的微调阶段
在这里插入图片描述
在fine-tuning阶段,在GPT的输出层之上添加额外的结构Wy,例如分类器、解码器等,以适应不同的任务需求。
输入m个token,transformer最终的特征向量hl,经过Wy如线性变换,softmax得到概率分布

6.辅助训练
如上面L3 loss中引入0.5倍的L1 loss一起训练
辅助训练目标帮助模型在微调时拥有更好的泛化能力并加速收敛。
在使用最后一个词的预测结果进行监督学习的同时,前面的词继续上一步的无监督训练
添加辅助的无监督训练目标是半监督学习的另一种形式。

7.四种语言理解任务评估GPT方法
1.文本分类 2.自然语言推理 3.语义相似性 4.问题回答
因为GPT预训练阶段是在连续文本序列上训练的,而NLP大多任务是结构化输入,需要将结构化输入转为序列输入,同时对模型结构更改最小。
结构化文本,使用遍历式的方法,将结构化的输入转换为预训练的模型可以处理的有序序列。
问答、文本蕴含等,有结构化的输入,比如句子对(二元组)、文档问题答案(三元组)。
在这里插入图片描述
(1)文本分类
起始和终止token加入到原始序列两端,transformer得到特征向量+全连接得到预测的概率分布
(2)文本蕴含
通过分隔符delimiter分开,两端加入start和extract token,transformer得到特征向量+全连接得到预测的概率分布
(3)文本相似性
两个句子,输入顺序更换后,经过transformer相加,得到transformer特征向量,拼接后,全连接得到预测结果
(4)问答和常识推理
给定上下文文档z 、一个问题q 和一组可能的答案 ak
[context:z;q;answer1:a1]
N个answer每个对应softmax之后的概率值,投票选取最佳答案。

8.实验
(1)transformer层数影响:
在这里插入图片描述
在使用预训练模型进行下游任务的时候,可以选择将整个预训练模型或其中一部分复制到下游任务的神经网络中。复制的层数可以根据下游任务的大小和复杂度进行调整。
每一个transformer layer都提供了高达9%的迁移效果在multiNLI上面。这表明训练模型中的每一层都包含了解决目标任务的有用功能。
(2)Zero-shot Behaviors零样本行为:不进行监督微调,直接执行四个task
在这里插入图片描述
为什么Transformer的语言模型预训练是有效的?
第一,基础生成模型学会执行我们评估的许多任务,提高了其语言建模能力。即本身学会各个任务都学会了点皮毛。
第二,与LSTM相比,transformer更有结构化的注意力机制,可以更好更长范围捕捉单词之间的关系,有助于模型迁移到下游任务中。
表明生成式预训练支持学习各种与任务相关的功能。

9.总结
(1)生成式预训练+判别性微调=强大自然语言理解的框架,该框架使用单一的任务不可知模型。
(2)包含大段连续文本的多样语料库上进行预训练,获取显著的世界知识和处理长距离依赖关系的能力,成功地将这些能力转移到解决判别性任务,改进了问答、语义相似性评估、蕴涵判断和文本分类研究的12个数据集中的9个的最新技术水平
(3)提供了关于哪些模型(Transformers)和数据集(具有长距离依赖关系的文本)在这种方法中表现最佳的线索。
我们希望这将有助于推动无监督学习的新研究,不仅适用于自然语言理解,还适用于其他领域,进一步提高我们对无监督学习如何以及何时起作用的理解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2274103.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

onLoad 生命周期函数是否执行取决于跳转的方式和小程序的页面栈管理机制

文章目录 1. 页面跳转方式2. 你的场景分析3. 页面生命周期4. 总结5. 建议 在微信小程序中,页面跳转时, onLoad 生命周期函数是否执行取决于跳转的方式和小程序的页面栈管理机制。以下是详细说明: 1. 页面跳转方式 微信小程序提供了多种页面…

后台管理系统引导功能的实现

引导是软件中经常见到的一个功能,无论是在后台项目还是前台或者是移动端项目中。 那么对于引导页而言,它是如何实现的呢?通常情况下引导页是通过 聚焦 的方式,高亮一块视图,然后通过文字解释的形式来告知用户该功能的作…

vue js实现时钟以及刻度效果

2025.01.08今天我学习如何用js实现时钟样式&#xff0c;效果如下&#xff1a; 一、html代码如下&#xff1a; <template><!--圆圈--><div class"notice_border"><div class"notice_position notice_name_class" v-for"item in …

CSS Grid 布局全攻略:从基础到进阶

文章目录 一.Grid 是什么二.示例代码1. 基础使用 - 固定宽高2.百分百宽高3.重复设置-repeat4.单位-fr5.自适应6.间距定义其他 一.Grid 是什么 CSS 中 Grid 是一种强大的布局方式&#xff0c;它可以同时处理行和列 Grid 和Flex有一些类似&#xff0c;都是由父元素包裹子元素使用…

【adb】5分钟入门adb操作安卓设备

ADB&#xff08;Android Debug Bridge&#xff09; 是一个多功能的命令行工具&#xff0c;用于与 Android 设备进行交互、调试和管理。它提供了对设备的直接控制&#xff0c;能够帮助开发者进行调试、安装应用、传输文件等。 目录 将设备和电脑连接 adb shell 文件的基本操…

Jenkins-持续集成、交付、构建、部署、测试

Jenkins-持续集成、交付、构建、部署、测试 一: Jenkins 介绍1> Jenkins 概念2> Jenkins 目的3> Jenkins 特性4> Jenkins 作用 二&#xff1a;Jenkins 版本三&#xff1a;DevOps流程简述1> 持续集成&#xff08;Continuous Integration&#xff0c;CI&#xff0…

Golang笔记:使用net包进行TCP监听回环测试

文章目录 前言TCP监听回环代码演示 附&#xff1a;UDP监听回环 前言 TCP是比较基础常用的网络通讯方式&#xff0c;这篇文章将使用Go语言实现TCP监听回环测试。 本文中使用 Packet Sender 工具进行测试&#xff0c;其官网地址如下&#xff1a; https://packetsender.com/ TC…

SSL 证书格式和证书文件扩展名:完整指南

SSL 证书是什么以及它如何工作相当容易理解。但当涉及到在服务器上安装它时&#xff0c;有时&#xff0c;你可能觉得这是在处理火箭科学。 由于有如此多的SSL 证书格式与特定服务器要求相关&#xff0c;您更有可能感到困惑和沮丧&#xff0c;而不是从一开始就正确配置证书。但…

【源码+文档+调试讲解】项目申报小程序

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代…

echarts横向柱状图胶囊

echarts配置项 tooltip: {trigger: axis, // 触发tooltip提示类型 axis:坐标轴触发axisPointer: {type: cross, // 指示器类型 cross: 十字准星指示器crossStyle: {color: #999 // 线颜色}} }, grid: { left: 0%, //离容器左侧的距离top:5%,bottom: 3%,containLabel: true…

人工智能的发展领域之GPU加速计算的应用概述、架构介绍与教学过程

文章目录 一、架构介绍GPU算力平台概述优势与特点 二、注册与登录账号注册流程GPU服务器类型配置选择指南内存和存储容量网络带宽CPU配置 三、创建实例实例创建步骤镜像选择与设置 四、连接实例SSH连接方法远程桌面配置 一、架构介绍 GPU算力平台概述 一个专注于GPU加速计算的…

Redis Exporter 安装与配置指南(v1.67.0)

&#x1f680; 1. 下载 Redis Exporter 首先&#xff0c;登录到目标服务器&#xff0c;下载 Redis Exporter v1.67.0 安装包。 wget https://github.com/oliver006/redis_exporter/releases/download/v1.67.0/redis_exporter-v1.67.0.linux-amd64.tar.gz&#x1f4e6; 2. 解压…

WD5105同步降压转换器:9.2V-95V宽电压输入,4.5A大电流输出,95%高效率,多重保护功能

概述 • WD5105同步降压转换器 • 封装形式&#xff1a;QFN-20封装 • 应用场景&#xff1a;适用于车载充电器、电动车仪表、电信基站电源、电源适配器等 性能特点 • 输入电压范围&#xff1a;9.2V至95V • 输出电流&#xff1a;可提供4.5A连续负载电流 • 效率&#xff1a;高…

Laravel 新 WebSocket 服务 Reverb 使用指南

旧篇 > Laravel/Lumen 中使用 Echo Socket.IO-Client 实现网页即时通讯广播 https://blog.csdn.net/maxsky/article/details/130394420 已过时 与时俱进&#xff0c;Laravel 官方在 2024 年 7 月发布了 laravel/reverb 包的正式版&#xff0c;因为之前使用的 laravel-echo-…

什么是Kafka?有什么主要用途?

大家好&#xff0c;我是锋哥。今天分享关于【什么是Kafka&#xff1f;有什么主要用途&#xff1f;】面试题。希望对大家有帮助&#xff1b; 什么是Kafka&#xff1f;有什么主要用途&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Kafka 是一个分布式流…

Python爬虫基础——认识网页结构(各种标签的使用)

1、添加<div>标签的代码定义了两个区块的宽度和高度均为100px&#xff0c;边框的格式也相同&#xff0c;只是区块中显示的内容不同&#xff1b; 2、添加<ul>和<ol>标签分别用于定义无序列表和有序列表。<il>标签位于<ul>标签或<ol>标签之…

数据结构:LinkedList与链表—面试题(三)

目录 1、移除链表元素 2、反转链表 3、链表的中间结点 4、返回倒数第k个结点 5、合并两个有序链表 1、移除链表元素 习题链接https://leetcode.cn/problems/remove-linked-list-elements/description/ 描述&#xff1a;给你一个链表的头节点 head 和一个整数 val &#xff…

QT实现 端口扫描暂停和继续功能 3

上篇QT给端口扫描工程增加线程2-CSDN博客 为按钮pushButton_Stop添加clicked事件&#xff0c;功能为暂停扫描&#xff0c;并在暂停后显示继续按钮&#xff0c;点击继续按钮之后继续扫描 1.更新UI 添加继续按钮 点击转到槽则会自动声明 2. 更新 MainWindow.h 需要新增的部分…

LabVIEW瞬变电磁接收系统

利用LabVIEW软件与USB4432采集卡开发瞬变电磁接收系统。系统通过改进硬件配置与软件编程&#xff0c;解决了传统仪器在信噪比低和抗干扰能力差的问题&#xff0c;实现了高精度的数据采集和处理&#xff0c;特别适用于地质勘探等领域。 ​ 项目背景&#xff1a; 瞬变电磁法是探…

左神算法基础巩固--3

文章目录 二叉树二叉树的遍历先序遍历中序遍历后序遍历 解答二叉树的宽度优先遍历 在这里插入图片描述 一颗完全二叉树具有以下特征&#xff1a;1.不存在任何一个节点具有右子树但不存在左子树.2.不存在任何一个节点在满足1的情况下左右子树不全且其后续节点不为叶子节点 根据以…