资料整理自:李宏毅2021春机器学习课程
深度学习有两种模式:
一种是判别式模型,一种是生成式模型。
前面我们接触的大多是判别式模型,简单说底层思维的本质是分类,要么是对整个图像类别的分类判断(图像分类),要么是对图像中区域的类别判断(目标检测),甚至说图像中每个元素点的类别判断(语义分割)。这些都是判别式模型。
另外一种是生成式模型,使人们对计算机创造力(创作力)的需求。我们在生成式模型中的需求是希望生成与我们期望数据(或已有数据集)非常相关或者非常近似的数据。
如下图:我们希望和
也就是说生成数据和已有数据的分布尽量相似。那么我们如何描述这种数据分布尽量相似或者说如何衡量这种相似度呢?我们评价两个数据分布的相似性可以通过散度(Divergence,可用于表征空间各点矢量场发散的强弱程度)。但是如何计算divergence是一个难点。如何评价我们生成的图像与已有数据集的相似度是个难点。

而GAN的创新点就在于:
你只要可以从两个分布(和
,生成分布和已有数据分布)中可以采样Sampling出来,那么就有办法计算Divergence。

那么到底怎么实现的呢?怎么work的呢?Discriminator。
判别器,也就是说在生成式模型中引入了一个判别式模型的判别器Discriminator,让判别器的输出概率值作为评估生成图像与原始图像的相似性的指标,以此来衡量生成图像与原始图像的相似度。
神经网络的本质就是一个特征提取器。
通过判别器Discriminator这个神经网络来将评估散度相似性(特征提取,散度就是一个特征。)的过程来替代掉。把评估特征(不便计算,或不便描述的事情)非常抽象的活动,用模糊的形式(神经网络)来替换掉。
这个判别器如何工作的呢?
判别器主要判断通过采样Sampling而来的数据到底属于生成数据还是原始数据。这是一个二分类(Binary Classification)问题。

二分类问题常用的目标函数还是二元交叉熵(Cross Entropy)损失函数。如上,只是由min加负号后变成max。
看图中红色框。V(D,G)这个数跟JS散度Divergence相关。一开始可能是从二元交叉熵,但是经过推到发现,与JS散度非常相似。
我们只要修改了Object Function就可以得到各种各样的Divergence。这个证明在F GAN这篇文章中有详细的证明。

GAN is difficult to train。GAN是以不好Train闻名的。

GAN训练的小技巧:Tips for GAN——WGAN
引言:先看看JS Divergence的问题。
问

最低0.47元/天 解锁文章
857

被折叠的 条评论
为什么被折叠?



