美文网首页
生成对抗网络-GAN&DCGAN

生成对抗网络-GAN&DCGAN

作者: 技术大渣渣 | 来源:发表于2019-05-08 14:01 被阅读0次

    生成对抗网络GAN(Generative adversarial network)是由Goodfellow大神在NIPS2014上提出,论文地址如下:https://arxiv.org/pdf/1406.2661.pdf

    1.GAN能做什么?

    学习是需要理由和动力的,让我们来看看非常热门的GAN到底有什么什么魔力,GAN的就是生成不存在于真实世界但又类似真实世界的数据,GAN是将创造力想象力赋予AI的state-of-the-art,目前GAN的应用场景主要如下:
    a.AI画家,让AI去作画;
    b.将模糊图像变清晰(超分辨率、去雾、去马赛克等),需要用AI的“想象力”去脑补丢失的细节信息;
    c.数据增强,根据现有的数据生成新的与现有数据分布相似的数据,用于扩增数据;
    d.随着GAN的发展会有更多的实用场景会用到这种技术

    2.什么是GAN?

    GAN主要由两部分构成,也可以理解成两个网络:生成网络(Generator)和判别网络D(Discrimination)
    Generator:G主要用来学习真实图像分布从而自身生成逼近或超越真实的图像,G接收一个随机噪声z,通过这个噪声生成图片,记做G(z)。
    Discrimination:D是一个判别网络,判别一张图片是不是“真实的”,它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片。
    在训练过程中,生成器努力的生成真实的图像去欺骗判别器;而判别器则努力的把生成的图像和真实图像辨别开。这样,G和D便构成了一个动态的对“对抗过程”。
    对抗的结果是什么?在最为理想的情况下,对于G,它能够生成“以假乱真”的图像G(z);对于D,它难以判别G生成的图像的真假,也就是D(G(z))=0.5。这样“对抗”就结束了,我们获得了一个能够“以假乱真”的图像生成器G。

    下面具体的说一下"对抗"的过程。首先,我们有一个第一代Generator,G产生一些图片,然后我们把这些图片和一些真实的图片丢到第一代的D里面去学习,让第一代的D能够分辨生成的图像和真实的图像,然后我们又有了第二代的G,第二代的G产生的图片,能够骗过第一代的D,此时,我们在训练第二代的D,依次类推。

    image

    下面用数学语言来描述这个过程。假设用于训练的真实图像数据是x,图像数据分布为P_{data}(x),G就是要学习到真实的数据分布P_{data}(x)P_{data}(x)未知。噪声z的分布为P_{z}(z)P_{z}(z)已知。在理想对抗条件下,学习到的G(z)的分布应该尽可能接近P_{data}(x)G将已知分布z映射到了未知分布x上了。
    因为D的输出是一个二分类问题,所以可根据交叉熵损失函数构造GAN的损失函数:

    V(D,G)=E_{x~Pdata(x)}[lnD(x)]+E_{z~Pz(z)}[ln(1-D(G(z)))]

    损失函数中E_{x~Pdata(x)}是指训练数据x中国的真实样本,E_{z~Pz(z)}指从已知的噪声分布中提取的样本;

    • 整个式子由两项构成。x表示真实图片,z表示输入G网络的噪声,而G(z)表示G网络生成的图片。
    • G的目的:G应该希望自己生成的图片“越接近真实越好”。也就是说,G希望D(G(z))D(G(z))尽可能得大,这是V(D,G)V(D,G)会变小。
    • 第一项E_{x~Pdata(x)}[lnD(x)]D(x)越强,值越接近1,lnD(x)越接近0;
    • D的目的:D的能力越强,D(x)D(x)应该越大,D(G(x))D(G(x))应该越小。因此D的目的和G不同,D希望V(D,G)V(D,G)越大越好。

    3.DCGAN

    深度学习中处理图像最好的模型是CNN,DCGAN就是将CNN与GAN进行了结合,并对网络结构进行了一些改变,以提高收敛速度

    • 取消所有pooling层。G网络中使用转置卷积(transposed convolutional layer)进行上采样,D网络中用加入stride的卷积代替pooling

    • 在D和G中均使用batch normalization

    • 去掉FC层,使网络变为全卷积网络

    • G网络中使用ReLU作为激活函数,最后一层使用tanh

    • D网络中使用LeakyReLU作为激活函数

    相关文章

      网友评论

          本文标题:生成对抗网络-GAN&DCGAN

          本文链接:https://www.haomeiwen.com/subject/kpemoqtx.html