其他分享
首页 > 其他分享> > 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder

【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder

作者:互联网

我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。

已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-notes

本节对应笔记:

本节内容综述
  1. Auto-encoder 思想是,对数据进行压缩;此外,要有一个 Decoder 来把数据解压。Encoder 与 Decoder 在一起训练。
  2. 从 PCA 开始介绍起。可见【李宏毅2020 ML/DL】P57 Unsupervised Learning - Linear Methods | PCA & Matrix Factorization。
  3. 开始介绍 Deep Auto-encoder ,2006年的成果。
  4. 用在文字处理上Auto-encoder Text Retrieval。
  5. 此外,也可用在图像搜索上Similar Image Search。
  6. 还可以用在预训练神经网络上Pre-training DNN。这个方法可能很适用于半监督学习。
  7. 此外,还有一些加噪的编码方法De-noising auto-encoder,还提及了Contractive auto-encoder。
  8. 还提及了 Restricted Boltzmann Machine 以及 Deep Belief Network,见 Learn More 。
  9. 最后详细介绍了 CNN 。介绍了很有趣的去卷积,发现去卷积其实就是卷积。
  10. 最后进行思考,我们是否可以用 Decoder 来产生新的东西?

 

文章目录

 

小细节

Deep Auto-encoder


此外,注意到可以按照 PCA的思路,将 Encoder 与 Decoder 的参数一一对应。这可以通过为二者赋同样的初值得到。并且,还需要设置同样的更新过程,这样可以节省一半的参数,降低过拟合的概率。

但是这并不是必要的。

来看一篇 2006 年的论文成果。

如图,使用了 Deep Auto-encoder ,可以解码会很清晰的图片。


如图,使用了深层的编码,即便是2维的编码,其聚类效果也是很好的。

Auto-encoder Text Retrieval

Bag-of-word


如果这个词出现过,在词袋(一个词袋可能表示一篇文章)中,就是1,否者是0。


如上,使用 Auto-encoder 效果远好于 LSA 。

Auto-encoder Similar Image Search


如上,直接算像素插值,找不到好结果。

如上,如果经过编码,会找到比较同类的结果。

Auto-encoder Pre-training DNN

如上图右边,要注意,可能需要对编码的层进行一个大的正则(当编码层维度大于被编码对象时)。

如上,然后保存住这个网络的参数。训练下一层。

如上,再训练长度为 500 的这一层。


之后,再通过反向传播微调就行。

注意:

因此,这个方法可能更适于半监督学习。

De-noising auto-encoder


如图,在输入时,加入一些噪声,这样,神经网络就会学到一些去噪的技巧。

此外,还提到了Contractive auto-encoder,在编码时,做个约束,目的是加了噪声编码还能不变。而De-noising 是为了解码后还能还原。

Learn More



上述两个,都不是神经网络。李老师不准备在本课程中展开。

CNN as Encoder


如图,怎么做去卷积层(Deconvolution)和去池化层(Unpooling)呢?

Unpooling


如上,做 Unpooling 的前提是,要记得Pooling在哪里取的值。

但是,在 Keras 里没有记录这些位置,直接做了重复值。

Deconvolution

其实 Deconvolution 就是 convolution 。

老师先拿一维的卷积举例子。很巧妙。因此,在Keras里甚至直接使用卷积层就行。

Next…


如图,我们做了一个二维的 code ,在红色框框里取样;发现左上角”四不像“,因为红色框框左上角确实没有东西。

我们还可以对 code 加 L2 正则,以限制 code 产生在原点附近。

如上,发现两个维度其实是意义的:

 

标签:编码,DL,auto,Unsupervised,卷积,Auto,encoder,李宏毅,ML
来源: https://blog.51cto.com/u_15279775/2938479