机器学习笔记: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的主要内容,如果未能解决你的问题,请参考以下文章

机器学习实战笔记--决策树

机器学习实战笔记--朴素贝叶斯

机器学习实战笔记--k近邻算法

机器学习笔记: attention

李宏毅机器学习自编码器auto-encoder

蓝桥ROS机器人之现代C++学习笔记2.3类型推导