输入的时候附带一个 simple distribution,这样输出的时候也会是一个 distribution。
Video Prediction
这样直接输入会导致出现一些诡异现象,例如图中的小精灵会消失,会分裂。
由于 trainning data 里有向左向右的数据,所以会出现分裂的现象。
它的输出实际上要满足所有输入数据的分布,所以这时候就会折中,选取“分裂”这种方案。
为其增加 simple distribution,使其能够更倾向于选择某个输入的数据。
当需要“创造力”的时候。
需要找一个 func,对于同样的输入,有多种不同的输出。
例如绘画、聊天机器人。
我们需要一个 Discriminator,用来鉴别输出的东西到底可不可用。
Discriminator 来迫使 generator 调整参数。
步骤
保持 generator 不变,更新 discriminator。
discriminator 对比 sample 和 generate 出来的图片的差异,更新其参数。
保持 discriminator 不变,更新 generator。
正如上文所说 discriminator 会将 sample 标记为 1,则越接近 sample 的输入,其输出值就会越接近 1,因此,generator 通过不断的更新其参数,使输出的图片能够在 generator 那里“获得高分”。
这两个是拼在一起的,其中中间有一层输出是一个完整的图片。然后只调前面几层的参数。
不断缩小 $P_G$ 和 $P_{data}$ 这两个 distribution 的距离(Divergence)。
loss 就是这个距离。