G用来抓取整个数据的分布,因为生成模型就是要对整个数据的分布进行建模,使得我能生成各种分布。辨别模型D判别数据是生成出来的还是真实的,生成模型需要尽可能的使判别模型犯错。
假如说我要生成一张游戏的图片,4K的分辨率,每秒钟能输出60张图片,x就是那个4K分辨率的图片也就是800万像素。每一个像素是一个随机变量,X就是一个长为800万维的一个多维随机变量,每一个像素的值都是由后面的一个分布来控制就是。定一个先验在一个输入的噪音变量上面,噪音变量是z,分布是
, z可以认为比如说一个100维的向量,她每一个元素是一个均值为0,方差为1的高斯噪音,生成模型就是把z映射成x,生成模型是一个MLP,她有一个可学习的参数叫做
,MLP理论上可以拟合任何一个函数,原先生成游戏的图片就是通过背后的代码控制一些变量生成的画面,生成模型就是不管代码而是估计一个差不多大小的向量,这个向量足以表达背后隐藏的一些逻辑。再学一个映射MLP,MLP理论上可以拟合任何一个函数。构造一个差不多大小的向量,这个多层感知机强行把这个z映射成我要的那些x,使得长得很像。
判别器有可学习的参数,判别器的作用就是把之前的800万像素的图片放进来输出一个标量,判断x是来自真实采样的数据还是生成出来的图片。如果来自于真实的数据就标1,来自于生成