CMU联手Adobe:GAN模型迎来预训练时代,仅需1%的训练样本|CVPR 2022

简介: CMU联手Adobe:GAN模型迎来预训练时代,仅需1%的训练样本|CVPR 2022

image.png



【新智元导读】每次GAN模型都要从头训练的日子过去了!最近CMU联手Adobe提出了一种新的模型集成策略,让GAN模型也能用上预训练,成功解决「判别器过拟合」这个老大难问题。


进入预训练时代后,视觉识别模型的性能得到飞速发展,但图像生成类的模型,比如生成对抗网络GAN似乎掉队了。

 

通常GAN的训练都是以无监督的方式从头开始训练,费时费力不说,大型预训练通过大数据学习到的「知识」都没有利用上,岂不是很亏?

 

而且图像生成本身就需要能够捕捉和模拟真实世界视觉现象中的复杂统计数据,不然生成出来的图片不符合物理世界规律,直接一眼鉴定为「假」。

 

 

预训练模型提供知识、GAN模型提供生成能力,二者强强联合,多是一件美事!

 

问题来了,哪些预训练模型、以及如何结合起来才能改善GAN模型的生成能力?

 

最近来自CMU和Adobe的研究人员在CVPR 2022发表了一篇文章,通过「选拔」的方式将预训练模型与GAN模型的训练相结合。

 

论文链接:https://arxiv.org/abs/2112.09130

项目链接:https://github.com/nupurkmr9/vision-aided-gan

视频链接:https://www.youtube.com/watch?v=oHdyJNdQ9E4

 

GAN模型的训练过程由一个判别器和一个生成器组成,其中判别器用来学习区分真实样本和生成样本的相关统计数据,而生成器的目标则是让生成的图像与真实分布尽可能相同。


理想情况下,判别器应当能够测量生成图像和真实图像之间的分布差距。

 

但在数据量十分有限的情况下,直接上大规模预训练模型作为判别器,非常容易导致生成器被「无情碾压」,然后就「过拟合」了。

通过在FFHQ 1k数据集上的实验来看,即使采用最新的可微分数据增强方法,判别器仍然会过拟合,训练集性能很强,但在验证集上表现得很差。

 

 

此外,判别器可能会关注那些人类无法辨别但对机器来说很明显的伪装。


为了平衡判别器和生成器的能力,研究人员提出将一组不同的预训练模型的表征集合起来作为判别器。

 

 

这种方法有两个好处:

 

1、在预训练的特征上训练一个浅层分类器是使深度网络适应小规模数据集的常见方法,同时可以减少过拟合。

 

也就是说只要把预训练模型的参数固定住,再在顶层加入轻量级的分类网络就可以提供稳定的训练过程。

 

比如上面实验中的Ours曲线,可以看到验证集的准确率相比StyleGAN2-ADA要提升不少。

 

2、最近也有一些研究证明了,深度网络可以捕获有意义的视觉概念,从低级别的视觉线索(边缘和纹理)到高级别的概念(物体和物体部分)都能捕获。

 

建立在这些特征上的判别器可能更符合人类的感知能力。

 

并且将多个预训练模型组合在一起后,可以促进生成器在不同的、互补的特征空间中匹配真实的分布。

 

为了选择效果最好的预训练网络,研究人员首先搜集了多个sota模型组成一个「模型银行」,包括用于分类的VGG-16,用于检测和分割的Swin-T等。

 

 

然后基于特征空间中真实和虚假图像的线性分割,提出一个自动的模型搜索策略,并使用标签平滑和可微分的增强技术来进一步稳定模型训练,减少过拟合。

 

具体来说,就是将真实训练样本和生成的图像的并集分成训练集和验证集。

 

对于每个预训练的模型,训练一个逻辑线性判别器来分类样本是来自真实样本还是生成的,并在验证分割上使用「负二元交叉熵损失」测量分布差距,并返回误差最小的模型。

 

一个较低的验证误差与更高的线性探测精度相关,表明这些特征对于区分真实样本和生成的样本是有用的,使用这些特征可以为生成器提供更有用的反馈。

 

研究人员我们用FFHQ和LSUN CAT数据集的1000个训练样本对GAN训练进行了经验验证。

 

 

结果显示,用预训练模型训练的GAN具有更高的线性探测精度,一般来说,可以实现更好的FID指标。

 

为了纳入多个现成模型的反馈,文中还探索了两种模型选择和集成策略

 

1)K-fixed模型选择策略,在训练开始时选择K个最好的现成模型并训练直到收敛;

2)K-progressive模型选择策略,在固定的迭代次数后迭代选择并添加性能最佳且未使用的模型。

 

实验结果可以发现,与K-fixed策略相比,progressive的方式具有更低的计算复杂度,也有助于选择预训练的模型,从而捕捉到数据分布的不同。例如,通过progressive策略选择的前两个模型通常是一对自监督和监督模型。

 

文章中的实验主要以progressive为主。

 

最终的训练算法首先训练一个具有标准对抗性损失的GAN。

 

 

给定一个基线生成器,可以使用线性探测搜索到最好的预训练模型,并在训练中引入损失目标函数。

 

在K-progressive策略中,在训练了与可用的真实训练样本数量成比例的固定迭代次数后,把一个新的视觉辅助判别器被添加到前一阶段具有最佳训练集FID的快照中。

 

在训练过程中,通过水平翻转进行数据增强,并使用可微分的增强技术和单侧标签平滑作为正则化项。

 

还可以观察到,只使用现成的模型作为判别器会导致散度(divergence),而原始判别器和预训练模型的组合则可以改善这一情况。

 

最终实验展示了在FFHQ、LSUN CAT和LSUN CHURCH数据集的训练样本从1k到10k变化时的结果。

 

 

在所有设置中,FID都能获得显著提升,证明了该方法在有限数据场景中的有效性。

 

为了定性分析该方法和StyleGAN2-ADA之间的差异,根据两个方法生成的样本质量来看,文中提出的新方法能够提高最差样本的质量,特别是对于FFHQ和LSUN CAT

 

 

当我们逐步增加下一个判别器时,可以看到线性探测对预训练模型的特征的准确性在逐渐下降,也就是说生成器更强了。

 

 

总的来说,在只有1万个训练样本的情况下,该方法在LSUN CAT上的FID与在160万张图像上训练的StyleGAN2性能差不多。

 

 

而在完整的数据集上,该方法在LSUN的猫、教堂和马的类别上提高了1.5到2倍的FID。


作者Richard Zhang在加州大学伯克利分校获得了博士学位,在康奈尔大学获得了本科和硕士学位。主要研究兴趣包括计算机视觉、机器学习、深度学习、图形和图像处理,经常通过实习或大学与学术研究人员合作。

 

 

作者Jun-Yan Zhu是卡内基梅隆大学计算机科学学院的机器人学院的助理教授,同时在计算机科学系和机器学习部门任职,主要研究领域包括计算机视觉、计算机图形学、机器学习和计算摄影。

 

在加入CMU之前,他曾是Adobe Research的研究科学家。本科毕业于清华大学,博士毕业于加州大学伯克利分校,然后在MIT CSAIL做博士后。

 

参考资料:

https://www.cs.cmu.edu/~vision-aided-gan/

相关文章
|
开发者
SyntaxError: cannot assign to literal错误
SyntaxError: cannot assign to literal错误
3111 1
|
存储 关系型数据库 MySQL
mysql数据库查询时用到的分页方法有哪些
【8月更文挑战第16天】在MySQL中,实现分页的主要方法包括:1)使用`LIMIT`子句,简单直接但随页数增加性能下降;2)通过子查询优化`LIMIT`分页,提高大页码时的查询效率;3)利用存储过程封装分页逻辑,便于复用但需额外维护;4)借助MySQL变量实现,可能提供更好的性能但实现较复杂。这些方法各有优缺点,可根据实际需求选择适用方案。
1040 2
偏向锁和轻量级锁的优缺点分别是什么
【10月更文挑战第20天】偏向锁和轻量级锁的优缺点分别是什么
|
11月前
|
关系型数据库 分布式数据库 PolarDB
[PolarDB实操课] 02.使用云起实验室资源快速体验PolarDB分布式版
本次课程由阿里云PolarDB开源架构师黄心雨分享,重点介绍如何使用云起实验室资源快速体验PolarDB分布式版。主要内容包括: 1. **PolarDB-X的四种安装方法**:Docker、PXD工具、Kubernetes和源码编译。 2. **容器技术简介**:解释容器在云原生环境中的作用,解决代码跨环境迁移问题。 3. **云起实验室实操**:通过云起实验室提供的零门槛平台,快速部署PolarDB-X,体验其主要功能。 4. **课程小结**:总结PolarDB-X的安装方式及实际操作步骤,并展望后续课程内容。
156 0
|
存储 SQL 数据库
Sybase数据恢复—Sybase数据库常见问题之数据库无法启动的恢复案例
Sybase数据库数据恢复环境: Sybase数据库版本:SQL Anywhere 8.0。 Sybase数据库故障&分析: Sybase数据库无法启动。 使用Sybase Central连接报错。 数据库数据恢复工程师经过检测,发现Sybase数据库出现故障的原因是:异常断电造成Sybase数据库无法回写正常数据,导致多个存储页数据不一致,系统表描述和存储表不一致,部分存储页底层数据完全杂乱。
|
JSON 前端开发 决策智能
Multi-Agent实践第6期:面向智能体编程:狼人杀在AgentScope
本期文章,我们会介绍一下AgentScope的一个设计哲学(Agent-oriented programming)
|
设计模式 缓存 安全
代理模式揭秘-软件世界的“幕后黑手”
在这篇精细剖析的文章中,我们将探索代理模式这一软件设计的神秘法术,揭开其定义、核心思想及各种代理(静态代理、动态代理和虚拟代理)的神秘面纱。通过直观的结构图和有趣的场景实例,我们比较了使用和不使用代理模式的实现差异,深入理解代理在软件设计中扮演的关键角色。 接下来,文章将带你进入现实世界,在应用与实战中实地展示代理模式的威力。我们将讲述如何巧妙地使用代理来优化软件的设计,并分享一些鲜活的工作案例,帮助读者更好地把握代理模式带来的优势和必须注意的缺点。 最后,我们讨论了实施代理模式时应避免的陷阱和广为人...
1394 0
代理模式揭秘-软件世界的“幕后黑手”
|
程序员 测试技术 数据处理
Python中的装饰器应用与实现Python并发编程之协程与多线程对比分析
在Python编程中,装饰器是一种强大的工具,能够简洁而优雅地扩展函数或类的功能。本文将深入探讨Python中装饰器的原理、应用场景以及实现方法,帮助读者更好地理解和运用这一重要的编程概念。 本文将从Python并发编程的角度出发,对比分析协程与多线程两种并发处理方式的优缺点及适用场景,帮助读者更好地选择适合自己项目的并发方案。
|
安全 API 网络安全
163邮箱 SMTP应该怎么配置发信使用?
163邮箱 SMTP应该怎么配置发信使用?
|
存储 算法 对象存储
MindOpt Tuner调参器,提升求解速度、性能(一)
优化求解器往往拥有很多配置参数,例如启发式方法的开关、割平面方法的开关、预处理的配置以及各种误差容忍度等等。MindOpt Tuner会尝试不同的参数组合,评估每组参数的性能,然后基于这些结果来确定最佳参数。这样可以大大减少手动调整参数的时间和精力,并且可以帮助提升求解性能。
MindOpt Tuner调参器,提升求解速度、性能(一)