GAN Generative Adversarial Networks
生成对抗网络.学习真实世界的真实数据的分布,用于创造以假乱真的数据.比如前段时间很火的应用deep fake.deep nude.
由两部分构成,生成网络g,对抗网络d. g用于创建假的数据.d用于判别数据.d和我们平常用的神经网络没什么区别.
如何创建以假乱真的图片
已上图为例,部分被马赛克了,那怎么恢复这部分被马赛克的像素呢?
我们要谈到2种信息
- 上下文信息 即某个像素与周围的像素是有关系的,可以根据周围像素的信息得到马赛克掉的像素的信息
- 感知信息 根据上下文信息,可能马赛克的像素位置有很多种可能,但是组成图片后,可能看起来并不像正常的图片,我们要让恢复后的图片尽量看起来像正常的图片
现在就要说到图片和概率分布的关系了.
图片是什么?是一堆像素.比如64 X 64 X 3的图有大概12K个像素. 那我们可以把图片理解为12K维空间里的一个点.
以二维空间为例,当x=1的时候,可能对应着很多点.那最有可能的y是多少呢?其实也就是x=1时,最密集的点在什么位置. 显然这个可以通过已有样本统计得到.
扩展到高维空间,其实道理是一样的.首先我们有了很多很多图片,也就是说我们有了很多很多12K维的样本,这样的话我们就能得到概率分布,从而可以根据这个分布去填充马赛克图片里的马赛克部分,使得数据最大程度地拟合前面统计出来的概率分布.