目录
Part 03" >Part 03
1.1 起源" >1.1 起源
1.2 发展" >1.2 发展
1.3 爆发" >1.3 爆发
2.1 前向过程" >2.1 前向过程
2.2 逆扩散过程" >2.2 逆扩散过程
2.3 训练过程" >2.3 训练过程
参考文献" >参考文献
首页 科技周边 人工智能 基于Diffusion Model的图像生成

基于Diffusion Model的图像生成

Apr 14, 2023 pm 02:58 PM
ai

Part 01

  发展历史   

1.1 起源

2015年在Deep Unsupervised Learning using Nonequilibrium Thermodynamics 这篇文章中提出,当时的生成模型比如VAE,有一个很大的难点,就是这类模型是先定义了条件分布,然后再定义变分后验去适配,最后会导致需要同时优化条件分布和变分后验,然而这是很困难的。如果我们可以定义一个简单的过程,把数据分布映射到标准高斯,“生成器”的任务就变成了简单的拟合这个过程的逆过程的每一小步,这,就是diffusion model的核心思想。然而这篇文章当时并没有掀起什么波澜。

1.2 发展

时间来到2020年,基于前人的思想,提出了DDPM模型(Denoising Diffusion Probabilistic Models),相对于基础的扩散模型,作者结合了扩散模型和去噪分数,来引导训练以及采样的过程,带来了生成图像样本适量的提升,使其在训练更简单稳定的条件下,最后的结果可以和GAN模型相当。

图片

图2-DDPM的生成结果

然而DDPM模型也并非完美无缺,由于扩散过程是一个马尔科夫链,其缺点就是需要比较大的扩散步数才可以获得比较良好的效果,这导致了样本生成很慢。

于是继DDPM之后,时间来到2021年,Song等人提出了DDIM(Denoising Diffusioin Implicit Model),其改造了DDPM的扩散过程的采样方法,将传统的马尔可夫扩散过程推广到了非马尔可夫过程,可以用更小的采样步数来加速样本生成,大大的提高了效率。

后续也有一些改进的工作,将扩散模型和传统的生成网络进行融合,比如将VAE和DM模型结合,GAN+DM的结合等等,笔者再此就不一一赘述了。

1.3 爆发

2022年,谷歌基于扩散模型推出了一款新的AI系统,可以将文字描述转为逼真图像。

图片

图3

图片

图4

由谷歌给出的原理图可以看出,输入的文本首先经过编码,然后由一个文字转图像的扩散模型转化为64*64的小图,进一步的,利用超分辨率扩散模型对小图进行处理,在进一步的迭代过程中提升图像的分辨率,得到最后的生成结果——一张1024*1024的最终图像。这个神奇的过程就像是大家使用中所感受到的一样,输入了一段文字——一只穿着红色点点高领衫,戴着蓝色方格帽子的金毛狗狗,然后程序就自动生成了上面你所看到的狗狗图片。

另一款热度颇高的现象级应用——novalAI,这本来是一个致力于AI写作的网站,基于当前火热的图像生成,它结合网络上的图片资源,训练了一个专注于二次元的图像生成模型,从效果上看已经初具人类画手的水平。

图片

图5


除了传统的输入文字从而产出图片之外,它还支持输入图片作为参考,可以让AI基于已知的图片基础上生成新的图片,一定程度上解决了AI生成结果不可控的问题。

Part 02

  原理阐述 ● 

那么,如此强大的AI技术,其工作过程到底是怎样的呢?这里我们以比较经典的DDPM模型作为例子给出简要的过程:

2.1 前向过程

前向过程是一个往图片上加噪声的过程,目的是为了构建训练样本GT。

对于给定的初始数据分布x0~q(x),我们逐步向数据分布中添加高斯噪声,这个过程有T次,每一步的结果是x1,x2,...,xt,噪声的标准差表示为,则加噪过程可以表述为:

图片

正如前文所述,这是一个马尔科夫链过程。最终会使得数据趋向于各向同性的高斯分布。

2.2 逆扩散过程

逆向过程是一个去噪的过程,如果得知图片,就可以从完全的标准高斯分布中还原出x0, 经过证明如果图片满足高斯分布且图片足够小,那么图片仍然是一个高斯分布,然后图片无法简单推断得到,所以我们利用一个参数为图片的深度学习模型去预测它,于是有:

图片

如果得知x0,则通过贝叶斯公式有:

图片


2.3 训练过程

如果对于机器学习有所了解的读者应该知道,所有模型的训练都是为了能够最优化模型的参数,从而得到靠谱的均值和方差,我们最大化模型预测分布的对数似然,即:

图片

经过一系列的推导,DDPM模型得到了最后的loss函数表达:

图片


总结一下训练的过程:

  • 1.获取输入的x0, 从1...T中随机采样一个t
  • 2.从标准高斯分布采样一个噪声图片
  • 3.计算出损失并迭代最小化损失函数

图片

图6


Part 03

  总结 ● 

扩散模型已经展示出了巨大的潜力,其相对于VAE模型不需要对准后验分布,也不需要像GAN那样训练额外的判别器,在包括计算机视觉,生物信息学,语音处理等方面都有应用,其在图像生成方面的应用,将助力于提升图像创作的效率,可能让AI生成根据条件生成若干图片,人类对其结果进行筛选和修改会是将来2D绘画领域的新的工作模式,这可能会很大程度上提升2D数字资产的生产效率。

然而伴随着AI技术的发展,总是会有一些争议,图像生成领域也不例外,除了AI技术本身的问题,如生成的图片结构错误,不合理之外,还伴随着一些法律方面的纠纷,比如AI作品本身的版权问题。技术的问题可以通过技术本身的发展来解决,我们有理由相信随着AI技术的发展,图像生成最后会达到一个很高的水平,这会消灭大部分低端的绘画相关的工作,极大的解放人类的生产力。版权问题可能还是需要政府部门对于相关产业的发展投入足够多的关注,完善相关的政策和制度,需要我们对于新兴的领域有更多的思考,从而让AI技术更好的服务于我们。

参考文献

https://www.php.cn/link/3799b2e805a7fa8b076fc020574a73b2

https://www.php.cn/link/6872937617af85db5a39a5243e858d1f

https://www.php.cn/link/831da40e5907987235ebe5616446e083

以上是基于Diffusion Model的图像生成的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何检查CentOS HDFS配置 如何检查CentOS HDFS配置 Apr 14, 2025 pm 07:21 PM

检查CentOS系统中HDFS配置的完整指南本文将指导您如何有效地检查CentOS系统上HDFS的配置和运行状态。以下步骤将帮助您全面了解HDFS的设置和运行情况。验证Hadoop环境变量:首先,确认Hadoop环境变量已正确设置。在终端执行以下命令,验证Hadoop是否已正确安装并配置:hadoopversion检查HDFS配置文件:HDFS的核心配置文件位于/etc/hadoop/conf/目录下,其中core-site.xml和hdfs-site.xml至关重要。使用

centos关机命令行 centos关机命令行 Apr 14, 2025 pm 09:12 PM

CentOS 关机命令为 shutdown,语法为 shutdown [选项] 时间 [信息]。选项包括:-h 立即停止系统;-P 关机后关电源;-r 重新启动;-t 等待时间。时间可指定为立即 (now)、分钟数 ( minutes) 或特定时间 (hh:mm)。可添加信息在系统消息中显示。

CentOS上GitLab的备份方法有哪些 CentOS上GitLab的备份方法有哪些 Apr 14, 2025 pm 05:33 PM

CentOS系统下GitLab的备份与恢复策略为了保障数据安全和可恢复性,CentOS上的GitLab提供了多种备份方法。本文将详细介绍几种常见的备份方法、配置参数以及恢复流程,帮助您建立完善的GitLab备份与恢复策略。一、手动备份利用gitlab-rakegitlab:backup:create命令即可执行手动备份。此命令会备份GitLab仓库、数据库、用户、用户组、密钥和权限等关键信息。默认备份文件存储于/var/opt/gitlab/backups目录,您可通过修改/etc/gitlab

centos安装mysql centos安装mysql Apr 14, 2025 pm 08:09 PM

在 CentOS 上安装 MySQL 涉及以下步骤:添加合适的 MySQL yum 源。执行 yum install mysql-server 命令以安装 MySQL 服务器。使用 mysql_secure_installation 命令进行安全设置,例如设置 root 用户密码。根据需要自定义 MySQL 配置文件。调整 MySQL 参数和优化数据库以提升性能。

CentOS下GitLab的日志如何查看 CentOS下GitLab的日志如何查看 Apr 14, 2025 pm 06:18 PM

CentOS系统下查看GitLab日志的完整指南本文将指导您如何查看CentOS系统中GitLab的各种日志,包括主要日志、异常日志以及其他相关日志。请注意,日志文件路径可能因GitLab版本和安装方式而异,若以下路径不存在,请检查GitLab安装目录及配置文件。一、查看GitLab主要日志使用以下命令查看GitLabRails应用程序的主要日志文件:命令:sudocat/var/log/gitlab/gitlab-rails/production.log此命令会显示produc

CentOS上PyTorch的分布式训练如何操作 CentOS上PyTorch的分布式训练如何操作 Apr 14, 2025 pm 06:36 PM

在CentOS系统上进行PyTorch分布式训练,需要按照以下步骤操作:PyTorch安装:前提是CentOS系统已安装Python和pip。根据您的CUDA版本,从PyTorch官网获取合适的安装命令。对于仅需CPU的训练,可以使用以下命令:pipinstalltorchtorchvisiontorchaudio如需GPU支持,请确保已安装对应版本的CUDA和cuDNN,并使用相应的PyTorch版本进行安装。分布式环境配置:分布式训练通常需要多台机器或单机多GPU。所

docker原理详解 docker原理详解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(UnionFS)层叠多个文件系统,只存储差异部分,节省空间并加快速度;3. 守护进程管理镜像和容器,客户端用于交互;4. Namespaces和cgroups实现容器隔离和资源限制;5. 多种网络模式支持容器互联。理解这些核心概念,才能更好地利用Docker。

CentOS上PyTorch的GPU支持情况如何 CentOS上PyTorch的GPU支持情况如何 Apr 14, 2025 pm 06:48 PM

在CentOS系统上启用PyTorchGPU加速,需要安装CUDA、cuDNN以及PyTorch的GPU版本。以下步骤将引导您完成这一过程:CUDA和cuDNN安装确定CUDA版本兼容性:使用nvidia-smi命令查看您的NVIDIA显卡支持的CUDA版本。例如,您的MX450显卡可能支持CUDA11.1或更高版本。下载并安装CUDAToolkit:访问NVIDIACUDAToolkit官网,根据您显卡支持的最高CUDA版本下载并安装相应的版本。安装cuDNN库:前

See all articles