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

推荐阅读列表:

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

        扩散模型从最初的简单图像生成模型,逐步发展到替代原有的图像生成模型,直到如今开启 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 作画时代。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

blender基础认识(选项开关、工具栏、视图等)

文章目录 引言一、大纲选项开关和保存启动文件1. 大纲选项1. 禁用选中2. 视图影藏3. 视图禁用4. 渲染禁用 2. 保存启动文件 二、工具栏和侧边栏1. 左侧工具栏2. 右侧工具栏 三、视图1. 视角2. 缩放3. 拖拽4. 摄像机视角5. 切换正交视图6. 局部视图7. 显示隐藏 四、添加删除物体…

2023/8/5总结

主要实现了: 举报: 内容管理搜索的实现 管理员界面 还有消息没写,以及一些小细节

插入排序【Java算法】

文章目录 1. 概念2. 思路3. 代码实现 1. 概念 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。 插入排序非常类似于整扑克牌。在开始摸牌时,左手是空的,牌面朝下放在桌上。接着&a…

程序员副业指南:怎样实现年入10w+的目标?

大家好,这里是程序员晚枫,全网同名。 今天给大家分享一个大家都感兴趣的话题:程序员可以做什么副业,年入十万? 01 推荐 程序员可以从事以下副业,以获得一年收入10w: 兼职编程:可…

数学知识(二)

一、裴蜀定理 对于任意整数a,b&#xff0c;一定存在非零整数x,y&#xff0c;使得 ax by gcd(a,b) #include<iostream> #include<algorithm>using namespace std;int exgcd(int a,int b,int &x,int &y) {if(!b){x 1,y 0;return a;}int d exgcd(b,a %…

铰接式车辆的横向动力学仿真提供车辆模型研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【Opencv入门到项目实战】(四):图像梯度计算|Sobel算子|Scharr算子|Laplacian算子

文章目录 0.引言1. Sobel算子2. Scharr算子3. Laplacian算子 0.引言 在图像处理中&#xff0c;梯度是指图像中像素灰度变化的速率或幅度&#xff0c;我们先来看下面这张图 假设我们想要计算出A点的梯度&#xff0c;我们可以发现A点位于边缘点&#xff0c;A点左边为黑色&#x…

74. 搜索二维矩阵

题目链接&#xff1a;力扣 解题思路&#xff1a;因为矩阵整体上是有序的&#xff0c;所以可以先二分查找target在哪一行中&#xff0c;然后再次二分查找target在当前行的哪一列中。 具体算法如下&#xff1a; 对行使用二分查找&#xff1a; 初始值&#xff1a; int m matrix…

Mr. Cappuccino的第55杯咖啡——Mybatis一级缓存二级缓存

Mybatis一级缓存&二级缓存 概述一级缓存特点演示前准备效果演示在同一个SqlSession中在不同的SqlSession中 源代码怎么禁止使用一级缓存一级缓存在什么情况下会被清除 二级缓存特点演示前准备效果演示在不同的SqlSession中 源代码怎么关闭二级缓存 一级缓存&#xff08;Spr…

ad+硬件每日学习十个知识点(18)23.7.29 (LDO原理、LDO的补偿引脚)

文章目录 1.LDO名字介绍2.LDO的应用范围3.LDO的原理4.LDO输出端和输入端的差值至少满足多少V&#xff1f;怎么计算的&#xff1f;5.输出的误差和输出电流&#x1f446;&#xff08;右下角图像&#xff09;6.LDO一般会有个引脚是做补偿之用&#xff0c;datasheet会说明一个器件的…

C++20 协程(coroutine)入门

文章目录 C20 协程&#xff08;coroutine&#xff09;入门什么是协程无栈协程和有栈协程有栈协程的例子例 1例 2 对称协程与非对称协程无栈协程的模型无栈协程的调度器朴素的单线程调度器让协程学会等待Python 中的异步函数可等待对象M:N 调度器——C# 中的异步函数 小结 C20 中…

如何在 Ubuntu 上部署 ONLYOFFICE 协作空间社区版?

ONLYOFFICE 协作空间是一个在线协作平台&#xff0c;帮助您更好地与客户、业务合作伙伴、承包商及第三方进行文档协作。今天我们来介绍一下&#xff0c;如何在 Ubuntu 上安装协作空间的自托管版。 ONLYOFFICE 协作空间主要功能 使用 ONLYOFFICE 协作空间&#xff0c;您可以&am…

安全文件传输的重要性及其对企业的影响

在当今的信息时代&#xff0c;企业之间的文件传输已经成为日常工作的重要组成部分。无论是在商务合作、人力资源还是财务审计等方面&#xff0c;文件传输都发挥着关键的作用。然而&#xff0c;随着网络技术的发展&#xff0c;网络安全问题也日益突出&#xff0c;泄漏、篡改、丢…

复习之selinux的管理

一、什么是selinux? SELinux&#xff0c;Security Enhanced Linux 的缩写&#xff0c;也就是安全强化的 Linux&#xff0c;是由美国国家安全局&#xff08;NSA&#xff09;联合其他安全机构&#xff08;比如 SCC 公司&#xff09;共同开发的&#xff0c;旨在增强传统 Linux 操…

Jmeter 压测工具使用手册[详细]

1. jemter 简介 jmeter 是 apache 公司基于 java 开发的一款开源压力测试工具&#xff0c;体积小&#xff0c;功能全&#xff0c;使用方便&#xff0c;是一个比较轻量级的测试工具&#xff0c;使用起来非常简 单。因为 jmeter 是 java 开发的&#xff0c;所以运行的时候必须先…

paddlenlp:社交网络中多模态虚假媒体内容核查

初赛之环境配置篇 一、背景二、任务三、数据集1、初赛阶段2、评分标准 四、环境操作五、写在最后 一、背景 随着新媒体时代信息媒介的多元化发展&#xff0c;各种内容大量活跃在媒体内中&#xff0c;与此同时各类虚假信息也充斥着社交媒体&#xff0c;影响着公众的判断和决策。…

vue3—SCSS的安装、配置与使用

SCSS 安装 使用npm安装scss&#xff1a; npm install sass sass-loader --save-dev 配置 配置到全局 &#x1f31f;附赠代码&#x1f31f; css: {preprocessorOptions: {scss: {additionalData:import "./src/Function/Easy_I_Function/Echarts/ToSeeEcharts/utill.…

防火墙规则分析管理

防火墙规则在高效的网络安全管理中起着至关重要的作用&#xff0c;在添加规则之前&#xff0c;确保提议的新规则不会对网络产生负面影响至关重要。 通过防火墙规则影响分析&#xff0c;安全管理员可以详细了解添加新规则的可能影响&#xff0c;防火墙规则影响分析的一个重要方…