Deep Learning

通过“行列式点过程”让 GAN 生成更多样化的样本

本文介绍 ICML2019 的一篇论文[2]:”GDPP: Learning Diverse Generations using Determinantal Point Processes”。 读完本文可能要花费一点时间,因为需要理解一些相对陌生的数学概念。如果大家花时间阅读了的话,希望能够有所收获。 生成对抗网络(GAN)在训练中有个很突出的问题就是会陷入模式坍塌(mode collapse): 不论输入什么样的的噪声$z$,生成器 G 总是生成模式相同模式的图片 $G(z)$。 通俗的说,不管输入的 $z$如何,G总是生成看起来很相似的图片,也就是生成的数据不够 diverse。 本文介绍的这篇文章用行列式点过程(Determinantal Point Processes, DPP)来规范 GAN 的 Generator,使生成的数据 更加 diverse,缓解 mode collapse。 行列式点过程 这一部分主要参考这篇综述[1]:Determinantal point processes for machine learning。 幂集 power set 假设有集合 $\mathcal{Y}$,那么幂集 $2^\mathcal{Y}$ 就是 $\mathcal{Y}$ 的所有子集(包括全集和空集)所组成的集合。 假设 $\mathcal{Y} = \{1,2\}$,那么 $$ 2^\mathcal{Y} = \Big\{ \emptyset, \{1\}, \{1, 2\}, \{2\} \Big\}。 $$ 行列式点过程 $\mathcal{P}$ 是在ground set $\mathcal{Y}$ 的幂集 $2^\mathcal{Y}$ 上的概率测度(probability measure)。 通过 $\mathcal{P}$ 采样得到的子集可以是空集,也可以是全集 $\mathcal{Y}$。 假设 $Y$ 是由 $\mathcal{P}$ 从 $2^\mathcal{Y}$ 中随机采样得到的一个子集,对于任意的 $A \subset \mathcal{Y}$,有 $$ \begin{equation} p(A \subset Y) = \det(K_A)。 \end{equation}\label{eq:eq-dpp1} $$
Read more

GAN 的谱归一化(Spectral Norm)和矩阵的奇异值分解(Singular Value Decompostion)

WGAN 和 Wasserstein distance 在文献 [2] 中作者分析了 GAN [1] 难以训练的原因在于原生 GAN 的目标函数等价于优化生成数据的分布 $p_g$ 和真实数据的分布 $p_r$ 之间的 J-S 散度 (Jensen–Shannon Divergence)。 接着作者提出 WGAN [3],使用性质优良的 Wasserstein distance 代替原生 GAN 中的 J-S 散度。 然后利用KR对偶原理将 Wasserstein distance的求解问题转换为求解最优的利普希茨连续函数的问题。 为了使得判别器 D 满足利普希茨连续性,作者使用“梯度裁剪”将过大的参数直接裁剪到一个阈值以下。 本文要介绍的这篇文章 “Spectral normalization for generative adversarial network” (以下简称 Spectral Norm) 使用一种更优雅的方式使得判别器 D 满足 利普希茨连续性。 为了说明 Spectral Norm背后的动机,我们从 Wasserstein distance (以下简称 W distance)开始说起。 W distance的定义为: \begin{equation} \begin{split} \text{Was}(p_r, p_g) &= \inf_{\gamma \in \prod(p_r, p_g)} \int_{x, y} \gamma(x, y) \cdot \lVert x-y \rVert \\ &= \inf_{\gamma \in \prod(p_r, p_g)} \mathbb{E} [\lVert x - y\rVert] \end{split} \label{eq:wasserstein} \end{equation} $\ref{eq:wasserstein}$ 的定义看起来比较难懂。 其中 $\inf$ 可以简单地理解为 取最小值, $\gamma \in \prod_{p_r, p_g}$ 表示边缘分布分别为为 $p_r$ 和 $p_g$ 的一个联合分布。
Read more