GPT与Bert,预训练语言模型

server/2025/3/25 13:17:30/

1.GPT侧重预测,生成。只用了decoder,由于添加了mask attention,不能注意下文,只根据上文进行生成。Autoregression,AR模型。

2.Bert(双向编码表征trans)侧重事实理解,考虑全局信息,提取出特征词向量。只用了encoder,不能生成。Autoencode,AE模型。

3.ELMO

从语言中提取出特征向量。下游任务较宽泛。

    

4.GPT微调,必须和预训练的下游任务一样。

AR模型从一系列time steps中学习,并将上一步的结果作为回归模型的输入,以预测下一个time step的值。

由于这种相关性是在过去time steps中,变量与其自身之间的相关性,因此也称为自相关性(autocorrelation)。此外,如果每个变量与输出变量几乎没有相关性,则可能无法预测。

5.BERT的改进

双向编码:就是在生成的过程中能考虑上下文。双向trans。

但是相对ELMO的改进是:lstm同一时间也只能关注一个方向的特征,然后俩个方向的特征再拼起来。而bert改进后,使用了selfattention,能同时注意上下文。

!!!

第二阶段拿更优质的data,做微调,使得参数更准确。

MLM:

只在训练阶段:随机去掉句子中的部分 token(单词),然后模型来预测被去掉的 token 是什么。

但是这样设计 MLM 的训练方法会引入弊端:在模型微调训练阶段或模型推理(测试)阶段,输入的文本中将没有 [MASK],进而导致产生由训练和预测数据偏差导致的性能损失。

考虑到上述的弊端,BERT 并没有总用 [MASK] 替换掩码词,而是按照一定比例选取替换词。在选择 15% 的词作为掩码词后这些掩码词有三类替换选项:

* 80% 练样本中:将选中的词用 [MASK] 来代替,例如:

“地球是[MASK]八大行星之一”

* 10% 的训练样本中:选中的词不发生变化,该做法是为了缓解训练文本和预测文本的偏差带来的性能损失,例如:

“地球是太阳系八大行星之一”

* 10% 的训练样本中:将选中的词用任意的词来进行代替,该做法是为了让 BERT 学会根据上下文信息自动纠错,例如:

“地球是苹果八大行星之一”

作者在论文中提到这样做的好处是,编码器不知道哪些词需要预测的,哪些词是错误的,因此被迫需要学习每一个 token 的表示向量,另外作者也表示双向编码器比单项编码器训练要慢,进而导致BERT 的训练效率低了很多,但是实验也证明 MLM 训练方法可以让 BERT 获得超出同期所有预训练语言模型的语义理解能力,牺牲训练效率是值得的。

下句预测NSP  为下游任务准备

BERT 输入的语句将由两个句子构成,[SEP]分隔符隔开,其中,50% 的概率将语义连贯的两个连续句子作为训练文本,另外 50% 的概率将完全随机抽取两个句子作为训练文本。

CLS标签会和两个语句的每个词都做注意力计算,包含两个语句的信息。

softmax后,结果为 1,表示输入为连续句对;结果为 0,表示输入为随机句对。

BERT 可以学会捕捉两个输入句对的文本语义

下游任务改造:

已知bert通过trm的encode知道了每个词的意思和每个句子的语义,那么可以改造为:情感分类?实体抽取?。。。。

AE模型的优缺点如下:

优点:上下文依赖:

AR的表示hθ(x1:t−1)仅仅到位置t之前(比如左边的所有token),BERT的表示Hθ(x)t可以涵盖前后向两边的上下文。

BERT使用双向transformer,在语言理解相关的任务中表现很好。

缺点:

输入噪声:BERT在预训练过程中使用【mask】符号对输入进行处理,这些符号在下游的finetune任务中永远不会出现,这会导致预训练-微调差异。而AR模型不会依赖于任何被mask的输入,因此不会遇到这类问题。

BERT在对联合条件概率p(x¯|x^)进行因式分解时,基于一个独立假设:在给定了unmasked tokens时,所有待预测(masked)的tokens是相互独立的。


http://www.ppmy.cn/server/178639.html

相关文章

清晰易懂的 Swift 安装与配置教程

初学者也能看懂的 Swift 安装与配置教程 本教程将手把手教你如何在 macOS 系统上安装 Swift,配置依赖包缓存位置,并指出新手容易踩坑的细节。即使你是零基础小白,也能快速上手! 一、安装 Swift(macOS 环境&#xff09…

Liunx系统Microsoft SQL Server数据库还原

1.确认Linux系统已安装SQLServer服务并启动 2.在Windows中使用SSMS连接原数据库与Linux远程数据库服务 3.备份 成功备份如下 4.上传bak文件到远程Linux服务器 登陆Linux服务并创建数据库文件夹 退出Linux服务

浅谈Qt事件子系统——以可拖动的通用Widget为例子

浅谈Qt事件子系统——以可拖动的通用Widget为例子 这一篇文章是一个通过实现可拖动的通用Widget为引子简单介绍一下我们的事件对象子系统的事情 代码和所有的文档 1:Qt侧的API介绍和说明 ​ 这个是每一个小项目的惯例,我会介绍大部分Qt程序中使用到的…

零、ubuntu20.04 安装 anaconda

1.anaconda下载 地址:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 选择:Anaconda3-2023.07-2-Linux-x86_64.sh 2.anaconda安装 选择下载目录,选在在终端中打开,然后在终端输入安装命…

CTF【WEB】学习笔记1号刊

Kali的小工具箱 curl www.xxx.com:查看服务器响应返回的信息 curl -I www.xxx.com:查看响应的文件头 一、cmd执行命令 ipconfig:ip地址配置等; 二、 Kali操作 1.sudo su; 2.msfconsole 3.search ms17_010 永恒之蓝&#xff…

从汽车 BCM 方案看国产 MCU 芯片的突围与挑战

摘要 :汽车车身控制模块(BCM)作为汽车电子系统的核心控制单元,其性能高度依赖于微控制单元(MCU)芯片。随着汽车智能化与电动化的发展,国产 MCU 芯片在 BCM 领域的应用逐渐扩大。本文结合行业数据…

《概率论与数理统计》期末复习笔记_上

目录 第1章 随机事件与概率 1.1 随机事件 1.2 事件的关系与运算 1.3 概率的定义与性质 1.4 古典概型_重点 1.5 几何概型 1.6 条件概率与乘法公式 1.7 全概率公式与贝叶斯公式_重点 1.8 事件的独立性_重点 1.9 伯努利概型_重难点 第2章 随机变量及其分布 2.1 随机变…

【时时三省】(C语言基础)习题3 用输出函数更改字符

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 请编程序将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。…