深度卷积生成对抗网络结构

2018-05-10 05:10柯研王希龙郑钰辉
电子技术与软件工程 2018年24期
关键词:卷积神经网络深度

柯研 王希龙 郑钰辉

摘要 近年来,随着深度学习的火热发展,以深度卷积神经网络为代表的监督学习已经在计算机视觉等领域上发挥出了巨大的作用,然而用深度学习去解决无监督学习受到的关注却比较少,直道有人将卷积神经网络引入到生成式模型上,提出了卷积神经网络与生成对抗网络相结合的深度卷积生成对抗网络。卷积神经网络的加入使得其具有了一定的结构性约束,与传统机器学习算法相比在无监督学习的方向上展现出了更加强大的性能,拥有更好的生成效果,特别是在图像生成方面,通过合理的训练甚至可以达到以假乱真的效果。本文主要就是介绍这样一种无监督的深度神经网络——深度卷积生成对抗网络。

【关键词】深度学习 深度卷积生成对抗网络无监督学习

深度卷积生成对抗网络属于无监督学习下的一种生成模型网络,由于其强大的生成表达能力使得越来越多的人开始关注它。深度卷积生成对抗网络是由生成对抗网络为基础加入了已经被证明出强大图像表达能力的卷积神经网络,将两者相结合发展而来,两者的架构基本上相同,只是深度卷积生成对抗网络将普通的生成对抗网络中的生成器以及判别器替换成了两个经过调优改进的卷积神经网络,使之能够更好地生成图像以及对真假图像进行分类,在加入了改进后的卷积神经网络之后,整个生成对抗网络变得更加容易训练,能够更好地估测数据样本的潜在分布并生成新的数据样本。深度卷积生成对抗网络的思想来自于博弈论,整个网络主要由一个生成器和一个判别器组成。我们训练生成器来获取真实数据下隐藏的潜在分布规律,然后生成与之分布相类似人造样本数据;判别器也就是一个二分类的分类器,可以判别输入的样本是真实的数据还是生成的假的人造样本。通过网络训练不断迭代参数去提高各自生成器的生成能力以及判别器的判别能力,最终获取生成器与判别器这二者之间的一个平衡。

如图1所示,生成器通过一个随机噪声的输入去生成一个尽量服从真实数据分布的样本,然后将生成器生成的样本与真实的样本混合后输入判别器判断。如果判别器判断该数据的输入来自真实数据,则标注为1.如果来自于生成器则标注为0。这里判别器的目标就是能够实现对数据来源的二分类判别:即该数据是真实数据还是由生成器生成的人造假数据。而生成器的目标则是尽可能的使自己生成的假数据在判别器上的表现和真实数据在判别器上的表现一致,整个网络的训练也就是生成器与判别器相互对抗然后迭代优化的过程。随着生成器与判别器性能的不断提升,当判别器的判别能力已经提升到一个很高的程度还是无法正确判别数据的来源时,就可以认为这样的生成器已经学到了真实数据的分布情况,并且能够很好的生成新的数据样本了。

1深度卷积生成对抗网络结构

1.1生成模型

生成器的整体结构是一个以卷积神经网络为基础的类卷积神经网络结构。与普通的卷积神经网络不同,生成模型的输入是一个一维的随机噪声,而不是一张图像,图中的conv卷积层的操作也都是微步幅的卷积也就是反卷积,而不是普通的卷积操作(反卷积操作会在下文中详细介绍)。在除了最后的输出层之外的每一层都加上一个批量规范化的操作,这样的批量规范化操作能够将输入的每个数据单元标准化为均值为O与单位方差的数据去来帮助训练过程更加稳定,也能够帮助处理由于初始化不良所导致的一些训练问题另外还能够使得梯度传向更深层次的网络。最后将输出层的激活函数设置为tanh,而其他每层的激活函数设置为ReLU。

1.2判别模型

判别模型的整体结构与普通的卷积神经网络类似,我们都知道卷积神经网络是由卷积层,池化层,激活函数以及全连接层相互连接所组成,而在判别模型中则有些不同。首先由于跨步长的卷积层同样能够获得下采样的效果,池化层在这里就被一个步长大于1的卷积核所构成的卷积层替代了。其次除了输入的第一层之外,与生成模型相类似每一层都加入了批量规范化的操作。然后将每一层的激活函数都设置为LeakyReLU,最后删除了全连接层。

1.3反卷积

近年来随着反卷积在神经网络可视化上的成功应用,已经在场景分割、生成模型等领域被应用。反卷积也就是对卷积操作的逆向操作。对于正常的卷积操作来说,卷积前为图像,卷积后我们就能得到图像的特征。那么反卷积就是反卷积前为图像的特征,经过反卷积的操作得到一张图像。

我们将卷积操作认定为前向操作,一般的操作方式就是将两个矩阵对应元素相乘再相加,那么反卷积也就是反向传播就是与矩阵转置相乘再相加。在我们的生成器中,称之为微步幅卷积的反卷积也就对于是步长s大于1的卷积操作的反向过程,在我们实际操作中就是在每一步之后,在特征单元之后插入s-l个O,这样实现类似于上采样的操作,使得图像的特征转换为图像。

1.4网络的更新迭代过程

深度卷积生成对抗网络的主要训练过程与普通的生成对抗网络相同,也就是生成器与判别器的对抗博弈过程,生成器要不断训练更新使得生成的图像更不容易被判别器判别出来,而判别器则需要不断训练更新使得能够较好地将生成器生成的假的人造图像与真实的自然图像分离出来。在实际的训练过程中,损失函数如下公式(1)所示:

minmaxV(D,G)

=1Ex~pdata(x) [log D(x)] +IEz~Pz(z) [log(1 -D(G(z))]

(1)

其中,D指的是判别器G指的是生成器,我们需要训练判别器模型使得判别器判别真实的数据与生成器生成数据准确率最大化,同时,我们需要训练生成器模型使得生成器生成的图像与真实自然图像的分布差异最小化,也就是最小化log(l-D(G(z)))。在实际中我们采用了交替的优化方法,也就是首先固定生成器,即不让生成器的参数更新,去优化更新判别器的模型参数,使得判别器的判别准确率最大化,直到判别器能够有效地判别真实数据与生成器生成的假的人造数据;接着我们固定判别器,使其参数不再更新,去优化更新生成器的模型參数,使得判别器的判别准确率最小化,直到判别器不能够有效地判别真实数据与生成器生成的假的人造数据,如此循环迭代直到达到全局最优解,一般来说就是判别器已经达到足够优秀的判别能力还是无法有效地判别真实数据与生成器生成的假的人造数据。根据经验来说,在同一轮的参数更新中,一般我们对判别器的参数更新多次然后再对生成器的参数更新1次。

2總结

将卷积神经网络与生成对抗网络的结合,各种超参数以及函数的设置优化带来了令人惊喜的效果。在深度学习的领域占据了一席重要的地位,无监督的思想也给各个领域带来了冲击,希望可以通过深度卷积生成对抗网络获得更好的效果,也为这样的无监督学习方法找到新的应用领域。我们不仅可以使用训练好网络的生成器去生成,获得更多的样本数据,也可以使用训练好网络的判别器去对数据图像分类,这样的一个网络给深度学习带来了不一样的模型使用方法,也给我们带来了不一样的思考方式,推动了深度学习的发展。

参考文献

[1] Radford A, Metz L, Chintala S.Unsupervised representation learningwith deep convolutional generativeadversarial networks [J]. arXivpreprint arXiv: 1511. 06434, 2015.

[2]Goodfellow I, Pouget-Abadie J, MirzaM. et al. Generative adversarialnets [C] //Advances in neuralinformation processing systems.2014: 2672-2680.

[3]10ffe, Sergey, and Christian Szegedy.“Batch normalizat ion:

Accelerat ingdeep network training by reducinginternal covariate shift.” arXivpreprint arXiv: 1502. 03167 (2 015).

[4]Gulcehre C,Moczulski M,Denil M, etal.

Noisy activation functions [C]//International

[5]Conference on Machine Learning. 2016:3059-3068. Agostinelli, Forest, etal. “Learning activation functions toimprove deep neural networks.” arXivpreprint arXiv: 1412. 6830(2 014).

[6]2eiler M D, Krishnan D, Taylor G W,et al. Deconvolutional networks [J].2010.

猜你喜欢
卷积神经网络深度
基于3D-Winograd的快速卷积算法设计及FPGA实现
深度理解一元一次方程
神经网络抑制无线通信干扰探究
从滤波器理解卷积
深度观察
深度观察
深度观察
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用