使用主模型及微调模型进行图像生成的过程通常包括以下步骤:
[title]Lilian Weng|视频生成的扩散模型[heading2]调整图像模型来生成视频[heading3]在视频数据上进行微调内容𝑐是指视频的外观和语义,其可从文本采样来进行条件化编辑。视频帧的CLIP嵌入能很好地表示内容,并且能在很大程度上与结构特征保持正交。结构𝑠描述了几何性质和动态情况,包括形状、位置、物体的时间变化情况,𝑠是从输入视频采样的。可以使用深度估计或其它针对特定任务的辅助信息(比如用于人类视频合成的人体姿势或人脸标识信息)。Gen-1中的架构变化相当标准,即在其残差模块中的每个2D空间卷积层之后添加1D时间卷积层,在其注意力模块中的每个2D空间注意力模块之后添加1D时间注意力模块。训练期间,结构变量𝑠会与扩散隐变量𝐳连接起来,其中内容变量𝑐会在交叉注意力层中提供。在推理时间,会通过一个先验来转换CLIP嵌入——将其从CLIP文本嵌入转换成CLIP图像嵌入。图9:Gen-1模型的训练流程概况。Blattmann et al.在2023年提出的Video LDM首先是训练一个LDM(隐扩散模型)图像生成器。然后微调该模型,使之得到添加了时间维度的视频。这个微调过程仅用于那些在编码后的图像序列上新增加的时间层。Video LDM中的时间层{𝑙𝜙𝑖∣𝑖= 1,…,𝐿}(见图10)会与已有的空间层𝑙𝜃𝑖交错放置,而这些空间层在微调过程中会保持冻结。也就是说,这里仅微调新参数𝜙,而不会微调预训练的图像骨干模型参数𝜃。Video LDM的工作流程是首先生成低帧率的关键帧,然后通过2步隐含帧插值过程来提升帧率。
[title]DALL·E 3论文公布、上线ChatGPT,作者一半是华人OpenAI的文本到图像模型是在大量(t,i)对组成的数据集上进行训练的,其中i是图像,t是描述图像的文本。在大规模数据集中,t通常源于人类作者,他们主要对图像中的对象进行简单描述,而忽略图像中的背景细节或常识关系。更糟糕的是,在互联网上找到的描述往往根本不正确或者描述与图像不怎么相关的细节。OpenAI认为所有的缺陷都可以使用合成描述来解决。构建图像描述生成器图像描述生成器与可以预测文本的传统语言模型非常相似。因此,OpenAI首先提供了语言模型的简单描述。这里先用分词器(tokenizer)将字符串分解为离散的token,以这种方式分解之后,语料库的文本部分就表示为了序列t =[t_1,t_2,...,t_n]。然后通过最大化以下似然函数来构建文本语言模型。接下来若想将该语言模型转换为描述生成器,只需要对图像进行调整即可。因此给定一个预训练的CLIP图像嵌入函数F(i),OpenAI将语言模型目标做了如下增强。微调描述生成器为了改进在图像生成数据集上的描述效果,OpenAI希望使用描述生成器来生成图像描述,这有助于学习文本到图像模型。在首次尝试中,他们构建了一个仅能描述图像主对象的小规模描述数据集,然后继续在这个数据集上训练自己的描述生成器。该过程诱导的更新到θ使得模型偏向于描述图像的主对象。OpenAI将这种微调生成的描述称为「短合成描述」。OpenAI做了第二次尝试,创建了一个更长的、描述更丰富的文本数据集,来描述微调数据集中每个图像的内容。這些描述包括图像的主对象,以及周围对象、背景、图像中的文本、风格、颜色。
[title]Lilian Weng|视频生成的扩散模型[heading2]调整图像模型来生成视频[heading3]在视频数据上进行微调长度为𝑇的输入序列会被解释成用于基础图像模型𝜃的一批图像(即𝛣・𝑇),然后再调整为用于𝑙𝜃𝑖时间层的视频格式。其中有一个skip连接通过一个学习到的融合参数𝛼导向了时间层输出𝐳'和空间输出𝐳的组合。在实践中,实现的时间混合层有两种:(1)时间注意力,(2)基于3D卷积的残差模块。图10:一个用于图像合成的预训练LDM被扩展成一个视频生成器。B、𝑇、𝐶、𝐻、𝑊分别是批量大小、序列长度、通道数、高度和宽度。𝐜_S是一个可选的条件/上下文帧。但是,LDM的预训练自动编码器依然还有问题:它只能看见图像,永远看不见视频。直接使用它来生成视频会产生闪动的伪影,这样的时间一致性就很差。因此Video LDM向解码器添加了额外的时间层,并使用一个用3D卷积构建的逐块时间判别器在视频数据进行微调,同时编码器保持不变,这样就依然还能复用预训练的LDM。在时间解码器微调期间,冻结的编码器会独立地处理视频中每一帧,并使用一个视频感知型判别器强制在帧之间实现在时间上一致的重建。图11:视频隐扩散模型中自动编码器的训练工作流程。其中编码器的微调目标是通过新的跨帧判别器获得时间一致性,而编码器保持不变。类似于Video LDM,Blattmann et al.在2023年提出的Stable Video Diffusion(SVD)的架构设计也是基于LDM,其中每一个空间卷积和注意力层之后都插入时间层,但SVD是在整个模型层面上执行微调。训练视频LDM分为三个阶段: