无监督学习的举例:1. K-means,2. PCA主成分分析(Principal Component Analysis,降维Dimensionality reduction),3. Autoencoders(Feature learning) 4. Density estimation
对于输入数据,有一个重构的数据作为输出。
有监督学习VS无监督学习
生成模型
已知训练数据,从相同的分布中生成新的样本。
生成模型主要分为两类:一类是显式密度模型,另一类是隐式密度模型
1. PixelRNN and PixelCNN
显式密度模型:
PixelRNN,从角开始生成像素,依赖于之前的像素,用RNN或LSTM建模的。如下,缺点为序列生成是很慢的。
PixelCNN,也是从角开始生成,依赖于之前的像素,用CNN建模的模型。如下,利用其周围的信息,输出是每个像素的softmax loss。与PixelRNN的训练速度一样,但是在生成的时候还是很慢。
2. Variational Autoencoders (VAE)
Autoencoders是一个无监督学习的方法,可以对无标注的训练数据进行学习,学习低纬的特征表示。包含两部分,encoder是将输入映射到特征z,通常ecoder可以是一个线性层加非线性激活函数,也可以是一个全连接层,也可以是ReLU CNN。 特征z的维数通常比x小,因为降维操作。为什么需要降维呢?z应该代表x中的重要特征,并且这些特征可以用于reconstruct original data。decoder与encoder的组成相似,ReLU CNN(upconv),全连接,线性层加非线性激活函数。损失函数使用L2
问题:Intractability
问题在于,对于每个z无法计算这个积分:
解决方法:定义一个附加的encoder网络来近似p(z|x)。
3. GAN
不是通过显式的密度方程来做生成,而是利用基于游戏理论的方法,通过2-player游戏来训练分布。包含生成器和判别器
目标函数为:
三种方法的总结: