• GAN&cGAN&DCGAN


    GAN

    ea  Fake

    GAN主要包括判别器(Discriminator)和生成器(Generator)。

    判别器用来区分真实样本和虚假样本。输入图片,输出图片是真实图片的概率。接收生成器的虚假样本G(z)和真实样本x。

    生成器通过随机噪声z生成虚假样本,欺骗判别器,使判别器D尽可能给出高的评分1。

    此时模型就变成了生成器和判别器的博弈,模式如下:

    生成器生成图片->判别器判断真伪->生成器根据判别结果改进自己,生成新图片…

    GAN的目标函数如下:

    QQ截图20200912144043

    训练过程

    1.随机初始化生成器和判别器。

    2.交替训练判别器D和生成器G,直到收敛。

    (1)固定生成器,训练判别器D区分真实图像与合成图像

    (2)固定判别器 ,训练生成器G欺骗判别器D

    KL散度:衡量两个概率分布匹配程度的指标

    ΚΕ(ΡιΙΙΡ2) -  ΚΙ.(ΡιΙΙΡ2) = f,  KL(PlllP2) =

    极大似然估计=最小化KL

    极大似然估计等价于最小化生成数据分布和真实分布的KL散度

    658345656658546348768

    cGAN(条件生成对抗网络)

    cGAN在GAN的基础上引入了条件变量,实现条件生成模型。条件可以是类别标签或是其他辅助信息,对生成器的数据生成起指导作用。

    其实现只需在GAN的生成器的判别器中,加入额外的条件信息即可。

    image-20200912145952684

    在上图中改变的仅是输入数据的维数.

    DCGAN

    判别器:滑动卷积,步长大于1,以此来取消pooling。

    使用Leaky ReLu

    除了最后一层不使用全连接层

    image-20200912145246213

    生成器:滑动反卷积

    使用ReLu

    最后一层使用tanh

    image-20200912145259880

    批归一化BN

    加速神经网络收敛

    减小神经网络参数对初始化的依赖

  • 相关阅读:
    idea注释模板配置
    component-scan中base-package包含通配符
    mysql查询datetime大于下午3点的数据
    Linux c 开发-4 使用QT远程调试Linux程序
    Linux c 开发-3 配置ubuntu子系统桌面环境
    Linux c 开发-2 配置Vs2019
    Linux c 开发-1 Ubuntu子系统18.04开启SSH
    STM32 例程-5 Proteus使用串口2
    STM32 例程-4 Proteus下串口发送数据
    STM32 例程-3 Proteus下单按键试验
  • 原文地址:https://www.cnblogs.com/Arsene-W/p/13657117.html
Copyright © 2020-2023  润新知