本文研究了多目标优化问题, 即通过使用多个鉴别器来提升生成样本的质量, 提出一种超体积最大化方法来进行训练, 这个优化方法在训练速度和生成样本质量之间达到了较好的权衡.
论文链接: https://arxiv.org/abs/1901.08680v1
相关工作
在最近的研究中已经进行了大量的研究来克服 GAN 框架内的不稳定性, 诸如 BEGAN (Berthelot et al., 2017) 之类的一些架构已将自动编码器用作鉴别器, 并提出了新的损失函数以帮助稳定训练. 诸如 TTUR (Heusel et al., 2017) 之类的方法试图定义单独的时间表来更新生成器和鉴别器. PacGAN algorithm (Lin et al., 2017) 建议修改鉴别器的架构, 以接受 m 个级联样本作为输入. 这些样本被分类为真实样本或生成样本, 作者证明这种方法可以帮助实现样本多样性. 此外, 在 SNGAN (Miyato et al.,2018)中,将谱规范化应用于鉴别器的参数, 目的是确保 Lipschitz 连续性, 从经验上证明, Lipschitz 连续性可在几组超参数中产生高质量的样本.
另外, 最近的方法已经提出用多个鉴别器来解决 GAN 的不稳定性问题. Neyshabur et al. (2017) 提出了一个设置, 使一个生成器针对一组判别器进行训练. 在本文中, 作者以 Neyshabur et al. (2017) 提出的框架为基础, 提出改进后的训练方法.
在 MNIST 上进行的实验表明, 与 GMAN 的平均损失最小化 (低质量和低计算量) 和MGD (高质量和高计算量成本) 相比, 本文方法在计算量和生成样本质量之间提出了一种有用的折衷方案.
本文内容
首先定义
K
K
K 个鉴别器
D
k
D_k
Dk, 每一个鉴别器和标准的 GAN 并无不同, 这些鉴别器的损失函数表达为:
L
D
k
=
−
E
x
∼
p
datata
log
(
D
k
(
x
)
)
−
E
z
∼
p
z
log
(
1
−
D
k
(
G
(
z
)
)
)
\mathcal{L}_{D_{k}}=-\mathbb{E}_{\mathbf{x} \sim p_{\text {datata }}} \log \left(D_{k}(\mathbf{x})\right)-\mathbb{E}_{\mathbf{z} \sim p_{z}} \log \left(1-D_{k}(G(\mathbf{z}))\right)
LDk=−Ex∼pdatata log(Dk(x))−Ez∼pzlog(1−Dk(G(z)))
对于生成器来说, 训练过程就是一个多目标优化问题, 首先定义优化目标:
min
L
G
(
z
)
=
[
l
1
(
z
)
,
l
2
(
z
)
,
…
,
l
K
(
z
)
]
T
,
\min \mathcal{L}_{G}(\mathbf{z})=\left[l_{1}(\mathbf{z}), l_{2}(\mathbf{z}), \ldots, l_{K}(\mathbf{z})\right]^{T},
minLG(z)=[l1(z),l2(z),…,lK(z)]T,
其中 l k = − E z ∼ p z log D k ( G ( z ) ) , k ∈ { 1 , … , K } l_{k}=-\mathbb{E}_{z \sim p_{z}} \log D_{k}(G(z)), k \in\{1, \ldots, K\} lk=−Ez∼pzlogDk(G(z)),k∈{1,…,K}. 通过优化生成器达到帕累托最优解.
解这个问题有很多方法, 例如多梯度下降法, 平均损失法, 加权损失法等等, 本文提出超体积最大化方法. Fleischer (2003) 的研究表明超体积最大化能够产生帕累托最优解.
于是生成器的损失函数为
L
G
=
−
V
=
−
∑
k
=
1
K
log
(
η
−
l
k
)
.
\mathcal{L}_{G}=-\mathcal{V}=-\sum_{k=1}^{K} \log \left(\eta-l_{k}\right).
LG=−V=−k=1∑Klog(η−lk).
对权重的梯度为
∂
L
G
∂
θ
=
∑
k
=
1
K
1
η
−
l
k
∂
l
k
∂
θ
.
\frac{\partial \mathcal{L}_{G}}{\partial \theta}=\sum_{k=1}^{K} \frac{1}{\eta-l_{k}} \frac{\partial l_{k}}{\partial \theta}.
∂θ∂LG=k=1∑Kη−lk1∂θ∂lk.
参数
η
\eta
η 采用自适应的方法来确定, 对第
t
t
t 次迭代有
η
t
=
δ
max
k
{
l
k
t
}
.
\eta^{t}=\delta \max _{k}\left\{l_{k}^{t}\right\}.
ηt=δkmax{lkt}.
参考
- Berthelot, D., Schumm, T., and Metz, L. BEGAN: Boundary equilibrium enerative dversarial networks. arXiv preprint arXiv:1703.10717, 2017.
- Heusel, M., Ramsauer, H., Unterthiner, T., Nessler, B., and Hochreiter, S. GANs trained by a two time-scale update rule converge to a local nash equilibrium. In dvances in Neural Information Processing Systems, pp. 6629–6640, 2017.
- Lin, Z., Khetan, A., Fanti, G., and Oh, S. PacGAN: The power of two samples in generative adversarial networks. arXiv preprint arXiv:1712.04086, 2017.
- Miyato, T., Kataoka, T., Koyama, M., and Yoshida, Y. Spectral normalization for generative adversarial networks. arXiv preprint arXiv:1802.05957, 2018.
- Neyshabur, B., Bhojanapalli, S., and Chakrabarti, A. Stabilizing GAN training with multiple random projections. arXiv preprint arXiv:1705.07831, 2017.
- Fleischer, M. The measure of pareto optima applications to multi-objective metaheuristics. In International Conference on Evolutionary Multi-Criterion Optimization, pp. 519–533. Springer, 2003.