【大组会整理】深度生成模型可视化刘世霞深度生成网络可视化

来源:互联网 发布:经传软件指标全集 编辑:程序博客网 时间:2024/04/30 10:04

这篇博客的目的是对此次组会自己感兴趣的地方和不懂得地方进行一个梳理,供自己梳理知识点使用。

1、两个深度生成模型:GAN和VAE(Variational autoencoder)
参考博客:http://geek.csdn.net/news/detail/230599,这篇博客中还贴出了两个github的代码用来进行GAN和VAE实战,先放在这里,以后用到的话拿来细究。
首先简单说一下判别模型和生成模型。
判别模型的形式主要是根据原始图像推测图像具备的一些性质,例如根据数字图像推测数字的名称,根据自然场景图像推测物体的边界。这些模型大多有下面的规律:已知观察变量X,和隐含变量z,判别式模型对p(z|X)进行建模,它根据输入的观察变量x得到隐含变量z出现的可能性。
而生成模型恰恰相反,通常给出的输入是图像具备的性质,而输出是性质对应的图像。生成式模型则是将两者的顺序反过来,它要对p(X|z)进行建模,输入是隐含变量,输出是观察变量的概率。
判别模型用来解决判别问题,生成模型用来解决分布估计等问题(比如随机生成满足某些隐含变量特点的数据)。对于一些简单的判别问题也可以用生成模型解决,中间用贝叶斯公式过渡。
这里写图片描述
**然后**VAE,简单来说就是个编码反编码的过程。这里不做过多介绍。
2、KL(Kullback-Leible)散度(又称相对熵、交叉熵、鉴别信息、Kullback熵)介绍
参考博客:http://blog.csdn.net/acdreamers/article/details/44657745
首先要明白什么是信息熵,然后才能明白什么是KL散度。
信息熵反应了一个系统的有序化程度,一个系统越是有序,那么它的信息熵就越低,反
之就越高。下面是熵的定义
这里写图片描述
KL散度:
这里写图片描述
3、训练网络时根据可视化数据分析问题
这里写图片描述
从右边的这张图:我们自己要看出几个问题:
(1)训练数据之间的内聚性很差(这个是做手绘的网络,就算是一个类呢,他里面千奇百怪的图像也很抽象)
(2)这个模型很明显,训练训练就倾向于过拟合(对比左边的图像,你会发现,人家的测试误差和训练误差,基本上贴的很紧,说明,训练出来的模型,再加新来的测试图片,还是很稳定很强)
(3)就是我们的训练数据特别少了。
还有一种情况是损失函数无穷大的时候,有两种解决办法:换损失函数或者进行Batch Normalization。
4、网络可视化途径
1)snapshot:单snapshot/双snapshot
2)神经元之间的可视化:全连接层权重矩阵-》卷积层感受野
4、Instability of Momentum-Based Optimizers
按照性能由低到高排序:SGD随机梯度下降、Momentum梯度下降、AdaGrad梯度下降、RMSProp梯度下降 、Adam梯度下降 。
其中基于动量的:
Adam
Momentum
基于学习率的:
SGD
AdaGrad
RMSProp
基于动量的方法,就是步子大速度快,即使错了,我还能大步的跨回来,因为我的模型是通过实打实的参数W确定的,解是解是近似唯一的;
但是这对于GAN来说就不行了,生成模型的绑定不是靠具体的实数,而是一个概率模型,还有一些采样过程。所以说呢,一旦你这个优化跑过头了,要费很大劲回来,或者直接就失败。

阅读全文
0 0
原创粉丝点击