赞
踩
这里我们主要涉及如何利用大量Unlabeled数据?
因此Unsupervised Learning这个领域就需要解决这个问题。
下图是主要的三个领域:
▪ 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 … 压缩、去噪、超分辨率……
Auto-Encoders就是重建过程:
特殊点1:输入和输出的维度是一样的,这样才能保证其能够重建。
特殊点2:在网络中有一个特殊的latenet code,这部分称为neck。这个neck可以用于升维,也可以用于降维。下图是用于降维,从784=>2。
▪ 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数据集:
文本类型:
我们添加一些噪声对原来的图片,之后通过重建,依然能发掘正确的语义内容。
Dropout是帮助神经网络提升的一个小技巧:
比如说我们在到下一层时,有20%的可能会断掉之前的连接,这样会使得网络更加robust,因为这断掉的20%有可能是断掉了噪声部分,因此在做test时,效果可能会好一些。但是如果随着断掉的概率不断提高,到达某一dropout时,会比没有dropout时test效果还要差,所以这个dropout是需要选取一个最好的概率,从而更好的使test得到提升。
▪ 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 (VAEs) 变分自动编码器
Kullback-Leibler散度 (通常简称为KL散度) = KL divergence
Another Approach:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。