16、【李宏毅机器学习(2017)】Unsupervised Learning: Deep Auto-encoder(无监督学习:深度自动编码器)

本篇博客将介绍无监督学习算法中的 Deep Auto-encoder。


目录


Deep Auto-encoder

输入28*28维度的图像像素,由NN encoder输出code,code的维度往往小于784,但我们并不知道code的信息,因此再添加一个NN encoder,以code为输入,经过NN decoder输出尽可能与最早的输入相似的结果。
这里写图片描述

巧妙的是,NN encoder和NN decoder独自存在的时候都无法学习,但是二者结合在一起就产生了所谓的Deep Auto-encoder。(如图,NN encoder和NN decoder中的 W 矩阵未必是要转置关系)。
这里写图片描述

Deep Auto-encoder的降维作用

训练出整个Deep Auto-encoder后可以输出code(相当于降维的输出)。
这里写图片描述

Auto-encoder – Text Retrieval

Auto-encoder有个常用的用处就是文章检索,比如google输入关键字会输出检索的文章,大致的思路(Vector Space Model)是将文章表示成向量,然后根据检索的词向量与文章向量的相似度输出结果。将文章表示成向量常用的方法就是Bag-of-word,以全部的词汇为维度,文章中有出现的词汇计为1。
这里写图片描述

但是简单的Bag-of-word方法并没有考虑到词汇同义词等难以捕捉的信息,因此现在使用Auto-encoder进行文章转换向量。
这里写图片描述

Auto- encoder for CNN

Auto-encode的思路不止可以使用full-connected神经网络实现,还可以通过CNN来实现。
这里写图片描述

deconvolution的过程本质上也是一种convolution。

这里写图片描述

Auto-encoder – Pre-training DNN

Auto-encode可以和监督学习的方法结合,用来Pre-train DNN。现在的target是将28*28维度的数据降维到10维的数据,
这里写图片描述

Decoder

如上所述,encoder可以用来降维,decoder则可以用来生成图像。

猜你喜欢

转载自blog.csdn.net/Jimmyzqb/article/details/82181204