GAN(introduction)
目标图像与生成的图像的向量距离越小越好(类似损失函数),这样两个图像就会很相似。
那么使用generator会失去什么或者会产生什么样的问题?
理论上第一幅图和第二幅图最好(不像手写),但实际上第三幅图和第四幅图最好(像手写的)
Discriminator也可以生成吗?
Discriminator是top-down(整体到部分),一眼就可以看出图像的好坏(因为它能捕获部分之间联系),而Generator从部分到整体,且部分之间相互独立,所以它捕获不到联系(捕获不到联系,其实就是判断不出好坏)。
用discriminator产生图像的方法, 就是穷举所有图像的可能性, 然后一个一个去评价, 找一个最高分数的图像, 这个就是产生的object, 这就是没有Generator, 只有Discriminator的时候产生图像的办法. 但是要怎么去训练这个Discriminator? Discriminator就是一个二分类网络, 那只要给足正负样本就可以了, 但问题是只有Discriminator的话, 我们的负样本从哪里来, 就是你怎么告诉它什么是不好的样本?
Discriminator训练是一个迭代的过程, 就是让它自己寻找自己的弱点, 每一次自己生成一堆fake样本, 怎么用Discriminator来做Generate呢, 就是遍历找Discriminator给的分数最大的样本, 然后再以Generate的这些fake样本作为Negative样本送入下一轮Discriminator训练的迭代
用GAN比单独用D来generate的好处, 就是用G来代替求argmaxD(x)的问题, 因为维度高和非线性问题, argmaxD(x)可能根本就没法解, 而G的训练就是以让D判断fake图像为true为目的, 所以通过优化G来获得。