当前位置:   article > 正文

PyTorch-11 自编码器AutoEncoders 、 Variational AutoEncoders_variational autoencoders pytorch github

variational autoencoders pytorch github

PyTorch-11 自编码器AutoEncoders 、 Variational AutoEncoders

这里我们主要涉及如何利用大量Unlabeled数据?
因此Unsupervised Learning这个领域就需要解决这个问题。

下图是主要的三个领域:
在这里插入图片描述

Why needed为什么需要非监督学习

▪ Dimension reduction 从杂乱的数据中找到有用的信息
▪ Preprocessing: Huge dimension, say 224x224, is hard to process
▪ Visualization: https://projector.tensorflow.org/
这里我们查看一下Mnist数据集并用T-SNE方法:
在这里插入图片描述
我们再查看一下Mnist数据集并用PCA方法:
在这里插入图片描述
很明显,PCA方法数字都混在一起,而T-SNE数字之间较为分散且不同类型间相互聚集。

▪ Taking advantages of unsupervised data 利用非监督数据的优势
▪ Compression, denoising, super-resolution … 压缩、去噪、超分辨率……

unsupervised learning最简单的形态:Auto-Encoders

Auto-Encoders就是重建过程:
特殊点1:输入和输出的维度是一样的,这样才能保证其能够重建。
特殊点2:在网络中有一个特殊的latenet code,这部分称为neck。这个neck可以用于升维,也可以用于降维。下图是用于降维,从784=>2。
在这里插入图片描述
在这里插入图片描述

PCA V.S. Auto-Encoders

▪ PCA, which finds the directions of maximal variance in high-dimensional data, select only those axes that have the largest variance.

▪ The linearity of PCA, however, places significant limitations
on the kinds of feature dimensions that can be extracted.
在这里插入图片描述
mnist数据集:
在这里插入图片描述
文本类型:
在这里插入图片描述

降噪 Denoising AutoEncoders

我们添加一些噪声对原来的图片,之后通过重建,依然能发掘正确的语义内容。
在这里插入图片描述

Dropout AutoEncoders

Dropout是帮助神经网络提升的一个小技巧:
比如说我们在到下一层时,有20%的可能会断掉之前的连接,这样会使得网络更加robust,因为这断掉的20%有可能是断掉了噪声部分,因此在做test时,效果可能会好一些。但是如果随着断掉的概率不断提高,到达某一dropout时,会比没有dropout时test效果还要差,所以这个dropout是需要选取一个最好的概率,从而更好的使test得到提升。
在这里插入图片描述

对抗Adversarial AutoEncoders

▪ Distribution of hidden code
可以发现其分布是偏向一侧的,如果我们重建后,其分布依然保持偏向一侧,那我们应该如何解决呢?因此我们这里就提出了Adversarial AutoEncoders。
在这里插入图片描述
▪ Give more details after GAN
给与类似GAN的一个辨别器,Discriminator鉴别器,这样可以用于判别真实值Fake(即经过Encode的值)与我们期望按照某一种正太分布的期望值Real都送于Discriminator这个网络来鉴别,如果这两个之间的差距大,则为0,不属于这个分布,输出Fake,差距小则为1,符合这个分布,输出Real。

这样处理能够完成重建工作以外,还能符合我们期望的某种分布状态,这样就解决了重建后分布依然偏向一侧的问题。
在这里插入图片描述
由Adversarial GAN引出另一个重点Variational autoencoders

Variational Autoencoders 的初衷

Variational Autoencoders (VAEs) 变分自动编码器
Kullback-Leibler散度 (通常简称为KL散度) = KL divergence

Another Approach:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/73000
推荐阅读
相关标签