marsggbo

V1

2022/07/26阅读:14主题:红绯

ECCV2022论文 | EAGAN:一种高效的用于搜索GAN 的两阶段进化算法


title: ECCV-2022 | EAGAN:一种高效的用于搜索GAN 的两阶段进化算法 tags: ECCV, AutoML, NAS, EAGAN grammar_cjkRuby: true

最近我们的工作“EAGAN: Efficient Two-stage Evolutionary Architecture Search for GAN”被ECCV2022主会录取。本文提出了一个高效的由两阶段组成的基于进化算法的神经架构搜索(Neural Architecture Search,NAS)框架,用于搜索生成对抗网络(Generative Adversarial Network, GAN)的结构,有效解决了在搜索GAN的过程中的训练不稳定问题。

ECCV-2022
ECCV-2022

ECCV的全称是European Conference on Computer Vision(欧洲计算机视觉国际会议) ,两年一次,是计算机视觉三大会议(另外两个是ICCV和CVPR)之一。ECCV2022将于2022年10月23日至27日在以色列特拉维夫国际会展中心举行,会议共收到有效投稿5,803篇,接收1650篇论文,接受率在28%左右。

摘要

生成性对抗网络(GAN)在图像生成任务中已被证明是成功的。然而,GAN训练本身是不稳定的。尽管许多工作试图通过手动修改GAN架构来稳定它,但这需要很多专业知识。神经结构搜索(NAS)已成为自动搜索GAN的一个有吸引力的解决方案。早期的NAS-GAN只搜索生成器以降低搜索复杂度,但会导致次优GAN。最近的一些工作试图同时搜索生成器(G)和鉴别器(D),但它们受到GAN训练的不稳定性的影响。为了缓解这种不稳定性,我们提出了一种高效的基于两阶段进化算法的NAS框架来搜索GAN,即EAGAN。我们将G和D的搜索解耦为两个阶段,其中第1阶段使用固定D搜索G并采用多对一训练策略,第2阶段使用在第1阶段中找到的最优G搜索D并采用一对一训练和权重重置策略以增强GAN训练的稳定性。这两个阶段都使用非支配排序方法在多个目标(例如模型大小、初始分数(IS)和初始距离(FID))下生成帕累托前沿结构。EAGAN应用于无条件图像生成任务,可以在1.2 GPU天内高效地完成对CIFAR-10数据集的搜索。我们搜索的GAN在CIFAR-10数据集上获得了有竞争力的结果(IS=8.81±0.10,FID=9.91),并超过了STL-10数据集上先前的NAS GAN(IS=10.44±0.087,FID=22.18)。

难点

NAS在图像分类任务上已经取得了非常不错的成绩了,用NAS搜到的模型能取得比人工设计的模型还要高的分类准确率。鉴于NAS的成功,有工作也尝试将NAS去搜索GAN模型结构。下表总结了现有的NAS-GAN工作。 我们知道GAN是由一个生成器(Generator, 简称G)和一个判别器(Discriminator,简称D)组成的。GAN的训练原理简单理解就是G和D这两个网络之间做零和博弈的优化,理想状态是最终达到纳什均衡。而这一过程并非易事,GAN本身的训练就是很容易崩溃的,经常会出现模式崩塌以及梯度消失等问题。一旦再使用NAS去搜索GAN,这一不稳定问题就更加严重了。而为了缓解不稳定问题,现有的很多NAS-GAN工作都只是去搜索G网络,而把D网络固定住。后续的一些工作尝试了去搜索G和D,但是他们仍遇到了一些问题,例如AdversarialNAS和AlphaGAN是将G和D耦合在一起同时进行搜索,AlphaGAN的实验结果表明这样的耦合搜索方式会加剧差的判别器结构对搜索过程造成的负面影响,即使得搜索过程不稳定。

另外,由下表也可以看到大多数的NAS-GAN在搜索过程中都只使用了单个的指标,而目前而言何种指标能最好的表示GAN模型性能还没有共识,这也是为什么有很多不同的指标被提出,例如Inception Score (IS)、Fr´echet Inception Distance (FID)等等。因此,单个指标并不能有效地衡量一个GAN模型的好坏。基于梯度的NAS-GAN为了保证搜索过程是可导的,倾向于选择loss作为优化指标;基于强化学习(Reinforcement Learning, RL)的工作只有E2GAN使用IS和FID的线性加权求和作为评价指标,但是两个指标需要额外引入权重超参,增加了训练难度;进化算法(Evolutionary Algorithm, EA)非常适合多目标下的搜索任务,但是现有的基于进化算法的NAS-GAN为了节省时间开销,都只使用了单个指标,其中COEGAN为G和D网络使用了不同的指标。

NAS-GANs
NAS-GANs

综上,我们主要想解决以下两个问题:

  • 解决GAN搜索过程中的不稳定性问题
  • 满足多目标搜索GAN,并提高搜索效率

3. 方案

3.1 搜索空间

为和之前的工作做一个公平对比,我们使用了AdversarialNAS相似的搜索空间,如下图所示

Search Space
Search Space

3.2 解决GAN搜索不稳定性问题

正如前面介绍的,AlphaGAN和AdversarialNAS是将生成器(G)和判别器(D)的结构进行耦合搜索的,那么很自然的想法是将二者解耦。下图是我们的方法的示意图:

EAGAN
EAGAN

我们将G和D的搜索划分成两个独立的阶段:

在第一阶段我们固定判别器,然后执行多轮的生成器搜索。如上图(左)所示,每一轮我们会生成P个不同的生成器,这些生成器彼此之间共享权重,即他们都是一个生成器超网(Supernet-G)的子网。每次我们会从P个生成器中随机采样一个,然后将被采样的生成器和固定的判别器匹配进行训练,这种训练方式称为 many-to-one。这样带来的好处是,判别器与多个生成器匹配训练,某种程度上可以理解成是集成训练(ensemble training),这可以有效避免判别器过强导致梯度消失。

在第二阶段,我们设计了one-to-one的训练策略。之所以没有采用第一阶段中的many-to-one训练策略是因为对判别器性能的评估比较特殊。具体而言,我们在评估GAN的性能的好坏时,其实是评估生成器的好坏。换言之,判别器作为一个分类器,他取得或高或低的准确率都不能代表GAN的好坏。所以,一种可行的方式是我们使用生成器的好坏来间接评估判别器。很显然,如果使用many-to-one的训练策略,那么所有判别器都是和同一个生成器匹配,那么得到的性能评估是一样的,所以我们做了改进,提出了one-to-one的训练策略,这样一来每个判别器都匹配了一个独立的生成器,这些生成器采用的结构都是第一阶段搜索得到的最好的生成器的结构。

不过第二阶段的one-to-one训练策略仍然存在一个问题,即每一轮训练结束后,P个不同的生成器虽然结构相同,但是权重不一样了。当进入到下一轮对判别器的搜索时,上一轮表现差的生成器可能依旧表现差,但是这不一定是新生成的判别器导致的,因为也有可能是其已经发生了模式崩塌。换言之,one-to-one训练策略可能会导致不同判别器之间的比较不公平,所以我们进一步提出了权重重置(weight-resetting)策略,这个策略很简单,但是也非常有效。简单而言就是在开始新一轮对判别器搜索之前,我们将上一轮表现最好的生成器的权重进行拷贝,并将其作为下一轮所有生成器的初始权重,这样一来,所有判别器就能进行公平地比较。

3.3 高效地多目标搜索GAN

在两个阶段我们采用了相同的进化算法来指导对模型结构的采样。进化算法由选择、交叉和变异等步骤组成。具体而言,我们使用非支配排序(non-dominated sorting)算法来选择满足多目标下的模型结构。交叉和变异步骤是用来产生新的模型结构,避免搜索过程陷入局部最优。我们使用权重共享策略,这极大提升了搜索效率,因为每次采样得到的GAN模型可以直接从超网中继承权重进行性能评估,而不用每次都从头训练。一般而言,我们计算IS和FID指标需要生成器随机生成50,000张图像,我们将这一数量降低到5,000。实验结果显示这不仅能有效提高搜索效率,而且对模型性能的评估也能保持相对准确性。

4. 结果

下表展示了人工设计的GAN模型和之前的NAS-GAN工作在CIFAR-10和STL-10的实验结果,实验指标使用了IS(越大越好)和FID(越小越好)。

Results
Results

对于NAS-GAN方法,我们划分了两种实验设置:

  • 设置(a)是固定判别器,只搜索生成器,即对应我们的第一阶段(EAGAN-G)。
  • 设置(b)是搜索生成器和判别器,即对应我们的两阶段搜索(EAGAN-GD1)。

通过对比NAS-GAN,我们可以看到AdversarialNAS在设置(a)中的效果较差,而AlphaGAN在设置(b)中实验结果明显变差,其是在CIFAR-10数据集上的FID指标从原来的10.35变成了15.56,而且在STL-10上搜索发生了崩溃,未给出最终实验结果。我们的算法在上述两个实验设置上都能取得不错的结果,而且两阶段的搜索能进一步提高最终的性能表现。

  • EAGAN-G/GD1的第一阶段使用的是预先定义好的D结构。我们想探索一下不同的初始化D结构对EAGAN的影响。我们设置了两个实验:
  • EAGAN-GD2:初始化D是一个简单的分类器,由5层卷积核一个线性层组成的。实验结果是执行两阶段搜索后得到的。
  • EAGAN-GD3:初始化D是使用EAGAN-GD2搜索到的D,然后重复执行两阶段搜索。

由上表我们可以得到以下三点:

  • EAGAN对于不同的初始D结构具有加强的鲁棒性,因为最终都取得了具有竞争力的性能结果。
  • 好的初始D结构对搜索过程有明显的促进作用,即EAGAN-GD1结果明显好于EAGAN-GD2
  • 对比EAGAN-GD3和EAGAN-GD2的结果,我们会发现即使给定了一个较差的初始D结构,只要搜索时间足够大概率能找到更好的模型结构。

展望

本文提出了一种高效的基于两阶段进化算法的NAS框架来搜索GAN,即EAGAN。我们证明,将生成器和鉴别器的搜索解耦为两个阶段可以通过为这两个阶段量身定制的GAN训练策略(多对一和一对一)和权重重置策略显著提高搜索GAN的稳定性。EAGAN非常高效,只需要1.2个GPU天就能完成在CIFAR-10上的搜索。我们搜索的GAN在CIFAR-10数据集上实现了有竞争力的性能(IS和FID),并且在STL-10数据集上优于以前的NAS GAN。 我们相信我们的工作值得更深入的研究,并可能有益于其他潜在领域。例如,当模型需要对抗性训练时,我们的解耦范式和定制的训练策略非常适合大规模并行搜索。此外,我们将研究减少搜索中权重共享的干扰,并探索高分辨率的生成任务。

资源

论文:https://arxiv.org/abs/2111.15097 代码:https://github.com/marsggbo/EAGAN

微信公众号:AutoML机器学习
MARSGGBO原创
如有意合作或学术讨论欢迎私戳联系~
邮箱:marsggbo@foxmail.com

2022-07-26 10:31:22

分类:

人工智能

标签:

人工智能

作者介绍

marsggbo
V1