科普:从 CLIP 到扩散模型

参考:https://www.youtube.com/watch?v=iv-5mZ_9CPY

CLIP

2021 年 2 月,OpenAI 发布了名为 CLIP 的新模型架构,基于 4 亿张图像 - 标题对组成的数据集进行训练

CLIP 由两个模型组成,处理文本的 Text Encoder 和处理图像的 Image Encoder,两个模型都输出 512 维向量(Embedding),同一组数据的输出要尽可能接近

训练一个批次的时候,为了利用批次中的所有图像之间的相似性,会计算两两向量之间的相似度

对角线上的向量是匹配的图片和标题,要最大化他们的相似性

对角线之外的都是不匹配的,要最小化他们的相似性

CLIP 中的 C 表示 Contrastive,对比,因为模型学会了对比匹配和不匹配的图像 - 标题对

CLIP 只能将文本和图片转换到向量空间,无法反过来从向量生成图片

DDPM → DDIM

GPT-3 的论文发表几周后,伯克利大学的一个团队发表了 Denoising Diffusion Probabilistic Models (DDPM) 论文,该论文首次表明利用扩散过程可以生成非常高质量的图像

扩散模型的核心思想是在训练图像上逐步添加噪声,直到图像完全变成噪声,然后训练神经网络计算这个过程的逆

虽然是分步添加噪声和降噪,但模型每次的目标都是返回原始图像

在生成图像的阶段也要在每一步都添加随机的噪声,DDPM 论文借鉴了一些相当复杂的理论来得到这些算法

下面介绍一种数学书等价的方法来理解扩散模型,直观的了解 DDPM 算法为何有效

假设训练图像在向量空间的分布是一个螺旋

当我们在图像中添加随机噪声时,相当于随机改变每个像素的值,类似向量空间的图片对应的向量在随机游走,也相当于物理学中的布朗运动,也是扩散模型名称的由来。

向量空间中的每个点都是一张图像

我们的模型输入是从数据集的不同起点看到许多不同的随机漫步,我们的模型要做的是逆转时间,给定 t 时刻的位置,计算 t-1 时刻的位置

实际论文上是训练模型预测整个游走过程增加的总噪声

数学上可以证明,总噪声除以行走的步数等于最后一步的噪声

效果就是大大减少了训练过程的方差(都直接预测指向起点的噪声),让模型能更有效的学习

把坐标写成函数 f,并传入一个时间变量,和随机游走的步数相对应

==当 t 从 1 减小到某个阶段时,反向的向量场会突然从指向数据集中心(平均)改为指向数据集本身==

回到 DDPM 论文,反向扩散的每一步添加随机噪声(模型输出的位置增加随机步长,随着步数增加而减小步长),重复多次,可以收敛到数据集本身上

如果去掉随机噪声,所有的点都会迅速移动到螺旋中心,然后朝着单个内侧边缘移动,会失去整个数据集的多样性,而实际上,然而,我们的图像生成似乎并没有完全进入现实图像的流形,从而导致了模糊的非现实图像

DDPM 使扩散模型成为生成图像的一种可行方法,但扩散模型并没有立刻被广泛应用

DDPM 的关键问题在于每一步都要通过一个完整的庞大的神经网络,而且要很多步

之后,谷歌和斯坦福发表的两篇论文表示,无需要增加随机噪声,也可以能得到相同的结果

DDIM 的步长更小,从而使轨迹更好的落到螺旋分布上

提升效果

OpenAI 在 2022 年使用图像 - 标题对来训练扩散模型,作为 CLIP 图像编码器的逆向,称为 unCLIP,商业上叫做 DALI 2

模型可以基于文本信息进行降噪,这种技术叫「Conditioning」

有多种将文本向量输入扩散模型的方式

但,只通过文本输入「Conditioning」画出的图,并不能包含文本中的全部信息

我们还需要一个更强的方法来指导模型

假设螺旋上的不同部分表示不同类型的图像,训练扩散模型的输入也增加对应的类别,发现在运行时,拟合程度并不高,且类别会有些混淆

这是因为模型在同时学习拟合螺旋和拟合对应类别两个信息,而要求点匹配螺旋的力超过了向特定类别方向移动的力

其中一种提升文本与生成图像一致性的方法称为 ==Classifier-Free Guidance==,效果显著,是现在图像和视频生成模型的重要部分,工作方式是:

==最终预测 = 无提示预测 + 指导强度 ×(有提示预测 - 无提示预测)==

也有负向提示的做法,除了给出希望画面包含的内容(正向提示),还可以明确告诉模型不希望出现哪些内容,工作方式和 Classifier-Free Guidance 类似:

版权声明

作者: Aspi-Rin

链接: https://blog.aspi-rin.top/posts/%E7%A7%91%E6%99%AE%E4%BB%8E-clip-%E5%88%B0%E6%89%A9%E6%95%A3%E6%A8%A1%E5%9E%8B/

许可证: CC BY 4.0

This work is licensed under a Creative Commons Attribution 4.0 International License. Please attribute the source.

开始搜索

输入关键词搜索文章内容

↑↓
ESC
⌘K 快捷键