当前位置:AIGC资讯 > AIGC > 正文

AIGC面经大全(持续更新)

目录

DDPM算法原理部分:

DDIM算法原理部分: 

 ⾼阶采样⽅案:

特征编码篇:

Stable Diffusion篇: 

 SDXL篇:

 ⼤模型微调篇:

控制模型篇:

 适配器篇:

DDPM算法原理部分:

简述DDPM的算法流程:

初始化:从带噪声的图像开始。 正向扩散:逐步向数据添加高斯噪声,直到数据完全转化为无结构的噪声。 反向去噪:通过模型预测并逐渐去掉每一步加入的噪声,还原得到无噪声的图像。 训练:使用反向传播算法更新模型参数,以最小化正向和反向过程之间的差异。 测试:对新的高噪声图像应用训练好的模型进行去噪。

实现DDPM是否需要什么条件:

马尔可夫链:DDPM使用马尔可夫链来描述数据的扩散过程。马尔可夫链是一个随机过程,具有无记忆性,即在给定当前状态的情况下,未来的状态只依赖于当前状态。 微小变化:DDPM通过逐步添加微小的高斯噪声来扩散数据。这些微小的变化是在数据中引入随机性的关键步骤。 高斯噪声变化:DDPM使用高斯噪声来模拟数据的扩散过程。高斯噪声是一种常见的随机噪声,也称为正态分布噪声。

为什么DDPM加噪声的幅度是不⼀致的?

前期加噪少是为了保持数据结构的完整性,后期加噪多是为了加速扩散过程,使得模型能够更快地从噪声中恢复出清晰的数据。

DDPM预测噪声还是预测当前分布?

预测噪声,预测分布只是中间过程

DDIM算法原理部分: 

DDIM是怎么实现加速采样的?

DDIM通过保证DDPM的三项前向条件不变:前向⾼斯噪声+⻢尔可夫链,实现逆向递推公式优化,减少逆向推理步骤

DDIM是不是确定性⽣成,为什么 

是确定性⽣成。因为在逆向去噪声过程中,DDIM的逆推公式,将随机噪声的部分置为0

Score-Based-diffusion-model

提供了⼀种解释扩散模型的等价⽅式,其中降噪过程可以看作是沿着分数(梯度)前进

 ⾼阶采样⽅案:

是否了解DPM++等加速采样⽅案

通过ODE对扩散模型进⾏建模,通过解析解的形式解构扩散模型求解步骤

特征编码篇:

介绍⼀下CLIP编码:

构建⼤规模的图像-⽂本数据构建(⽂本,图像)pair对,在其他下游⼦任务中取得极⾼的zero-shot指标

CLIP编码特征的优缺点

优点:泛化性能强,特征在同⼀空间下衡量,模型简单不需要额外训练。

缺陷:⽂本描述简单“A photo of a xxx”,图⽂理解能⼒偏弱

介绍⼀下BLIP/BLIP2的原理

BLIP:通过多路损失函数,以及图像分快理解策略等算法,构建⾼质量的图像理解模型。

BLIP2:在BLIP基础上,利用Q-Former构建图像与⼤语⾔模型之间的桥梁,充分利⽤⼤语⾔模型⾃身的预训练能⼒

为什么BLIP/BLIP2的特征没法直接⽤

因为受到⽂图⼀致性等隐形损失约束,相关特征不再同⼀个特征空间下(⽆法直接⽤距离衡量⽂图特征的相似性)。因此⽆法像CLIP⼀样“直接”接⼊模型中使⽤ 

Stable Diffusion篇: 

Stable Diffusion 的核⼼优化是什么?

通过VAE将特征映射到Latent Space,⼤幅减少运算量的同时还能保证⽣成质量。

通过Unet实现对⽣成内容的引导

Stable Diffusion是怎么训练的?

从训练集中选取一张加噪过的图片和噪声强度 输入unet,让unet预测噪声图 计算和真正的噪声图之间的误差 通过反向传播更新unet的参数

VAE为什么会导致图像变模糊 

VAE编解码整体是⼀个有损过程,可以选择减少损失,⽐如优化模型结构,提升采样效率等。完全不减少损失的⽅案就是原图反贴 

介绍⼀下SD,Dall-E2两者的异同

Dalle2通过自回归的方式逐个预测像素点,最终生成符合描述的图像。

SD加⼊了Latent-Space(⼤幅降低特征维度),以及交叉注意⼒机制+Unet的步骤,更精细更可控

介绍下classifier-free guidance和Classifier Guidance

Classifier Guidance的一般流程如下:首先单独预训练一个噪声鲁棒的分类器模型。然后训练一个普通的无条件Diffusion模型。Diffusion模型生成图像的采样过程中,利 用预训练好的分类器来提供条件信号。具体来说,就是每个采样步骤都计算分类器的输 出,获得条件影响项,加入到Diffusion模型的更新公式中。这样就可以利用分类器的条 件信号,实现Diffusion模型在推理阶段条件生成图像的目的。 Classifier-Free Guidance 中,⽣成模型不仅仅学习如何根据给定的条件⽣成数据,⽽且还学习如何在没有任何条件输⼊的情况下⽣成数据。换句话说,模型既能进⾏条件⽣成,也能进⾏⽆条件⽣成。CFG的训练过程其实就是对提供的条件输入做随机的dropout,这样就可以得到一个无条件和条件提示的两个输出,然后学习二者之间的方向差指导采样过程。在⽣成过程中,Classifier-Free Guidance 允许我们在没有显式使⽤分类器或判别器的情况下调节条件⽣成的强度。这是通过“调节”(或“混合”)条件⽣成和⽆条件⽣成的输出来实现的,以此来控制⽣成内容的相关性和多样性 noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond)      guidance scale是一个放缩系数,越大,生成的结果越倾向于输入条件,多样性会下降。越小,多样性越大。

Stable Diffusion 怎么实现⽂本和图像的条件控制的

⽂本/图像编码器将⽂本/图像信息编码,然后通过交叉注意⼒机制将信息引⼊扩散模型。SD 的 U-Net 既用到了自注意力,也用到了交叉注意力。自注意力用于图像特征自己内部信息聚合。交叉注意力用于让生成图像对齐文本,其 Q 来自图像特征,K, V 来自文本编码 

扩散模型添加时间步timestep信息

 通过类似于Transformer中的位置编码⽅法,将常数转换为向量并添加到输⼊图像中

Noise Scheduler了解吗 

Noise Scheduler定义了⼀个⾼斯分布,其均值和⽅差随着时间步的变化⽽变化,以控制噪声的添加量 

Stable Diffusion核⼼模块有哪些

VAE:将图像特征/⽂本特征,映射到Latent Space。

LDM相关:Diffusion Model +Unet,去噪声核⼼步骤

Conditioning:作⽤于Unet的 Cross-Attention位置,实现对输出结果的控制

为什么原⽣SD的控制效果不太好,需要引⼊如ControlNet的控制模型 

因为控制是⼀个隐性控制模型,通过CrossAttention的权重隐性引导⽣成结果,并不是完全控制 

 SDXL篇:

SDXL的核⼼优化

接⼊级联的refiner模型+微调⽹络结构,⼤幅度提升⽣成质量。

多样化的训练策略,⼤幅提升基础模型表达能⼒

SDXL的训练策略:

图像尺⼨条件化:把图像的尺⼨编码后作为信息输⼊到模型中。

裁剪参数化训练:裁剪坐标也和尺⼨⼀样送⼊模型中。

多尺度训练:多尺度+分桶

噪声偏置:针对冷⻔⾊域,加⼊初始化噪声偏置

 ⼤模型微调篇:

 Lora:

核⼼解读关键词:低秩展开,即插即⽤

通过矩阵低秩展开,使⽤“外接”低秩展开后的⽹络对原模型进⾏更新

Lora有没有什么优化⽅案

Locon/loha,分别进⾏细节质量和速度存储空间的优化

DreamBooth

核⼼解读关键词:正则化微调整个⽹络,训练数据混合

因为使⽤正则化,只在预训练⽹络上微调某类特定的case。 所以速度反⽽⽐Lora快得多

Textual Inversion

关键词:⽂本embedding,Transformer 核⼼总结:通过对Embedding层的特殊编码,实现通过不同输⼊⽂本,来影响模型最终的⽣成结果。影响的是Embedding的部分 首先需要定义一个在现有模型中没有的关键词,新的关键词会和其他的关键词一样,生成Tokenizer(用不同的数字表示);然后将其转换为embedding;text transformer会映射出对于新给的关键词最好的embedding向量。不用改变模型,可以看作在模型中寻找新的表征来表示新的关键字

Lora/Dreambooth/Textual Inversion,核⼼差异点

Lora:是⼩模型即插即⽤微调。 Dreambooth:⼤模型特化全量微调 Textual Inversion:Text-embedding 编码修改

控制模型篇:

介绍⼀下ControlNet的核⼼原理

复制原⽣Unet⼀样的模型结构,前半部分encoder训练,后半部分⽤Zero Convolution 承接,decoder部分接⼊到模型Unet的⽹络层中 “Zero Convolution”即零卷积:是带有零初始化权重和偏差的1×1卷积。在进⾏⾃⼰的模型训练开始之前,所有零卷积输出都是零,此时模型仍然是原始的Stable Diffusion Model

 适配器篇:

T2I Adapter

每张条件图片都会别额外编码,编码信息会被加入到 UNET 噪声预测中

训练时候,冻结了原先的 unet,只对 Adapter 部分进行单独训练

 IP-Adapter

IP-Adapter 通过带有解耦交叉注意力的适配模块,将文本特征的 Cross-Attention 和图像特征的 Cross-Attention 区分开来,在 Unet 的模块中新增了一路 Cross-Attention 模块,用于引入图像特征

更新时间 2024-02-04