深入浅出理解 AI 生图模型

目录

引言

一、Stable Diffusion原理

首先

随后

最后

二、DDPM模型

1 资料

2 原理

扩散过程

反向过程

3 公式结论

三、优缺点

优点:

缺点:

四、改进与完事

LDM代表作

原理概括

 Latent Space(潜空间)

五、总结


引言

众所周知,视频是图片连起来快速播放的,所以Stable Diffusion可能是sora参考的重要模型之一。
随着深度学习和生成模型的发展,扩散模型在生成领域也取得了显著进步。这类扩散模型通常分为扩散过程和逆扩散过程。

扩散过程是对数据(如图像)逐步加入噪声,而逆扩散过程则是从噪声中逐渐消除噪声以生成数据。这类模型在图像生成、文本到图像的转换等领域有广泛应用,如DALL-E 2和Stable Diffusion等。

Stable Diffusion(稳定扩散)严格说来它是一个由几个组件(模型)构成的系统,而非单独的一个模型。

一、Stable Diffusion原理

首先

用户输入的Prompt会被Text Encoder(文本编译器)处理,转化为一系列词特征向量。这一步骤会生成77个长度相同的向量,每个向量都包含768个维度。这些向量实际上是将文本信息转化为机器能够理解和处理的数字序列。

随后

这些特征向量会与一张随机图(可视为充满电子雪花或信息噪声的图像)一同输入到Image Information Creator中。在此环节,机器首先将这些特征向量和随机图转换至Latent Space(潜空间)。接着,根据这些特征向量的指引,机器会对随机图进行“降噪”处理,生成一个“中间产物”。这个中间产物虽然对人类而言是难以理解的数字图像,但它已经蕴含了用户Prompt中描述的信息。

最后

这个中间产物会经过Image Decoder(图片解码器)的处理,转化为一张真实可见的图片。

这个过程中,扩散模型功不可没,今天主要讲讲扩散模型的代表DDPM

二、DDPM模型

1 资料

  1. 代表之作:Denoising Diffusion Probabilistic Models(https://arxiv.org/abs/2006.11239)
  2. 官方代码:https://github.com/hojonathanho/diffusion

2 原理

DDPM模型通常指的是去噪扩散概率模型(Denoising Diffusion Probabilistic Models)

扩散过程

在扩散过程中,一张图片会逐渐添加高斯噪声,直至其变成随机噪声。

反向过程

而反向过程则是一个去噪过程,它根据扩散过程中学习到的图片风格,对随机噪声进行去噪,最终生成一张与学到的风格相同的图片。

DDPM模型的本质作用是学习训练数据的分布,从而生成尽可能符合训练数据分布的真实图片。6b82cc92220c40beb28a4405b6e88337.png

 (上图,为其马尔可夫链)

3 公式结论

164f7f97562a4485ae2823ebb288127c.png

 想看推导过程的可以看原论文Denoising Diffusion Probabilistic Models

三、优缺点

DDPM模型(深度确定性策略梯度模型)在强化学习领域具有其独特的优点和缺点。下面是对其优缺点的简要分析:

优点:

  1. 高效的动作采样:相较于其他强化学习方法(如基于采样的策略梯度方法),DDPM采用了确定性策略,这意味着在给定状态下,动作是唯一的,不需要进行采样。这大大减少了计算量,提高了训练效率。
  2. 稳定的训练过程:DDPM通过引入目标网络和软更新机制,使得训练过程更加稳定。这有助于避免训练过程中的震荡和发散,使得模型更容易收敛到好的解。
  3. 良好的性能:在连续动作空间的强化学习任务中,DDPM通常能够表现出良好的性能。它能够有效地处理复杂的状态空间和动作空间,从而解决一系列具有挑战性的任务。

缺点:

  1. 对超参数敏感:DDPM的性能在很大程度上取决于超参数的选择,如学习率、折扣因子等。不合适的超参数可能导致模型训练不稳定或性能不佳。因此,在实际应用中,需要进行大量的超参数调优。
  2. 难以处理高维输入:当状态空间或动作空间维度较高时,DDPM可能会面临挑战。高维输入可能导致模型复杂度增加,训练难度加大,甚至可能引发过拟合等问题。
  3. 对噪声敏感:由于DDPM采用确定性策略,它可能对输入中的噪声较为敏感。在实际应用中,如果状态表示或奖励函数存在噪声,可能会影响模型的稳定性和性能。

需要注意的是,以上优缺点是基于一般情况的总结,具体表现可能因任务和数据集的不同而有所差异。在实际应用中,应根据具体情况选择合适的模型和方法。

四、改进与完事

然后我又看到了这篇

LDM代表作

High-Resolution Image Synthesis with Latent Diffusion Models

https://arxiv.org/abs/2112.10752

原理概括

为了降低训练扩散模型的算力,LDMs使用一个Autoencoder去学习能尽量表达原始image space的低维空间表达(latent embedding),这样可以大大减少需要的算力。

1816a0ea5ec948799a82b57ac4fea7d9.png

 Latent Space(潜空间)

这里用了潜空间,在噪声环节,机器首先将这些特征向量和随机图转换至Latent Space(潜空间)。接着,根据这些特征向量的指引,机器会对随机图进行“降噪”处理,生成一个“中间产物”。1299d62c62824d0198f91323d85b3373.png

 (以上是Wiki上的简单定义https://zh.m.wikipedia.org/zh-cn/%E6%BD%9C%E7%A9%BA%E9%97%B4_(%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0)

五、总结

AI绘画的未来发展方向看起来充满了无限可能。随着人工智能技术的不断进步,像Stable Diffusion这样的AI绘画将会更加智能化,能够更好地模仿人类艺术家的风格和技巧,使非艺术家也能创作出优秀的绘画作品。

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

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

相关文章

MC0204 世界警察

世界警察小码哥来谈判了,恐怖分子在银行挟持了 n 个人质,每个人质都所属一个国家,第 i 个人质所属的国家为 ci​,人质排成了一排,位置都是固定的。经过商讨,恐怖分子允许小码哥可以带走任意一段连续区间内的…

关于大根堆,set重载运算符

题目描述 \,\,\,\,\,\,\,\,\,\,制定合理的日程能够帮助利用好时间进行加训,加训和加训。 \,\,\,\,\,\,\,\,\,\,新学期开始了,应该好好学习了!凌晨两点整,加睡失败的你在为新一天的各项重要事件制定闹钟。 \,\,\,\,\,\,\,\,\,\, \,…

【SpringBoot】请求与响应参数 IoC与DI 总结

文章目录 ① —— 请求 ——一、简单参数 RequestParam1.1 参数与形参 命名相同1.2 参数与形参 命名不同 二、实体参数2.1 简单实体对象2.2 复杂实体对象 三、数组集合参数3.1 数组3.2 集合 RequestParam 四、日期参数 DateTimeFormat五、JSON参数 RequestBody六、路径参数 Pat…

docker镜像管理基础-3

文章目录 镜像的概念docker镜像层docker存储驱动AUFSOverlayFSDeviceMapper docker registrydocker镜像的制作Docker Hubdocker镜像的获取镜像的生成基于容器制作镜像 镜像的导入与导出 镜像的概念 镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。 docke…

代码+视频,R语言使用BOOT重抽样获取cox回归方程C-index(C指数)可信区间

bootstrap自采样目前广泛应用与统计学中,其原理很简单就是通过自身原始数据抽取一定量的样本(也就是取子集),通过对抽取的样本进行统计学分析,然后继续重新抽取样本进行分析,不断的重复这一过程N&#xff0…

Android的三种动画详解(帧动画,View动画,属性动画)

Android的三种动画详解(帧动画、View动画、属性动画)_android动画效果大全-CSDN博客 1、帧动画 缺点是:占用内存较高,播放的是一帧一帧的图片,很少使用。 顺序播放预先定义的图片,类似于播放视频。 步骤…

代码随想录阅读笔记-字符串【替换数字】

题目 给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。 例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anu…

PlayBook 详解

4)Playbook 4.1)Playbook 介绍 PlayBook 与 ad-hoc 相比,是一种完全不同的运用 Ansible 的方式,类似与 Saltstack 的 state 状态文件。ad-hoc 无法持久使用,PlayBook 可以持久使用。 PlayBook 剧本是 由一个或多个 “…

Linux之shell变量

华子目录 什么是变量?变量的名称示例 变量的类型变量的定义示例 自定义变量查看变量(自定义变量和全局变量) 环境变量定义环境变量(全局变量)法一法二法三env,printenv,export注意 C语言与shell…

upload-labs 0.1 靶机详解

下载地址https://github.com/c0ny1/upload-labs/releases Pass-01 他让我们上传一张图片,我们先尝试上传一个php文件 发现他只允许上传图片格式的文件,我们来看看源码 我们可以看到它使用js来限制我们可以上传的内容 但是我们的浏览器是可以关闭js功能的…

蓝桥杯-粘木棍-DFS

题目 思路 --有n根木棍,需要将其粘成m根木棍,并求出最小差值,可以用DFS枚举出所有情况。粘之前有n根短木棍,粘之后有m根长木棍,那么让长木棍的初始长度设为0。外循环让所有的短木棍都参与粘,内循环让要粘的…

windows 11访问Debian10上的共享目录

步骤 要在Windows 11上访问Debian 10.0.0的共享目录,可以通过以下步骤来实现: 1. 设置Samba服务:在Debian系统上,需要安装并配置Samba服务,以便能够实现文件夹共享。Samba是一个允许Linux/Unix服务器与Windows操作系…

2024年阿里云数据库价格_云数据库收费标准最新

2024年阿里云数据库价格查询,云数据库优惠活动MySQL版2核2GB 50GB配置99元一年,续费不涨价,续费也是99元1年,云数据库MySQL基础系列经济版 2核4GB 100GB配置227元1年,RDS SQL Server云数据库2核4G配置299元1年&#xf…

【CSS】Vue2使用TailwindCSS方法及相关问题

一.安装 1.npm安装TailwindCSS npm install tailwindcssnpm:tailwindcss/postcss7-compat tailwindcss/postcss7-compat postcss^7 autoprefixer^9 2.创建配置文件 npx tailwindcss init 3.创建postcss.config.js文件 // postcss.config.js module.exports {plugins: {t…

git的下载与安装

下载 首先,打开您的浏览器,并输入Git的官方网站地址 点击图标进行下载 下载页面会列出不同操作系统和平台的Git安装包。根据您的操作系统(Windows、macOS、Linux等)和位数(32位或64位),选择适…

vue使用element-ui 实现自定义分页

可以通过插槽实现自定义的分页。在layout里面进行配置。 全部代码 export default { name:Cuspage, props:{total:Number, }, data(){return {currentPage:1,pageSize:10,} } methods: {setslot (h) {return(<div class"cusPage"›<span on-click{this.toBe…

E4-R升级固件方法 RockChip 3562

芯片&#xff1a;RockChip 3562 开发板 先安装驱动&#xff1a;DriverAssitant_v5.1.1 下载工具&#xff1a;RKDevTool_v3.13_for_window 烧录完整的update.img固件 1.选择update.img 2.关机下&#xff0c;同时Update和Power进入maskrom模式。界面会显示设备 3.点击升级 …

avue-crud顶部操作按钮插槽;avue-crud列数据插槽;avue-crud行操作按钮插槽

1.avue-crud顶部操作按钮插槽&#xff1b; <template slot"menuLeft" slot-scope"{ size }"><div class"left"><div class"btn"><el-button type"primary" size"small" click"onBatchR…

新能源汽车小三电系统

小三电系统 新能源电动汽车的"小三电"系统&#xff0c;一般指车载充电机(OBC)、车载 DC/DC 变换器&#xff0c;和高压直流配电盒(PDU)。一辆纯电动汽车一般配备一台OBC 和一台车载 DC/DC 变换器。OBC将外部输入的交流电转化为直流电输出给电池&#xff0c;DC/DC衔接…

zabbix配置

1 下载zabbix 1 配置yum源 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release- 5.0-1.el7.noarch.rpm yum clean all yum makecache fast 完成后会出现zabbix.repo文件 2安装zabbix服务 yum -y install zabbix-server-mysql zabbix-web-mysql z…