条件生成对抗网络

                     

贡献者: xzllxls

   条件生成对抗网络(Conditional Generative Adversarial Nets, cGAN)是生成对抗网络的条件版本.可以通过简单地向模型输入数据来构建.

   在无条件的生成模型中,对于生成的数据没有模式方面的控制,很有可能造成模式坍塌.而条件生成对抗网络的思想就是通过输入条件数据,来约束模型生成的数据的模式.输入的条件数据可以是类别标签,也可以是训练数据的一部分,又甚至是不同模式的数据.

   与原始的生成对抗网络相同,条件生成对抗网络也是玩的是双人最小最大游戏,其目标函数为:

\begin{equation} \mathop{\min}\limits_G \mathop {\max }\limits_D V(D,G)=E_{x\sim p_{data}(x)}[logD(x|y)]+E_{z\sim p_z(z)}[log(1-D(G(z|y)))] \end{equation}
其中,$G$ 表示生成器,$D$ 表示判别器,$x$ 表示训练数据,$y$ 表示输入的条件数据.

   条件生成对抗网络基本结构,如图 1 所示.

图
图 1:条件生成网络结构示意图

   图 2 表示了用 MINST 数据集训练的条件生成对抗网络生成数字的部分实验结果.每一行均以对应的数字标签作为输入条件.

图
图 2:MINST 数据集数字生成部分实验结果

   参考文献:

  1. M. Mirza and S. Osindero, “Conditional generative adversarial nets,” arXiv preprint arXiv:1411.1784, 2014.

                     

© 小时科技 保留一切权利