avatar
文章
37
標籤
19
分類
4

首頁
歸檔
標籤
分類
友鏈
開往
極東晝寢愛好家
首頁
歸檔
標籤
分類
友鏈
開往

極東晝寢愛好家

笔记|扩散模型(一一):Stable Diffusion XL 理论与实现
發表於2024-08-02|Notes
论文链接:SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis 官方实现:Stability-AI/generative-models 非官方实现:huggingface/diffusers Stable Diffusion XL (SDXL) 是 Stablility AI 对 Stable Diffusion 进行改进的工作,主要通过一些工程化的手段提高了 SD 模型的生成能力。相比于 Stable Diffusion,SDXL 对模型架构、条件注入、训练策略等都进行了优化,并且还引入了一个额外的 refiner,用于对生成图像进行超分,得到高分辨率图像。 Stable Diffusion XL 模型架构改进 SDXL 对模型的 VAE、UNet 和 text encoder 都进行了改进,下面依次介绍一下。 VAE 相比于 Stable Diffusion,SDXL 对 VAE 模型进行了重新训练,训练时使用了更大的 batchsize(256,Stable Diffusion ...
笔记|LoRA 理论与实现|大模型轻量级微调
發表於2024-08-01|Notes
论文链接:LoRA: Low-Rank Adaptation of Large Language Models 官方实现:microsoft/LoRA 非官方实现:huggingface/peft、huggingface/diffusers 这篇文章要介绍的是一种大模型/扩散模型的微调方法,叫做低秩适应(也就是 Low-Rank Adaptation,LoRA)。经常使用 stable diffusion webui 的读者应该对这个名词非常熟悉,通过给扩散模型加载不同的 lora,可以让扩散模型生成出不同风格的图像。现在也已经有很多平台(例如 civitai、tensorart 等)可以下载现成的 lora,可以看出 LoRA 的影响力还是比较大的。 LoRA 作为一种高效的参数微调(Parameter-Efficient Fine-Tuning,PEFT)方法,最初是被用来微调 LLM 的,后来也被用来微调扩散模型。这种方法的主要思想是固定住预训练模型的参数,同时引入额外的可训练低秩分解模块,只训练额外引入的这部分参数,从而大大减小模型的微调成本。 与其他的 Peft 方法相比 ...
笔记|扩散模型(一〇):Dreambooth 理论与实现|主题驱动生成
發表於2024-08-01|Notes
论文链接:DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation 项目主页:https://dreambooth.github.io/ 非官方实现:huggingface/diffusers、XavierXiao/Dreambooth-Stable-Diffusion 时隔快两周继续更新一下 AIGC 系列的学习笔记,这篇文章算是比较火的一个工作,而且很多 AI 照相馆应用的背后也是这个算法。这一算法关注的任务是主题驱动生成,也就是给定某个特定物体(或者某个人或动物)的几张图像对模型进行微调,微调后就能生成该主题在各种场景、姿态下的图像。具体效果如下图所示,给出几张柯基的照片对模型进行微调,模型就能生成这只小狗的各种图像。 Dreambooth Dreambooth 这个方法使用的依然是基础的文生图扩散模型,不过对这类模型进行了「个性化」。具体来说就是用给出的几张图像以及设计好的 prompt 对原始模型进行微调。微调的主要目的是把要生成的目标植入到输出 domain ...
笔记|扩散模型(九):Imagen 理论与实现
發表於2024-07-20|Notes
论文链接:Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding 非官方实现:lucidrains/imagen-pytorch Imagen 是 Google Research 的文生图工作,这个工作并没有沿用 Stable Diffusion 的架构,而是级联了一系列普通的 DDPM 模型。其主要的贡献有以下几个方面: 使用比较大的文本模型进行文本嵌入,可以获得比使用 CLIP 更好的文本理解能力; 在采样阶段引入了一种动态阈值的方法,可以利用更高的 guidance scale 来生成更真实、细节更丰富的图像(这里的阈值是控制 \(\mathbf{x}\) 的范围); 改良了 UNet,提出 Efficient UNet,使模型更简单、收敛更快、内存消耗更少。 该模型的架构如下图所示,可以看到使用了一个条件生成的 diffusion 模型以及两个超分辨率模型,每个模型都以文本模型的 embedding 作为条件,先生成一个 64 分辨率的图像,然后逐步超分辨率到 1024 ...
笔记|扩散模型(八):DALL-E 2 (unCLIP) 理论与实现
發表於2024-07-19|Notes
论文链接:Hierarchical Text-Conditional Image Generation with CLIP Latents 非官方实现:lucidrains/DALLE2-pytorch DALL-E 2 是一个比较经典的文生图模型,虽然和 Stable Diffusion 的架构有些区别,但是也利用了 CLIP 的文本-图像对齐能力实现了用文本作为条件进行图像生成。由于 CLIP 是输入文本和图像获得相应的特征,而 DALL-E 2 是将输入的文本转化为特征再转换为图像,相当于把 CLIP 中的图像编码器反转了过来,所以这个方法也被称为 unCLIP。这个模型主要由三个部分组成: CLIP 模型:负责将条件文本转换到文本-图像的统一特征空间中; prior 模型:将文本特征转换为图像特征,用于后续的图像生成; decoer 模型:将从 prior 获得的图像特征转换为具体的生成图像,相当于反转了 CLIP 中的图像 encoder。 模型的架构图如下图所示,虚线的上方是 CLIP 模型,下方是 prior 和 decoder 模型。 DALL-E 2 的训练 ...
笔记|扩散模型(七):Latent Diffusion Models(Stable Diffusion)理论与实现
發表於2024-07-16|Notes
论文链接:High-Resolution Image Synthesis with Latent Diffusion Models 官方实现:CompVis/latent-diffusion、CompVis/stable-diffusion 这一篇文章的内容是 Latent Diffusion Models(LDM),也就是大名鼎鼎的 Stable Diffusion。先前的扩散模型一直面临的比较大的问题是采样空间太大,学习的噪声维度和图像的维度是相同的。当进行高分辨率图像生成时,需要的计算资源会急剧增加,虽然 DDIM 等工作已经对此有所改善,但效果依然有限。Stable Diffusion 的方法非常巧妙,其把扩散过程转换到了低维度的隐空间中,解决了这个问题。 方法介绍 本方法的整体结构如下图所示,主要分为三部分:最左侧的红框对应于感知图像压缩,中间的绿框对应 Latent Diffusion Models,右侧的白框表示生成条件,下面将分别介绍这三个部分。 感知图像压缩 LDM 把图像生成过程从原始的图像像素空间转换到了一个隐空间,具体来说,对于一个维度为 \(\mathb ...
笔记|扩散模型(六):DALL-E 理论与实现|自回归文生图
發表於2024-07-14|Notes
论文链接:Zero-Shot Text-to-Image Generation 官方实现:openai/DALL-E 非官方实现:kuprel/min-dalle、lucidrains/DALLE-pytorch 虽然 DALL-E 并不是基于扩散模型的方法,但是因为它的后续工作 DALL-E 2 和 DALL-E 3 都是基于扩散模型的,所以这个方法也放到扩散模型系列里。 DALL-E 是 OpenAI 比较早期的文生图模型,和一些早期的多模态方法的做法类似,其主要的思想是将图像的 token 和文本的 token 当作同一个序列输入 Transformer,利用自回归生成能力进行图像生成。除了使用 Transformer 进行生成之外,由于图像的像素数量相比文本 token 来说过多,因此需要将图像也预先进行 tokenization,这里使用的模型是 VQ-VAE(也就是 dVAE);为了优先输出生成质量比较高的结果,这里使用 CLIP 对结果的质量进行了排序。总结来说,DALL-E 共包括三个部分: Transformer:用来进行自回归生成; VQ-VAE:将图像 t ...
笔记|扩散模型(五):Classifier-Free Guidance 理论与实现
發表於2024-07-12|Notes
论文链接:Classifier-Free Diffusion Guidance 上一篇文章我们学习了 Classifier Guidance,这种方法通过引入一个额外的分类器,使用梯度引导的方式成功地实现了条件生成。虽然 Classifier Guidance 可以直接复用训练好的 diffusion models,不过这种方法的问题是很明显的,首先需要额外训练一个分类器,而且这个分类器不仅仅分类一般的图像,还需要分类加噪后的图像,这会给方法带来比较大的额外开销;其次分类器训练完成后类别就固定下来了,如果希望生成新的类别就需要重新训练分类器。这篇文章学习的 Classifier-Free Guidance 则可以比较好地解决这些问题。 Classifier-Free Guidance 在 Classifier Guidance 中,从条件概率 \(p(\mathbf{x}_t|y)\) 出发,利用贝叶斯公式和 score function 推导出了以下公式,在下面的公式中,等号右侧的第一项已知,第二项则需要引入分类器进行计算。 \[ \nabla_{\mathbf{x}_t}\lo ...
笔记|扩散模型(四):Classifier Guidance 理论与实现
發表於2024-07-10|Notes
论文链接:Diffusion Models Beat GANs on Image Synthesis 在前边的几篇文章中我们已经学习了 DDPM 以及分别对其训练和采样过程进行改进的工作,不过这些方法都只能进行无条件生成,而无法对生成过程进行控制。我们这次学习的不再是无条件生成,而是通过一定方式对生成过程进行控制,比较常见的有两种:Classifier Guidance 与 Classifier-Free Guidance,本文首先介绍第一种。 一些工作背景 实际上 Classifier Guidance 是上边给出的论文工作中的一部分,虽然 Improved DDPM 已经比较有效地提升了 DDPM 的生成效果,但在一些大数据集上的效果仍然不如当时主流的生成模型 GAN。因此 OpenAI 在 Improved DDPM 的基础上继续进行了一些改进,主要是一些工程上的改进: 在模型的尺寸基本不变的前提下,提升模型的深度与宽度之比,相当于使用更深的模型; 增加多头注意力中 head 的数量; 使用多分辨率 attention,即 32x32、16x16 和 8x8,而不是只在 1 ...
笔记|Score-based Generative Models(二):基于 SDE 的模型
發表於2024-07-05|Notes
上一篇文章中我们介绍了 score-based model 的基本概念,包括其如何对分布进行建模、如何从建模的分布中进行采样以及通过对分布进行扰动提高其建模精度的方式。在这篇文章中我们将介绍的是如何使用随机微分方程(也就是 SDE)进行 score-based 建模。 随机微分方程简介 首先我们先介绍一些随机微分方程的基本知识以便理解。 我们首先举一个常微分方程(ODE)的例子,例如下面的一个常微分方程: \[ \frac{\mathrm{d}\mathbf{x}}{\mathrm{d}t}=\mathbf{f}(\mathbf{x},t)\quad\mathrm{or}\quad\mathrm{d}\mathbf{x}=\mathbf{f}(\mathbf{x},t)\mathrm{d}t \] 其中的 \(\mathbf{f}(\mathbf{x},t)\) 是一个关于 \(\mathbf{x}\) 和 \(t\) 的函数,其描述了 \(\mathrm{x}\) 随时间的变化趋势,如下面图中的左图所示。直观地说,\(\mathbf{f}(\mathbf{x},t)\) 对应于图中的 ...
1234
avatar
LittleNyima
文章
37
標籤
19
分類
4
Follow Me
公告
欢迎来到 LittleNyima 的栖息地~(偶尔出没)
最新文章
技术相关|使用 Certbot 为通配符域名签发 SSL 证书2025-05-26
开发记录|基于 CogVideoX 实现 DDIM Inversion2025-02-20
笔记|扩散模型(一八):Flow Matching 理论详解2024-09-20
笔记|扩散模型(一七):扩散模型中的 Velocity Prediction2024-09-19
笔记|扩散模型(一六):CogVideoX 论文解读|文生视频扩散模型2024-09-11
分類
  • Jottings3
  • Notes23
  • Techniques8
  • Tutorials2
標籤
Hexo Animation engine SSL Music theory Diffusion models Python Generavie models Generative models Distributed Computing Security Deep learning Github Actions Genetative models Manimgl Normalizing flow Linux Pytorch Writing Certbot
歸檔
  • 五月 20251
  • 二月 20251
  • 九月 20244
  • 八月 20246
  • 七月 20249
  • 六月 20243
  • 五月 20241
  • 三月 20241
網站資訊
文章數目 :
37
本站訪客數 :
本站總訪問量 :
最後更新時間 :
©2020 - 2025 By LittleNyima
框架 Hexo|主題 Butterfly
网站封面图作者よこ。