🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流
🔎
📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏 - 机器学习【ML】 自然语言处理【NLP】 深度学习【DL】
🖍foreword
✔说明⇢本人讲解主要包括Python、机器学习(ML)、深度学习(DL)、自然语言处理(NLP)等内容。
如果你对这个系列感兴趣的话,可以关注订阅哟👋
文章目录
Sohl-Dickstein 等人在 2015 年发表的一篇名为“使用非平衡热力学的深度无监督学习”的开创性论文中。首先引入深度学习中的扩散模型。2019 年,Song等人再次。发表了一篇名为“通过估计数据分布梯度进行生成建模”的论文,使用相同的原理但采用不同的方法。随着 Ho 等人的论文《去噪扩散概率模型》的发表,扩散模型的实际开发和训练在 2020 年获得了动力,该论文此后广受欢迎。尽管扩散模型的出现相对较晚,但它很快就获得了关注,并且现在被认为是机器学习领域的重要组成部分。扩散模型是一类新型的深度生成模型,它打破了深度生成模型的长期统治地位。生成对抗网络(GAN)从计算机视觉、自然语言处理、时态数据建模到多模态建模等多个领域的图像合成的挑战性任务。这些模型在应对不同领域(包括计算化学和医学图像重建)的挑战和问题方面证明了其多功能性和有效性。扩散模型的工作原理是创建与训练输入相当的数据。它们的基本功能是通过连续添加高斯噪声来破坏训练数据,然后学习通过逆转该噪声过程来恢复数据。在本文中,我们将了解扩散模型的一些技术基础,首先关注它们的关键概念、图像生成技术、
什么是扩散模型?
扩散模型是一种概率生成模型,可将噪声转换为代表性数据样本。扩散模型通过向训练数据添加噪声,然后学习通过反转噪声过程来检索数据来发挥作用。扩散模型的训练涉及迭代地对输入数据进行去噪并更新模型的参数,以了解潜在的概率分布并提高生成样本的质量。扩散模型的灵感来自于热力学中观察到的气体分子从高密度区域到低密度区域的运动。物理学中熵或热增加的概念也适用于信息论中由于噪声而导致的信息丢失。通过建立一个能够理解信息系统衰减的学习模型,可以逆转该过程并从噪声中恢复数据。与 VAE 类似,扩散建模通过将数据投影到潜在空间然后将其恢复到初始状态来优化目标函数。然而,扩散模型不是学习数据分布,而是使用马尔可夫链对一系列噪声分布进行建模,并通过以分层方式消除噪声来解码数据。
扩散模型的变体
扩散模型可分为三个主要变体:去噪扩散概率模型 (DDPM)、基于分数的生成模型 (SGM) 和随机微分方程 (Score SDE)。每个公式代表了使用扩散过程建模和生成数据的独特方法。
DDPM: DDPM 模型使用两个马尔可夫链:一个将数据扰乱为噪声的正向链,以及一个将噪声转换回数据的反向链。前者通常是手工设计的,目的是将任何数据分布转换为简单的先验分布(例如标准高斯),而后者的马尔可夫链通过学习由深度神经网络参数化的转换内核来反转前者。。随后通过首先从先验分布中采样随机向量,然后通过反向马尔可夫链进行祖先采样来生成新的数据点。DDPM 通常用于消除视觉数据中的噪声。这些模型在各种图像去噪应用中都表现出了出色的结果。它们用于重新定义图像和视频处理技术,以提高视觉制作质量。
SGM:SGM 模型的关键思想是用一系列增强的高斯噪声扰动数据,并通过训练以噪声水平为条件的深度神经网络模型(称为噪声条件得分网络或 NCSN)来联合估计所有噪声数据分布的得分函数。 。样本是通过使用基于分数的采样方法(包括随机微分方程和常微分方程及其各种组合)链接降低噪声水平的分数函数来生成的。在基于分数的生成模型的制定中,训练和采样是完全解耦的,因此在估计分数函数后可以使用多种采样技术。SGM 通过学习估计目标分布的对数密度的估计得分函数,从指定分布创建新样本。该评分函数可用于产生新的分布数据点。SGM 在生成高质量图像和视频方面表现出了与 GAN 类似的能力。
SDE: DDPM 和 SGM 可以进一步推广到无限步长或噪声水平的情况,其中扰动和去噪过程是随机微分方程 (SDE) 的解。我们将此公式称为“Score SDE”,因为它利用 SDE 进行噪声扰动和样本生成,并且去噪过程需要估计噪声数据分布的得分函数。SDE 用于量子物理学中的模型波动任务,金融专业人士也使用它们来计算不同价格的金融衍生品。
扩散模型如何运作?工作迭代过程的详细概述![](https://i-blog.csdnimg.cn/blog_migrate/1be1ab33ff7e6b19284b0d80129a4f4a.png)
人工智能中扩散模型的迭代过程是其功能的一个基本方面,涉及多次迭代或步骤以生成高质量的输出。为了理解这个过程,让我们更深入地研究扩散模型的工作原理。
扩散模型是生成模型,旨在捕获给定数据集的基础分布。他们学习通过迭代地改进输出来生成类似于训练数据的新样本。该过程从初始输入或“噪声”样本开始,该样本通过模型。然后,模型应用概率变换来迭代更新样本,使其更接近所需的输出。
在每次迭代期间,扩散模型都会生成潜在变量,充当数据的中间表示。这些潜在变量捕获训练数据中存在的基本特征和模式。然后,该模型将这些潜在变量反馈到扩散模型中,使其能够进一步细化和增强生成的输出。模型和潜在变量之间的反馈循环使扩散模型能够逐步提高生成样本的质量。
迭代过程通常涉及对潜在变量应用可逆变换,这有助于维持数据分布的统计特性。通过应用这些转换,模型可以更新潜在变量,同时保留数据的关键特征。结果,生成的样本变得更加连贯、真实并且能够代表训练数据分布。
扩散模型中迭代过程的意义
扩散模型中迭代过程的重要性在于它能够生成与训练数据非常相似的高质量输出。通过多次迭代,模型学习捕获数据分布的复杂模式、依赖性和统计属性。通过迭代地细化生成的样本,扩散模型可以克服初始噪声并提高输出的保真度和准确性。
迭代过程允许扩散模型捕获训练数据中存在的细粒度细节、微妙的相关性和高阶依赖关系。通过反复更新潜在变量并细化生成的样本,模型逐渐将其输出分布与目标数据分布对齐。这种迭代细化确保生成的样本变得越来越真实并且与真实数据难以区分。
此外,迭代过程使扩散模型能够处理各种数据模式,例如图像、文本、音频等。该模型可以通过迭代调整其生成过程来学习每种模态的具体特征。这种灵活性使得扩散模型适用于各个领域的各种应用,包括图像合成、文本生成和数据增强。
迭代反馈循环是扩散模型训练和运行的重要组成部分
在训练期间,模型优化其参数以最小化损失函数,该损失函数量化生成的样本和训练数据之间的差异。训练过程中的迭代步骤使模型能够逐渐完善其生成能力,提高输出的质量和一致性。
一旦扩散模型经过训练,迭代过程仍然是其在生成阶段发挥作用的关键方面。生成新样本时,模型从初始噪声样本开始,并通过更新潜在变量迭代地对其进行细化。该模型生成高质量样本的能力依赖于迭代反馈循环,其中潜在变量指导细化过程。
总体而言,扩散模型中的迭代过程对于生成真实且高质量的输出的能力起着至关重要的作用。通过基于模型和潜在变量之间的反馈循环迭代地细化生成的样本,扩散模型可以捕获复杂的数据分布并产生与训练数据非常相似的输出。
扩散模型与 GAN
近年来,扩散模型越来越受欢迎,因为它们比 GAN 具有多种优势。最显着的优点之一是由于扩散过程的迭代性质而导致训练和生成过程的稳定性。与 GAN 不同,GAN 的生成器模型必须一步从纯噪声转变为图像,而扩散模型以更加受控和稳定的方式运行。扩散模型不是一步一步生成图像,而是使用迭代细化来逐渐提高生成的图像质量。
与 GAN 相比,扩散模型只需要一个模型来进行训练和生成,这使得它们更简单、更高效。此外,扩散模型可以处理多种数据类型,包括图像、音频和文本。这种灵活性使研究人员能够探索扩散模型的各种应用,包括文本到图像和图像修复。
扩散模型如何用于图像生成?
扩散模型旨在学习图像数据集中的底层模式和结构,然后使用这些知识生成新的合成数据样本。在图像生成的情况下,目标是学习表征一组图像的视觉模式和风格,然后使用这些知识来创建风格和内容相似的新图像。
无条件图像生成是一种生成建模,其中模型的任务是从随机噪声向量生成图像。这种方法背后的想法是,通过为模型提供随机噪声,它被迫学习数据集中所有图像中常见的模式和结构。这意味着该模型可以生成全新且独特的图像,这些图像不一定对应于数据集中的任何特定图像。
另一方面,条件图像生成涉及为模型提供指导图像生成过程的附加信息或条件变量。例如,我们可以为模型提供我们想要生成的图像的文本描述,例如“白盘上的红苹果”,或者提供一个类标签来指定我们想要生成的对象的类别,例如如“汽车”或“狗”。通过根据这些额外信息调节图像生成过程,模型可以生成根据特定要求或偏好定制的图像。例如,如果我们为模型提供文本描述“白盘上的红苹果”,它将生成与该描述相匹配的图像。这种方法在许多应用中都很有用,例如图像合成、风格转换和图像编辑。无条件和条件图像生成都是生成建模领域的重要技术。无条件图像生成允许模型创建全新且独特的图像,而条件图像生成允许模型生成根据特定要求或偏好定制的图像。
用于图像生成的扩散模型的示例
扩散模型由于能够生成高质量、多样化和逼真的图像,在图像生成任务中广受欢迎。示例包括:OpenAI 的 Dall-E 2、Google 的 Imagen、StabilityAI 的 Stable Diffusion 和 Midjourney
Dall-E 2
Dall-E 2 由 OpenAI 于 2022 年 4 月推出。它基于 OpenAI 之前在 GLIDE、CLIP 和 Dall-E 上的开创性工作,从文本描述创建原创、逼真的图像和艺术。DALL-E 2 可生成更真实、更准确的图像,分辨率提高 4 倍。
Imagen
谷歌基于扩散的图像生成算法 Imagen 利用大型 Transformer 语言模型的功能来理解文本,同时依靠扩散模型的强大功能来生成保真度极高的高质量图像。Imagen 由三个图像生成扩散模型组成:
- 用于生成 64×64 分辨率图像的扩散模型。
- 随后采用超分辨率扩散模型将图像上采样至 256×256 分辨率。
- 最后一个超分辨率模型,将图像上采样至 1024×1024 分辨率。
Stable Diffusion
Stable Diffusion由StabilityAI创建,基于 Rombach 等人提出的具有潜在扩散模型的高分辨率图像合成概念。它是此列表中唯一完全开源的基于扩散的图像生成模型。
稳定扩散的完整架构由三个模型组成:
- 接受文本提示的文本编码器 - 将文本提示转换为计算机可读的向量。
- U-Net - 这是负责生成图像的扩散模型。
- 由编码器和解码器模型组成的变分自动编码器;编码器用于减小图像尺寸。UNet 扩散模型适用于这个较小的维度。解码器负责将扩散模型生成的图像增强/重建回其原始大小。
Midjourney
Midjourney 是最近出现的众多人工智能图像生成器之一。与 DALL-E 2 或其他一些竞争对手不同,Midjourney提供了更加梦幻的艺术风格视觉效果。它可以吸引那些从事科幻文学或艺术作品、需要更多哥特式感觉的人。其他 AI 生成器更倾向于照片,而 Midjourney 则更像是一种绘画工具。它旨在提供更高的图像质量、更多样化的输出、更广泛的风格范围、对无缝纹理的支持、更宽的宽高比、更好的图像提升和动态范围。
如何训练扩散模型?
训练在扩散模型中至关重要,因为它是模型学习生成与训练数据非常相似的新样本的过程。通过优化模型参数以最大化观察数据的可能性,模型可以学习数据中的潜在模式和结构,并生成捕获相同特征的新样本。训练过程使模型能够推广到新数据,并在图像、音频或文本生成等任务上表现良好。训练过程的质量和效率会显着影响模型的性能,因此必须仔细调整超参数并应用正则化技术来防止过度拟合。
数据收集:数据收集是训练扩散模型的关键阶段。训练模型所需的数据必须准确地表示网络结构以及所有数据点之间的连接,以获得所需的结果。
数据预处理:收集数据后,必须对其进行清洗和预处理,以保证其可以用于训练扩散模型。这可能包括删除丢失或重复的数据、处理异常值或将数据转换为训练就绪的格式。
数据转换:训练扩散模型数据的下一步是数据转换。数据可以被绘制或缩放以验证所有变量具有相似的范围。使用的数据转换类型将由正在训练的扩散模型的具体需求以及数据的性质决定。
训练测试集的划分:训练集用于训练模型,测试集用于评估模型的性能。确保训练和测试集准确地代表整个数据并且不偏向特定条件至关重要。
扩散模型的比较:阈值模型、易感感染(SI)模型和独立级联模型是一些最著名的扩散模型形式。所选择的扩散模型由应用程序的特定需求决定。这些范围可能从模型的大小到网络架构的复杂性或建模的扩散类型。
选择标准:选择扩散模型进行训练时,请考虑模型的准确性、计算效率和互操作性。可能还需要评估数据的可用性以及模型集成到现有系统中的简单性。
模型超参数:影响和控制扩散模型行为的超参数由应用程序的独特需求和所使用的数据类型决定。为了保证模型发挥最佳性能,必须正确调整超参数。
建立模型参数:此阶段包括建立上一节中概述的超参数,以及所使用的扩散模型类型所需的任何其他模型参数。正确调整模型参数至关重要,以便模型能够理解数据的底层结构并避免过度拟合。
数据划分完毕,模型参数确定后,下一步就是训练模型。训练过程通常需要反复迭代训练集并根据模型在训练集上的性能调整模型参数。
扩散模型的应用
扩散模型具有多维应用,可满足游戏、建筑、室内设计、医疗保健等不同行业的需求。它们可用于生成视频、3D 模型、人体运动、修改现有图像和恢复图像。
文本到视频:扩散模型的重要应用之一是直接使用文本提示生成视频。通过将文本到图像的概念扩展到视频,人们可以使用扩散模型从故事、歌曲、诗歌等生成视频。该模型可以学习视频内容的底层模式和结构,并生成与给定匹配的视频文字提示。
文本到 3D:在论文“Dreamfusion”中,作者使用 NeRF(神经辐射场)以及经过训练的 2D 文本到图像扩散模型来执行文本到 3D 合成。该技术可用于根据文本描述生成 3D 模型,可用于建筑、室内设计和游戏等各个行业。
文本到运动:文本到运动是扩散模型的另一个令人兴奋的应用,其中模型用于生成简单的人体运动。例如,“人体动作扩散模型”可以学习人体动作,并根据文本描述生成步行、跑步、跳跃等各种动作。
图像到图像:图像到图像(Img2Img)是一种用于修改现有图像的技术。该技术可以使用文本提示将现有图像转换为目标域。例如,我们可以生成一个与现有图像内容相同但进行一些变换的新图像。文本提示提供了我们想要的转换的文本描述。
图像修复:图像修复是一种通过删除不需要的对象或用其他对象/纹理/设计替换它们来恢复图像的技术。要执行图像修复,用户首先在需要更改的对象或像素周围绘制蒙版。创建蒙版后,用户可以告诉模型应如何更改蒙版像素。在这种情况下,扩散模型可用于生成高质量图像。
图像外画:图像外画,也称为无限绘画,是扩散模型在原始图像之外添加细节的过程。该技术可用于通过利用原始图像的部分并添加新生成的像素或参考像素来扩展原始图像,以使用文本提示带来新的纹理和概念。
研究过程:扩散模型还可以应用于研究大脑过程、认知功能以及人类决策中涉及的复杂路径。通过使用扩散模型的神经基础模拟认知过程,神经科学研究人员可以深入了解潜在的工作机制。这些发现对于推进神经系统疾病的诊断和治疗具有巨大的潜力,最终改善患者的护理和福祉。
结论
扩散模型的潜力确实是巨大的,而我们只是触及了它们的皮毛。这些模式正在迅速扩张,为艺术、商业和整个社会开辟了新的机遇。然而,拥抱这项技术及其功能对于释放其全部潜力至关重要。企业需要采取行动并开始实施扩散模型,以跟上快速变化的技术格局。通过这样做,他们可以释放以前未开发的生产力和创造力水平,从而在各自的行业中获得优势。
扩散模型领域创新和进步的可能性是无限的,现在是开始探索它们的时候了。扩散模型有可能重新定义我们的生活、工作以及与技术互动的方式,我们迫不及待地想看看未来会怎样。随着我们不断突破可能的界限,我们希望本指南能够为那些希望更广泛地探索扩散模型和人工智能世界的能力的人提供宝贵的资源。