Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

George Seif作者高璇 杜伟编译

利用NAS寻找最佳GAN:AutoGAN架构搜索方案专为GAN打造

神经架构搜索(NAS)已经在图像分类和分割任务中显示出一定的成功。而作为利用神经架构搜索生成生成对抗网络(GAN)的方法,AutoGAN 相比于现有的 SOTA GAN 模型具有很大的优势。本文首先介绍了 GAN 的工作原理以及目前的手工设计方法,然后展示了 AutoGAN 如何利用神经架构搜索来自动寻找最佳的 GAN 架构。

自从生成对抗网络(GAN)在 NIPS 2014 大会上首次发表以来,它就一直是深度学习领域的热门话题。

其中一个特别的原因是:GAN 能够基于很少的现有内容创造全新的内容。正是这种创造力使 GAN 一族变得如此强大。GAN 已被证明能够将这种创造力应用于诸多不同的实际应用中:

  • 生成穿特定服饰者的图像。

    非常适合在虚拟平台上将服装在线展示给客户;

  • 艺术品创作;

  • 电影和视频游戏的重制和质量改进;

  • 加强对暗物质等非常复杂的高深物理课题的研究。

GAN 的应用案例不胜枚举。

因为 GAN 极具实用价值,因此投入了大量资源,以弄清楚它们的工作机制以及如何设出计最佳的 GAN 网络。最后,经过几年的发展和探索,AutoML 和神经架构搜索(NAS)进入了 GAN 领域。

GAN 工作原理

生成对抗网络(GAN)属于「生成」模型范畴。这意味着它们能够生成全新的「有效」数据。我们所说的有效数据是指,网络的输出应该是我们期望得到的数据。

为了说明这一点,举个例子,我们希望生成一些用于训练图像分类网络的新图像。当然,对于这类应用,我们希望自身的训练数据尽可能逼真,甚至与其他图像分类训练数据集的风格极其相似。

下图显示了 GAN 生成的一组图像的示例。它们看起来非常逼真!如果不告诉我们这是计算机生成的,则很可能信以为真!

ProGAN 的输出示例。图源:https://arxiv.org/pdf/1710.10196.pdf 

为了做到这一点,GAN 构建了两个独立且对抗的网络:生成器和判别器。当仅输入一个噪声图像阵列时,生成器经过训练可以创建逼真的图像。判别器经过训练可以对图像是否真实进行判别。

GAN 的真正能力源于它们遵循的对抗训练风格。生成器网络的权重是根据判别器的损失来学习的。因此,生成器以这样的方式进行训练:对于它生成的图像,很难判断是否真实。与此同时,图像越真实,判别器越能判别图像真伪,无论它们在肉眼看来有多相似。

因此,GAN 构建了一种反馈回路,其中生成器帮助训练判别器,判别器帮助训练生成器,两者相互促进。下图 GAN 的结构图说明了这一点:

生成对抗网络的结构图。

注意,生成器只是一个输出图像的 CNN,而判别器只是一个输出类概率的 CNN 分类网络,非常简单。由于这种简单性,大多数 GAN 架构实际上只是其他 SOTA 深度网络的副本。生成器可以采用类似调整后 U-Net 的形式,而判别器通常采用 ResNet、DenseNet 或类似的体系结构。

这样做的好处是可以简化部分问题。研究人员可以简单地借鉴先前已验证的网络设计,并将重点放在 GAN 的算法设计和训练机制上。

而局限性就是:如果当前的网络设计不是最适合 GAN 的呢?GAN 可以自行运行,但是专门为 GAN 设计的改进网络结构可以进一步改善 GAN 性能。

使用 AutoGAN 寻找最佳 GAN

神经架构搜索(NAS)是另一个热门的深度学习主题。NAS 是一种搜索最佳网络架构的算法。

大多数 NAS 算法都通过下列方式工作:

  1. 首先定义一组可能用于我们网络的「构建块」;

  2. 然后使用循环神经网络(RNN)控制器对这些构建块进行采样,将它们组合在一起,创建一种端到端架构;

  3. 在特定数据集上训练和评估新构建的网络;

  4. 根据评估,调整 RNN 选择的构建块,即 RNN 将选择一个新集合,保留有助于提升准确率的块和配置,不能提升准确率的块和配置替换掉或直接删除;

  5. 重复步骤 3 到 4 多次,直到找到最佳架构。

这种类型的 NAS 已成功应用于图像分类语义分割任务中。

NAS 算法。图源:https://arxiv.org/pdf/1707.07012.pdf

AutoGAN 也遵循完全相同的学习方案,并且特别注重构建生成器网络,因为它在寻找最佳分类网络(用作判别器)方面做了更多的工作。

正如作者在论文中所指出的,训练 GAN 本身就会由于设计原因而导致训练结果不稳定,而精细的网络构建对于流程的顺利进行至关重要。考虑到这一点,AutoGANs 的搜索空间要比 NAS 的有限得多。AutoGAN 的生成器搜索空间不能从许多不同类型和大小的卷积块中采样并跳跃连接,而是设置为:

  • 二进制值跳跃,指示当前单元是否从前一个单元获取附加跳跃连接;

  • 基本卷积块,决定是否包括前激活或后激活;

  • 归一化类型的选择:

    批归一化、实例归一化、无归一化;

  • 要使用的上采样类型:

    双线性上采样、最近邻上采样或 2 步幅反卷积;

  • 是否使用单元内的附加跳跃连接。

AutoGAN 生成器网络的搜索空间。图源:https://arxiv.org/pdf/1908.03835v1.pdf

有了这个更易控制的搜索空间,应用 NAS 来寻找最佳的生成器架构变得更加简单和稳定,因为 NAS 的搜索范围和复杂程度要小很多。

使训练更有效的另一种技术是使用多级架构搜索(Multi-Level Architecture Search,MLAS)而不是常规的层次架构搜索(SLAS)。使用常规 SLAS,将使用单个 RNN 控制器一次构建整个 NAS 网络。但是使用 MLAS,网络实际上是逐步建立的。

MLAS 以自下而上的方式搜索,分别为每个单元执行架构搜索。因此,每个单元将采取各自的 RNN 控制器进行搜索。从某种意义上说,这也简化了搜索过程,因为 NAS 一次只关注网络的一个特定部分,而不是复杂的整体。

AutoGAN 的 RNN 控制器。图源:https://arxiv.org/pdf/1908.03835v1.pdf 

凭借其精密的新训练设置和细粒度、集中的单元搜索空间,AutoGAN 能够实现 SOTA 结果。具体来说,它为基于人类判断生成高视觉质量的新图像设置了新的标准。

原文链接:https://towardsdatascience.com/automatically-finding-the-best-neural-network-for-your-gan-c0b97a5949f2

工程NASGAN架构搜索
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

对抗训练技术

对抗训练涉及两个模型的联合训练:一个模型是生成器,学习生成假样本,目标是骗过另一个模型;这另一个模型是判别器,通过对比真实数据学习判别生成器生成样本的真伪,目标是不要被骗。一般而言,两者的目标函数是相反的。

上采样技术

在数字信号处理中,上采样、扩展和内插是与多速率数字信号处理系统中的重采样过程相关的术语。 上采样可以与扩展同义,也可以描述整个扩展和过滤(插值)过程。

语义分割技术

语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类。图像语义分割是AI领域中一个重要的分支,是机器视觉技术中关于图像理解的重要一环。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

批归一化技术

批归一化(Batch Normalization,BN)由谷歌于2015年提出,是一个深度神经网络训练的技巧,它不仅可以加快模型的收敛速度,还能在一定程度上缓解深层网络中的“梯度弥散”问题,从而使得训练深层网络模型更加容易和稳定。目前BN已经成为几乎所有卷积神经网络的标配技巧了。从字面意思看来Batch Normalization(简称BN)就是对每一批数据进行归一化。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

推荐文章
暂无评论
暂无评论~