百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

DeepMind谷歌研究员力荐:扩散模型效率&生成质量提升窍门

bigegpt 2024-10-17 08:11 6 浏览

丰色 发自 凹非寺

量子位 | 公众号 QbitAI

新晋图像生成王者扩散模型,刚刚诞生没多久。

有关它的理论和实践都还在“野蛮生长”。

来自英伟达StyleGAN的原班作者们站了出来,尝试给出了一些设计扩散模型的窍门和准则,结果模型的质量和效率都有所改进,比如将现有ImageNet-64模型的FID分数从2.07提高到接近SOTA的1.55分。

他们这一工作成果迅速得到了业界大佬的认同。

DeepMind研究员就称赞道:这篇论文简直就是训练扩散模型的人必看,妥妥的一座金矿。

三大贡献显著提高模型质量和效率

我们从以下几个方面来看StyleGAN作者们对扩散模型所做的三大贡献:

用通用框架表示扩散模型

在这部分,作者的贡献主要为从实践的角度观察模型背后的理论,重点关注出现在训练和采样阶段的“有形”对象和算法,更好地了解了组件是如何连接在一起的,以及它们在整个系统的设计中可以使用的自由度(degrees of freedom)

精华就是下面这张表:

该表给出了在他们的框架中复现三种模型的确定变体的公式。

(这三种方法(VP、VE、iDDPM+ DDIM)不仅被广泛使用且实现了SOTA性能,还来自不同的理论基础。)

这些公式让组件之间原则上没有隐含的依赖关系,在合理范围内选择任意单个公示都可以得出一个功能模型。

随机采样和确定性采样的改进

作者的第二组贡献涉及扩散模型合成图像的采样过程。

他们确定了最佳的时间离散化(time discretization),对采样过程应用了更高阶的Runge–Kutta方法,并在三个预训练模型上评估不同的方法,分析了随机性在采样过程中的有用性。

结果在合成过程中所需的采样步骤数量显着减少,改进的采样器可以用作几个广泛使用的扩散模型的直接替代品。

先看确定性采样。用到的三个测试模型还是上面的那三个,来自不同的理论框架和模型族。

作者首先使用原始的采样器(sampler)实现测量这些模型的基线结果,然后使用表1中的公式将这些采样方法引入他们的统一框架,再进行改进。

接着根据在50000张生成图像和所有可用真实图像之间计算的FID分数来评估质量。

可以看到,原始的的确定性采样器以蓝色显示,在他们的统一框架(橙色)中重新实现这些方法会产生类似或更好的结果。

作者解释,这些差异是由于原始实现中的某些疏忽,加上作者对离散噪声级的处理更仔细造成的。

确定性采样好处虽然多,但与每一步都向图像中注入新噪声的随机采样相比,它输出的图像质量确实更差。

不过作者很好奇,假设ODE(常微分方程)和SDE(随机微分方程)在理论上恢复相同的分布,随机性的作用到底是什么?

在此他们提出了一种新的随机采样器,它将现有的高阶ODE积分器与添加和去除噪声的显式“Langevin-like ‘churn’”相结合。

最终模型性能提升显著,而且仅通过对采样器的改进,就能够让ImageNet-64模型原来的FID分数从2.07提高到1.55,接近SOTA水平。

预处理和训练

作者的第三组贡献主要为分数建模(score-modeling)神经网络的训练。

这部分继续依赖常用的网络体系结构(DDPM、NCSN),作者通过对扩散模型设置中网络的输入、输出和损失函数的预处理进行了原则性分析,得出了改进训练动态的最佳实践。

比如使用依赖于σ(noise level)的跳跃连接对神经网络进行预处理,使其能够估计y(signal)或n(noise),或介于两者之间的东西。

下表具体展示了模型彩英不同训练配置得到的FID分数。

作者从基线训练配置开始,使用确定性采样器(称为配置A),重新调整了基本超参数(配置B),并通过移除最低分辨率层,并将最高分辨率层的容量加倍来提高模型的表达能力(配置C)

然后用预处理(配置D)替换原来的{cin,cout,cnoise,cskip}选项。这使结果基本保持不变,但VE在64×64分辨率下有很大改善。该预处理方法的主要好处不是改善FID本身,而是使训练更加稳健,从而将重点转向重新设计损失函数又不会产生不利影响。

VP和VE只在Fθ的架构上有所不同(配置E和F)。

除此之外,作者还建议改进训练期间的噪声级分布,并发现通常与GANs一起使用的无泄漏风险增强(non-leaking augmentation)操作也有利于扩散模型。

比如从上表中,我们可以看到:有条件和无条件CIFAR-10的最新FID分别达到了1.79和1.97,打破了之前的记录(1.85和2.1046)

更多细节欢迎查看论文原文:
https://arxiv.org/abs/2206.00364

参考链接:
https://twitter.com/sedielem/status/1532466208435494930?s=12&t=Uzg6OWwe5AgXHSBrzlnFrg

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

相关推荐

LangChain4j如何自定义文档转换器实现数据清洗?

LangChain4j提供了3种RAG(Retrieval-AugmentedGeneration,检索增强生成)实现,我们通常在原生或高级的RAG实现中,要对数据进行清洗,也就是将外接...

Java 8 Stream API 详解(java stream.)

Java8StreamAPI详解一、概述在Java8中,StreamAPI是一个重要的新特性。它为处理集合(如List、Set等)中的元素提供了一种高效且富有表现力的方式。Str...

Java修炼终极指南:185 使用 Stream 过滤嵌套集合

这是面试中的一个经典问题,通常从一个模型开始,如下所示(我们假设集合是一个List):publicclassAuthor{privatefinalStringname;pri...

java8的stream使用小示例(java stream())

据JetBrains发布的2021年开发者生态系统调查,Java8在java使用的版本中仍然是当前最流行的版本。72%的专业开发人员使用Java8作为其在java开发中主要编程语言版本。现...

Node.js Stream - 实战篇(node.js in action)

本文转自“美团点评技术团队”http://tech.meituan.com/stream-in-action.html背景前面两篇(基础篇和进阶篇)主要介绍流的基本用法和原理,本篇从应用的角度,介...

Java Stream:集合处理的api(java 集合操作)

JavaStream流:高效集合处理的函数式编程利器一、什么是JavaStream?Java8引入的StreamAPI是一套用于处理集合数据的流式编程接口,通过函数式风格(无副作用的...

去除 List 中的重复元素,你知道几种实现方法?

去除List中重复元素,这在实际编程或面试中经常遇到,每个人都有习惯的写法吧,这里抛砖引玉,汇总了一些实现方案,开拓思路。准备数据假设数组中有10个数据,可能有重复,需要将重复的数据从数组中去掉。pu...

Java开发者必看!Stream流式编程10个爆款技巧,让你代码优雅飞起

为什么你的Java代码总像拧巴的麻绳?掌握这10个Stream实战技巧,代码效率与优雅度将产生质的飞跃。以下案例均来自真实电商系统场景,带你感受流式编程的降维打击!一、过滤与映射组合拳(Filter...

leetcode每日一题之存在重复元素(存在重复元素 iii)

题:给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。比如:输入:[1,2,3,1]输出:true...

告别for循环!揭秘Stream API如何让你的代码简洁度提升300%

一、当传统循环遇上现代需求真实场景复现:某电商平台需要处理10万条订单数据,要求:筛选出金额>500的订单提取用户ID并去重统计VIP用户数量传统实现方案://常规写法Set<Long...

Java中List去重的N种方法:从基础到优雅

Java中List去重的N种方法:从基础到优雅在日常的Java开发中,我们经常会遇到需要对List集合去重的情况。无论是为了清理重复的数据,还是为了优化算法性能,掌握多种去重方式都是一项非常实用的技能...

Java Stream流没用过?常用高频方法

概念Stream流是Java8添加的以一种链式调用的方法处理数据,主要侧重于计算。具有以下相关特点代码简洁链式调用Stream常用方法1.将数组变为当作List操作String[]strArr=...

核医学专业名词索引(M-R)(核医学重点归纳)

M吗啡(morphia)埋藏式心律转复除颤器(implantablecardioverterdefibrillator,ICD)麦角骨化醇(VD2,calciferol)脉冲堆积(pulsepi...

CodeMeter 新版发布(codesigner下载)

威步于2022年8月4日发布CodeMeter7.50及CodeMeter软件保护套装11.10,以下为新版内容。CodeMeterRuntime7.50StreamingSIMDExten...

世界上最小的五轴铣床Pocket NC(最小的五轴加工中心)

PocketNC,由MIT学生研制,还有说法是这款产品的设计者是来自美国蒙大拿州的一对极客夫妻。目前主要有两款产品:PocketNCV2-50,9000美元;PocketNCV2-10,60...