avatar
文章
36
標籤
17
分類
4

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

極東晝寢愛好家

置顶|本站文章索引
發表於2024-07-14
生成式人工智能 Flow-based Models 笔记|Normalizing Flow 理论与实现(一):基础理论 笔记|扩散模型(一八):Flow Matching 理论详解 Diffusion Models:通用理论 笔记|扩散模型(一):DDPM 理论与实现 笔记|扩散模型(二):DDIM 理论与实现 笔记|扩散模型(三):Improved DDPM 理论与实现 笔记|扩散模型(四):Classifier Guidance 理论与实现 笔记|扩散模型(五):Classifier-Free Guidance 理论与实现 笔记|扩散模型(一七):扩散模型中的 Velocity Prediction Diffusion Models:文生图 笔记|扩散模型(六):DALL-E 理论与实现|自回归文生图 笔记|扩散模型(七):Latent Diffusion Models(Stable Diffusion)理论与实现 笔记|扩散模型(八):DALL-E 2 (unCLIP) 理论与实现 笔记|扩散模型(九):Imagen 理论与实现 笔记|扩散模型(一〇):Dreamboo ...
开发记录|基于 CogVideoX 实现 DDIM Inversion
發表於2025-02-20|Techniques
近期正在基于 CogVideoX 实现一些视频编辑相关的功能,然而在尝试的时候发现了一个比较奇怪的问题:CogVideoX 无法直接使用和 Stable Diffusion 类似的方式实现 DDIM Inversion。 使用 DDIM 对扩散模型进行采样时,会形成一条「轨迹」。DDIM Inversion 就是从一条现有的视频出发,沿着这条轨迹逆向返回得到最初的噪声的过程。由于 DDIM 采样是确定性的过程,所以从这个得到的噪声出发再重新进行采样,应当能够得到原始视频;如果在采样过程中改变一些控制条件(例如修改视频描述)就可以实现对原始视频的编辑。 为了在 CogVideoX 上实现 DDIM Inversion,最初我的实现大概是这样: 123456789101112131415pipeline = CogVideoXPipeline.from_pretrained(model_path)original_scheduler = pipeline.schedulerinverse_scheduler = DDIMInverseScheduler(**original_schedul ...
笔记|扩散模型(一八):Flow Matching 理论详解
發表於2024-09-20|Notes
论文链接:Flow Matching for Generative Modeling 在 Stable Diffusion 3 中,模型是通过 Flow Matching 的方法训练的。从这个方法的名字来看,就知道它和 Flow-based Model 有比较强的关联,因此在正式开始介绍这个方法之前先交代一些 Flow-based Model 相关的背景知识。 Flow-based Models Normalizing Flow Normalizing Flow 是一种基于变换对概率分布进行建模的模型,其通过一系列离散且可逆的变换实现任意分布与先验分布(例如标准高斯分布)之间的相互转换。在 Normalizing Flow 训练完成后,就可以直接从高斯分布中进行采样,并通过逆变换得到原始分布中的样本,实现生成的过程。(有关 Normalizing Flow 的详细理论介绍可以移步我的这篇文章观看) 从这个角度看,Normalizing Flow 和 Diffusion Model 是有一些相通的,其做法的对比如下表所示。从表中可以看到,两者大致的过程是非常类似的,尽管依然有些地方不 ...
笔记|扩散模型(一七):扩散模型中的 Velocity Prediction
發表於2024-09-19|Notes
论文链接:Progressive Distillation for Fast Sampling of Diffusion Models 近期在研究 Rectified Flow 时发现 diffusers 中一个相关的 PR(#5397)训练用到了 Velocity Prediction,回想起之前某次面试还被问到了这个问题,决定来学习一下这究竟是什么东西。 对 CompVis 实现的 Stable Diffusion 代码比较熟悉的读者应该或多或少都在 scheduler 中读到过这样一段代码: 123456if self.parameterization == "eps": target = noiseelif self.parameterization == "x0": target = x_startelif self.parameterization == "v": target = self.get_v(x_start, noise, t) 这是在计算损失时,也就是 p_loss 函数中的几种 ...
笔记|扩散模型(一六):CogVideoX 论文解读|文生视频扩散模型
發表於2024-09-11|Notes
CogVideoX 是智谱近期发布的视频生成模型,和上一个工作 CogVideo 不同,这个方法是基于扩散模型实现的。从框架图来看,感觉 CogVideoX 同时吸取了 Sora 和 Stable Diffusion 3 的优势,不仅使用了 3D VAE,还引入了双路 DiT 的架构。 具体来说,CogVideoX 主要进行了以下几个方面的工作: 使用 3D VAE 编码视频,有效地压缩视频维度、保证视频的连续性; 引入双路 DiT 分别对文本和视频进行编码,并用 3D attention 进行信息交换; 开发了一个视频标注的 pipeline,用于对视频给出准确的文本标注; 提出了一种渐进式训练方法和一种均匀采样方法。 CogVideoX CogVideoX 的整体架构如下图所示,文本和视频分别经过文本编码器(这里是 T5)和 3D VAE 编码后输入主干网络。文本和视频分别经过一条支路,并在注意力部分进行交互。 3D Causal VAE 由于视频相比图像多了时序信息,所以需要对多出来的时间维度进行处理。先前的视频生成模型都采用 2D VAE,这样会导致生成的视频在时间上连续 ...
笔记|扩散模型(一五):CogVideo 论文解读|文生视频大模型
發表於2024-09-10|Notes
论文链接:CogVideo: Large-scale Pretraining for Text-to-Video Generation via Transformers 官方实现:THUDM/CogVideo(由于目前的仓库里,CogVideo 相关的代码已经被替换为 CogVideoX 的代码,所以如果希望浏览 CogVideo 的代码,包含该方法代码最后一个 commit 为 5f914b7,也就是 这个链接) 和本系列中的 DALL-E 一样,虽然 CogVideo 也并非基于扩散模型的方法,但由于其后续工作 CogVideoX 是基于扩散模型的,所以这篇文章也放到扩散模型系列里。 CogVideo 是基于大规模预训练 Transformer 进行视频生成的工作,也是近期推出的 CogVideoX 的前身。相比于文生图任务,文生视频的主要难点在于两个方面:首先是数据更加稀缺,视频-文本配对数据比较少;其次是视频多了时序信息。 本模型基于文生图模型 CogView2 进行训练,在训练时使用了 5.4 M 视频-文本对数据。在训练时,文本条件是通过 in context lea ...
笔记|扩散模型(一四):Textual Inversion 理论与实现
發表於2024-08-07|Notes
论文链接:An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion 官方实现:rinongal/textual_inversion 非官方实现:huggingface/diffusers Textual Inversion 也是对 diffusion model 进行微调的主要范式之一,从标题中 An Image is Worth One Word 可以猜测,这个方法也是类似 Dreambooth 用某个特别的 text token 来表示所要生成的物体。不过和 Dreambooth 不同的是,Textual Inversion 并不是在 prompt 中插入某个修饰词来表示主体或者风格,而是直接将主体学习为一个 token。这个方法比较特别的是它并不改变原始模型的权重,而只学习了一个额外的 embedding。 Textual Inversion 现有的工作已经证明了 diffusion model 的 text embedding 空间对图像的语义信息有一 ...
笔记|扩散模型(一三):DiT|Diffusion with Transformer
發表於2024-08-05|Notes
论文链接:Scalable Diffusion Models with Transformers 官方实现:facebookresearch/DiT Transformer 在许多领域都有很不错的表现,尤其是近期大语言模型的成功证明了 scaling law 在 NLP 领域的效果。Diffusion Transformer(DiT)把 transformer 架构引入了扩散模型中,并且试图用同样的 scaling 方法提升扩散模型的效果。DiT 提出后就受到了很多后续工作的 follow,例如比较有名的视频生成方法 sora 就采取了 DiT 作为扩散模型的架构。 Diffusion Transformer 在正式开始介绍 DiT 之前,需要先了解一下 DiT 使用的扩散模型架构。DiT 使用的是 latent diffusion,VAE 采用和 Stable Diffusion 相同的 KL-f8,并且使用了 Improved DDPM(详细介绍见这个链接),同时预测噪声的均值和方差。 Patchify 由于 DiT 使用了 latent diffusion,对于 \(256 ...
笔记|扩散模型(一二):U-ViT|Diffusion with Transformer
發表於2024-08-04|Notes
论文链接:All are Worth Words: A ViT Backbone for Diffusion Models 官方实现:baofff/U-ViT 扩散模型自从被提出后,主干网络一直都是各种基于卷积的 UNet 的变体。而在其他领域,Transformer 架构则更加流行,尤其是由于 Transformer 多模态性能和缩放能力都很强,因此把 Transformer 架构用于扩散模型是很值得尝试的。这篇 U-ViT 的工作就是一个不错的尝试。 U-ViT 的设计 在开始具体的介绍之前,可以先看一下 U-ViT 整体的架构。可以看出其有几个主要的特点: 所有的元素,包括 latent、timestep、condition 等都以 token 的形式进行了 embedding; 类似于 UNet,在不同的 Transformer Block 层之间添加了长跳跃连接。 虽然理论上来说这两个点都比较简单,但作者进行了一系列实验来选择比较好的设计。 长跳跃连接的实现 将主分支和长跳跃连接分支的特征分别记为 \(h_m\) 和 \(h_s\)。作者选取了几种不同的实现方式进行 ...
笔记|扩散模型(一一):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 ...
12…4
avatar
LittleNyima
文章
36
標籤
17
分類
4
Follow Me
公告
欢迎来到 LittleNyima 的栖息地~(偶尔出没)
最新文章
开发记录|基于 CogVideoX 实现 DDIM Inversion2025-02-20
笔记|扩散模型(一八):Flow Matching 理论详解2024-09-20
笔记|扩散模型(一七):扩散模型中的 Velocity Prediction2024-09-19
笔记|扩散模型(一六):CogVideoX 论文解读|文生视频扩散模型2024-09-11
笔记|扩散模型(一五):CogVideo 论文解读|文生视频大模型2024-09-10
分類
  • Jottings3
  • Notes23
  • Techniques7
  • Tutorials2
標籤
Distributed Computing Security Genetative models Python Music theory Deep learning Linux Generavie models Generative models Normalizing flow Diffusion models Pytorch Hexo Writing Animation engine Github Actions Manimgl
歸檔
  • 二月 20251
  • 九月 20244
  • 八月 20246
  • 七月 20249
  • 六月 20243
  • 五月 20241
  • 三月 20241
  • 七月 20231
網站資訊
文章數目 :
36
本站訪客數 :
本站總訪問量 :
最後更新時間 :
©2020 - 2025 By LittleNyima
框架 Hexo|主題 Butterfly
网站封面图作者よこ。