ESC
输入关键词搜索文章
目录

关于扩散模型的思考

扩散模型的过程

扩散模型的核心思想就是先加噪,再去噪。在这个过程中,让模型学习从被破坏的信息结构中找回原始信息,从而对图片内容进行重建。

扩散模型的架构

最早是使用 UNet, 后来加上了 VAE 来提供一个潜空间。但是这里之所以要添加 VAE,是因为潜空间计算量比较小。

TODO: 为什么要添加潜空间?

后来,DiT 把其中的 UNet 换成了 ViT 模型,提升了模型的能力。

TODO: 为什么 DiT 效果比单纯的 UNet 要更好?

UNet 既然已经被去掉了,人们看 VAE 就越看越不爽了。

RAE(Representative AutoEncoder) 打响了替换 VAE 的第一枪。它们通过实验证明了,只需要提高宽度,就可以解决 ViT 取代 VAE 效果不好的问题。

TODO: RAE 介绍

条件扩散模型

条件扩散模型接收一个条件,然后指引纯噪声降噪,最终生成图像。

这里我有一些疑问:为什么要用纯噪声呢?

扩散模型的输出结果

v-pred, x-pred, $\epsilon$-pred.

最开始的扩散模型输出的是 $\epsion$,也就是噪声,但是后来,人们提出了流匹配(Flow matching)。

预测噪声,预测的是变化量 $\delta x$,预测流,预测的是速度 v。

JiT 中回归了本质:直接预测图像本身,也就是 x。

TODO: 为什么一开始大家不直接预测 x 呢?

扩散模型的损失函数

v-loss, x-loss, $\epsilon$-loss.

根据 JiT 的研究,最好的组合是 v-loss 配 x-pred.

扩散、自注意力、自回归

直觉上来说,我觉得人的思维过程更接近于扩散过程。从一个想法出发,得到一个粗略的思路,然后再慢慢打磨这个思路。

但是人在输出自己思维时,则更接近于一个自回归过程,需要串行地输出。

这两个过程都会使用到注意力。