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

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:见下图 ...

Scaled dot-product attention的时间和空间复杂度都是O(n^2)的,当n较大时,会是很大的占用。 Sparse attention 将空洞注意力与局部注意力相结合,使得既可以学到局部的特性,又可以学到远程稀疏的相关性。使得大部分元素为0,时间与空间复杂度下降为O(kn)。但是其是对标准attention的近似。 Flash attention Flash...

GPT-1 简述一下GPT的训练过程。 GPT的训练过程采用了预训练和微调的二段式训练策略。 非监督式预训练: 利用大规模无标记语料,构建预训练单向语言模型。训练目标是Language Modeling loss。 监督式微调: 用预训练的结果作为下游任务的初始化参数,增加一个线性层,匹配下游任务。训练目标是有监督的目标函数,并加上Language Modeling作为辅助目标。 ...

LLAMA LLaMa介绍 预训练数据:全是开源数据。Tokenizer: BPE implemented by SentecePiece,分词后训练集中共包含1.4T tokens。模型架构:相比与原始Transformer架构,有如下改动 Pre-norm:参考GPT3,在transformer sub-layer前进行norm。使用的是RMSNorm。 SwiGLU: 参考P...

LoRA LoRA原理 LoRA假设微调变化矩阵的内在秩远低于原矩阵维度d,因此将变化矩阵分解为B和A,而原矩阵的权重不发生变化。这样使得可训练参数数量极大减少,降低显存消耗量。见下图: 初始时将A矩阵高斯随机初始化,将B矩阵初始化为0,这样变化矩阵在开始训练时是0。还需要将ΔWx\Delta WxΔWx进行scale: αr\frac{\alpha}{r}rα​,其中分子为r中的一...