BEGAN: Boundary Equilibrium Generative Adversarial Networks阅读笔记


摘要

我们提出了一种新的用于促成训练时生成器和判别器实现均衡(Equilibrium)的方法,以及一个配套的 loss,这个 loss 由 Wasserstein distance 衍生而来,Wasserstein distance 则是训练基于自编码器的生成对抗网络(GAN)使用的。此外,这种新的方法还提供了一种新的近似收敛手段,实现了快速稳定的训练和很高的视觉质量。我们还推导出一种能够控制权衡图像多样性和视觉质量的方法。在论文里我们专注于图像生成任务,在更高的分辨率下建立了视觉质量的新里程碑。所有这些都是使用相对简单的模型架构和标准的训练流程实现的。

1.简介

谷歌公司的 Berthelot、Tom Schumm 和 Metz 本周发表论文 BEGAN(Boundary Equilibrium GAN),提出了“边界均衡 GAN” 的概念,借鉴了 EBGAN 和 WGAN 各自的优点,使用简单的模型,在标准的训练步骤下取得了令人惊艳的效果。不仅如此,论文还提出了一个可以衡量收敛的超参数,实现了快速稳定的训练和很高的视觉质量。

作者在论文中写道,他们的主要贡献是:

一个简单且且强壮的 GAN 架构,使用标准的训练步骤实现了快速、稳定的收敛。

一种均衡的概念,用于平衡判别器和生成器(判别器往往在训练早期就以压倒性优势胜过生成器),通过参数kk实现。

一种控制在图像多样性与视觉质量之间权衡的新方法,通过超参数γ实现。

用于近似衡量收敛的方法实现by Convergence measure MglobalM_{global} ,据我们所知,目前发表过的这类方法另外只有一种,那就是 Wasserstein GAN。

1.2EBGAN

“EBGAN 是 Yann LeCun 课题组提交到 ICLR2017的一个工作,从能量模型的角度对 GAN 进行了扩展。EBGAN 将判别器看做是一个能量函数,这个能量函数在真实数据域附近的区域中能量值会比较小,而在其他区域(即非真实数据域区域)都拥有较高能量值。因此,EBGAN 中给予 GAN 一种能量模型的解释,即生成器是以产生能量最小的样本为目的,而判别器则以对这些产生的样本赋予较高的能量为目的。

“从能量模型的角度来看待判别器和 GAN 的好处是,我们可以用更多更宽泛的结构和损失函数来训练 GAN 结构,比如文中就用自编码器(AE)的结构来作为判别器实现整体的GAN 框架,如下图所示:

在训练过程中,EBGAN 比 GAN 展示出了更稳定的性能,也产生出了更加清晰的图像。

2.Proposed method(提出的方法)

我们的方法使用从 Wasserstein 距离衍生而来的 loss 去匹配自编码 loss 分布。这是使用经典的GAN模型目标加上一个平衡项以平衡鉴别器和生成器。 我们的方法训练过程和网络架构较之GAN更加简单。

2.1Wasserstein距离下限为自动编码器

我们希望研究重构误差分布,而不是重构样本的分布。 我们首先介绍自编码器的loss,然后我们计算真实样本和生成样本的自编码loss 分布之间的Wasserstein距离的边界值。

loss采用pixel level的L1或者L2 norm,即

L(v)=∥v−D(v)∥p ,p∈1,2

\begin{align} \mathcal{L}(v)={\|v - D(v)\|}^p \ , \quad p \in {1,2} \end{align}

接下来用μ1,2\mu_{1,2}来分别表示真实样本的loss分布和生成样本的loss分布,Γ(μ1,μ2)\Gamma(\mu_{1},\mu_{2})为其联合分布,
m1,2m_{1,2}表示各自的均值,那么Wasserstein 距离就用来确定这两个loss 分布的距离,表示为:

W(μ1,μ2)=infγ∼Γ(μ1,mu2)E(x1,x2)∼γ[||x1−x2||]

\begin{align}W(\mu_1, \mu_2) = \inf_{\gamma \sim \Gamma (\mu_1, mu_2)} \mathbb{E}_{(x_1, x_2) \sim \gamma} [||x_1 - x_2||] \end{align}

由Jensen不等式得:

infE[||x1−x2||]⩾inf||E[x1−x2]||=||m1−m2||

\begin{align}\inf \mathbb{E} [||x_1 - x_2||]\geqslant \inf ||\mathbb{E}[x_1 - x_2]||=||m_1 - m_2|| \end{align}

2.2GAN目标

根据GAN对抗性的原则,D的目标是拉大两个分布的距离,也就是最大化W(μ1,μ2)W(\mu_1, \mu_2),而G的目标则是拉近两个分布的距离。

由于m1,m2∈R+m_1, m_2 \in \mathcal{R}^+,最大化W(μ1,μ2W(\mu_1, \mu_2)实际上有两组解:

W(μ1,μ2)=m1−m2,m1→∞,m2→0W(μ1,μ2)=m2−m1,m1→0,m2→∞

\begin{align} W(\mu_1, \mu_2) = m_1 - m_2, \quad m_1 \rightarrow \infty, \quad m_2 \rightarrow 0 \\ W(\mu_1, \mu_2) = m_2 - m_1, \quad m_1 \rightarrow 0, \quad m_2 \rightarrow \infty \end{align}

根据D和G的目标,不难确定第二组解更合理。它一方面拉大两个分布的距离,另一方面还能降低真实样本的重构误差(m1m_1代表真实样本重构误差,越小越好)。而G 为了缩小两个分布的差异,可以通过最小化m2m_2来实现。也就是说(D实际上已对目标函数取了相反数,因此下面两个目标函数都需要最小化)

minDLD=L(x;θD)−\L(G(zD;θG);θD)minGLG=−LD

\begin{align} min \quad D \quad L_{D}=L(x;\theta_D)-\L(G(z_{D};\theta_{G});\theta_D) \\min \quad G \quad L_{G}=-L_{D} \end{align}

2.3均衡概念提出

当生成器的loss和鉴别器的loss满足下式时认为两者均衡,此时鉴别器分辨出真假样本的概率是相同的。

E[L(x)]=E[L(G(z))]

\begin{align} \mathbb{E}[\mathcal{L}(x)]=\mathbb{E}[\mathcal{L}(G(z))] \end{align}

然而,当D和G的能力不相当时,一方很容易就打败了另一方,这将导致训练不稳定。为此,作者引入了一个超参数γ∈[0,1]\gamma \in [0,1] 来平衡两者的loss:

γ=Ez(L(G(z)))Ex(L(x))

\begin{align} \gamma = \frac{\mathbb{E}_z(\mathcal{L}(G(z)))}{\mathbb{E}_x(\mathcal{L}(x))} \end{align}
在我们的模型里,鉴别器有两个竞争的目标:对真实图像自编码和从生成的图像中区别出真正的图像。

当γ\gamma较小时,D致力于最小化真实样本的重构误差,相对来说,而对生成样本的关注较少(此处有疑问),这将导致生成样本的多样性降低。作者称这个超参数为diversity ratio,它控制生成样本的多样性。

所以现在的目标有两个,尽可能地最小化GAN object以及尽可能地满足保证公式(8)成立。综合这两个目标,可以设计一个判断收敛情况的指标,使用均衡概念推导出一个全局的收敛度量:我们可以构建收敛过程通过找到最接近的重建值L(x)L(x)加上比例控制算法的瞬时过程误差的绝对值|γL(x)−L(G(z))||\gamma \mathcal{L}(x) - \mathcal{L}(G(z))|。

M=L(x)+|γL(x)−L(G(z))|

\begin{align} \mathcal{M} = \mathcal{L}(x) + |\gamma \mathcal{L}(x) - \mathcal{L}(G(z))| \end{align}
为了尽可能地满足公式\mathbb{E}[\mathcal{L}(x)]=\mathbb{E}[\mathcal{L}(G(z))] ,作者借鉴控制论中的“比例控制理论”(Proportional Control Theory),引入比例增益 λk\lambda_k和比例控制器的输出 ktk_t,完整的BEGAN的目标函数如下:

LDLGkt+1=L(x)−ktL(G(z)),for θD=L(G(z)),for θG=kt+λk(γL(x)−L(G(z))),for each training step t

\begin{align} \mathcal{L}_D &=\mathcal{L}(x) - k_t \mathcal{L}(G(z)) , \quad \text{for} \ \theta_D\\ \mathcal{L}_G &= \mathcal{L}(G(z)) , \quad \text{for} \ \theta_G \\ k_{t+1} &= k_t + \lambda_k (\gamma \mathcal{L}(x) - \mathcal{L}(G(z))) , \quad \text{for each training step} \ t \end{align}

我们用比例控制理论来实现γE[L(x)]=E[L(G(z))]\gamma\mathbb{E}[\mathcal{L}(x)]=\mathbb{E}[\mathcal{L}(G(z))]。
这个等式由kt∈[0,1]k_t \in [0,1]来控制L(G(z))\mathcal{L}(G(z))在梯度下降时的比例实现。k0=0k_0=0,λk\lambda_k是kk的比例增益,也即是kk 的学习率,λk=0.001\lambda_k=0.001
实质上,这可以被认为是一种的闭环反馈控制,在每一步骤调整ktk_t以维持方程式γE[L(x)]=E[L(G(z))]\gamma\mathbb{E}[\mathcal{L}(x)]=\mathbb{E}[\mathcal{L}(G(z))],优化器选择Adam。

在早期训练阶段,因为生成的数据接近0,并且实际数据分布尚未被准确地学习,G容易为自编码器生成易于重建的数据。
这样就有L(x)>L(G(z))\mathcal{L}(x)>\mathcal{L}(G(z))(???),并通过均衡约束在整个训练过程成立。

3.实验

代码为tensorpack/examples/GAN/BEGAN.py\
数据集为celebA/Align\&Cropped images\
代码还没有看,先跑了一下结果。






下节分析论文实验部分和代码。

BEGAN: Boundary Equilibrium Generative Adversarial Networks阅读笔记相关推荐

  1. BEGAN: Boundary Equilibrium Generative Adversarial Networks的理解

    BEGAN: Boundary Equilibrium Generative Adversarial Networks的理解 这是一篇2017年5月上传到arXiv上的文章,作者是David Bert ...

  2. 09.BEGAN(Boundary Equilibrium Generative Adversarial Networks)

    BEGAN 摘要 1.introduction 2.method 损失函数pixel-wisw the losses boundary equilibrium GAN 网络结构 结果 摘要 我们提出了 ...

  3. Generative Adversarial Nets 阅读笔记

    论文重要内容节选 1 Introduction The promise of deep learning is to discover rich, hierarchical models that r ...

  4. 论文翻译:2019_Bandwidth Extension On Raw Audio Via Generative Adversarial Networks

    论文地址:原始音频的带宽扩展通过生成对抗网络 博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never/p/10661950.html 摘要 基于神经网络的方法最 ...

  5. 史上最全GAN综述2020版:算法、理论及应用(A Review on Generative Adversarial Networks: Algorithms, Theory, and Applic)

    ** ** 史上最全GAN综述2020版:算法.理论及应用** 论文地址:https://arxiv.org/pdf/2001.06937.pdf ** 摘要:生成对抗网络(GANs)是近年来的一个研 ...

  6. Generative Adversarial Networks: An Overview文献阅读笔记

    Generative Adversarial Networks: An Overview笔记 Abstract Generative adversarial networks (GANs) provi ...

  7. 自动驾驶轨迹预测论文阅读(三)Social GAN: Socially Acceptable Trajectories with Generative Adversarial Networks

    [略读]GUPTA A, JOHNSON J, FEI-FEI L, et al., 2018. Social GAN: Socially Acceptable Trajectories with G ...

  8. 【文献阅读】Perceptual Generative Adversarial Networks for Small Object Detection –CVPR-2017

    Perceptual Generative Adversarial Networks for Small Object Detection 2017CVPR 新鲜出炉的paper,这是针对small ...

  9. [论文笔记]Self-Attention Generative Adversarial Networks

    1.文献综述 文章链接:链接 文章题目:<Self-Attention Generative Adversarial Networks> 项目地址:1.TensorFlow版 2.pyto ...

最新文章

  1. hadoop 第一课 启动dfs 文件系统
  2. 「每天一道面试题」下面的代码有问题吗?为什么?
  3. 三星S4接电话黑屏无法挂断通话
  4. 创业公司Starry拟推1G网速的无线宽带服务
  5. 批量提取视频文件信息(文件大小及时长)并统计
  6. 2019-03-09-算法-进化(旋转数组)
  7. 使用的组件:ckeditor
  8. 如何从零学习PostgreSQL Page结构
  9. hdu 1421 搬寝室
  10. C 程序的存储空间布局
  11. C语言一个数组中随机抽取5个数字
  12. rti connext dds 例子程序
  13. RSAT(Regulatory Sequence Analysis Tools)详解
  14. ssd的smt_SMT 工厂基础参数要求
  15. java kiwi_【Java拾遗】不可不知的 Java 序列化
  16. R包中文文本挖掘chinese.misc的中文说明
  17. 机器学习 线性回归算法_探索机器学习算法简单线性回归
  18. mysql更新10000条记录_如何快速更新数据库中的百万条数据
  19. 【WebLogic使用】3.WebLogic配置jndi数据源
  20. JavaCV开发详解之36:使用delogo滤镜实现去除和屏蔽视频水印

热门文章

  1. 如何将.ipynb文件转换为.py文件
  2. Java--类的加载顺序
  3. 主成分分析的基本原理
  4. 浅析当前服装行业发展现状及解决问题
  5. c语言奇偶归一猜想最大数,C语言:奇偶归一猜想
  6. 一步一步教你反向传播的例子
  7. FXAA 蓝图抗锯齿
  8. Eclipse+STS 恢复默认主题
  9. 解决hash碰撞的方案
  10. Java实现了任意位置截屏(仿QQ截图)