自编码器的理解与应用
- 什么是自编码器(AutoEncoder)?
自编码器可以认为是一种数据压缩算法,或特征提取算法。是一种无监督学习,基于反向传播算法和最优化方法,利用数据 x 本身作为监督来指导神经网络学习一个映射关系 h, 得到一个重构输出y。这个y近似等于x。
自编码器可以理解为试图让输出和输入一样的神经网络。他们通过将输入压缩成一个隐藏空间表示来进行工作,然后通过这种表示重构输出。
自编码器的模型如下:
所以呢,自编码器实际是由两部分组成:Encoder(编码器)和Decoder(解码器)。
编码器的作用:把高维输入x 编码成低维的隐变量h从而强迫神经网络学习最有信息量的特征;它在于把输入变成一个隐藏的空间表示,这也就进行特征提取。h=f(x)
解码器的作用:把隐藏层的隐变量h还原到初始维度,最好的状态就是解码器的输出能够完美地或者近似恢复出原来的输入,即x≈y。g(f(x))=y
- 为什么要进行自编码呢?
希望通过添加一些限制条件,在训练autoencoder时将输入复制到输出中,同时得到的隐藏表示h 具有了有用的属性。重点是对于隐藏表示h的关注。
从自编码器获得有用特征的一种方法是将h限制为小于x的维度,在这种情况下,自编码器是不完整的。通过训练不完整的表示,我们强制自编码器学习训练数据的最显著特征。
理想情况下,自编码器可以成功地训练任何体系结构,根据要分配的复杂度来选择编码器和解码器的代码维数和容量。
- 自编码器可以用来干什么?
第一:数据降噪
噪声是测量中的随机误差或偏差,包括错误值或者偏离期望的孤立点。简单来说就是对任务或者模型没有帮助甚至有误导作用的数据。编码器通过学习将潜在空间中的尽可能多的相关信息保留,丢弃不相关部分(噪声)。解码器学习潜在空间信息重建与输入一致的,这样就达到了去噪。
第二:可视化降维
设置合适的维度和稀疏约束,自编码器可以学习到比PCA等技术更有意思的数据投影。因为自编码属于无监督学习,所以只需要训练数据就可以得到较好的特征。
第三:起到特征提取器的作用
自动编码器学习到的特征h,可以作为有监督模型的输入,这样就起到了特征提取器的作用。
- 自编码器有什么优缺点?
1、是泛化性强的,无监督学习不需要数据标注,这意味着很容易对指定类的输入训练出一种特定的编码器,而不需要完成任何新工作。
2、是数据相关的,这意味着自动编码器只能压缩那些与训练数据类似的数据。比如,使用人脸训练出来的自动编码器在压缩别的图片,比如树木时性能很差,因为它学习到的特征是与人脸相关的。
3、是有损的,意思是解压缩的输出与原来的输入相比是退化的,MP3,JPEG等压缩算法也是如此。这与无损压缩算法不同。
- 具体有哪些自编码器?
Building Autoencoders in Keras
1、自编码器(Anto-encoder)AE
用Keras建立自动编码器
2、栈式自编码器(Stacked Auto Encoder)SAE
Stacked Auto Encoder(栈式自动编码)
3、卷积自编码器(Convolutional Auto Encoder)CAE
卷积自编码器
4、正则自编码器(Regular Autoencoder)RAE
5、稀疏自编码器(Sparse Autoencoder)SAE
6、降噪自编码器(Denosing AutoEncoder)DAE
7、多层自编码器(Multilayer Autoencoder)MAE
四种不同的自编码器
8、变分自编码器(variational autoencoder)VAE
VAE变分自编码器Keras实现
参考
1、一文带你了解自编码器(AutoEncoder)
2、自编码器是什么?有什么用?这里有一份入门指南
3、深入理解自编码器
自编码器的理解与应用相关推荐
- 对图像压缩自编码器的理解
本文是本人对Lucas Theis,Wenzhe Shi, (Twitter London, UK )等人2017年发表的文章"LOSSY IMAGE COMPRESSION WITH C ...
- H264编码器参数理解 (部分)“I帧”和“帧间距”等的理解
写作背景:最近在研究H264编码器的参数,里面的参数不太懂,其中包括: 1) 30 # i intervals // I 帧间距 2) 30 # idr intervals// idr帧间距 3 ...
- VAE:变分自编码器的理解与实现
VAE理解与实现 文章目录 VAE理解与实现 1. 理解VAE 2. 模型实现 3. 代码 4. 总结 1. 理解VAE VAE是一类生成模型,其假设在低维空间(维度k,k<d)中存在一个关于输 ...
- 为什么稀疏自编码器很少见到多层的?
Andrew Ng 的视频和资料也好,还是网上的资料和代码,以及书上的内容,我很少见到稀疏自编码器是多层的结构一般都是{N,m,N}的三层结构(一层是隐层,输入输出各一层)为什么很少见到例如{N,m, ...
- 深度学习之自编码器(3)自编码器变种
深度学习之自编码器(3)自编码器变种 1. Denoising Auto-Encoder 2. Dropout Auto-Encoder 3. Adversarial Auto-Encoder 一般 ...
- 【无监督】自编码器(Autoencoder)
引言 当你在看论文的时候,经常会遇到编码器.解码器.自编码器(Autoencoder)这些字眼,它们到底是干什么的呢?其主要作用又是什么呢?那么本篇主要带大家了解自编码器(Autoencode ...
- 自编码器与堆叠自编码器简述
作者:科研君 链接:https://www.zhihu.com/question/41490383/answer/103006793 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
- 自编码器,变分自编码器和生成对抗网络异同
一. AE(AutoEncoder) 参考AutoEncoder 1.1 自编码器简单模型介绍 自编码器可以理解为一个试图去 还原其原始输入的系统. 自动编码模型主要由编码器和解码器组成,其主要目的是 ...
- stm32平衡小车(2)-----编码器电机驱动
前言:之前做arduino小车的时候使用的是L298N电机,没有用过编码器,这次第一次用编码器,还是比较懵圈,记录一下学的整个过程. 1.编码器的简介 霍尔编码器是一种通过磁电转换将输出轴上的机械几何 ...
最新文章
- (互联网)Yahoo邮箱的改版
- java表达式类型自动提升
- svn中出现红色感叹号
- numpy random 生成随机矩阵
- [机器学习]超参数优化---贝叶斯优化(Bayesian Optimization) 理解
- 【渝粤题库】陕西师范大学400006 公共关系学 作业(专升本)
- 学习linux/unix编程方法的建议[转]
- treelistview 所有节点失去焦点_重大福利!中国外交部发布新规 关乎所有海外华人!...
- cisco port-channel配置
- Java学习笔记(05)
- 2022年Java 工程师面试题
- 红帽子linux9百度云,linux安装--红帽子Linux REDHAT 9.0 ISO(3CD)
- 遗传算法基本原理及在互联网中的应用
- Pygame实战:多年后“魂斗罗”像素风归来 不止是经典与情怀@全体成员
- 如何制作一个简单的游戏 Cocos2d-x 2.0.4
- 【通信】盖氏圆盘方法(GDE)计算均匀直线阵(ULA)中信号源个数附matlab代码
- Minio客户端操作
- 「认识AI:人工智能如何赋能商业」【10】大数据基本概念
- Linux ~ 系统管理。
- Kubernetes(K8s) kubectl cordon, drain, uncordon 常用命令