扩散模型实战(二):扩散模型的发展

推荐阅读列表:

扩散模型实战(一):基本原理介绍

        扩散模型从最初的简单图像生成模型,逐步发展到替代原有的图像生成模型,直到如今开启 AI 作画的时代,发展速度可谓惊人。下面介绍一下2D图像生成相关的扩散模型的发展历程,具体如下:

  • 开始扩散:基础扩散模型的提出与改进;
  • 加速生成:采样器;
  • 刷新纪录:基于显式分类器引导的扩散模型;
  • 引爆网络:基于 CLIP ( Contrastive Language - Image Pretraining ,对比语言﹣图像预处理)的多模态图像生成;
  • 再次"出图":大模型的"再学习"方法﹣ DreamBooth 、 LoRA 和 ControlNet ;
  • 开启 AI 作画时代:众多商业公司提出成熟的图像生成解决方案。

1)开始扩散:基础扩散模型的提出与改进

      在图像生成领域,最早出现的扩散模型是 DDPM (于2020年提出)。DDPM 首次将"去噪"扩散概率模型应用到图像生成任务中,奠定了扩散模型在图像生成领域应用的基础,包括扩散过程定义、噪声分布假设、马尔可夫链计算、随机微分方程求解和损失函数表征等,后面涌现的众多扩散模型都是在此基础上进行了不同种类的改进。

2)加速生成:采样器

       虽然扩散模型在图像生成领域取得了一定的成果,但是由于其在图像生成阶段需要迭代多次,因此生成速度非常慢(最初版本的扩散模型的生成速度甚至长达数分钟),这也是扩散模型一直受到诟病的原因。在扩散模型中,图像生成阶段的速度和质量是由采样器控制的,因此如何在保证生成质量的前提下加快采样是一个对扩散模型而言至关重要的问题。

    论文"Score-Based Generative Modeling through Stochastic Differential Equations"证明了 DDPM 的采样过程是更普遍的随机微分方程,因此只要能够更离散化地求解该随机微分方程,就可以将1000步的采样过程缩减至50步、20步甚至更少的步数,从而极大地提高扩散模型生成图像的速度,如图2-1所示。针对如何更快地进行采样这一问题,目前已经涌现了许多优秀的求解器,如 Euler、SDE、DPM-Solver++和Karras等,这些加速采样方法也是扩散模型风靡全球至关重要的推力。

图2-1 DPM-Solver++在20步采样内实现从“一碗水果”到“一碗梨”的图像编辑

3)刷新纪录:基于显式分类器引导的扩散模型

       2021年5月以前,虽然扩散模型已经被应用到图像生成领域,但它实际上在图像生成领域并没有"大红大紫",因为早期的扩散模型在所生成图像的质量和稳定性上并不如经典的生成模型 GAN ( Generative Adversarial Network ,生成对抗网络),真正让扩散模型开始在研究领域"爆火"的原因是论文" Diffusion Models Beat GANs on Image Synthesis "的发表。OpenAl 的这篇论文贡献非常大,尤其是该文介绍了在扩散过程中如何使用显式分类器引导。

       更重要的是,这篇论文打败了图像生成领域统治多年的 GAN ,展示了扩散模型的强大潜力,使得扩散模型一举成为图像生成领域最火的模型,如图2-2所示。

图2-2 扩散模型超越GAN的图像生成示例(左图为BigGAN-deep模型的结果,右图为OpenAI扩散模型的结果)

4)引爆网络:基于 CLIP 的多模态图像生成

      CLIP 是连接文本和图像的模型,旨在将同一语义的文字和图片转换到同一个隐空间中,例如文字"一个苹果"和图片"一个苹果"。正是由于这项技术和扩散模型的结合,才引起基于文字引导的文字生成图像扩散型在图像生成领域的彻底爆发,例如 OpenAI 的 GLIDE 、 DALL - E 、 DALL -E2(基于 DALL -E2生成的图像如图2-3所示), Google 的 Imagen 以及开源的 Stable Diffusion ( Stable Diffusion v2扩散模型的主页如图2-4示)等,优秀的文字生成图像扩散模型层出不穷,给我们带来无尽的惊喜。

图2-3 基于DALL-E2生成的“拿着奶酪的猫”

图2-4 Hugging Face的Stable Diffusion v2扩散模型的主页

5)再次"出图":大模型的"再学习"方法﹣DreamBooth 、 LoRA 和 ControlNet

       自从扩散模型走上大模型之路后,重新训练一个图像生成扩散模型变得非常昂贵。面对数据和计算资源高昂的成本,个人研究者想要入场进行扩散模型的相关研究已经变得非常困难。

       但实际上,像开源的 Stable Diffusion 这样的扩散模型已经出色地学习到非常多的图像生成知识,因此不需要也没有必要重新训练类似的扩散模型。于是,许多基于现有的扩散模型进行"再学习"的技术自然而然地涌现,这也使得个人在消费级显卡上训练自己的扩散模型成为可能。DreamBooth 、 LoRA 和 ControlNet 是实现大模型"再学习"的不同方法,它们是针对不同的任务而提出的。

       DreamBooth 可以实现使用现有模型再学习到指定主体图像的功能,只要通过少量训练将主体绑定到唯一的文本标识符后,就可以通过输入文本提示语来控制自己的主体以生成不同的图像,如图2-5所示。

图2-5 使用 DreamBooth 将小狗嵌入图像中并生成不同场景下的小狗

      LoRA 可以实现使用现有模型再学习到自己指定数据集风格或人物的功能,并且还能够将其融入现有的图像生成中。Hugging Face 提供了训练 LoRA 的 UI 界面,如图2-6所示。

图2-6 Hugging Face 提供的 LoRA 训练界面

       ControlNet 可以再学习到更多模态的信息,并利用分割图、边缘图等功能更精细地控制图像的生成。第7章将对 ControlNet 进行更加细致的讲解。

6)开启 AI 作画时代:众多商业公司提出成熟的图像生成解决方案

       图像生成扩散模型"爆火"之后,缘于技术的成熟加上关注度的提高以及上手简易等,网络上的扩散模型"百花齐放",越来越多的人开始使用扩散模型来生成图像。

       众多提供成熟图像生成解决方案的公司应运而生。例如,图像生成服务提供商 Midjourney 实现了用户可以通过 Midjourney 的 Discord 频道主页(如图2-7所示)输入提示语来生成图像,也可以跟全世界的用起分享和探讨图像生成的细节。此外通过 Stability Al 公司开发的图像生成工具箱 DreamStudio (如图2-8所示),用户既可以使用提示语来编辑图像,也可以将其 SDK 嵌入自己的应用或者作为 Photoshop 播件包当然, Photoshop 也有自己的基于扩散模型的图像编辑工具库 Adobe Firefly (如图2-9所示),用户可以基于 Photoshop 传统的选区等精细控制功能来更高效地生成图像。

图2-7 Midjourmey 的 Discora 频道主页

图2-8 Stability Al公司开发的DreamStudio

图2-9 Adobe的图像编辑工具库 Adobe Firefly

       百度公司推出了文心一格 AI 创作平台(如图2-10所示),而阿里巴巴达摩院也提出了自己的通义文生图大模型等。除了头部企业以外,一些创业公司也开始崭露头角,退格网络推出的 Tiamat 图像生成工具已获多轮投资,由该工具生成的精美概念场景图像登陆上海地铁广告牌。北京毛线球科技有限公司开发的6pen Art 图像生成 APP (如图2-11所示)将图像生成带到手机端,使用户在手机上就能体验 AI 作画。

图2-10 百度公司的文心一格 AI 创作平台

图2-11 6pen Art 图像生成 APP

       众多的服务商致力于以最成熟、最简单的方式让大众能够通过输入文字或图片的方式生成想要的图像,真正开启了 AI 作画时代。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/53985.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity Image(RawImage) 实现按轴心放大缩小,序列化存储轴心信息,实现编译器窗口保存轴心

工作时分配给我的要实现的功能,写的时候遇到挺多的坑的,在此记录一下 效果 放大缩小的效果 2.编译器扩展窗口记录 实现点 1.Json序列化存储图片轴心位置, 放大倍率,放大所需要的事件 2.用了编译器扩展工具便于保存轴心信息坑点 1.Imag…

FANUC机器人SRVO-300机械手断裂故障报警原因分析及处理办法

FANUC机器人SRVO-300机械手断裂故障报警原因分析及处理办法 首先,我们查看报警说明书上的介绍: 总结:即在机械手断裂设置为无效时,机器人检测出了机械手断裂信号(不该有的信号,现在检测到了,所以报警) 使机械手断裂设定为无效/有效的具体方法:  按下示教器的MENU菜单…

弘扬“两弹一星”精神,勇攀科学技术高峰——道本科技商业大学党日活动圆满落幕

2023年8月2日,道本科技与商业大学携手举办了一场主题为“弘扬‘两弹一星’精神,勇攀科学技术高峰”的党日活动。本次活动旨在了解党领导下的中国核工业发展历程,传承和弘扬“两弹一星”精神,同时展示道本科技创新产品,…

智慧工地云平台源码,基于微服务+Java+Spring Cloud +UniApp +MySql开发

智慧工地可视化系统利用物联网、人工智能、云计算、大数据、移动互联网等新一代信息技术,通过工地中台、三维建模服务、视频AI分析服务等技术支撑,实现智慧工地高精度动态仿真,趋势分析、预测、模拟,建设智能化、标准化的智慧工地…

【雕爷学编程】MicroPython动手做(29)——物联网之SIoT

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

Web压测工具http_load原理分析

01、前言 http_load是一款测试web服务器性能的开源工具,从下面的网址可以下载到最新版本的http_load: http://www.acme.com/software/http_load/ 这个软件一直在保持着更新(不像webbench,已经是十年的老古董了。 webbench的源…

卷积神经网络【图解CNN】

文章目录 1.卷积运算2.池化3.全连接层 卷积神经网络可以看作一个函数或者黑箱,输入就是图片的像素阵列,输出就是这个图片是什么? 图片是X,那么就输出‘x’,图片是‘O’,那么就输出O; 在计算机眼中&#xff…

Python web实战之Django用户认证详解

关键词: Python Web 开发、Django、用户认证、实战案例 概要 今天来探讨一下 Django 的用户认证吧!在这篇文章中,我将为大家带来一些有关 Django 用户认证的最佳实践。 1. Django 用户认证 在开发 Web 应用程序时,用户认证是一个…

思维能力的学习

前言 在工作中,随着工作时间的增长,我们与他人的差异不是知识本身的差异,主要是思维方面的差异,所以我们需要培养自己的思维能力。 思维能力的学习 思维是一个具备内在框架和逻辑的系统工程,思维覆盖了学习、认知、问…

Java课题笔记~ Spring 概述

Spring 框架 一、Spring 概述 1、Spring 框架是什么 Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring 的核心是控制反转(IoC)和面向切面编程(AOP)。 Spring…

Detecting Everything in the Open World: Towards Universal Object Detection

1. 论文简介 论文题目《Detecting Everything in the Open World: Towards Universal Object Detection》发表情况,CVPR2023[论文地址][https://arxiv.org/pdf/2303.11749.pdf][代码地址][https://github.com/zhenyuw16/UniDetector] 2.背景与摘要 本文旨在解决通…

Pytorch入门学习——快速搭建神经网络、优化器、梯度计算

我的代码可以在我的Github找到 GIthub地址 https://github.com/QinghongShao-sqh/Pytorch_Study 因为最近有同学问我如何Nerf入门,这里就简单给出一些我的建议: (1)基本的pytorch,机器学习,深度学习知识&a…