StackGAN 阅读笔记


StackGAN论文下载链接(arxiv)

创新点

  • 提出多尺度的GAN

    • Stage-I GAN
    • Stage-II GAN

Stage-I GAN 主要是根据文本描述抓取目标物体的主要形状轮廓和一些基础色块,生成低分辨率的图片。

Stage-II GAN 修正Stage-I生成的低分辨率图片,并且根据再次阅读文本描述完善细节,生成高分辨率图片。

  • Conditioning Augmentation(条件增强技术)

如果直接把 \(\varphi_t\) 放入生成器,这个特征空间的维度一般比较高(>100)而训练数据是有限的,所以会造成特征空间不连续,不利于生成器的训练。

而作者提出的Conditioning Augmenetation是从独立的高斯分布 \(N(\mu (\varphi _{t})\) , \(\Sigma (\varphi _{t}))\) 中随机采样得到隐含变量,再放入生成器。其中 \(\mu (\varphi _{t})\) 和 \(\Sigma (\varphi _{t})\) 是关于 \(\varphi _{t}\) 的均值和方差函数。

另外,作者为了增强平滑度和避免过拟合,为生成器的损失函数增加了以下的正则项:

\[
D_{KL}(\mathcal{N}(\mu(\varphi_t),\Sigma(\varphi_t)) || \mathcal{N}(0,I))\tag{2}
\]

损失函数

GAN的原始目标函数:

\[
\begin{split}
minmaxV(D,G)=&\mathbb{E}_{x_\thicksim{p_{data}}}[logD(x)]+\\
&\mathbb{E}_{z\thicksim{p_{data}}}[log(1-D(G(z)))]
\end{split}\tag{1}
\]

StackGAN的目标函数:

\[
\begin{split}
\mathcal{L}_{D_{0}}=&\mathbb{E}_{(I_0,t)\thicksim p_{data}}[logD_0(I_0,\varphi_t)]+\\
&\mathbb{E}_{z\thicksim p_z,t\thicksim p_{data}}[log(1-D_0(G_0(z,\hat{c}),\varphi_t)],
\end{split}\tag{3}
\]

\[
\begin{split}
\mathcal{L}_{G_{0}}=&\mathbb{E}_{z\thicksim p_z,t\thicksim p_{data}}[log(1-D_0(G_0(z,\hat{c}),\varphi_t)]+\\
&\lambda D_{KL}(\mathcal{N}(\mu(\varphi_t),\Sigma(\varphi_t)) || \mathcal{N}(0,I)),
\end{split}\tag{4}
\]

实验中作者把 $\lambda $ 全部都设置为了1。

实验数据

  • CUB contains 200 bird species with 11,788 images
    Oxford-102 [21]
  • Oxford-102 contains 8,189 images of flowers from 102 different cat-
    egories.
  • In our experiments, we directly use the pre-trained Inception model for COCO dataset

    实验效果





复现

待复现

StackGAN 阅读笔记的更多相关文章

  1. 阅读笔记 1 火球 UML大战需求分析

    伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本   <火球 UML大战需求分析>,首先 ...

  2. [阅读笔记]Software optimization resources

    http://www.agner.org/optimize/#manuals 阅读笔记Optimizing software in C++   7. The efficiency of differe ...

  3. 《uml大战需求分析》阅读笔记05

    <uml大战需求分析>阅读笔记05 这次我主要阅读了这本书的第九十章,通过看这章的知识了解了不少的知识开发某系统的重要前提是:这个系统有谁在用?这些人通过这个系统能做什么事? 一般搞清楚这 ...

  4. <<UML大战需求分析>>阅读笔记(2)

    <<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...

  5. uml大战需求分析阅读笔记01

    <<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...

  6. Hadoop阅读笔记(七)——代理模式

    关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Ha ...

  7. Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable

    酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑 ...

  8. Hadoop阅读笔记(五)——重返Hadoop目录结构

    常言道:男人是视觉动物.我觉得不完全对,我的理解是范围再扩大点,不管男人女人都是视觉动物.某些场合(比如面试.初次见面等),别人没有那么多的闲暇时间听你诉说过往以塑立一个关于你的完整模型.所以,第一眼 ...

  9. Hadoop阅读笔记(四)——一幅图看透MapReduce机制

    时至今日,已然看到第十章,似乎越是焦躁什么时候能翻完这本圣经的时候也让自己变得更加浮躁,想想后面还有一半的行程没走,我觉得这样“有口无心”的学习方式是不奏效的,或者是收效甚微的.如果有幸能有大牛路过, ...

随机推荐

  1. 恶意代码分析_01_YARA规则_CLAMAV病毒库

    写在前面的话: 上一篇文章里,我们已经初步了解了Malware的一些知识,并且利用Clamscan创建了自己的md5类型的病毒库, 那在这篇文章中,我将带领大家一起,来进一步了解病毒库的相关知识,以及 ...

  2. Android Handler 内存泄漏,文末消息机制的小总结

    1. 内存泄漏的Activity public class MainActivity extends AppCompatActivity { private static final int MESS ...

  3. Breaking Down Type Erasure in Swift

    Type Erasure Pattern We can use the type erasure pattern to combine both generic type parameters and ...

  4. 如何取消idea中的本地源码关联

  5. python学习课件

    张鑫 18511446896 ------------------------------------------------------------------------------------- ...

  6. MP实战系列(十三)之批量修改操作(前后台异步交互)

    MyBatis的批量操作其实同MyBatis基本是一样的.并无多大区别,要说区别,除了封装的方法之外,主要就是注解方面的区别,比如@TableId.@TableField.@TableName等等区别 ...

  7. vue之常用指令

    事件缩写 v-on:click= 简写方式 @click= 事件对象$event <!DOCTYPE html> <html lang="en"> < ...

  8. OpenCV——Brisk特征检测、匹配与对象查找

    检测并绘制特征点: #include <opencv2/opencv.hpp> #include <opencv2/xfeatures2d.hpp> #include < ...

  9. 前端:background 设置

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. DQN(Deep Reiforcement Learning) 发展历程(三)

    目录 不基于模型(Model-free)的预测 蒙特卡罗方法 时序差分方法 多步的时序差分方法 参考 DQN发展历程(一) DQN发展历程(二) DQN发展历程(三) DQN发展历程(四) DQN发展 ...