美文网首页
Conditional Generative Adversari

Conditional Generative Adversari

作者: winddy_akoky | 来源:发表于2019-06-22 17:03 被阅读0次

条件对抗生成网络

顾名思义,这篇论文讲得就是带条件的GAN。

文章分成下面三部分:

  1. 构建条件GAN模型
  2. 解释该模型如何用做多模态模型
  3. 展示结果

构建 CGAN模型

  1. 原先的GAN主要由两个子模型组成:Generator(G)和Discriminator(D)。G接受一个来自先验分布p_z(z)的噪声向量z,产生相应的结构化数据G(z;\theta_g)。而D输入一个结构化数据x,输出一个概率值,判断这个样本是来自真实数据还是来自生成数据。原来的loss函数可以描述如下:
    \min _{G} \max _{D} V(D, G)=\mathbb{E}_{\boldsymbol{x} \sim p_{\text { data }}(\boldsymbol{x})}[\log D(\boldsymbol{x})]+\mathbb{E}_{\boldsymbol{z} \sim p_{z}(\boldsymbol{z})}[\log (1-D(G(\boldsymbol{z})))]

  2. 而条件GAN的想法非常简单。在原有的G和D模型中加入一个额外的信息,该信息对模型起到一定的限制和指导作用。如下图,对于G模型,输入除了噪声向量z外还有一个额外信息y。对于D模型,输入同样多了一个额外信息y。而Loss函数就可以修改成:

\min _{G} \max _{D} V(D, G)=\mathbb{E}_{\boldsymbol{x} \sim p_{\text { data }}(\boldsymbol{x})}[\log D(\boldsymbol{x} | \boldsymbol{y})]+\mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}(\boldsymbol{z})}[\log (1-D(G(\boldsymbol{z} | \boldsymbol{y})))]

image.png

多模态学习

  1. 什么是多模态学习?简单地说,每一种信息的来源或者形式,都可以看成是一种模态,比如图片、语音、文本等等。多模态学习就是用机器学习的方法让机器学会去理解多种模态信息并实现它们之间的转化。(这是我的理解来着)

  2. 对于图片的特征提取,论文先预训练了一个卷积模型,该模型是在ImageNet上训练的,有21000个标签。最后用最后一层的全连接层作为图片的表示(4096个节点)。

  3. 对于文本的表示,论文首先从YFCC100M 2数据集元数据的用户标记、标题和描述的串联中收集文本语料库。接着对文本进行预处理和清理,然后训练一个字向量长度为200的 skip-gram 模型。

  4. 在训练的时候,卷积模型和语言模型的参数保持不变。

  5. 最终实验用到的数据集是:MIR Flickr 25000。卷积模型和语言模型用于提取图片的特征和标签特征。若图片没有任何标签则该图片被舍弃。最终的训练样本是150000,其中一个图片对应一个标签,同一张图片会有多个标签。

  6. 评估时,每一张图片生成100个标签,然后按某种规则跳出10个单词作为最后的结果。

结果

image.png

注意

  • CGAN是把传统的无监督GAN改成了有监督的GAN。

相关文章

网友评论

      本文标题:Conditional Generative Adversari

      本文链接:https://www.haomeiwen.com/subject/mbgyqctx.html