AutoEncoding与AutoRegressive:区别,联系和应用

关于AutoEncoding(AE)和AutoRegressive(AR)

前几天看了Ilya在Simons上做的关于Generative Model的演讲,介绍了OpenAI现在做的一些AutoRegressive的工作,昨天又看到LeCun宣称Auto-Regressive LLMs are doomed。平时看的文章也常常提到自监督学习里的两种范式AutoEncoding和AutoRegressive,之前也只是简单的理解为GPT系列属于AutoRegressive,Bert系列属于AutoEncoding。遂决定写一篇文章详细记录一下这两者的区别和联系

encoder-decoder 架构

在此之前,我们需要了解编码器-解码器架构的发展,因为每种这两种架构类型都与这种思维方式相关。

编码器-解码器体系结构由两个部分组成,编码器解码器(显然🤣)。

简要的说,编码器的作用是将输入数据转换为潜在表示或特征向量。它接受输入数据,如图像、文本或音频等,然后对其进行处理和编码,最终生成一个固定长度的向量表示。编码器的设计目标是提取输入数据的关键特征,捕捉数据中的重要信息,并将其编码为潜在空间中的表示。这个潜在表示通常具有较高的维度,可以看作是输入数据的抽象表示。编码器的输出可以用于后续任务,如重构、分类、聚类等。

值得一提的是,对于编码过后的向量,实际上我们不能轻易理解他为啥是这样表示的,因为没有涉及语义,这个映射是学习出来的

而解码器的作用是将潜在表示或特征向量转换回原始数据的形式。它接受编码器生成的潜在表示,并将其解码为与输入数据相匹配的形式。解码器的设计目标是通过逆向操作重建原始数据,尽可能地恢复输入数据的细节和结构。解码器在生成过程中可以根据需要与外部信息进行交互,例如生成图像的像素值或语言模型中的下一个词语。解码器的输出通常是重构的数据或生成的数据样本

总的来说,编码器将输入数据转换为高维空间中的潜在表示,而解码器将潜在表示转换回原始数据的形式。相当于一个进行概括然后加密,一个用来解密
在这里插入图片描述

如果同时训练编码器和解码器,我们就创建了所谓的sequence2sequence模型。如果我们只训练一个部分,我们会得到一个自回归(AutoRegressive)或一个自动编码(AutoEncoding)模型

sequence2sequence

顺便提一下,Sequence-to-Sequence是一种能够摄取特定类型的序列并输出另一种序列的架构。

Transformer实际上就是一种sequence2sequence模型,下面就是那张非常非常非常有名的Transformer结构图
在这里插入图片描述
在Transformer中,编码器段确保将输入转换为抽象的高维中间表示。解码器段采用此表示形式,提供有关输入和目标序列的上下文,并确保可以为源语言中的序列预测目标语言中的适当序列

自回归模型

为什么要AR模型

自然语言处理中的任务之一是语言的生成,或者更正式的说是自然语言生成(NLG)。使用sequence2sequence模型生成文本是不太容易的,因为在预测的时候我们通常无法获得完整的目标序列。实际上只是在做基于过去输入的next word prediction。或者换句话说,我们使用的是过去预测的单词来预测现在的单词。

为了解决这些问题,提出了自回归(Autoregressive,AR)架构。在 AR 架构中,生成过程变成了逐个元素的生成,即从左到右生成序列中的每个元素,而不是一次性生成整个序列。这样的架构允许模型在生成过程中根据已生成的部分来动态调整下一个元素的预测,减少累积错误的风险。
在这里插入图片描述

训练AR模型

采用AR方法,就是从左到右逐个生成单词的过程。在这种方法中,生成第i个单词时,只能依赖于它之前的第1到第(i-1)个单词,而不能看到后面的单词。这种逐步生成的方式保持了模型的自回归性质,每个生成的单词都是基于前面已生成的单词的结果。

适用的任务
  • 语言建模(主要):AR模型可以用于语言建模,即根据前面的单词或字符预测下一个单词或字符。比如可以聊天的ChatGPT

  • 时间序列预测:例如股票价格预测、天气预测、交通流量预测等。通过分析过去的观测值,AR模型可以预测未来的观测值。

  • 机器翻译:AR模型可以用于机器翻译任务,将源语言的序列翻译成目标语言的序列。在这种情况下,AR模型可以根据源语言的部分序列来逐步生成目标语言的序列。

自编码模型

为什么用AE模型

自回归模型在进行语言建模(即自然语言生成)时非常有效。然而,并非所有任务都适用于自回归模型,比如自然语言理解。

一个很重要的原因是。自然语言生成任务和自回归模型不一定需要对语言进行深入理解,只要能够成功生成文本即可。

如果想要让模型所谓的理解自然语言输入,然后比较好的泛化到下游任务上,这个时候自编码模型就比较能够发挥作用(这里只是我的个人理解),一个典型的例子就是Bert。因为自动编码器的目的是通过训练网络忽略信号“噪声”来学习一组数据的表示(编码),通常用于降维。相当于与归约侧一起,学习重建侧,其中自动编码器尝试从归约编码生成尽可能接近其原始输入的表示从某种意义上来说就是对于输入的自然语言有了一定程度上的理解。

在Hugging Face上的定义是:自动编码模型是通过以某种方式损坏输入标记并尝试重建原始句子来预训练的。

如何训练AE模型

在这里插入图片描述

以bert为例,他的整个架构是一个典型的Transformer模型,用于语言模型的预训练阶段采用了自编码器(AE)方法。换句话说,训练的时候在输入句子中,除了被掩码(Mask)的单词外,任意两个未被掩码的单词之间是可见的,但被掩码的单词之间相互独立且不可见。当要预测一个被掩码的单词时,所有其他被掩码的单词不起作用,但未被掩码的所有单词都可以参与当前单词的预测。

适用的任务
  • 特征提取:自编码器可以用作特征提取器,将高维输入数据转换为低维表示。这些低维表示可以用于其他机器学习任务,如分类、聚类、降维等。

  • 数据去噪:自编码器可以通过学习从损坏或噪声数据中重构原始数据的能力来进行数据去噪。在训练过程中,自编码器被要求将损坏或噪声数据作为输入,并尽可能准确地重构原始数据。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CL_MVSNet复现可能会出现的问题汇总

1.最好按照说明文档要求配好python3.7和pytorch1.0 2. 【已解决】 FutureWarning: The module torch.distributed.launch is deprecated and will be removed in future. torch.distributed.launch被弃用,考虑使用torchrun模块进行替换。 解决方案: 将…

HDFS架构介绍

数新网络_让每个人享受数据的价值浙江数新网络有限公司是一家开源开放、专注于云数据智能操作系统和数据价值流通的服务商。公司自主研发的DataCyber云数据智能操作系统,主要包括数据平台CyberData、人工智能平台CyberAI、数据智能引擎CyberEngine、数据安全平台Cyb…

ChinaSoft 论坛巡礼 | 智慧化 IDE 论坛

2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

ubuntu(18.04) 安装 blast

1、下载 https://ftp.ncbi.nlm.nih.gov/blast/executables/blast/LATEST/2、解压,配置环境变量 tar zvxf ncbi-blast-2.14.1-x64-linux.tar.gz解压后改名为 blast 配置环境变量,可以不配置 使用的时候直接绝对路径使用 vim ~/.bashrc 将下面添加道最…

实现基于 Azure DevOps 的数据库 CI/CD 最佳实践

数据库变更一直是整个应用发布过程中效率最低、流程最复杂、风险最高的环节,也是 DevOps 流程中最难以攻克的阵地。那我们是否能在具体的 CI/CD 流程中,像处理代码那样处理数据库变更呢? DORA 调研报告 DORA(DevOps Research &am…

Docker添加软链接,解决c盘占用问题

Docker的文件,默认放在 c 盘,用多了很影响系统的速度。 解决方法: 为 Docker 路径添加软链接。 在 windows 搜索框,输入cmd ,以管理员身份运行 cmd * 执行命令: “C:\Program Files\Docker” 这个地址是…

Flask_Login使用与源码解读

一、前言 用户登录后,验证状态需要记录在会话中,这样浏览不同页面时才能记住这个状态,Flask_Login是Flask的扩展,专门用于管理用户身份验证系统中的验证状态。 注:Flask是一个微框架,仅提供包含基本服务的…

腾讯云轻量级服务器哪个镜像比较好?

腾讯云轻量应用服务器镜像是什么?镜像就是操作系统,轻量服务器镜像系统怎么选择?如果是用来搭建网站腾讯云百科txybk.com建议选择选择宝塔Linux面板腾讯云专享版,镜像系统根据实际使用来选择,腾讯云百科来详细说下腾讯…

Jenkins安装(Jenkins 2.429)及安装失败解决(Jenkins 2.222.4)

敏捷开发与持续集成 敏捷开发 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。…

C/C++ “variable set but not used“的 警告问题解决方案

在编程的过程中,会有一些预留的变量暂时不用,但是编译过程编译器警告 会报错无法编译通过针对这个问题,采用下面的解决方案比较方便。 错误如下形式: 三种解决方法: 1.可以在变量前加上(void)就…

How to install the console system of i-search rpa on Centos 7

How to install the console system of i-search rpa on Centos 7 1、 准备1.1 、查看磁盘分区状态1.2、上传文件1.2.1、添加上传目录1.2.2、上传安装包1.2.3、解压安装包1.2.4、查看安装包结构 1.3、安装依赖包1.3.1、基础依赖包1.3.2 相关依赖 1.4、关闭防火墙1.5、解除SeLin…

“KeyarchOS:国产Linux新星的崛起与创新之路“

简介 KOS,也就是KeyarchOS,是一款由国内团队开发的服务器操作系统。它因为几个特点而受到我的青睐和一些用户的关注。 首先,KOS注重安全性和稳定性。它有一些防护和隔离功能,来帮助系统稳定运行,而且是中文语言更接地…

FastAPI框架学习笔记(快速入门FastAPI框架)

1. 写在前面 今天整理一篇后端框架的笔记, fastapi框架是比较主流的后端异步web框架,关键是python语言可以写,正好公司最近安排了一些后端服务的活, 所以就看了一个fastapi框架的入门课程(链接在底部),完成任务&#…

中国各城市土地利用类型(城市功能)数据集(shp)

中国各城市土地利用类型(城市功能)数据集 时间:2018年 全国范围的城市用地类型数据(居住/商业/交通用地等共计11类) 分类:居住用地、商业用地、工业用地、医疗设施用地、体育文化设施用地、交通场站用地、绿地等用地类型 含城市编码、一级分类5个、二级分类11个 数据按…

FPGA时序分析与约束(9)——主时钟约束

一、时序约束 时序引擎能够正确分析4种时序路径的前提是,用户已经进行了正确的时序约束。时序约束本质上就是告知时序引擎一些进行时序分析所必要的信息,这些信息只能由用户主动告知,时序引擎对有些信息可以自动推断,但是推断得到…

【SpringCloud学习笔记(一)】

SpringCloud学习笔记(一) 一、认识SpringCloud1.1 简介1.2 服务与拆分与远程调用1.3 微服务的远程调用 二、微服务的几大组件2.1 EureKa注册中心2.1.1 Eureka介绍:2.1.2 Eureka实践: 2.2 Ribbon负载均衡2.2.1 负载均衡流程2.2.2 负…

【UE5】如何在UE5.1中创建级联粒子系统

1. 可以先新建一个actor蓝图,然后在该蓝图中添加一个“Cascade Particle System Component” 2. 在右侧的细节面板中,点击“模板”一项中的下拉框,然后点击“Cascade粒子系统(旧版)” 然后就可以选择在哪个路径下创建级…

python快速入门

语法结构 基本输出 使用print函数来完成基本输出 print("I am xl")注释 单行注释使用# 多行注释 多行注释""" 多行注释 """缩进 python和其他语言最大的区别就是用缩进来区分子代码区域而不是大括号 续行 使用\符号来完成续行…

国内内卷太严重,还不考虑一下在海外接单?那这几个平台你知道吗?

作为一个程序员,在平台上接单赚点外快是再正常不过的事情了,但是现今国内各个平台都内卷比较严重,你是否考虑过去“外面的世界”看看? 如果想过,那么这几个外国的接单平台你都知道吗? 接下来就和我一起来看…

使用NVIDIA GPU FFmpeg转码 YUV to H264(成功)

0. 官方教程 NVIDIA官方教程:链接,本篇内容主要参考2.2 Software Setup。 1. 安装显卡驱动 确保nvidia-smi能够正常使用: 2. 安装CUDA toolkit 注意要与显卡驱动版本对应,验证toolkit是否正确安装: 3. 安装ffnvco…