主要看是看Diffusion Models,CLIP,ControlNet,IP-Adapter这种经典论文,尝试总结论文写作的一些方式以及图像生成模型的一些内在思想. 对于其中的数学原理和代码不过深究.
DDPM
使用扩散模型得到高质量图像,证明了这种方法在训练时与多种噪声等级下的去噪分数等同,在采样时与退火朗文动力学等价.
有forward precess和reversed process,
对于正向过程,就是对图像的一个加噪过程, 逆向过程需要通过神经网络拟合,论文中没有考虑方差.
使用了重参数化,类似VAE中的思想.在加噪声时,通过使用高斯噪声和均值、方差.
这样只要知道x_0以及超参数α和β就能得到后面加噪的数据.计算概率密度函数
对于优化目标,需要让p和q的分布尽量接近,相当于让均值和方差类似.
而方差是定值,对于均值
模型使用了Unet和attention,残差连接预测噪声.得到噪声后可以得到$p\theta(x{t-1}|x_t)$
论文http://arxiv.org/abs/2006.11239 深入浅出扩散模型(Diffusion Model)系列:基石DDPM(人人都能看懂的数学原理篇) - 知乎 (zhihu.com)
Improved DDPM
对DDPM做了改进.
- 学习方差会让生成效果更好(DDPM 中只学习了均值,方差是一个常数)
- 提出了余弦加噪方法,比线性加噪效果更好
DDIM 2020
为了加快采样速度,提出了去噪扩散隐含模型(DDIMs),这是一类更有效的迭代隐含概率模型,其训练过程与 DDPMs 相同。在 DDPMs 中,生成过程被定义为特定马尔可夫扩散过程的反向。
我们通过一类能实现相同训练目标的非马尔可夫扩散过程来推广 DDPM。这些非马尔可夫过程可以对应于确定性的生成过程,从而产生能更快地生成高质量样本的隐式模型。
关于 DDIM 采样算法的推导 | Ze’s Blog (zeqiang-lai.github.io)
上面三个数学公式涉及比较多,比较偏学术,我的目的是想介绍一个脉络和抽象的概念和作用,使得使用一些开源AI绘画这类应用时更加得心应手,下面更多涉及到一些AI绘画功能层面上的东西.
Latent Diffusion Models 2022
Stable Diffusion产品的背后模型
将图像形成过程分解为一系列去噪自编码器的顺序应用,扩散模型(DMs)在图像数据及更广泛范围内实现了最先进的合成结果。此外,它们的表达允许一种引导机制来控制图像生成过程而无需重新训练。然而,由于这些模型通常直接在像素空间中操作,优化强大的DMs通常需要消耗数百个GPU天,论文提出的方法将它们在latent space中进行并使用预训练的autoencoder.并使用了cross-attention结构,现在看来也是非常经典了.
CLIP 2021
OpenAI用于DALLE的文字与图像匹配 利用不同的encoders将文字和图像联系了起来
计算机视觉系统经过训练可以预测一组固定的预定对象类别。这种受限的监督形式限制了其通用性和可用性,因为要指定任何其他视觉概念,都需要额外的标记数据。
主要是解决利用文本信息监督图像,并实现zero-shot transfer.
ControlNet 2023
开创性的有价值的工作,使用pose,edge maps,segmentation map作为监督信息控制图像布局. 技术上利用微调技术并利用额外的pose等信息引导图像生成.
Adding Conditional Control to Text-to-Image Diffusion Models
随着文字到图像扩散模型的出现,我们现在只需输入文字提示,就能创作出视觉效果极佳的图像。
然而,文本到图像模型对图像空间构成的控制能力有限;仅靠文本提示很难精确表达复杂的布局、姿势、形状和形态。要生成与我们的心理想象精确匹配的图像,往往需要反复编辑提示、检查生成的图像,然后重新编辑提示。
ControlNet利用了微调技术,冻结原始块,然后使用原本的权重处理额外信息c,c通过零卷积再加回去得到$y^{c}$
为了给这样一个预训练的神经块添加一个controlnet网络,锁定(冻结)原始块的参数Θ,同时将该块克隆到一个参数为Θc的可训练拷贝
可训练副本以外部条件向量c作为输入。当这种结构应用于诸如稳定扩散( Stable Diffusion )这样的大型模型时,锁定的参数保留了用数十亿张图像训练的生产就绪模型,而可训练的副本则重用了这种大规模预训练的模型,以建立处理各种输入条件的深度、鲁棒和强大的骨干。
训练目标
在训练过程中,我们用空字符串随机替换50 %的文本提示ct。这种方法增加了controlnet网络在输入条件图像(例如,边缘,姿态,深度等。)中直接识别语义的能力,作为提示的替代。在训练过程中,由于零卷积不会给网络添加噪声,所以模型应该始终能够预测高质量的图像。我们观察到,模型并没有逐步学习控制条件,而是突然成功地跟随输入条件图像;通常在小于10K的优化步数。
在inference部分介绍了CFG以及组合多个controlnet.
ANIMATEDIFF
摘要
ANIMATEDIFF: ANIMATE YOUR PERSONALIZED TEXT-TO-IMAGE DIFFUSION MODELS WITHOUT SPECIFIC TUNING
随着文本到图像( T2I )扩散模型(例如,稳定扩散)和相应的个性化技术(如DreamBooth和LoRA )的发展,每个人都可以以可负担的成本将自己的想象力表现为高质量的图像。然而,在现有的高质量个性化T2I中添加运动动态并使其能够生成动画仍然是一个开放的挑战。在本文中,我们提出了一个实用的框架AnimateDiff,用于对个性化T2I模型进行动画生成,而不需要对模型进行特定的调整。
在本文中,我们提出了一个实用的框架AnimateDiff,用于对个性化T2I模型进行动画生成,而不需要对模型进行特定的调整。
我们的框架的核心是一个即插即用的运动模块,它可以被训练一次,并无缝地集成到任何源自同一基础T2I的个性化T2I中。通过我们提出的训练策略,运动模块有效地从真实世界的视频中学习可迁移的运动先验。
我们进一步提出了Motion LoRA,一种针对Animate Diff的轻量级微调技术,使预训练的运动模块能够以较低的训练和数据收集成本适应新的运动模式,如不同的镜头类型。
方法
方法核心是从视频数据中学习可以迁移的motion先验知识,然后直接用到T2I模型中不需要特别地调整.
在推理时,motion module(蓝色)和可选的MotionLoRA (绿色)可以直接插入到个性化的T2I中构成动画生成器,然后通过迭代去噪过程生成动画
包括三个组件,即domain adapters、motion module和Motion LoRA。domain adapter只在训练时使用,以缓解基础T2I预训练数据与视频训练数据之间的视觉分配差距所带来的负面影响.motion module学习视频的先验知识;Motionlora是为了使预先训练好的运动模块适应新的运动模式,在一般动画的情况下是可选的.
减轻训练数据带来的影响
由于采集困难,公开的视频训练数据集的视觉质量远低于图像数据集。例如,视频数据集WebVid (贝恩等, 2021)的内容多为真实世界的录音,而图像数据集LAIONAesthetic (舒曼等, 2022)包含了更高质量的内容,包括艺术绘画和专业摄影。
此外,当单独作为图像处理时,每个视频帧可能包含运动模糊、压缩伪影和水印。因此,用于训练基础T2I的高质量图像数据集和用于学习运动先验的目标视频数据集之间存在不可忽略的质量域差距。我们认为,当直接在原始视频数据上训练时,这样的差距会限制动画生成流水线的质量。
为了避免将这种质量差异作为我们运动模块的一部分来学习,并保留基本T2I的知识,我们提出将域信息拟合到一个单独的网络中,称为域适配器。我们在推理时丢弃了域适配器,并表明这种做法有助于减少上述域间隙带来的负面影响。我们用LoRA ( Hu et al . , 2021)实现了域适配器层,并将其插入到基础T2I中的自/交叉注意力层中
先拿一个adapter训练时调整原本网络的参数?
原本网络参数并没有被freeze,这也算不上微调, 相当于把视频分成一堆照片(不能过于重复)然后重新训练?
式中:α = 1为标量,可在inference时(设置为0 ,以完全消除域适配器的影响)调整为其他值。然后,我们在Eq中从具有相同目标的视频数据集中随机采样的静态帧上只优化域适配器的参数
学习运动先验
为了在预训练的T2I上建模沿时间维度的运动动态,必须1 )将二维扩散模型膨胀以处理三维视频数据,2 )设计子模块以实现沿时间轴的有效信息交换。
基T2I模型中的预训练图像层捕获了高质量的内容先验。为了利用这些知识,网络膨胀的一个较好的方法是让这些图像层独立地处理视频帧。为了达到这个目的,我们采用了类似于最近工作的做法,并修改模型,使其以5D视频张量x∈R^b×c×f×h×w^作为输入,其中b和f分别代表批处理轴和帧时轴。
当内部特征图经过图像层时,通过将时间轴f重塑为b轴而忽略,允许网络独立处理每一帧。然后,我们在图像层之后将特征图重塑为5D张量.
另一方面,新插入的运动模块通过将h、w整形为b,然后在模块之后再整形回来,从而忽略了空间轴.
也就是利用运动模块处理数据,而数据本身其实就是reshape成了(bxhxw,f,c). 使用transfomer处理这样的序列.
最近关于视频生成的工作已经探索了许多时间建模的设计。在Animate Diff中,我们采用了Transformer架构作为的运动模块设计,并对其进行了微小的修改,使其能够沿时间轴运行,下面我们将其称为”temporal transofrmer”。
通过实验发现这种设计对于运动先验的建模是足够的。temporal transofrmer器由若干个沿时间轴的自注意力块组成,采用正弦位置编码,对动画中每一帧的位置进行编码。运动模块的输入是将空间维度合并到批处理轴中的重新塑造的特征图。当我们将reshape后的特征图沿时间轴进行划分时,可以将其看作长度为f的向量序列,即{ z1,..,zf };Z~i~∈R^(b×h×w)×c^ } .然后将这些向量进行投影,并通过几个自注意力块.
注意力机制使得当前帧的生成能够融合其他帧的信息。因此,与我们的运动模块一起膨胀的T2I模型不是单独生成每一帧,而是学习捕捉视觉内容随时间的变化,这些变化构成了动画片段中的运动动态。
使用motionlora适应到新的运动模式
在预训练的运动模块捕获一般运动先验的同时,当我们需要用少量的参考视频和训练迭代来有效地适应新的运动模式(如相机缩放、平移和滚动等)时,就产生了一个问题。这种效率对于那些无法负担昂贵的预训练成本但想要针对特定效果对运动模块进行微调的用户来说是必不可少的。
Animate Diff的最后一个阶段,也被称为Motion LoRA ,是一种高效的运动个性化微调方法。考虑到运动模块的架构和有限的参考视频数量,所述的膨胀模型中,在运动模块的自注意力层中添加了LoRA层然后在上面训练这些LoRA层
在训练领域适配器、运动模块和MotionLoRA时,可训练部分以外的参数保持冻结。
在推理时,首先按照讨论的方式对个性化T2I模型进行膨胀,然后注入用于生成通用动画的Motion模块,以及用于生成具有个性化运动的动画的可选MotionLoRA。
对于域适配器,在推理过程中不能简单地丢弃它,在实际应用中,还可以将其注入到个性化T2I模型中,通过改变Eq中的比例因子α来调整它的贡献。
T2I-Adapter 2023
T2I-Adapter: Learning Adapters to Dig out More Controllable Ability for Text-to-Image Diffusion Models
大规模文本到图像( T2I )模型令人难以置信的生成能力已经显示出强大的学习复杂结构和有意义语义的能力.
Motivation:然而,仅仅依靠文本提示并不能充分地利用模型学习到的知识,尤其是需要灵活准确地控制(例如,颜色和结构)时.
具体来说,提出学习简单轻量级的T2I - Adapters来将T2I模型中的内部知识与外部控制信号对齐,同时冻结原始的大型T2I模型
在本文中探讨是否有可能通过某种方式”挖掘出” T2I模型隐含学习到的能力,特别是高层结构和语义能力,然后明确地使用它们来更精确地控制生成。作者认为一个小型的适配器模型可以达到这个目的,因为它不是学习新的生成能力,而是学习T2I模型中从控制信息到内部知识的映射。也就是说,这里的主要问题是”对齐”问题,即内部知识和外部控制信号应该对齐。
C表示条件信息,θ表示UNet去噪器的函数。
在推理过程中,输入的隐映射$Z^{T}$由随机高斯分布生成。给定$Z^{T}$,$\epsilon_{\theta}$在每一步t预测一个噪声估计,条件为C。噪声特征图通过减去它变得越来越清晰.
在每个尺度下,利用一个卷积层和两个残差块( RB )来提取条件特征Fck.最终形成多尺度条件特征Fc = { F$^{1}{c}$,F$^{2}{c}$,F$^{3}{c}$,F$^{4}{c}$ }。注意到Fc的维度与UNet去噪器编码器中的中间特征$F{enc}$= { F$^{1}{enc}$,F$^{2}{enc}$,F$^{3}{enc}$,F$^{4}{enc}$ }相同,然后在每个尺度下,F${c}$与$F_{enc}$相加。
C为条件输入。F$_{AD}$是T2I的适配器
除了使用单个适配器作为条件外,提出的T2I适配器还支持多种条件。注意这个策略不需要额外的训练。
IP-Adapter 2023
IP-Adapter:Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models
背景目的与结论:近年来,大型文本到图像扩散模型因其出色的生成能力创造出高保真度的图像而表现出强大的能力。然而,仅使用文本提示生成想要的图像是非常困难的,因为它往往涉及复杂的提示工程。文字提示的一种替代方式是图像提示,俗话说:”一张图像值一千个字”。虽然现有的从预训练模型直接微调的方法是有效的,但它们需要较大的计算资源,并且与其他基础模型、文本提示和结构控制不兼容
在本文中提出了IP - Adapter,一种有效的、轻量级的适配器,以实现预训练的文本到图像扩散模型的图像提示能力。我们的IP - Adapter的关键设计是解耦的交叉注意力机制,将文本特征和图像特征的交叉注意力层分离。
得益于解耦的交叉注意力策略,图像提示也可以很好地与文本提示协同工作,实现多模态图像生成。
也是使用图像作为提示信息的工作
以往的工作通过替换text-encoder为image-encoder,本作强调在不修改原始模型的情况下实现图像提示功能.
文章认为,上述方法的主要问题在于文本到图像扩散模型的交叉注意力模块.对预训练扩散模型中的交叉注意力层的key和value投影权重进行训练,使其适应文本特征.
因此,将图像特征和文本特征融合到交叉注意力层只完成了图像特征到文本特征的对齐,但这可能会遗漏一些图像特有的信息,最终导致仅与参考图像进行粗粒度可控生成(例如,图像风格)。
在CFG下
目前的适配器很难匹配微调的图像提示模型或从零开始训练的模型的性能。主要原因是图像特征不能有效地嵌入到预训练模型中。大多数方法只是简单地将串联的特征输入到冻结的交叉注意力层中,阻止了扩散模型从图像提示中捕获细粒度的特征。为了解决这个问题,提出了一种解耦的交叉注意力策略,通过新增加的交叉注意力层来嵌入图像特征。
插入图像特征的一种直接方法是将图像特征和文本特征进行拼接,然后将其输入到交叉注意力层中.然而,我们发现这种方法的有效性不足.相反提出了一种解耦的交叉注意力机制,其中文本特征和图像特征的交叉注意力层是分开的。
由于冻结了原始的UNet模型,在上述解耦的交叉注意力中,只有W′k和W′v是可训练的.
我们还在训练阶段随机丢弃图像条件,以便在推理阶段实现无分类器指导.
由于文本交叉注意力和图像交叉注意力是分离的,我们还可以在推断阶段调整图像条件的权重
为了训练IP - Adapter,从两个开源数据集LAION - 2B和COYO - 700M中构建了一个包含约1000万个文本-图像对的多模态数据集
InstantID 2024
利用Textual Inversion、DreamBooth、LoRA等方法进行个性化图像合成已经取得了显著的进展。然而,它们的实际应用受到高存储需求、长时间微调过程以及需要多个参考图像的限制。相反,现有的基于ID嵌入的方法,虽然只需要单一的前向推断,但面临挑战:它们要么需要在众多模型参数之间进行广泛的微调,缺乏与社区预训练模型的兼容性,要么不能保持高的人脸保真度
我InstantID,这是一个的基于扩散模型的解决方案,即插即用模块只使用一张人脸图像就能很好地处理各种风格的图像个性化,同时保证了高保真度。
为了实现这一点,设计了一个新颖的IdentityNet,通过强语义和弱空间条件,将面部和地标图像与文本提示相结合,以引导图像生成.
生成精确保留人类主体错综复杂的身份细节的定制图像。
它包含三个关键部分:( 1 )能够捕获鲁棒语义人脸信息的ID嵌入;( 2 )一个轻量级的自适应模块,具有解耦的交叉注意力,便于使用图像作为视觉提示;( 3 )提出了一种基于额外空间控制的编码参考人脸图像细节特征的IdentityNet。
首先采用人脸编码器代替CLIP提取语义人脸特征,并使用可训练的投影层将其投影到文本特征空间.
然后,引入解耦交叉注意力的轻量级自适应模块,以支持图像作为提示。
在IdentityNet中,生成过程完全由人脸嵌入引导,无需任何文本信息.只更新新增加的模块,而预训练的文本到图像模型保持冻结,以确保灵活性.
在训练过程中,只对Image Adapter和Identity Net的参数进行优化,而对预训练的扩散模型的参数保持冻结。我们在具有人类主题的图像-文本对上训练整个InstantID流水线,采用了类似于原始稳定扩散工作中使用的训练目标
$C_{i}$为IdentityNet上的任务特定图像条件。值得注意的是,在训练过程中,我们不会随意丢弃文本或图片条件,因为我们已经去掉了IdentityNet中的文本提示条件。
PhotoMaker:Customizing Realistic Human Photos via Stacked ID Embedding
Background and Task:
Motivation:
Method:
Results and findings:
文本生成高清图像的最新进展在合成基于给定文本提示的真实感人类照片方面取得了显著的进展.
然而,现有的个性化生成方法无法同时满足高效率、高身份保真度和灵活的文本可控性等要求.在这项工作中,我们引入了一种高效的个性化文本到图像生成方法PhotoMaker,它主要将任意数量的输入ID图像编码成堆栈ID嵌入,以保留ID信息.
在这项工作中,我们引入了一种高效的个性化文本到图像生成方法PhotoMaker,它主要将任意数量的输入ID图像编码成堆栈ID嵌入,以保留ID信息.
对于所提出的PhotoMaker,首先分别从文本编码器和图像编码器中获得文本嵌入和图像嵌入.然后,通过合并相应的类嵌入(例如,男人和女人)和每个图像嵌入来提取融合嵌入.接下来,我们将所有的融合嵌入沿着长度维度进行拼接,形成堆叠的ID嵌入.最后将堆叠的ID嵌入反馈给所有的交叉注意力层,用于自适应地合并扩散模型中的ID内容.
在给定少量待定制ID图像的情况下,PhotoMaker的目标是生成一个新的具有照片真实感的人体图像,该图像保留了输入ID的特征,并在文本提示的控制下改变生成ID的内容或属性.
们使用CLIP 图像编码器$E{img}$来提取图像嵌入,以使其与扩散模型中的原始文本表示空间对齐。在将每幅输入图像输入到图像编码器之前,我们用随机噪声填充特定ID的主体部分以外的图像区域,以消除其他ID和背景的影响。对于给定的文本提示T,我们使用预训练的CLIP文本编码器$E{text}$提取文本嵌入$t∈R^{L × D}$,其中L表示嵌入的长度。
在输入中标注对应的类词(例如,男人和女人)。然后我们在文本嵌入中提取类词对应位置的特征向量。该特征向量将与每个图像嵌入$e_i$进行融合.
融合嵌入可以表示为{ ( $\hat{e}^{i}∈R^{D}$ | i = 1 . . . . N }。通过结合类别词的特征向量,该嵌入可以更全面地表示当前输入的ID图像。
在获得融合嵌入之后,我们将它们沿着长度维度进行拼接,形成堆叠的id嵌入
我们利用扩散模型中固有的交叉注意力机制,自适应地合并堆叠ID嵌入中包含的ID信息。首先将原始文本嵌入t中类词对应位置的特征向量替换为堆叠的id嵌入$s^{ }$得到更新的文本嵌入$t^{ }∈R^{( L + N-1 ) × D}$
上面五篇工作都是类似的,利用额外控制信息和改进一些模型进行微调使得捕获输入的图像.下面几篇工作是OPenAI与Google的文生图模型,已经作为产品级模型.
GLIDE 2021
GLIDE能够根据自然语言描述生成图像,这意味着用户可以用文本提示来生成相应的视觉内容。
论文比较了两种引导扩散模型的技术——CLIP引导和无分类器引导(classifier-free guidance)。研究发现,无分类器引导在照片真实感和标题相似性方面更受人类评估者的青睐。GLIDE不仅能够进行零样本(zero-shot)图像生成,还能通过图像修复(inpainting)进行细粒度的图像编辑,使得用户可以迭代改进模型样本以匹配更复杂的文本提示。
Ho & Salimans 提出了无分类器引导,一种用于引导扩散模型的技术,它不需要单独的分类器模型来进行训练。对于无分类器指导,在训练过程中,类条件扩散模型θ ( xt | y )中的标签y被一个固定概率的零标签∑所代替。为了用通用文本提示实现无分类器的指导,我们有时在训练过程中用空序列(其中,我们也称之为:)替换文本。
DALLE2 2022
像CLIP这样的对比模型已经被证明可以学习到同时捕获语义和风格的图像的鲁棒表示。
为了利用这些表示进行图像生成,文中提出了一个两阶段模型:一个先验生成给定文本描述的CLIP图像嵌入,一个解码器生成以图像嵌入为条件的图像。
我们证明了显式地生成图像表示以最小的损失在照片真实性和字幕相似性中提高了图像的多样性。我们的解码器在图像表示的条件下也可以产生图像的变化,以保留其语义和风格,同时改变图像表示中不存在的非基本细节。此外,CLIP的联合嵌入空间可以在a z中实现语言引导的图像操作
Imagen 2022
我们提出了Imagen,我们的关键发现是,通用的大语言模型(如:T5 ),在纯文本语料上进行预训练,在编码图像合成的文本时取得了惊人的效果:增加Imagen中语言模型的大小比增加图像扩散模型的大小更能提高样本保真度和图像文本对齐度。Imagen在COCO数据集上取得了7.27的最新FID得分,而没有对COCO进行过训练,人类评分员发现Imagen样本处于标准状态
Imagen使用冻结的文本编码器将输入文本编码成文本嵌入。条件扩散模型将文本嵌入映射成一个64×64的图像。Imagen进一步利用文本条件的超分辨率扩散模型对图像进行上采样,先是64×64→256×256,然后是256×256→1024×1024。
基模型采用IPPDMU - Net架构,用于我们的64 × 64文本到图像扩散模型。该网络通过池化嵌入向量对文本嵌入进行条件化,并加入类嵌入条件化方法的扩散时间步嵌入。我们进一步通过在多个分辨率的文本嵌入上添加交叉注意力来限定整个文本嵌入序列。
超分辨率模型:对于64 × 64→256 × 256的超分辨率,采用改编自PPDMU的U - Net模型。为了提高内存效率、推理时间和收敛速度(我们的变体比文献[ 40,58 ]中使用的U - Net快2 - 3倍步数/秒),我们对该U - Net模型进行了多次修改。我们称这种变体为Efficient U-Net
总结一下,关于DDPM的论文本身的数学理论还是挺强的,而相关的CLIP,Adapter作为某种辅助改进既是一种创新型的工作也很有价值,理论性研究起来也没有那么困难,这种工作做起来还是很舒服的.
An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion
Task:Text-to-image models
Motivation: Yet, it is unclear how such freedom can be exercised to generate images of specific unique concepts, modify their appearance, or compose them in new roles and novel scenes
Method:Using only 3-5 images of a user-provided concept, like an object or a style, we learn to represent it through new “words” in the embedding space of a frozen text-to-image model. These “words” can be composed into natural language sentences, guiding personalized creation in an intuitive way.
Results and findings:Notably, we find evidence that a single word embedding is sufficient for capturing unique and varied concepts. We compare our approach to a wide range of baselines, and demonstrate that it can more faithfully portray the concepts across a range of applications and tasks.
作为用户,我们怎样才能要求文本到图像的模型来设计一个包含珍贵童年玩具的新奇场景.
在大规模模型中引入新的概念往往是困难的.为每个新概念重新训练一个具有扩展数据集的模型是非常昂贵的,在少数例子上进行微调通常会导致灾难性的遗忘.当面对新概念时,更多的测量方法冻结模型并训练转换模块以适应其输出.然而,这些方法仍然容易遗忘先验知识,或者在与新学习的概念同时访问时面临困难.
提出通过在预训练的T2I模型的textual embedding中寻找新词来克服这些挑战.
我们考虑文本编码过程的第一阶段.在这里,一个输入字符串首先被转换为一组令牌.然后将每个令牌替换为自己的嵌入向量,这些向量通过下游模型进行反馈.我们的目标是寻找新的嵌入向量来表示新的、特定的概念.
我们用一个新的pseudo-word表示一个新的嵌入向量,记为S 。然后,这个伪单词被当作其他单词一样对待,并且可以用来为生成模型组成新的文本查询。因此,人们可以要求”一幅S 在海滩上的照片”,”一幅S 挂在墙上的油画”,甚至可以组成两个概念,如”一幅S1 在S2 *风格的绘画”。重要的是,这一过程没有触及生成模型。
这样,我们保留了在新任务上微调视觉和语言模型时通常会丢失的丰富的文本理解和泛化能力。
我们给出了一个固定的,经过预训练的文本到图像模型和一个小的图像集来描述这个概念.我们的目标是找到一个单词嵌入,使得形式为’ A photo of S * ‘的句子将导致从我们的小集合中重建图像。这种嵌入是通过一个优化过程发现的,称之为”文本反转” ( Textual Inversion )
为了找到这些新的嵌入使用了一组图像(一般为3 - 5个),它描述了我们的目标概念,比如不同的背景或姿势.
设$c θ ( y )$是将一个条件输入y映射为一个条件向量的模型
通过直接优化,最小化从小集合中采样的图像上式(的LDM损失找到v *。
为了限制生成,我们从CLIP ImageNet模板中随机抽取中性上下文文本,
其中包含’ A photo of S ‘,’ A rendition of S ‘等形式的提示。在补充材料中提供了模板的完整列表
通过复用与原LDM模型相同的训练方案来实现,同时保持$c_θ$和θ都固定不变。值得注意的是,这是一个重建任务。因此,我们期望它能够激励学习到的嵌入来捕获概念所特有的精细视觉细节.
说白了利用新的训练集数据对重新训练一个embedding层将想要的concept通过一个trigger word 文本S^*^嵌入生成的图像中.
DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation
Background and task:大型文本到图像模型在人工智能的演进中实现了令人瞩目的飞跃,能够从给定的文本提示中高质量和多样化地合成图像
Motivation:然而,这些模型缺乏在给定的参考集中模仿subjects的外观并在不同的上下文中合成他们的新版本的能力。
Method:在本文中,提出了一种新的方法来实现文本到图像扩散模型的”个性化”.给定一个主题的少量图像作为输入,我们微调一个预训练的文本到图像模型,使其学会将一个唯一的标识符与该特定主题绑定。通过利用嵌入在模型中的语义先验和新的自适应类特定先验保持损失,我们的技术能够在参考图像中没有出现的不同场景、姿势、视图和光照条件下合成主题
Results and findings:我们将我们的技术应用到几个以前无法解决的任务中,包括主题语境化、文本引导的视图合成和艺术渲染,同时保留了主题的关键特征。我们也为课题驱动式代这一新任务提供了新的数据集和评估方案.
最近开发的大型文本到图像模型显示出前所未有的能力,通过实现基于自然语言[编写的文本提示的高质量和多样化的图像合成。这类模型的主要优点之一是从大量的图像-字幕对集合中学习到的强语义先验。例如,这种先验学习将”狗”这个词与图像中可以出现在不同姿势和上下文中的各种狗的实例绑定在一起。虽然这些模型的综合能力是前所未有的,但它们缺乏在给定的参考集合中模仿受试者的外观,并在不同的上下文中合成相同受试者的新版本的能力。主要原因是它们的输出域表达能力有限;即使是对一个对象最详细的文字描述,也可能产生不同外观的实例.一旦新的字典嵌入到模型中,它就可以使用这些单词来合成新的主题真实感图像,在不同的场景中进行语境化,同时保留它们的关键识别特征.
更正式地说,给定一个主体的几幅图像,我们的目标是将主体植入模型的输出域,使其能够用唯一的标识符进行合成.为此提出一种技术,用少有的identifier表示给定的主题,并微调一个预训练的、基于扩散的文本到图像框架.
我们用输入的图像和文本提示微调文本到图像的模型,其中包含一个惟一的标识符,后面跟着主体的类名.
我们的方法是在词汇中找到稀有的标记,然后将这些标记转换到文本空间,以最小化标识符具有强先验的概率.
两个关键问题:在小数据集上微调可能出现language drift或者灾难性遗忘.此外还有可能出现的多样性降低.
具体来说,在带有随机初始噪声$z{t1}~N(0,I)$和条件向量$c{pr}:=Γ (f(‘a[类名词]’))$的冷冻预训练扩散模型上使用祖先采样器生成数据$x{pr} = [\hat{x}(z{t1},c_{pr})]$.
前半部分让模型学习特定物品的表示,后半通过生成图片的监督防止模型忘记先验知识.
Hypernetworks
这项工作探讨了超网络:一种使用一个网络(也称为超网络)为另一个网络生成权重的方法。超网络提供了一种类似于自然界中发现的抽象:基因型-超网络-和表型-主网络之间的关系。
LoRA
本身是一种微调技术,我在大模型一节中涉及到了,这里不赘述.
Samplers in Stable Diffusion
在使用Stable Diffusion应用时想到的,采样器是什么,能起到多大的作用.
要生成图像,模型首先要在潜空间生成一个完全随机的图像.然后,噪声预测器估算图像的噪声。从图像中减去预测的噪声.这个过程要重复十几次.
这个去噪过程被称为采样,因为稳定扩散技术每一步都会生成一个新的样本图像.采样中使用的方法称为采样器或采样方法.
噪声图像是每步减去模型预测出的噪声,一点一点变成干净图像的。noise schedule 就是用来控制在每个采样步中噪声的强度的。噪声在第一步最大,慢慢降低,直到最后一步降为0。
在每一步中,采样器的工作就是根据 noise schedule 中对应的该步的噪声强度,减去对应的噪声,来产生该步的去噪图像。如果我们增大采样步数会有什么影响呢?每一步噪声下降的会更少,这有助于减少采样过程中的截断误差。
采样器可以分为经典基于微分公式,祖先采样器,Karras,
- Euler – The simplest possible solver.
- Heun – A more accurate but slower version of Euler.
- LMS (Linear multi-step method) – Same speed as Euler but (supposedly) more accurate.
祖先采样器在每个采样步骤中都会给图像添加噪声.它们是随机取样器,因为取样结果具有一定的随机性
- Euler a
- DPM2 a
- DPM++ 2S a
- DPM++ 2S a Karras
DPM(扩散概率模型求解器)和 DPM++ 是 2022 年发布的专为扩散模型设计的新型采样器.它们代表了结构相似的求解器系列。
DPM 和 DPM2 相似,只是 DPM2 是二阶的(更精确但更慢).DPM++ 是 DPM 的改进版。
UniPC(Unified Predictor-Corrector)是 2023年的一种新型采样器。它受到传统sampler中预测器-校正器方法的启发,可在 5-10 步内实现高质量图像生成。
一些代码实现可以在crowsonkb/k-diffusion: Karras et al. (2022) diffusion models for PyTorch (github.com)找到.
可以利用一些语义分割和prompt分割实例更方便地做inpainting.
SegmentAnything Model
SAM + Stable Diffusion for Text-to-Image Inpainting - Comet
参考资料
- mli/paper-reading: 深度学习经典、新论文逐段精读 (github.com)
- The recent rise of diffusion-based models | Maciej Domagała (maciejdomagala.github.io)
- Stable Diffusion Art - Tutorials, prompts and resources (stable-diffusion-art.com)
- The Illustrated Stable Diffusion – Jay Alammar – Visualizing machine learning one concept at a time. (jalammar.github.io)
- arxiv.org/pdf/2206.00927