自编码器 AutoEncoder

2023-12-12 05:44
文章标签 编码器 autoencoder

本文主要是介绍自编码器 AutoEncoder,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自编码器(AutoEncoder),也称自编码模型,是一种基于无监督学习的数据维度压缩和特征表示方法,目的是对一组数据学习出一种表示。1986年 Rumelhart 提出自编码模型用于高维复杂数据的降维。由于自动编码器通常应用于无监督学习,所以不需要对训练样本进行标记。自动编码器在图像重构、聚类、降维、自然语言翻译等方面应用广泛。

1. 数据表示

数据表示(Data Representation)是使用另一种形式呈现原始数据的方法,这一技术也被称为隐式表示(Latent Representation)或者转码(Coding)。

  • 原始数据为 [ 2 , 4 , 6 , 8 , 10 ] [2,4,6,8,10] [2,4,6,8,10]
    我们可以使用文字以2开头,以10结尾的偶数列来表示该原始数据,也可以使用 [ x , 2 x , 3 x , 4 x , 5 x ] [x,2x,3x,4x,5x] [x,2x,3x,4x,5x] x = 2 x=2 x=2 来表示该原始数据。
  • 原始数据为 [ ′ 苹 果 ′ , ′ 梨 ′ , ′ 百香 果 ′ ] ['苹果','梨','百香果'] [,,百香]
    我们可以使用序列 [ 0 , 1 , 2 ] [0,1,2] [0,1,2] 来表示该原始数据,也可以使用水果这一概括性的词汇来表示原始数据。

很显然,一个数据的数据表示并不是唯一的,且这种表示可以是精确的、也可以是有些模糊的,甚至可以看起来与原始数据毫不相关,但无论如何,数据表示的结果必须携带原始数据上大部分的信息。广义地表示,只要数据B是以另一种形式呈现数据A、并且数据B上携带数据A大部分的信息,我们就可以说B是A的数据表示。同时,“另一种形式”既可以是文字-数字这样不同类别的数据之间的形式差异,也可以是数字-数字这样相同类别,但不同大小、不同数量的数据之间的形式差异。在实际计算当中,当数据B是数据A的数据表示时,数据B通常是从数据A总结出的规律、或直接在数据A上计算得出的新数据。

根据以上数据表示的广义定义可以得知,我们非常熟悉的数据编码(独热编码、顺序编码等操作)、特征提取、升维降维、Embedding等方法都可以囊括到数据表示领域当中。在这领域当中,使用机器学习或深度学习手段令算法自己求解出数据表示结果的领域被称之为表征学习。自编码器是表征学习中极具特色的代表架构。为了实现数据表示的功能,自编码器能够“接收数据A,并输出另一种形式的数据B”,因此自编码器是为“生产新数据”而生的架构。
在这里插入图片描述

2. 自编码器模型简介

最初的自编码器是一个三层网络结构,即输入层、中间隐藏层以及输出层,其中输入层和输出层的神经元个数相同。如下图所示:
在这里插入图片描述
深度自编码器是将自编码器堆积起来,可以包含多个中间隐藏层。由于其可以有更多的中间隐藏层,所以对数据的表示和编码能力更强,而且在实际应用中也更加常用。如下图所示:
在这里插入图片描述
稀疏自编码器,是在原有自编码器的基础上,对隐层单元施加稀疏性约束,这样会得到对输入数据更加紧凑的表示,在网络中仅有小部分神经元会被激活。常用的稀疏约束是使用 L1 \text{L1} L1 范数约束,目的是让不重要的神经元的权重为0。

卷积自编码器是使用卷积层搭建获得的自编码网络。当输入数据为图像时,由于卷积操作可以从图像数据中获取更丰富的信息,所以使用卷积层作为自编码器隐藏层,通常可以对图像数据进行更好的表示。在实际应用中,用于处理图像的自动编码器的隐藏层几乎都是基于卷积的自编码器。在卷积自编码器的编码器部分,通常可以通过池化层负责对数据进行下采样,卷积层负责对数据进行表示,而解码器则通常使用可以对特征映射进行上采样的操作来完成。

这篇关于自编码器 AutoEncoder的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/483439

相关文章

如何实现外部编码器轴和虚轴电子齿轮比例随动(汇川AM400PLC)

1、如何添加虚轴可以参考下面文章链接: 如何添加虚轴(AM400PLC)-CSDN博客文章浏览阅读2次。EtherCAT运动控制总线启用的时候,选择EtherCAT总线任务周期。选择好后,选择点击添加。https://blog.csdn.net/m0_46143730/article/details/139898985?csdn_share_tail=%7B%22type%22%3A%22blo

RNN/LSTM/GRU/TRANFORMER/编码器解码器理解

编码器和解码器是一种框架,lstm和gru都是这个框架中对这一框架的不同实现 编码器与解码器是一种架构,一种思想,注意力也是一种思想,相互独立,只是二者可以结合以用来训练模型可以提升模型能力 rnn gru lstm是三种不同的模型 里面并没有注意力机制这回事 RNN中有编码器和解码器实现,为什么要重新使用gru定义解码器和编码器? 编码器和解码器是一种思想,工业界实现目前也仅仅使用一个,但是通过

Autoencoder(AE)、Variational Autoencoder(VAE)和Diffusion Models(DM)了解

Autoencoder (AE) 工作原理: Autoencoder就像一个数据压缩机器。它由两部分组成: 编码器:将输入数据压缩成一个小小的代码。解码器:将这个小代码还原成尽可能接近原始输入的数据。 优点和应用: 简单易懂:用于学习数据的特征和去除噪声。应用场景:例如可以用来缩小图像的大小但保留关键特征,或者去除文本数据中的错误。 挑战: 数据损坏:如果输入数据太乱,编码器可能无法有

为什么Transformer的编码器和解码器如此重要?一文带你读懂

Transformer 模型是一种基于自注意力(self-attention)机制的深度学习模型,最初是为了解决自然语言处理(NLP)中的序列到序列(sequence-to-sequence)任务而提出的,如机器翻译。Transformer 由编码器和解码器两部分组成,两者都基于相同的自注意力机制,但它们在功能和使用上有所不同。 编码器(Encoder) 编码器是Transformer模型中的

用AI来做图像复原,上下文自编码器 + GAN,Pytorch源码解析

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者:Hmrishav Bandyopadhyay 编译:ronghuaiyang 导读 一篇比较经典的图像复原的文章。 你知道在那个满是灰尘的相册里的童年旧照片是可以复原的吗?是啊,就是那种每个人都手牵着手,尽情享受生活的那种!不相信我吗?看看这个: 图像修复是人工智能研究的一个活跃领域,人工智能已经能够得出比大多数艺术家更好

42、基于神经网络的训练堆叠自编码器进行图像分类(matlab)

1、训练堆叠自编码器进行图像分类的原理及流程 基于神经网络的训练堆叠自编码器进行图像分类的原理和流程如下: 堆叠自编码器(Stacked Autoencoder)是一种无监督学习算法,由多个自编码器(Autoencoder)堆叠在一起构成。每个自编码器由一个编码器和一个解码器组成,用于学习数据的有效表示。 在图像分类任务中,首先将输入图像通过编码器部分提取特征,然后通过解码器将提取的特征重

同三维T80004EHU 高清HDMI/USB编码器

1路HDMI或1路USB输入,带1路3.5音频输入,高清1080P60 来百度APP畅享高清图片 产品简介: 同三维T80004EHU 高清 HDMI/USB编码器是一款1路HDMI或1路USB高清编码器,。可将 HDMI 或USB视频源编码压缩成网络流,通过有线网络,在互联网或局域网实现视频远距离高清传输/直播。高清1080P 60帧编码。 产品参数:

同三维T80004EH-N HDMI高清NDI编码器

1路HDMI +1路3.5音频输入,支持NDI  产品简介: 同三维T80004EH-N 高清HDMI编码器是专业的NDI高清音视频编码产品,该产品支持1路高清HDMI音视频采集功能,1路3.5MM独立音频接口采集功能。编码输出双码流H.265/H.264格式,音频MP3/AAC格式。编码码率可调,画面质量可控制。支持HTTP/RTSP/RTP/RTMP/UDP/NDI等协议传输。使用方便

为什么堆叠自编码器(Stacked Autoencoders, SAE)解释性很强!?

堆叠自编码器(Stacked Autoencoders, SAE)相对于卷积神经网络(CNN)在某些情况下具有更高的解释性,主要原因在于其结构和特性使其在特征提取和表示上具有一定的透明度和可解释性。以下是具体原因: 特征表示的透明性: 低维特征表示:自编码器通过压缩输入数据,将高维数据映射到低维特征空间。这些低维特征表示保留了输入数据的主要信息,并且这种映射是显式的,易于分析和理解。逐层特

openh264 编码器源码分析:AnalyzePictureComplexity 函数

介绍 文件位置: openh264/codec/processing/src/complexityanalysis/ComplexityAnalysis.cpp 功能: 作为CWelsPreProcess类中一个方法,用来分析当前图像与参考图像之间的复杂度关系,以便编码策略。 原型: void CWelsPreProcess::AnalyzePictureComplexity (sWelsEn