李宏毅机器学习笔记第15周_自编码器(Auto-encoder)


前言

自编码器(Auto-encoder)是一种能够通过无监督学习,学习到输入数据高效表示的人工神经网络。本文会简要地说明什么是自编码器(Auto-encoder),以及会介绍到自编码器(Auto-encoder)的应用。


一、Basic Idea of Auto-encoder

  1. 如下图所示,有两个Neural Network,一个是Encoder,输入一张图片,输出一个向量;另一个是Decoder,输入时Encoder输出的向量,输出一张图片;训练目标是Decoder输出的图片与Encoder输入的图片越接近越好(概念与Cycle GAN有点类似)。在这里有一点在Encoder上,它将高维度的图片转成低维度的向量,方便去做下游任务。
    在这里插入图片描述
  2. 怎么把高维度的图片转成低维度的向量呢?假设一张图片是3*3的,看起来它会比较复杂,但它却比较有限,只要找到这个有限的条件,就可以实现化繁为简,也就是说可以让机器从较少的资料学到要求的知识。
  3. De-noising Auto-encoder就是指给Encoder要输入的图片添加噪声,但训练目标是Decoder输出的图片与Encoder输入前未添加噪声的图片越接近越好,因此整个过程中有去除噪声的操作。
    在这里插入图片描述

二、Feature Disentanglement

Auto-encoder应用在声音讯号中,我们不知道向量的哪一部分代表内容,哪一部分代表语者,因此使用Feature Disentangle是可以做到的。举例Voice Conversion的应用,现在有两个人的声音讯号(一个是自己,另一个是要转换的人),使用Feature Disentangle可以把语音中人的声音和内容区分开来,然后把自己的内容部分与另一个人的声音部分拼接起来输入到Decoder,输出一段被转换后的声音讯号,就可以实现Voice Conversion。
在这里插入图片描述

三、Discrete Latent Representation

1. 在Vector Quantized Variational Auto-encoder中,我们会从训练资料中训练出来一些向量,然后与Encoder输出的向量计算相似度后,取相似度最大的向量作为Decoder的输入,这样做的目的是实现了离散化表示。
在这里插入图片描述
2. 如下图所示,这是一个seq2seq2seq auto-encoder,它要做的是读一篇文章后,得到文章的摘要,然后再把摘要还原成文章。因此这里Encoder和Decoder会用到seq2seq,但是这里有一个问题是得到的摘要可能是我们看不懂的文字,但是Decoder却能够看懂,于是这里会用到GAN中的Discriminator,让Encoder产生人能看懂的文字。
在这里插入图片描述

四、More Applications

1. 如下图所示,可以把auto-encoder的Decoder当作一个generator来使用。
在这里插入图片描述
2. 如下图所示,可以把auto-encoder的Encoder当作一个压缩的过程,而Decoder可以当作一个解压缩的过程。但是这里有一个问题是用auto-encoder来做Compression会导致图片失真。
在这里插入图片描述
3. auto-encoder可以用来做异常检测(Anomaly Detection)。


总结

在本次学习中,我学习到了自编码器(Auto-encoder),自编码器(Auto-encoder)具有很好的降维能力,并且降维后的向量能够较好保存输入到Encoder的原始信息;自编码器(Auto-encoder)可以作为强大的特征检测器,它可以应用于深度神经网络的预训练,可以提高训练的效率;自编码器(Auto-encoder)可以被当作Generator,用于生成随机生成与训练资料类似的数据;总而言之,自编码器(Auto-encoder)的应用十分广泛。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值