李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder

Auto-encoder使用神经网络进行降维。由于这里是无监督学习,因此encoder的训练过程需要采用decoder同时进行训练,如下图所示。这与PCA的过程类似,首先通过输入的图片,乘以矩阵W,得到降维后的数据,然后对于降维数据乘以前述矩阵的转置,可以得到预测的输出图片。

李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
auto-encoder就是比PCA多加了几个Hidden layer
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
结果对比:
auto-encoder的结果较好较清晰,但是结果好不是重点,重点是现在的降维code的可视化是不是很好,看下图。
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
不同颜色代表着不同的数字,看到可视化数字分的比较开,如果要让code做得更好,可以用:
De-noising
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
对比:Deep Auto encoder (De-noising),tSNE,PCA的降维处理比较(4,9)
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
encoder auto的应用
1)文字:
词袋模型:语意的表达,考虑语意的降维
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
2)影像搜寻
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
3)auto-encoder for CNN
unpooling会把image变大,不知道的扩展补0
pooling会把image变小
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
灰色为补0操作的神经元
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
这样做完可能我们还是不知道这个手写图片到底是什么,只知道网络的输入和输出很相近但是我们可以把encoder auto learning作为监督学习的预先训练的方法:把deep network的前几layer的weight给train好。
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder
Deep Belief Network
李宏毅-DeepLearning-2017-Unsupervised Learning:Deep Auto-encoder