生成对抗网络是一种非常成功的生成建模算法。Radford等人提出的DCGAN体系结构。之所以非常吸引人,是因为与诸如渐进式GAN (Progressively-Growing GANs)或StackGAN 之类的东西相比,它易于实现。DCGAN架构与Vanilla GAN非常相似,不同之处在于,对生成器和鉴别器架构进行了修改,以包括卷积和strided卷积层。
在此实验中,试图查看DCGAN是否可以生成低分辨率的篮球鞋。这些图像(如下所示)最初为360 x 360,但已下采样为45 x 45,以方便使用GAN。
在讨论所使用的体系结构和该实现的其他细节之前,可以看到以下结果:
当像这样堆叠在网格中并进一步转换为灰度时……上面的鞋子图像看起来并不差,但是下面的图像更准确地表示了DCGAN在该实验中的真实结果和令人失望的结果……
如Radford等人在论文中详细介绍的,使用了许多相同的架构优化,例如使用学习率为0.0002和beta_1参数为0.5的Adam优化器,在各处使用BatchNorm层,但生成器的输入和鉴别器的输出,以及发生器中几乎相同的上采样设计。
我使用GANs-in-Action repo中的代码DCGAN.ipynb来开始该项目。此repo的独特之处,以及在自定义数据集上自行实现此操作时需要执行的操作。
首先,data loader函数允许加载自定义数据并将像素值重新缩放为[0–1],(Raford等人在发生器上使用[-1,1]和tanh激活函数,但我发现更好结果为[0,1]和sigmoid激活函数)。其次,代码向您展示了如何重新配置 生成器网络的upscaling过程,以适应您的自定义数据维度。就我而言,使用MNIST的代码输出为28x28x1,需要将最终输出尺寸更改为45x45x3。
为了获得更好的输出,我目前正在研究更改生成器网络的体系结构,并通过Adam优化器上的超参数进行迭代。此外,该实验是在NVIDIA 1060 GPU上运行的,每1k迭代大约需要2分钟。
ReferencesCopyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved