机器学习笔记:auto encoder
Posted UQI-LIUWJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习笔记:auto encoder相关的知识,希望对你有一定的参考价值。
1 autoencoder 介绍
这是一个无监督学习问题,旨在从原始数据x中学习一个低维的特征向量(没有任何标签)
encoder 最早是用线性函数+非线性单元构成(比如Linear+nonlinearity),之后的模型有使用多层全连接、Relu+CNN进行encoder操作的 。
那么,我们怎么从原始数据中学习特征向量z呢?
核心思路就是使用一个decoder
这里的tconv就是机器学习笔记: Upsampling, U-Net, Pyramid Scene Parsing Net_UQI-LIUWJ的博客-CSDN博客中所介绍的“up convolution”
在训练完毕之后,丢弃decoder,使用encoder来进行后续的任务
2 特征向量z的维度
z的维度需要比输入x的维度小——>这样才能压缩数据
如果z的维度比输入x的维度大或者等于输入x的维度的话——>模型没有学习新特征的“动力”——>直接将x复制到z,多出来的维度补0即可
3 auto-encoder变体
3.1 de-noising autoencoder
在输入中假如噪声,但是学习的特征希望能还原成没有噪声的版本
——>可以更好地学习特征表示
——>避免直接复制——>所以每一个epoch加在输入上的噪声是不一样的
3.2 stacked auto-encoder(SAE)
多层auto-encoder,训练完毕后也是去掉所有的decoder
4 AE作为生成模型
4.1 context encoder
抹去图像的某一块,通过auto-encoder,看看能不能还原成整张图片/判断抹去的这一块学到的特征和实际这一块之间的区别
4.1.1 不同的遮法
4.2 temporal context encoder
对于图像来说,我们的可以遮去一些像素点,然后通过auto-encoder的方式来学习这些遮掉的像素点。那么对于视频来说,我们也可以遮去一些视频中的“像素点”,也即遮掉某几帧,然后同样用auto-encoder来进行学习
5 auto-encoder应用:半监督学习
当我们有很多的图像,但是只有很少的label的时候,我们可以先对不适用标签,对图像使用auto-encoder。训练完毕之后,我们丢弃decoder,然后再encoder后面接入分类器,学习标签y',将其和真实特征y进行比对
以上是关于机器学习笔记:auto encoder的主要内容,如果未能解决你的问题,请参考以下文章