对抗生成式网络(GAN)
输入一个问题输出不同的答案出来
GAN里面有生成器和鉴别器
不断对抗生成,进行两者的网络
算法步骤
这里输出的结果可以是分类的,也可以是回归的。
两者训练过程,是固定生成器,训练鉴别器。又或是固定鉴别器,训练生成器。
GAN的理论知识
找到一组生成器参数将输出结果和真实数据结果分布足够接近。
将生成器生成的数据集和真实数据集一同进入到鉴别器进行训练,将真是结果输出较高,将生成器结果输出值设较低,进行训练。
如同上面的函数V计算机最大的值,等同于损失函数计算最小值。
假如两者差别很小,则V的最大值很小,假如两者差别很大,则V最大值便会很大,容易分辨.
GAN的训练技巧
不使用JS分类的话,使用其它距离进行计算。
使用这种分类损失计算的,叫做WGAN。
需要进行D函数的限制,将real和generated的差距不能趋于无穷。
但是对于这个函数的限制,现在具有三种方式。如上。
GAN的训练过程,是生成器和鉴别器的相互对抗进行训练,当其中一者不动进步的时候,便会停止训练。
GAN的评估
对于影像评估而言,人为识别的成本是很高的,但是可以设置一个影像评估系统进行分类计算,将图像分类结果变为平均,更为接近,结果更好,但是存在会存在一个问题。
生成器集中生成于一种结果。
Conditional GAN
存在一个问题,就是假如D网络,只需要判断清晰的图片,就表示正确结果1,就会导致G网络不会关联输入的条件变量的问题 ,解决的方式就是将D网络和输入参数进行相关联。
监督学习可能存在将输出的结果进行平均起来,但是GAN会进行鉴别,但是存在想象力过于丰富的问题,出现不存在的细节,所以使用监督学习加上GAN能够得到一个更好的结果。
GAN用在无监督学习上
不需要成对的资料进行训练。
例如,对于真实的人物图像需要输出二次元的图像结果,但是对于实际成本而言,二次元图像绘画成本很高,不可能有成对的数据进行监督训练。
生成器生成一个二次元图片,鉴别器D鉴别判断结果,但是存在一个问题,就是生成器会被训练得随机生成一个与真实图片毫无关系得二次元图片进行输出,导致结果和真实图片相关性不大。所以使用传统得GAN是不够,所以使用Cycle GAN。
增加多一个生成器,将生成得二次元图片经过一个生成器,生成接近真实图片的图片。但是能够保证输出的二次元和真实图片有一定关系,但是存在训练得出一些错误的关系,奇怪的转换。目前来说没有什么很好的解决方式进行处理。
再进行一个步骤,将二次元图片生成人像图片进行循环操作。
GAN详细解说
对于生成图像与真实图像的相似性计算过程。
对于高斯分布的随机数据输入,经过神经网络计算后,所有输出结果的情况分布会不同于输入时候的分布,设置为Pg分布。
这里图像中G3是效果最好的,主要是G3满足了V最大值存在相比于其它最小的情况。
算法过程不断迭代,进行微分计算,寻找最优的位置。