StackGAN 閱讀筆記
創新點
- 提出多尺度的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
實驗效果