【GAN全局实用手册】谷歌大脑最新研究,Goodfellow力荐

简介: 随着GAN越来越多的应用到实际研究当中,从实际角度对GAN的当前状态进行深入挖掘与理解就显得格外重要。来自Google Brain的Karol Kurach等人重现了当前的技术发展水平,探索GAN的景观,并讨论常见的陷阱和可重复性等问题。

【新智元导读】随着GAN越来越多的应用到实际研究当中,其技术中的缺陷与漏洞也随之出现。从实际角度对GAN的当前状态进行深入挖掘与理解就显得格外重要。来自Google Brain的Karol Kurach等人重现了当前的技术发展水平,探索GAN的景观,并讨论常见的陷阱和可重复性等问题。

从实际角度对GAN的当前状态进行深入挖掘与理解对GAN的发展有着重要的意义。来自Google Brain的Karol Kurach等人重现了当前的技术发展水平,探索GAN的景观,并讨论常见的陷阱和可重复性等问题。Lan Goodfellow等AI界大咖也对此成果表示赞同,并纷纷转载。

image

深度生成模型可以应用于学习目标分布的任务。 他们最近在各种应用程序中被利用,在自然图像的背景下充分发挥其潜力。 生成对抗网络(GAN)是以完全无监督的方式学习这些模型的主要方法之一。 GAN框架可以被视为一个双人游戏,其中第一个“玩家”,生成器(generator),正在学习将一些简单的输入分布(通常是标准的多元正态或均匀)转换为图像空间上的分布,这样第二个“玩家”,鉴别器(discriminator),无法判断样本是属于真实分布还是合成。 两位“玩家”的目标都是尽量减少自己的损失,而比赛的解决方案就是Nash均衡(equilibrium),任何“玩家”都不能单方面改善他们的损失。 还可以通过最小化模型分布和真实分布之间的统计差异来导出GAN框架。

训练GAN需要解决发生器和鉴别器参数的最小极大(nimimax)问题。 由于发生器和鉴别器通常都被参数化为深度卷积神经网络,所以这种极小极大(minimax)问题在实践中是非常困难的。 为此,提出了许多损失函数,正则化和归一化以及神经结构的方案来做选择。 其中一些是基于理论见解得出的,而另一些则是实际考虑角度出发的。

在这项工作中,我们对这些方法进行了全面的实证分析。我们首先定义GAN landscape—损失函数集,归一化和正则化方案以及最常用的体系结构。我们通过超参数优化(hyperparameter optimization),在几个现代大规模数据集以及高斯过程回归(Gaussian Process regression)获得的数据集上探索这个搜索空间。 通过分析损失函数的影响,我们得出结论,非饱和损失(non-saturating loss)在数据集、体系结构和超参数之间足够稳定。然后,我们继续分析各种归一化和正则化方案以及不同的体系结构的效果。我们表明,梯度抑制(gradient penaltyas)以及频谱归一化(spectral normalization)在高容量(high-capacity)结构的背景下都是有用的。然后,我们发现人们可以进一步受益于同时正规化和规范化。最后,我们讨论了常见的陷阱,可重复性问题和实际考虑因素。

GAN Landscape

损失函数

令P表示目标分布,Q表示模型分布。原始的GAN公式有两种损失函数:minimax GAN和非饱和(NS) GAN。前者,鉴别器最小化二分类问题的负对数似然(即样本是真的还是假的),相当于最小化P和Q之间的Jensen-Shannon(JS)偏差。后者,生成器最大化生成样本是真实的概率。对应的损失函数定义为:

image

在综合考虑前人的研究后,我们考虑用最小平方损失(LS),相当于最小化P和Q之间的Pearson卡方散度(divergence)。对应的损失函数定义为:


image

鉴别器的归一化和正则化

Gradient norm penalty

在训练点和生成的样本之间的线性插值上评估梯度,作为最佳耦合的代理(proxy)。 还可以在数据流形周围评估梯度损失,这促使鉴别器在该区域中成分段线性。梯度范数惩罚可以纯粹被认为是鉴别器的正则化器,并且它表明它可以改善其他损失的性能。计算梯度范数(gradient norms)意味着一个非平凡的运行时间惩罚(penalty) - 基本上是运行时间的两倍。

鉴别器归一化

从优化角度(更有效的梯度流、更稳定的优化)以及从表示的角度来看,归一化鉴别器是有用的 - 神经网络中层的表示丰富度取决于相应权重的谱结构矩阵。

从优化角度来看,一些关于GAN的技术已经成熟,例如: Batch normalization和Layer normalization (LN);从表示的角度来看,必须将神经网络视为(可能是非线性)映射的组合并分析它们的光谱特性(spectral properties)。特别地,为了使鉴别器成为有界线性算子,控制最大奇异值(maximum singular value)就可以了。

生成器和鉴别器机构

我们在这项研究中探索了两类架构:深度卷积生成对抗网络(DCGAN)和残余网络(ResNet)。ResNet19是一种架构,在生成器中有五个ResNet块,在鉴别器中有六个ResNet块,可以在128×128图像上运行。我们在每个鉴别器块中进行下采样,并且第一个块不包含任何自定义更改。 每个ResNet块由三个卷积层组成,这使得鉴别器总共有19层。 表3a和表3b总结了鉴别器和发生器的详细参数。 通过这种设置,我们能够重现并改进当前已有的最好结果。


image

评估方法

我们专注于几个最近提出的非常适合图像域的指标。

Inception Score (IS)

IS提供了一种定量评估生成样本质量的方法。 包含有意义对象的样本的条件标签分布应该具有低熵,并且样本的可变性应该高。 IS可以表示为:

image

来自P和Q的样本首先嵌入到特征空间(InceptionNet的特定层)中。 然后,假设嵌入数据遵循多元高斯分布,估计均值和协方差。 最后,计算这两个高斯之间的Fréchet距离:

image

图像质量(MS-SSIM)和多样性的多尺度结构相似性

GAN中的一个关键问题是模式崩溃和模式丢失 - 无法捕获模式,或者从给定模式生成样本的多样性较低。MS-SSIM得分用于测量两个图像的相似度,其中较高的MS-SSIM得分表示更相似的图像。

数据集

我们考虑三个数据集,即CIFAR10,CELEBA-HQ-128和LSUN-BEDROOM。LSUN-BEDROOM数据集[包含300多万张图像。 我们将图像随机分成训练集和测试集,使用30588张图像作为测试集。 其次,我们使用30k张图像的CELEBA-HQ数据集,将3000个示例作为测试集,其余示例作为训练集。 最后,为了重现现有结果,我们还采用了CIFAR10数据集,其中包含70K张图像(32x32x3),60000个训练实例和10000个测试实例。 CELEBA-HQ-128的基线FID评分为12.6,LSUN-BEDROOM为3.8,CIFAR10为5.19。

实验结果

损失函数的影响

image

非饱和(NS)损失在两个数据集上都是稳定的

Gradient penalty和光谱(spectral)归一化提高了模型质量。 从计算预算的角度来看(即,需要训练多少个模型以达到某个FID),光谱归一化和Gradient penalty都比基线表现更好,但前者更有效。

image


Gradient penalty和谱归一化(SN)都表现良好,应该被认为是可行的方法,而后者在计算成本上更好。 可惜的是,没有人能完全解决稳定性问题。


归一化和正则化的影响

image

Gradient penalty加上光谱归一化(SN)或层归一化(LN)大大提高了基线的性能


生成器和鉴别器结构的影响

image

鉴别器和发生器结构对非饱和GAN损失的影响。光谱归一化和Gradient penalty可以帮助改进非正则化基线。

文献原文地址:
https://arxiv.org/pdf/1807.04720.pdf

原文发布时间为:2018-07-14
本文作者:
本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”。
原文链接:【GAN全局实用手册】谷歌大脑最新研究,Goodfellow力荐

相关文章
|
SQL Java 关系型数据库
Hibernate - hibernate.cfg.xml配置文件详解
Hibernate 配置文件主要用于配置数据库连接和 Hibernate 运行时所需的各种属性。每个 Hibernate 配置文件对应一个 Configuration 对象–这样说不太正确,应该是项目初始化时会实例化Configuration对象,该实例对象(Configuration对象)会读取配置文件配置的属性值为实例对象赋值。
935 0
|
Linux
【Linux命令200例】find用来查找文件和目录,不可错过的15个例子
在Linux系统中,find命令非常强大,它可以用来查找文件和目录,并对查找到的结果进行各种操作。find命令是一个基于文件查找的工具,可以按照文件名、文件类型、文件大小、文件权限等条件进行高度灵活的查找。本文将详细介绍find命令的用法,包括常用参数的解释和示例。
1930 0
|
XML JavaScript Java
Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)
转载而来~原博客地址:http://blog.csdn.net/smcwwh/article/details/7183869 【目录】 一、【基础知识——扫盲】 二、【DOM、SAX、JDOM、DOM4j简单使用介绍】 三、【性能测试】 四、【对比】 五、【小插曲XPath】 六、【补充】 关键字:Java解析xml、解析xml四种方法、DOM、SAX、JDOM、DO
2005 0
|
20天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
32346 118
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
15天前
|
人工智能 安全 机器人
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI助手,支持钉钉、飞书等多平台接入。本教程手把手指导Linux下部署与钉钉机器人对接,涵盖环境配置、模型选择(如Qwen)、权限设置及调试,助你快速打造私有、安全、高权限的专属AI助理。(239字)
6863 18
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
|
14天前
|
人工智能 机器人 Linux
OpenClaw(Clawdbot、Moltbot)汉化版部署教程指南(零门槛)
OpenClaw作为2026年GitHub上增长最快的开源项目之一,一周内Stars从7800飙升至12万+,其核心优势在于打破传统聊天机器人的局限,能真正执行读写文件、运行脚本、浏览器自动化等实操任务。但原版全英文界面对中文用户存在上手门槛,汉化版通过覆盖命令行(CLI)与网页控制台(Dashboard)核心模块,解决了语言障碍,同时保持与官方版本的实时同步,确保新功能最快1小时内可用。本文将详细拆解汉化版OpenClaw的搭建流程,涵盖本地安装、Docker部署、服务器远程访问等场景,同时提供环境适配、问题排查与国内应用集成方案,助力中文用户高效搭建专属AI助手。
4841 12
|
16天前
|
人工智能 机器人 Linux
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI智能体,支持飞书等多平台对接。本教程手把手教你Linux下部署,实现数据私有、系统控制、网页浏览与代码编写,全程保姆级操作,240字内搞定专属AI助手搭建!
5697 21
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
|
12天前
|
人工智能 JavaScript 安全
Claude Code 安装指南
Claude Code 是 Anthropic 推出的本地 AI 编程助手,支持 Mac/Linux/WSL/Windows 多平台一键安装(Shell/PowerShell/Homebrew/NPM),提供 CLI 交互、代码生成、审查、Git 提交等能力,并内置丰富斜杠命令与自动更新机制。
4325 0

热门文章

最新文章