Loading [MathJax]/jax/input/TeX/jax.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >DeepLearning笔记-自编码网络

DeepLearning笔记-自编码网络

作者头像
百川AI
发布于 2021-10-19 08:26:18
发布于 2021-10-19 08:26:18
4670
举报
文章被收录于专栏:我还不懂对话我还不懂对话

自编码器是神经网络的一种,是一种无监督学习方法,使用了反向传播算法,目标是使输出=输入。 自编码器内部有隐藏层 ,可以产生编码表示输入。1986 年Rumelhart 提出。

自编码器主要作用在于通过复现输出而捕捉可以代表输入的重要因素,利用中间隐层对输入的压缩表达,达到像PCA那样的找到原始信息主成分的效果。

传统自编码器被用于降维或特征学习。 近年来,自编码器与潜变量模型理论的联系将自编码器带到了生成式建模的前沿。

下图是一个自编码网络的例子,对于输入

x(1),x(2),...;x(i)Rn

,让目标值等于输入值

y(i)=x(i)

1. 欠完备自编码器

简单而言就是我们不关心输出,而是中间多特征的压缩表达,所以会限制中间层维度小于输入输出,这种编码维度小于输入维度的自编码器称为欠完备自编码器

设定的损失函数为:

L(x,g(f(x)))

其中

g(f(x))

衡量

f(x)

和x的差异,比如均方误差MSE

2. 正则自编码器

在欠完备自编码器我们限制了隐层维度小于输入,而当隐层维度等于或者大于输入的时候,整个网络可能或直接学习到了恒等复制。

这个时候正则编码器就是在这种隐层维度比输入高的情况,使用的损失函数可以鼓励模型学习其他特性(除了将输入复制到输出),而不必限制使用浅层的编码器和解码器以及小的编码维数来限制模型的容量。

这个时候就可以根据要建模的数据分布的复杂性,选择合适的编码维数和编码器、解码器容量,就可以成功训练任意架构的自编码器。

2.1 稀疏自编码器

稀疏自编码器简单地在训练时结合编码层的稀疏惩罚

Ω(h)

和重构误差:

L(x,g(f(x)))+Ω(h)

其中

g(f(x))

衡量

f(x)

和x的差异,比如均方误差MSE

将惩罚项

Ω(h)

视为加到前馈网络的正则项,这个前馈网络的主要任务是将输入复制到输出(无监督学习的目标),并尽可能地根据这些稀疏特征执行一些监督学习任务(根据监督学习的目标)。

2.2 去噪自编码器

去噪自编码从改变重构误差入手,先看看公式:

L(x,g(f(~x)))

其中

~x

是带有噪声的样本,x是原始无噪样本,

g(f(~x))

衡量

f(~x)

和x的差异,比如均方误差MSE。

从上面公式我们可以看出,去噪自编码网络的输入是带有噪声的样本,学习目标是原始无噪样本,通过模型的学习可以达到消除输入噪声的效果,具体见我的下一篇帖子。 实现的一个例子:去噪自编码网络-python keras实现

2.3 惩罚导数作为正则

正则化自编码器的另一个策略是使用一个类似稀疏自编码器中的惩罚项

Ω

L(x,g(f(x)))+Ω(h,x)

而其中:

Ω(h,x)=λi|xhi|2

这迫使模型学习一个在

x

变化小时目标也没有太大变化的函数。 因为这个惩罚只对训练数据适用,它迫使自编码器学习可以反映训练数据分布信息的特征。

这样正则化的自编码器被称为收缩自编码器

Reference

  1. 自编码算法与稀疏性
  2. 自编码器
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/08/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
教程 | 无监督学习中的两个非概率模型:稀疏编码与自编码器
机器之心整理 作者:Ruslan Salakhutdinov 参与:Smith 「无监督学习」(Unsupervised Learning)现在已经成为深度学习领域的热点。和「有监督学习」相比,这种方法的最大优势就在于其无须给系统进行明确的标注(label)也能够进行学习。最近,在德国的图宾根,机器学习夏训营(Machine Learning Summer School)正在如火如荼地进行,其中来自 CMU 的 Ruslan Salakhutdinov 教授就带来了很多关于「无监督学习」的精彩内容。今天机器
机器之心
2018/05/09
1.5K0
教程 | 无监督学习中的两个非概率模型:稀疏编码与自编码器
深度学习算法(第30期)----降噪自编码器和稀疏自编码器及其实现
深度学习算法(第29期)----可视化自编码器和无监督预训练 今天我们一起学一下降噪自编码器和稀疏自编码器方面的知识。
智能算法
2019/10/14
3.5K0
深度学习算法(第30期)----降噪自编码器和稀疏自编码器及其实现
从自编码器到变分自编码器(其一)
AiTechYun 编辑:yuxiangyu 自编码器是一种无监督学习技术,利用神经网络进行表征学习。也就是说,我们设计一个在网络中施加“瓶颈”,迫使原始输入压缩知识表示的神经网络架构。如果输入特征彼
AiTechYun
2018/03/27
1.4K0
从自编码器到变分自编码器(其一)
自编码器原理概述_编码器结构及工作原理
原文链接:http://www.chenjianqu.com/show-62.html
全栈程序员站长
2022/11/15
2.6K0
自编码器原理概述_编码器结构及工作原理
【机器学习-无监督学习】自编码器
  在前面的文章中,我们介绍了各种类型的无监督学习算法,如聚类算法、降维算法等。归根结底,无监督学习的目的是从复杂数据中提取出可以代表数据的特征,例如数据的分布、数据的主要成分等等,再用这些信息帮助后续的其他任务。随着机器学习向深度学习发展和神经网络的广泛应用,用神经网络提取数据特征的方法也越来越重要。本文介绍的自编码器(autoencoder,AE)就是其中最基础的一种无监督特征提取方法,也是一种深度学习模型。
Francek Chen
2025/01/22
4550
【机器学习-无监督学习】自编码器
自编码器
一般用来作逐层无监督预训练,但自从dropout、relu等提出后,已经没什么人用了。
平凡的学生族
2019/06/21
7900
自编码器
【收藏】人工智能术语表
English Terminology中文术语neural networks神经网络activation function激活函数hyperbolic tangent双曲正切函数bias units偏置项activation激活值forward propagation前向传播feedforward neural network前馈神经网络Backpropagation Algorithm反向传播算法(batch) gradient descent(批量)梯度下降法(overall) cost functio
机器人网
2018/04/12
7800
【学术】一文搞懂自编码器及其用途(含代码示例)
自编码器(Autoencoder)是一种旨在将它们的输入复制到的输出的神经网络。他们通过将输入压缩成一种隐藏空间表示(latent-space representation),然后这种重构这种表示的输
AiTechYun
2018/03/02
8950
【学术】一文搞懂自编码器及其用途(含代码示例)
学界 | 谷歌大脑提出对抗正则化方法,显著改善自编码器的泛化和表征学习能力
无监督学习的目标之一是不依靠显式的标注得到数据集的内在结构。自编码器是一种用于达成该目标的常见结构,它学习如何将数据点映射到隐编码中——利用它以最小的信息损失来恢复数据。通常情况下,隐编码的维度小于数据的维度,这表明自编码器可以实施某种降维。对于某些特定的结构,隐编码可以揭示数据集产生差异的关键因素,这使得这些模型能够用于表征学习 [7,15]。过去,它们还被用于预训练其它网络:先在无标注的数据上训练它们,之后将它们叠加起来初始化深层网络 [1,41]。最近的研究表明,通过对隐藏空间施加先验能使自编码器用于概率建模或生成模型建模 [18,25,31]。
机器之心
2018/08/07
7980
学界 | 谷歌大脑提出对抗正则化方法,显著改善自编码器的泛化和表征学习能力
理解深度学习:与神经网络相似的网络-自编码器(上)
本篇文章可作为<利用变分自编码器实现深度换脸(DeepFake)>(稍后放出)的知识铺垫。
老潘
2018/07/17
1.1K0
理解深度学习:与神经网络相似的网络-自编码器(上)
深度学习算法原理——稀疏自编码器
注:最近打算将UFLDL教程重新看一遍,其实里面有很多关于神经网络以及深度学习的知识点很有用,但是只是学习深度学习的话有一些内容就有点多余,所以想整理一个笔记,记录下神经网络到深度学习的一些知识点。整个教材已经非常好,网上有原版的英文版,也有翻译的中文版,这个只是自己的学习笔记,对原来教程中的内容进行了梳理,有些图也是引用的原来的教程,若内容上有任何错误,希望与我联系,若内容有侵权,同样也希望告知,我会尽快删除。
felixzhao
2019/02/13
2.9K0
第十五章——自编码器(Autoencoders)[通俗易懂]
自编码器是一种能够通过无监督学习,学到输入数据高效表示的人工神经网络。输入数据的这一高效表示称为编码(codings),其维度一般远小于输入数据,使得自编码器可用于降维(查看第八章)。更重要的是,自编码器可作为强大的特征检测器(feature detectors),应用于深度神经网络的预训练(查看第十一章)。此外,自编码器还可以随机生成与训练数据类似的数据,这被称作生成模型(generative model)。比如,可以用人脸图片训练一个自编码器,它可以生成新的图片。
全栈程序员站长
2022/09/16
2.3K0
【全】一文带你了解自编码器(AutoEncoder)
有些同学在刚开始看论文的时候,经常会遇到编码器、解码器、自编码器(AutoEncoder)这些字眼,它们到底是干什么的呢?其主要作用又是什么呢?那么本篇主要带大家了解自编码器(AutoEncoder)。
ShuYini
2019/09/02
7.8K0
【全】一文带你了解自编码器(AutoEncoder)
机器学习笔记 – 自动编码器autoencoder
简而言之,自动编码器通过接收数据、压缩和编码数据,然后从编码表示中重构数据来进行操作。对模型进行训练,直到损失最小化并且尽可能接近地再现数据。通过这个过程,自动编码器可以学习数据的重要特征。
全栈程序员站长
2022/08/25
3.3K0
机器学习笔记 – 自动编码器autoencoder
自编码器完全指南:从0到1,掌握特征提取与生成新技能!
今日推荐:Spring AI再更新:如何借助全局参数实现智能数据库操作与个性化待办管理
小说男主
2024/11/12
7130
自编码器完全指南:从0到1,掌握特征提取与生成新技能!
深度学习算法原理——栈式自编码神经网络
注:最近打算将UFLDL教程重新看一遍,其实里面有很多关于神经网络以及深度学习的知识点很有用,但是只是学习深度学习的话有一些内容就有点多余,所以想整理一个笔记,记录下神经网络到深度学习的一些知识点。整个教材已经非常好,网上有原版的英文版,也有翻译的中文版,这个只是自己的学习笔记,对原来教程中的内容进行了梳理,有些图也是引用的原来的教程,若内容上有任何错误,希望与我联系,若内容有侵权,同样也希望告知,我会尽快删除。
felixzhao
2019/02/13
1.9K0
自编码器及其变种背后的直觉与应用
神经网络从根本上是有监督的——它们接受一组输入,执行一系列复杂的矩阵操作,并返回一组输出。随着世界产生越来越多的无监督数据,简单和标准的无监督算法已经不够用了。我们需要以某种方式将神经网络的深层力量应用于无监督的数据。
McGL
2020/10/10
1.3K0
自编码器及其变种背后的直觉与应用
自编码器26页综述论文:概念、图解和应用
机器之心报道 编辑:蛋酱 在这篇新论文中,TOELT LLC 联合创始人兼首席 AI 科学家 Umberto Michelucci 对自编码器进行了全面、深入的介绍。 论文链接:https://arxiv.org/pdf/2201.03898.pdf 神经网络通常用于监督环境。这意味着对于每个训练观测值 x_i,都将有一个标签或期望值 y_i。在训练过程中,神经网络模型将学习输入数据和期望标签之间的关系。 现在,假设只有未标记的观测数据,这意味着只有由 i = 1,... ,M 的 M 观测数据组成的训练
机器之心
2022/03/04
7150
王的机器带你学 MIT 深度学习导论课
深度学习并不是和机器学习并列的一个科目,而且用神经网络模型来处理机器学习里的有监督学习、无监督学习和强化学习这些子类 (注意这些红蓝绿颜色对应的名词),如下图所示 (我书中还多提到了「深度半监督学习」和「深度迁移学习」):
用户5753894
2019/07/05
9480
王的机器带你学 MIT 深度学习导论课
详解自动编码器(AE)
传统的自动编码器是一种数据的压缩算法 其算法包括编码阶段和解码阶段,且拥有对称的结构。
全栈程序员站长
2022/08/14
1.3K0
详解自动编码器(AE)
推荐阅读
相关推荐
教程 | 无监督学习中的两个非概率模型:稀疏编码与自编码器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档