0%

cGAN条件生成对抗网络

前言

生成对抗网络是目前比较流行的深度学习网络结构,其包括生成模型和判别模型,在图像处理、自然语言处理等方面有显著的效果。

1. 生成对抗网络(Generative Adversarial Networks)

  • 提出:

    GAN启发自博弈论中的零和博弈,由Goodfellow于2014年提出

    Goodfellow, Ian, et al. Generative adversarial nets.NIPS,2014.

  • 两部分:

    生成模型(generative model G):捕捉样本数据的分布

    判别模型(discriminative model D):一个二分类器,判别输入是真实数据还是生成的样本

  • “二元极小极大博弈(minimax two-player game)”问题:

    训练时固定一方,更新另一个模型的参数,交替迭代,使得对方的错误最大化

    最终G 能估测出样本数据的分布,D的概率趋近$\frac{1}{2}$,无法分辨真假

    目标函数:

    $$\min\limits_G\max\limits_DV(D,G)=E_{p_{data}(x)}[logD(x)]+E_{p_z(z)}[log(1-D(G(z)))]$$

    G使G(Z)不断接近1,最小化log(1-D(G(Z))),即最大化log(G(Z)),用来迷惑D的判断,D用来判定“赝品”,使其判断错误

    D(x)代表D分辨出真实而不是生成的概率,D使log(D(x))最大化,逐渐收敛于:

    $\frac{p_{data}(x)}{p_{data}(x)+p_g(x)}$,当$p_g(x)=p_{data}(x)​$,$D(x)=0.5​$

    GAN模拟

  • 算法流程

    生成和判别模型交替进行优化

    GAN算法流程

2. cGAN(conditional GAN)

Isola P, Zhu J Y, Zhou T, et al. Image-to-Image Translation with Conditional Adversarial Networks. 2016.

  • 基本概念

图像处理问题可转化为:图片——图片

图片到图片的翻译(像素级)

计算机视觉:原始图片——边缘、分割、语义标签

计算机图形学:语义标签等——现实的图片

GAN学习适应数据的loss

  • 基本思想

    $$G:{x,z}\rightarrow y$$

    目标函数:$$L(G,D)=E_{p_{data}(x,y)}[logD(x,y)]+E_{p_{data}(x),p_z(z)}[log(1-D(x,G(x,z)))]$$

    在判别系统中加入原始输入图片作为监督信息

    cGAN示意图

    引入L1惩罚项:
    $L_{l1}(G)=E_{p_{data}(x,y),p_z(z)}[\Vert{y-G(x,z)}\Vert_1]$

    最终的目标函数:
    $G^*=arg\min \limits_{G}\max\limits_{D}L_{cGAN}(G,D)+\lambda L_{l1}(G)$

  • 网络结构

    生成模型:U-net

    传统编码—解码器:瓶颈区(图片与图片之间),输入和输出重叠的低层次信息冗余

    U-net:跳跃连接的方式,连接i层与n-i层,共有n层

    U-net

    噪声采用dropout的方式

    两个模型都用到:convolution-BatchNorm(块标准化)-ReLu

    判别模型:卷积PatchGAN分类器

    采用L1惩罚项可对低频部分有较好的修正作用

    GAN鉴别器则主要负责高频部分

    只针对Patch:N*N进行判定,通过卷积到全图像

    优化方法:minibatch随机梯度下降法,改进方法Adam:2015.

  • 实验方向

    语义标签——照片:Cityscapes数据集
    建筑标签——照片:CMP Facades dataset
    地图——航拍照片:Google Maps
    边缘——照片
    素描图——照片
    夜景图——白天图
    BW——彩色图