GAN Generative Adversarial Network对抗生成网络的一些基础概念

GAN Generative Adversarial Network 对抗生成网络

  1. 神经网络基础

    • 神经网络常见层(食材)全连接层激活层,BN层,Dropout层,卷积层池化层,循环层RNN,Embedding层,Merge层
    • 网络配置(目标)损失函数优化器激活函数,性能评估,初始化方法,正则项
    • 网络训练流程(炒菜)预训练模型(高汤),训练流程,数据预处理数据增强(增加样本)
  2. 全连接层:Input每一个节点都和Hidden每个节点连接

在这里插入图片描述

  1. 激活函数:Sigmoid,tanh,ReLU,Leaky ReLU。

  2. 优化器

    • 带动量
    • 不带动量
  3. 卷积层CNN:局部感知,提出共享卷积核。卷积核数目,卷积核大小,卷积核步长,补零padding

在这里插入图片描述

  1. 池化层:缩小特征图,特征压缩,提取主要特征

在这里插入图片描述

  1. 常用神经网络解决套路
    在这里插入图片描述

  2. GAN

在这里插入图片描述

思路:一个生成器,一个判别器。

目标函数:先生成器G不动的情况下,判别器尽可能将生成样本和真实样本区分开;判别器固定不动,调整生成器,希望判别器出现失误。
min ⁡ G max ⁡ D V ( D , G ) = E x ∼ p d a t a ( x ) [ l o g ( D ( x ) ) ] + E z ∼ p z ( z ) [ l o g ( 1 − D ( G ( z ) ) ) ] \min \limits_G \max \limits_D V(D,G) = E_{x\sim p_{data}(x)}[log(D(x))]+E_{z\sim p_z(z)}[log(1-D(G(z)))] GminDmaxV(D,G)=Expdata(x)[log(D(x))]+Ezpz(z)[log(1D(G(z)))]
在这里插入图片描述

  1. CGAN,Conditional Generative Adversarial Nets:加条件
    min ⁡ G max ⁡ D V ( D , G ) = E x ∼ p d a t a ( x ) [ l o g ( D ( x ∣ y ) ) ] + E z ∼ p z ( z ) [ l o g ( 1 − D ( G ( z ∣ y ) ) ) ] \min \limits_G \max \limits_D V(D,G) = E_{x\sim p_{data}(x)}[log(D(x|y))]+E_{z\sim p_z(z)}[log(1-D(G(z|y)))] GminDmaxV(D,G)=Expdata(x)[log(D(xy))]+Ezpz(z)[log(1D(G(zy)))]
    在这里插入图片描述

  2. DCGAN, Deep convolutional Generative adversarial networks:增强GAN稳定性

    • 所有pooling都用strided convolutions代替,pooling的下采样是损失信息的,strided convolutions可以让模型自己学习损失的信
    • 生成器G和判别器D都要用BN层(BatchNormalization)
    • 把全连接层去掉,用全卷积层代替
    • 生成器除了输出层,激活函数统一使用ReLU。输出层用Tanh。
    • 判别器所有的层的激活函数统一都是LeakyReLU
  3. ACGAN,Auxiliary Classifier GANs:判断真假,并确定属于哪一类
    L D , Q A C G A N = L D G A N + E [ P ( c l a s s = c ∣ x ) ] + E [ P ( c l a s s = c ∣ G ( z ) ) ] L_{D,Q}^{ACGAN} = L_D^{GAN}+E[P(class = c|x)]+E[P(class = c|G(z))] LD,QACGAN=LDGAN+E[P(class=cx)]+E[P(class=cG(z))]
    image-20220518203022890

  4. infoGAN, Information Maximizing Generative Adversarial Nets:输入只有x,不加c,Q网络和D网络共享一个网络,只是最后一层独立输出。
    min ⁡ G , Q max ⁡ D V I n f o G A N ( D , G , Q ) = V ( D , G ) − λ L 1 ( G , Q ) \min \limits_{G,Q} \max \limits_D V_{InfoGAN}(D,G,Q) = V(D,G) - \lambda L_1(G,Q) G,QminDmaxVInfoGAN(D,G,Q)=V(D,G)λL1(G,Q)

  5. 问题

    • G,D迭代的方式能达到全局最优解么?大部分情况是局部最优解
    • 不一定收敛,学习率不能高,G,D要共同成长,不能其中一个成长的过快
    • 崩溃的问题,通俗说,G找到D的漏洞,每次都生成一样的骗D
    • 无需预先建模,模型过于自由,不可控
    • 判别器训练得太好,生成器梯度消失,生成器loss降不下去;判别器训练得不好,生成器梯度不准,四处乱跑。

    解决WGAN, Wasserstein GAN

    • 判别器最后一层去掉sigmoid
    • 生成器和判别器的loss不取log
    • 每次更新判别器的参数之后把它们的绝对值截断到不超过一个固定常数c
    • 不要用基于动量的优化算法(包括momentum和Adam),推荐RMSProp,SGD也行
  6. 比较

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值