[解读] ClusterGAN : Latent Space Clustering in Generative Adversarial Networks

链接: https://arxiv.org/abs/1809.03627v2

ClusterGAN 是一个 GAN 的变体, 通过使得生成样本反推的隐变量在隐空间中具有明显的簇的特征, 来提升 GAN 的性能.

相关工作

InfoGAN [4] 是一个研究在隐空间中进行可解释性的表征学习的开创新方法, 目标是创建可解释性的和可解的隐变量. 虽然 InfoGAN 使用了离散的隐变量, 但它不是为聚类设计的.

方法

本文主要贡献: 1. 利用混合离散和连续型变量的 隐变量来创建一个不平滑的集合形状. 2. 提出一种新的反向传播算法, 可以适应离散连续的混合变量, 以及一个确切的逆映射网络, 来得到给定数据对应的隐变量. 3. 联合训练 GAN 和逆映射网络, 使得投影空间的几何距离反映出变量的几何距离.

[解读] ClusterGAN : Latent Space Clustering in Generative Adversarial Networks
上图是 ClusterGAN 的结构, 与标准的 GAN 相比, 它多了编码网络 E, 编码样本来获得隐变量和类别. 生成器的输入除了隐变量 ZnZ_n, 还嵌入了随机生成的 one-hot 编码的类别变量.

优化目标:
minΘG,ΘEmaxΘDExPxrq(D(x))+EzPzq(1D(G(z)))+βnEzPzznE(G(zn))22+βcEzPzH(zc,E(G(zc)) \begin{aligned} \min _{\Theta_{G}, \Theta_{E}} \max _{\Theta_{D}} \underset{x \sim \mathbb{P}_{x}^{r}}{\mathbf{E}} q(\mathcal{D}(x)) & +\underset{z \sim \mathbb{P}_{z}}{\mathbf{E}} q(1-\mathcal{D}(\mathcal{G}(z))) \\ & + \beta_{n} \underset{z \sim \mathbb{P}_{z}}{\mathbf{E}}\left\|z_{n}-\mathcal{E}\left(\mathcal{G}\left(z_{n}\right)\right)\right\|_{2}^{2} \\ & + \beta_{c} \underset{z \sim \mathbb{P}_{z}}{\mathbf{E}} \mathcal{H}\left(z_{c}, \mathcal{E}\left(\mathcal{G}\left(z_{c}\right)\right)\right. \end{aligned}
q()q(\cdot) 是质量函数(quality function), 标准 GAN 使用的是 q(x)=log(x)q(x)=\log(x).

zn,zcz_n, z_c 分别是连续型的隐变量和离散性的类别变量(one-hot 编码). E\mathcal{E} 是编码器, 用于将样本编码为隐变量. H(,)\mathcal{H}(\cdot,\cdot) 是交叉熵损失函数.

将样本和标签解码为隐变量的算法如下:

[解读] ClusterGAN : Latent Space Clustering in Generative Adversarial Networks

训练生成器和编码器的伪代码如下:

[解读] ClusterGAN : Latent Space Clustering in Generative Adversarial Networks

注意: 此处有个错误之处, 前面的优化目标以及伪代码中的生成器输入应该为 (zn,zc)(z_n,z_c).

参考

[4] Xi Chen, Yan Duan, Rein Houthooft, John Schulman, Ilya Sutskever, and Pieter Abbeel. Infogan: Interpretable representation learning by information maximizing generative adversarial nets. In Advances in Neural Information Processing Systems, pages 2172{2180, 2016.

补充

聚类评价指标

https://blog.****.net/Avery123123/article/details/103903767

本人才疏学浅, 如有遗漏或错误之处, 请多多指教!