哈尔滨工程大学作者学校肖健 在读博士本文作者生成对抗网络,视频处理,目标检测研究方向

ICCV 2019 | AutoGAN:自动搜索生成对抗网络的结构

前言

本文对ICCV2019论文《AutoGAN:Neural Architecture Search for Generative Adversarial Networks》进行解读。

这篇文章聚焦于将神经网络结构搜索(NAS)引入到生成对抗网络(GAN)中,以期自动搜索到一个较好的生成器结构而无需人工设计,将该方法称为AutoGAN。为了解决NAS和GAN结合面临的独特挑战,作者首先定义了生成器结构变化的搜索空间,然后使用RNN控制器来指导搜索,并通过参数共享和动态重置来加速该过程。最后使用Inception score作为奖励,引入多级搜索策略以逐步执行NAS。

实验验证了AutoGAN在非条件图像生成任务上的有效性。使用AutoGAN搜索到的网络结构不输于当前手工设计的最先进GAN结构,将FID在CIFAR-10数据集上的最好结果提高到12.42,STL-10数据集上的最好结果提高到31.01。

论文地址:https://arxiv.org/abs/1908.03835

源码地址:https://github.com/TAMU-VITA/AutoGAN

作者:Xinyu Gong,Shiyu Chang,Yifan Jiang,Zhangyang Wang(德克萨斯A&M大学,MIT-IBM Watson AI Lab)

研究背景

近年来生成对抗网络(GAN)受到学者的广泛关注,其在生成逼真的自然图像方面具有明显优势。为了提高生成图像的质量,研究者们进行了很多工作,包括修改判别器损失函数,增加正则项,引入注意力机制以及采用渐进式的训练方法。但GAN的基本结构设计受到的关注相对较少,早期的大多数GAN一直使用相对较浅的生成器和判别器网络结构。近期,一些GAN在生成器中采用残差结构,以更好地生成高分辨率图像。在大多数计算机视觉任务中,许多进步得益于网络体系结构的改进,例如图像分类、分割和姿势估计。因此,作者认为对基本网络结构的设计进行研究会进一步改善GAN的性能。

近年来,人们对自动设计复杂神经网络结构的兴趣日益浓厚。神经网络结构搜索(NAS)已成功应用到了图像分类图像分割领域,NAS搜索到的网络结构可以胜过人工设计的模型。但是,简单地将图像分类、分割中应用的NAS思想移植到GAN是不够的。首要问题是,即使是手工设计的结构,GAN的训练也是不稳定并且容易发生模式坍缩(mode collapse),再引入NAS无疑会增大训练的难度。另一个重要挑战是,NAS在图像分类中一般选择验证准确率作为奖励,但选择一个好的评价指标来评估和指导GAN网络结构搜索过程并非易事。

本文专门为GAN提出了一种量身定制的网络结构搜索方案,称为AutoGAN,这是将NAS与GAN结合的首次尝试。本文的创新点总结如下:

(1)定义了GAN网络结构变化的搜索空间,使用RNN控制器来指导结构搜索,结合参数共享和动态重置策略,提高训练速度。

(2)在AutoGAN的优化中,使用IS作为奖励。搜索到的模型在其他GAN指标(如FID)上也能表现出良好的性能。

(3)受Progressive GAN渐进式训练的启发,引入了多级结构搜索(MLAS),MLAS通过beam search以自下而上的顺序方式(in a bottom-up sequential)在多个阶段中进行搜索。

相关工作

1.神经网络结构搜索NAS

NAS算法旨在找到最佳的神经网络结构,而不是针对特定任务使用手工构建的结构。早期的NAS研究工作在图像分类任务上取得了巨大的成功。最近的工作进一步将NAS算法扩展到稠密结构化的预测,CNN压缩和加速。但是,没有针对生成模型开发任何NAS算法。NAS算法包含三个关键部分:搜索空间,搜索策略和性能评估。搜索空间通常有两类:直接搜索整个结构(macro search),或搜索基本单元并以预定方式堆叠(micro search)。对于搜索策略,通常包括强化学习、进化算法、贝叶斯优化、随机搜索和基于梯度的优化方法。性能评估会选定一个代理任务,用于在训练期间有效评估搜索到的网络结构的性能。

2.生成对抗网络GAN

GAN包括一个生成器网络和一个判别器网络,它们之间进行极小极大零和博弈 。GAN在许多生成任务中都取得了巨大的成功,例如文本到图像的翻译,图像到图像的翻译和图像增强。但是GAN的训练非常不稳定,通常会受到不收敛、模式坍缩的影响,且对超参数敏感。为了减轻这些问题,研究者们进行了许多工作,例如Wasserstein损失,频谱归一化,渐进式训练和自注意机制等。

技术方法

GAN由两个相互竞争的网络组成:生成器和判别器,这两个网络必须在学习能力上达到微妙的平衡。那么如何在GAN中一起搜索两个网络?一方面,如果预先固定D(或G)搜索G(或D),则很容易在两者之间产生不平衡,导致更新缓慢或无用的学习。另一方面,虽然有可能共同搜索G和D,但实验获得的经验告诉我们,这样的NAS将进一步加重GAN训练的不稳定性,导致训练振荡严重进而收敛失败。作为折衷,作者仅使用NAS搜索G的结构,而D随着G的不断提升而逐渐提升。

AutoGAN使用RNN控制器从搜索空间中选择基本单元块来构建G网络,其基本方案如图1所示。AutoGAN同样包括三个关键方面:搜索空间,搜索策略,和性能评估。

图 1 RNN控制器的运行方案。每个时间点,控制器都将输出隐藏向量,并将其用相应的softmax分类器解码。在使用MLAS时,每个单元的搜索使用不同的控制器。一旦完成了一个单元的搜索过程,控制器采样M个候选结构,然后从中挑出前K个。这K个结构的控制器输出将作为下一个单元控制器的输入。

1.搜索空间

AutoGAN基于多级搜索策略,生成器由一系列基本单元组成。用一个(s+5)的元素组表示第几个单元(Cells),

第0个单元没有连接,图2说明了AutoGAN生成器的搜索空间:

图 2 AutoGAN中生成器单元的搜索空间

  • 是一个二进制值表示当前第s单元是否使用跳转连接把第i-1单元(i=1,…,s)的输出作为输入。每个单元可以从其他先前的单元进行多个跳转连接。
  • C是基本卷积块的类型,包括预激活和后激活卷积块
  • N表示归一化类型,包括BN、实例归一化及不使用归一化。
  • U表示上采样操作,包括双线性上采样,最近邻上采样和步长为2的反卷积。U还将确定跳转连接特征图的上采样方法
  • SC是二进制值表示是否使用shortcut

2.性能评估

IS和FID是GAN的两个主要评价指标。由于FID的计算非常耗时,因此本文选择每个派生子模型的IS作为通过强化学习更新控制器的奖励。

本文使用参数共享来提高NAS的效率,进一步为AutoGAN引入了参数动态重置策略。由于GAN的训练通常不稳定且出现模式坍缩,此时没有必要继续训练。当模式坍缩发生时,训练损失的方差通常很小。所以,作者为生成器和判别器设置了一个移动窗口来存储最新的训练损失值,一旦存储的训练损失标准差小于预定阈值,则终止当前迭代中GAN的训练。在当前迭代中更新完控制器后,再重新初始化GAN模型的参数。注意,不需要重新初始化RNN控制器的参数,这样才能继承历史知识来继续指导网络结构搜索。通过动态重置,搜索过程变得更加高效。

3.搜索策略

算法 1 AutoGAN搜索过程的伪代码

训练GAN使用hinge loss以交替方式进行,生成器G和判别器D的损失函数如下:

实验结果

作者进行了各种实验以验证AutoGAN的有效性。搜索到的结构可产生优于或与当前手工设计GAN媲美的结果。

1.在CIFAR-10数据集上,AutoGAN的IS为8.55,FID为12.42,在IS指标方面(越高越好),AutoGAN与Progressive GAN很接近,并且超过了很多最新的模型;在FID指标方面(越低越好),AutoGAN超过了当前所有的模型。对搜索到的生成器结构,总结一些值得注意的观察:

AutoGAN搜索到的结构包含3个卷积块,更倾向使用预激活卷积块而不是后激活。

AutoGAN搜索到的结构更倾向使用最近邻上采样或双线性上采样而不是反卷积。

AutoGAN似乎不喜欢使用任何归一化操作。

AutoGAN习惯使用(密集)跳转连接,习惯使用中等和较长距离的跳转连接(跳过2-4个卷积层),从而实现多尺度特征融合。

2.在CIFAR-10上搜索到的结构可以在STL-10图像生成任务上表现出色,其IS为9.16,FID为31.01,证明了其强大的可移植性。虽然在IS指标稍稍落后于improved MMD-GAN,但在FID指标方面获得了最好的结果。如果从头开始搜索网络结构,在STL-10数据集上可能获得更好的结果,作者将这留给以后的工作。

结论

AutoGAN是第一个将NAS引入GAN的工作,它能够在CIFAR-10和STL-10数据集上搜索到有效的网络结构,与目前最先进的人工设计的GAN模型相比,能够获得具有竞争力的图像生成结果。

由于GAN本身训练的不稳定性和超参数敏感性,AutoGAN比图像分类领域的NAS更具挑战性。虽然将NAS用于搜索GAN的网络结构已经有了初步的成功,但AutoGAN无疑还有很大的改进空间:

  • 扩大AutoGAN的搜索空间。
  • 较高分辨率的图像生成任务上测试AutoGAN,例如ImageNet。
  • 如何搜索更好的判别器网络结构。
  • 在AutoGAN中引入标签信息,构造条件GAN的网络搜索框架。

(免责声明:本文仅代表撰稿者观点,个人理解及总结不一定准确及全面,论文的整体思想及论点应以原论文为准,文中所有图表均来源原论文。)

AMiner学术头条
AMiner学术头条

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。系统2006年上线,吸引了全球220个国家/地区800多万独立IP访问,数据下载量230万次,年度访问量1000万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

https://www.aminer.cn/
专栏二维码
理论生成对抗网络AutoGANICCV 2019
3
相关数据
图像分割技术

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像索赋予相同的编号。

零和博弈技术

零和博弈,又称零和游戏或零和赛局,与非零和博弈相对,是博弈论的一个概念,属非合作博弈。零和博弈表示所有博弈方的利益之和为零或一个常数,即一方有所得,其他方必有所失。在零和博弈中,博弈各方是不合作的。非零和博弈表示在不同策略组合下各博弈方的得益之和是不确定的变量,故又称之为变和博弈。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

伪代码技术

伪代码,又称为虚拟代码,是高层次描述算法的一种方法。它不是一种现实存在的编程语言;它可能综合使用多种编程语言的语法、保留字,甚至会用到自然语言。 它以编程语言的书写形式指明算法的职能。相比于程序语言它更类似自然语言。它是半形式化、不标准的语言。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

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

图像生成技术

图像生成(合成)是从现有数据集生成新图像的任务。

上采样技术

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

随机搜索技术

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

生成对抗网络技术

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

图像增强技术

图像增强技术用于增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合。它通过有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。

图像分类技术

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

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

结构搜索技术

深度学习提供了这样一种承诺:它可以绕过手动特征工程的流程,通过端对端的方式联合学习中间表征与统计模型。 然而,神经网络架构本身通常由专家以艰苦的、一事一议的方式临时设计出来。 神经网络架构搜索(NAS)被誉为一条减轻痛苦之路,它可以自动识别哪些网络优于手工设计的网络。

生成对抗技术

生成对抗是训练生成对抗网络时,两个神经网络相互博弈的过程。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。

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