抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

「Indigo的云上小屋」

Indigo's Blog

ControlNet ControlNet可以添加的控制条件类型 Canny Edge, Hough lines, User scrobbles, Human Keypoints, Segmentation maps, shape normals ,depth. 多个条件可以叠加,将controlnet的结果相加即可。 ControlNet的结构 会将SD的Unet的Encod...

Prompt-to-Prompt Prompt-to-Prompt做的事情 无需mask,仅通过文字prompt,对生成图片进行编辑,且能够保持除编辑区域之外的一致性。该过程中无需任何训练、微调,只需要调整Attention map。 Prompt-to-Prompt的动机 作者发现生成图片的空间布局和几何形状都是由内部的cross-attention层的attention ma...

DiT DiT的主要结构 DiT是从LDM改进而来的,将LDM中的U-Net替换为Transformer,VAE仍然使用Stable Diffusion的。 最后一个DiT block之后,将tokens decode为output noise prediction和covariance prediction。 DiT的Patchify过程 与ViT的一样,使用卷积将压缩后的...

Textual Inversion Texual Inversion做的事情 给定3-5张某个主体的图片,冻结T2I模型,通过优化一个pseudo-word的embedding来使得模型学会生成该主体。在2张V100上优化了5000个steps。 Textual Inversion的优化流程 将placeholder的embedding vector设置为可学习的embeddi...

DALL-E 1 DALL-E 1的模型架构 第一阶段,训练一个VQVAE。第二阶段,训练一个自回归的prior模型,这里用的是decoder-only的Transformer(与VQGAN很像,但是这里将文本作为prefix预置条件,实现了Text-conditional生成) DALL-E 2(unCLIP) DALL-E 2的模型结构 共由三部分组成,预训练的CLIP,...

DDPM DDPM的前向加噪过程 DDPM的反向去噪过程 DDPM的训练过程 随机采样时间步t和前向噪声epsilon,用神经网络拟合该epsilon。 DDPM的采样过程 首先从高斯分布采样初始噪声xt,然后每一步预测出epsilon来还原x_{t-1}。由于x_{t-1}是有均值方差的高斯分布,因此预测出epsilon还原出均值后,还需要从标准正...

SD 1.x SD中的VAE。 重构损失:L1 loss,Perceptual loss,对抗损失:Patch-based GAN loss,正则化:KL loss. 为了避免latent太过无序,使用正则项对latent space进行规范。原文中使用了两种:(1)KL-reg,但权重设置得很小(过强的正则化会导致生成的图像模糊);(2)VQ-reg,使用很大的codebook。 ...

IDDPM IDDPM的原理 DDPM中将方差设置为常数。而IDDPM中,提出了可学习的方差(模型会额外输出一个向量用于预测方差),并把它加入到loss中(L_{vlb}),其中L_{vlb}表示变分下界损失(优化时采用重要性采样)。 IDDPM认为DDPM的加噪方式会导致早期阶段加噪过快,因此提出了cosine schedule的加噪方式。 ADM(Guided-diffus...

VAEVAE VAE模型 VAE公式推导 见知乎文章。 KL项的作用 KL loss类似于一个正则项,用于规范latent的范围,这也是与AE的最大区别。 VQ-VAE VQ-VAE模型结构 前向时,Encoder出来的latent会与codebook中的code做最近邻,直接使用codebook中的code作为latent。 VQ-VAE实质上是AE,用来将...

BERT BERT模型结构 由多个Transformer Encoder堆叠。分为12层的BERT-base和24层的BERT-large。最长序列:512个token,超过的需要截断。Tokenizer: WordPiece。每个句子首个token都是[CLS],分隔符用[SEP]。会拆分Subword,例如playing拆分为play和###ing。Embedding:见下图 ...