图像生成王者不是GAN?扩散模型最近有点火:靠加入类别条件,效果直达SOTA

2023-11-17

博雯 发自 凹非寺
量子位 报道 | 公众号 QbitAI

OpenAI刚刚推出的年末新作GLIDE,又让扩散模型小火了一把。

这个基于扩散模型的文本图像生成大模型参数规模更小,但生成的图像质量却更高。

于是,依旧是OpenAI出品,论文标题就直接号称“在图像生成上打败GAN”的ADM-G模型也重新进入了大众眼中:

72bd51075a0ff048c7873d8d1f9c127f.png

光看Papers with Code上基于ImageNet数据集的图像生成模型榜单,从64 x 64到512 x 512分辨率都由这一模型占据榜首:

94277f26dd155bd4ade25525ad87ad59.png

对比曾号称史上最强图像生成器的BigGAN-deep也不落下风,甚至还能在LSUN和ImageNet 64 × 64的图像生成效果上达到SOTA。

3c39f06143533038f742565d3343ae30.png

有网友对此感叹:前几年图像生成领域一直由GAN主导,现在看来,似乎要变成扩散模型了。

ceed5d64db5dbee3ff6fcbc906b6294d.png

加入类别条件的扩散模型

我们先来看看扩散模型的定义。

这是一种新的图像生成的方法,其名字中的“扩散”本质上是一个迭代过程。

具体到推理中,就是从一幅完全由噪声构成的图像开始,通过预测每个步骤滤除的噪声,迭代去噪得到一个高质量的样本,然后再逐步添加更多的细节。

809b18b6cec19c3058b3395d030310c2.gif

而OpenAI的这个ADM-G模型,则是在此基础上向图像生成任务中加入了类别条件,形成了一种独特的消融扩散模型。

研究人员分别从以下几个方面做了改进:

基本架构

基于UNet结构做了五点改进:

  • 在保持模型大小不变的前提下,增加深度与宽度

  • 增加注意头(Attention Head)数量

  • 在32×32、16×16和8×8的分辨率下都使用注意力机制

  • 使用BigGAN残差块对激活函数进行上采样和下采样

  • 将残差连接(Residual Connections)缩小为原来的1/根号2

19cc0ba29eb30ae39d5ba33cebb188d6.png

类别引导(Classifier Guidance)

在噪声逐步转换到信号的过程中,研究人员引入了一个预先训练好的分类网络。

它能够为中间生成图像预测并得到一个标签,也就是可以对生成的图片进行分类。

之后,再基于分类分数和目标类别之间的交叉熵损失计算梯度,用梯度引导下一步的生成采样。

缩放分类梯度(Scaling Classifier Gradients)

按超参数缩放分类网络梯度,以此来控制生成图像的多样性和精度。

比如像这样,左边是1.0规模大小的分类网络,右边是10.0大小的分类网络,可以看到,右边的生成图像明显类别更加一致:

17f3a1b2b0351d4c5ad0bfe67574422a.png

也就是说,分类网络梯度越高,类别就越一致,精度也越高,而同时多样性也会变小。

生成领域的新热点

目前,这一模型在GitHub上已有近千标星:

cf72e5288d2dda92a7fee72ab109c16e.png

而与GAN比起来,扩散模型生成的图像还更多样、更复杂。

基于同样的训练数据集时,扩散模型可以生成拥有全景、局部特写、不同角度的图像:

2fe8d64b8d6333ac5e7c51f4116095b2.png左:BigGAN-deep 右:ADM

其实,自2020年谷歌发表DDPM后,扩散模型就逐渐成为了生成领域的一个新热点,

除了文章中提到的OpenAI的两篇论文之外,还有Semantic Guidence Diffusion、Classifier-Free Diffusion Guidence等多个基于扩散模型设计的生成模型。

扩散模型接下来还会在视觉任务上有哪些新的应用呢,我们来年再看。

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

开源链接:
https://github.com/openai/guided-diffusion

参考链接:
[1]https://www.casualganpapers.com/guided_diffusion_langevin_dynamics_classifier_guidance/Guided-Diffusion-explained.html
[2]https://www.reddit.com/r/MachineLearning/comments/rq1cnm/d_diffusion_models_beat_gans_on_image_synthesis/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图像生成王者不是GAN?扩散模型最近有点火:靠加入类别条件,效果直达SOTA 的相关文章

随机推荐

  • 华为机试练习(二)二叉树遍历

    题目描述 给定一棵二叉树的前序遍历和中序遍历 求其后序遍历 输入 两个字符串 其长度n均小于等于26 第一行为前序遍历 第二行为中序遍历 二叉树中的结点名称以大写字母表示 A B C 最多26个结点 输出 输入样例可能有多组 对于每组测试样
  • NodeJs模块化

    目录 一 导入模块 二 模块暴露数据 三 注意事项 一 导入模块 在模块中使用 require 传入文件路径即可引入文件 const test require me js 案例 在func js中定义一个函数 在index js使用该函数
  • kube-flannel.yml

    flannel作为k8s的集群中常用的网络组件 其yml文件的获取 建议去github中获取 具体的获取方式如下 apiVersion policy v1beta1 kind PodSecurityPolicy metadata name
  • C#实现组合优化问题算法-背包问题(附源码)

    C 实现组合优化问题算法 背包问题 附源码 背包问题是一类经典的组合优化问题 也是NP完全问题中的一种 其基本思想是 有一个容量为V的背包和n个物品 每个物品有自己的体积和价值 在保证不超过背包容量的前提下 选择某些物品装入背包 使得背包中
  • 依赖项注入

    ASP NET Core 通过依赖关系注入 DI 生成 服务 如数据库上下文 在 Program cs 中向 DI 注册 这些服务通过构造函数参数提供给需要它们的组件 在 Controllers MoviesController cs 文件
  • rsyslogd、syslog远程传输、日志存储、转存

    一 产生本地日志 1 etc resolv conf 配置文件 local0 local7是用户自定义的日志 这里我们使用local1 添加以下 local1 www admin admin log web log 配置完需要重启 rsys
  • DNS 解析一个地址的时候会返回多个 IP 吗?

    这是一个或许对你有用的社群 一对一交流 面试小册 简历优化 求职解惑 欢迎加入 芋道快速开发平台 知识星球 下面是星球提供的部分资料 项目实战 视频 从书中学 往事上 练 互联网高频面试题 面朝简历学习 春暖花开 架构 x 系统设计 摧枯拉
  • nginx php-fpm 分别安装在不同的机器(理解nginx和php-fpm)

    先起一个ubuntu的docker docker run ti name test1 ubunt 然后安装php5 fpm apt get install php5 fpm 配置fpm 允许从其他机器访问 listen 9000 默认是12
  • 树实现客户端红点系统

    树实现客户端红点系统 红点系统总览 demo 设计 代码设 引用 https zhuanlan zhihu com p 85978429 红点系统总览 如上图所示 规划红点系统的时候 我们将整个系统分为独立的三个部分 结构层 驱动层和表现层
  • C++ 循环练习第2题:输出一个整数序列中与指定数字相同的数的个数。输入包含2行:第1行为n和m,表示整数序列的长度n<=100和指定的数字;第2行为n个整数,整数之间以一个空格分开。输出为n个数中与

    C 循环练习第2题 输出一个整数序列中与指定数字相同的数的个数 输入包含2行 第1行为n和m 表示整数序列的长度n lt 100和指定的数字 第2行为n个整数 整数之间以一个空格分开 输出为n个数中与m相同的数的个数 1 题目 2 循环解决
  • 计算机网络——第4章网络层(上)

    目录 第 4 章 网络层 上 基本概念 IP地址 基本概念 IP地址结构 ABC三类IP地址 A类 B类 C类 子网地址的结构 子网掩码 无类域间路由技术CIDR CIDR地址块 CIDR地址规划方法 最长前缀匹配 IP地址相关的解题步骤
  • [Docker]使用Docker部署常见的中间件

    theme healer readable highlight xcode 本篇文章给大家介绍如何使用 Docker 部署在企业工作中常用的中间件服务 Nginx shell docker run d p 80 80 name nginx
  • C++虚函数解析

    C 中的虚函数的作用主要是实现了多态的机制 关于多态 简而言之就是 用父类型别的指针指向其子类的实例 然后通过父类的指针调用实际子类的成员函数 这种技术可以让父类的指针有 多种形态 这是一种泛型技术 所谓 泛型技术 说白了就是 试图使用不变
  • java进程的远程调试

    java进程的远程调试 一 jdb调试 mqbroker jvm参数配置 2 利用jdb idea eclipse 远程调试 同本地调试一样 二 jvisualvm jvm 监视 使用jstatd连接 nohup JAVA HOME bin
  • java读取excel方法是_【转】Java读取Excel文件的几种方法

    读取excel文件的常用开源免费方法有以下几种 JDBC ODBC Excel Driver jxl jar jcom jar poi jar 下面分别对这几种方法分别进行探讨 1 JDBC ODBC Excel Driver 这种方法是将
  • jenkins始终无法正确使用git的解决方案

    在安装jenkins后 选定git的版本 git版本需要再1 7以上才行 在jenkins中设置git的执行路径 一定要检查是否是正确的 1 error Peer certificate cannot be authenticated wi
  • MySQL分表后,如何做分页查询?

    点击关注公众号 Java干货及时送达 来源 blog csdn net joy tom article details 109857573 随着项目运行的时间越来越长 有些数据的存储也会越来越大 比如一些点击量 浏览量量 单表的数据可以到达
  • 辐射定标、辐射校正、大气校正、正射校正等相关概念

    作为初学者 容易将这几个概念搞混 为了较好地理解这几个概念 先介绍一下相关的术语 terminology DN值 Digital Number 遥感影像像元亮度值 记录地物的灰度值 无单位 是一个整数值 值大小与传感器的辐射分辨率 地物发射
  • Python学习笔记综合

    一 安装和学习建议 1 使用的2 7 2 环境变量 python的根目录 3 cmd就可以运行 执行使用 python xxx py 4 编写代码可以直接python进入代码编辑 5 exit 退出编辑环境 安装与学习建议 pycharm专
  • 图像生成王者不是GAN?扩散模型最近有点火:靠加入类别条件,效果直达SOTA

    博雯 发自 凹非寺量子位 报道 公众号 QbitAI OpenAI刚刚推出的年末新作GLIDE 又让扩散模型小火了一把 这个基于扩散模型的文本图像生成大模型参数规模更小 但生成的图像质量却更高 于是 依旧是OpenAI出品 论文标题就直接号