CatGAN:基于GAN的无监督和半监督学习

论文:Unsupervised and Semi-supervised Learning with Categorical Generative Adversarial

问题设定

首先考虑无监督学习. 设 $\mathcal{X}=({\mathbf{x}^{1}, \ldots \mathbf{x}^{N}})$ 是一个无标签的数据集, 学习一个判别器 $D$ 能够将数据集分为指定的 $K$ 个类别, $D(\mathbf{x})$ 输出 $K$ 个类别的条件概率, 且满足 $\sum_{k=1}^{K} p(y=k | \mathbf{x}, D)=1$.

上图中左半部分是 CatGAN 网络结构. 绿色部分是生成器 $G$, 蓝色部分是鉴别器 $D$. 右半部分是关于 $D$ 的三个优化目标.

判别器 $D$ 的三个优化目标

  • 对于一个训练样本 $x$, 判别其属于某一类别的概率尽可能大.
  • 对于一个生成样本 $G(\mathbf{z})$, 判别器 $D$ 的预测值的方差尽可能小.
  • 每一个类别都能被平等地预测到.

设 $H$ 为信息熵, 三个优化目标分别表达为:

$$\begin{aligned} \mathbb{E}_{\mathbf{x} \sim \mathcal{X}}[H[p(y | \mathbf{x}, D)]] &=\frac{1}{N} \sum_{i=1}^{N} H\left[p\left(y | \mathbf{x}^{i}, D\right)\right] \\ &=\frac{1}{N} \sum_{i=1}^{N}-\sum_{k=1}^{K} p\left(y=k | \mathbf{x}^{i}, D\right) \log p\left(y=k | \mathbf{x}^{i}, D\right) \end{aligned}$$

$$\mathbb{E}_{\mathbf{z} \sim P(\mathbf{z})}[H[p(y | D(\mathbf{z}), D)]] \approx \frac{1}{M} \sum_{i=1}^{M} H\left[p\left(y | G\left(\mathbf{z}^{i}\right), D\right)\right], \text { with } \mathbf{z}^{i} \sim P(\mathbf{z})$$

$$H_{\mathcal{X}}[p(y | D)]=H\left[\frac{1}{N} \sum_{i=1}^{N} p\left(y | \mathbf{x}^{i}, D\right)\right]$$

生成器 $G$ 的两个优化目标

  • 生成的样本都能被判别器 $D$ 高度确信为某一类.
  • 平等地产生每一个类别的样本.

第一个优化目标与生成器 $D$ 的第二个优化目标相似.

第二个优化目标的表达式为

$$H_{G}[p(y | D)] \approx H\left[\frac{1}{M} \sum_{i=1}^{M} p\left(y | G\left(\mathbf{z}^{i}\right), D\right)\right], \text { with } \mathbf{z}^{i} \sim P(\mathbf{z})$$

综上所述, 得到 $D, G$ 的两个优化目标:

\begin{aligned} \mathcal{L}_{D} &=\max _{D} H_{\mathcal{X}}[p(y | D)]-\mathbb{E}_{\mathbf{x} \sim \mathcal{X}}[H[p(y | \mathbf{x}, D)]]+\mathbb{E}_{\mathbf{z} \sim P(\mathbf{z})}[H[p(y | G(\mathbf{z}), D)]] \\ \mathcal{L}_{G} &=\min _{G}-H_{G}[p(y | D)]+\mathbb{E}_{\mathbf{z} \sim P(\mathbf{z})}[H[p(y | G(\mathbf{z}), D)]] \end{aligned}

现在考虑半监督学习. 令 $\mathcal{X}^{L}={(\mathbf{x}^{1}, \mathbf{y}^{1}),(\mathbf{x}^{L}, \mathbf{y}^{L})}$ 是一个带标签的数据集, $\mathbf{y}^{i} \in \mathbb{R}^{K}$, 一个有标签的样本 $(\mathbf{x}, \mathbf{y})$ 的交叉熵为

$$CE[\mathbf{y}, p(y | \mathbf{x}, D)]=-\sum_{i=1}^{K} y_{i} \log p\left(y=y_{i} | \mathbf{x}, D\right)$$

半监督的 CatGAN 的生成器优化目标为

$$\begin{aligned} \mathcal{L}_{D}^{L} &=\mathcal{L}_{D}+\lambda \mathbb{E}_{(\mathbf{x}, \mathbf{y}) \sim \mathcal{X}^{L}}[C E[\mathbf{y}, p(y | \mathbf{x}, D)]] \\ \mathcal{L}_{G}^{L} &=\mathcal{L}_{G} \end{aligned}$$

$\lambda$ 是一个权重项.