提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
记录一下学习AIGC,参考链接: 爆火的AIGC到底是什么
提示:以下是本篇文章正文内容,下面案例可供参考
一、stable diffusion
1.1 diffusion model
正向扩散:
x t = α ˉ x 0 + 1 − α ˉ t ε x_t=\sqrt{\bar{\alpha}}x_0+\sqrt{1-\bar{\alpha}_t}\varepsilon xt=αˉ x0+1−αˉt ε
逆向扩散:计算太复杂,训练网络来模拟
训练过程:为每个图像随机选择时间步长 t ,将高斯噪声应用于图像,将时间步长转换为嵌入向量。
训练步骤:随机选择一个时间步长编码,通过扩散公式向图像中添加噪声,将添加噪声后的图片输入,训练U-Net,比较预测的噪声和实际的差距,重复步骤。
采样
采样就是把噪声图像还原。
步骤:
x t − 1 = 1 α t ( x t − 1 − α t 1 − α ˉ t ε θ ( x t , t ) ) + β t ε x_{t-1}=\frac{1}{\sqrt{\alpha _t}}\left( x_t-\frac{1-\alpha _t}{\sqrt{1-\bar{\alpha}_t}}\varepsilon _{\theta}\left( x_t,t \right) \right) +\sqrt{\beta _t}\varepsilon xt−1=αt 1(xt−1−αˉt 1−αtεθ(xt,t))+βt ε
输出去噪图像这样一步一步太慢,所以有了stable diffusion。
1.2 stable diffusion
通过使用训练过的编码器 E ,压缩图像。 通过使用训练过的解码器 D ,还原图像。将图像压缩以后,在潜在空间中进行正向和反向扩散。
stable diffusion可以根据文本生成图像。
先用语言模型(Transformer)将文本转换为嵌入向量,通过multi-Attention机制映射到U-net。训练
和上面的训练过程差不多,不一样的地方:
输入的是潜在数据不是原图像。 添加了个条件输入 τ θ ( y ) \tau_{\theta}(y) τθ(y)(这个就是语言模型中用来把文本转换为嵌入的)。总结
Stable Diffusion 要比 Diffusion Model 快很多。
二、Generative AI
2.1 单模态
只能接受单一类型的输入,产生对应类型的输出。
生成式语言模型:GPT-3 生成式视觉模型:GAN、VAE2.2多模态
2.2.1 视觉语言Encoder:concatenated encoder(级联编码器)、cross-aligned encoder(交叉对齐编码器)
concatenated encoder:将两个不同模态的模型连接起来 cross-aligned encoder:使用tow-tower结构,各自单独学习,然后对两个模态的特征进行联合表达文本音频生成
文本代码生成
三、回顾一下Transformer
3.1 Attention
计算相似性S i m i = Q u e r y i ⋅ K e y i Sim_i=Query_i\cdot Key_i Simi=Queryi⋅Keyi 计算 a i a_i ai
a i = s o f t m a x ( S i m i ) = e S i m i ∑ j = 1 L x e S i m j a_i=softmax(Sim_i)=\frac{e^{Sim_i}}{\sum_{j=1}^{L_x}{e^{Sim_j}}} ai=softmax(Simi)=∑j=1LxeSimjeSimi 计算 A t t e n t i o n Attention Attention
A t t e n t i o n = ∑ i = 1 L x a i V a l u e i ( K e y i = V a l u e i = h i ) Attention=\sum_{i=1}^{L_x}a_iValue_i (Key_i=Value_i=h_i) Attention=i=1∑LxaiValuei(Keyi=Valuei=hi)
h i h_i hi是Encoder里面的隐含层。
3.2 self-Attention
和上面一样, Q u e r y = K e y Query=Key Query=Key。
总结
**文章总结:AIGC学习与Stable Diffusion解析**---
**前言**
本文记录了作者对AIGC(人工智能生成内容)的学习,并特别关注了Stable Diffusion技术,通过分析其具体机制和工作流程,揭示了其作为图像生成领域前沿技术的强大功能。
**一、Stable Diffusion**
Stable Diffusion是一种基于Diffusion Model改进的技术,显著提高了图像生成的速度和效率。
- **1.1 Diffusion Model**
Diffusion Model主要包括两个过程:
- **正向扩散**:通过不断向原始图像x_0添加高斯噪声ε,逐渐得到一个被高度破坏的噪声图像x_t。这个过程可表示为数学公式$x_t = \sqrt{\bar{\alpha}}x_0 + \sqrt{1 - \bar{\alpha}_t}\varepsilon$。
- **逆向扩散**:由于直接从噪声恢复原图像的计算非常复杂,Diffusion Model采用U-Net神经网络进行模拟学习。通过不断去除图像中的噪声,逐步恢复原始图像。训练过程包括随机选择时间步长t,添加噪声后使用U-Net比较预测噪声和实际噪声的差异,不断重复这一步骤来优化网络。
- **采样**:从完全的噪声图像开始,利用训练的U-Net一步步去噪,最终得到原始图像的近似图像。由于这个过程耗时较长,因此产生了更高效的方法Stable Diffusion。
- **1.2 Stable Diffusion**
Stable Diffusion通过使用编解码器架构进一步优化图像生成速度。
- 使用编码器E压缩图像数据到潜在空间,再在潜在空间中进行扩散过程。
- 通过训练后的解码器D还原图像,显著加快图像生成过程。
此外,Stable Diffusion还能够结合文本描述,利用语言模型将文本转换为嵌入向量,并通过Multi-Attention机制与U-Net结合,从而生成与文本对应的图像。
**二、Generative AI**
探讨了生成式人工智能的两大分类:单模态与多模态。
- **2.1 单模态**
单模态AI仅能接受单一类型的输入(如文本或图像),并生成相应类型的输出。常见示例包括GPT-3这样的生成式语言模型,以及GAN和VAE这样的生成式视觉模型。
- **2.2 多模态**
多模态AI能够同时处理和处理不同类型的数据,生成复杂的输出。主要技术包括:
- **视觉语言Encoder**:有Concatenated Encoder和Cross-Aligned Encoder两种结构。前者直接将两个不同模态的模型连接;后者采用Tower结构各自学习后再进行联合表达。
- **多模态应用场景**:文本到音频的生成、文本到代码的生成等。
**三、回顾Transformer**
- **3.1 Attention 机制**
Transformer通过Attention机制实现自适应的信息捕捉与权重分配,是理解和生成语言与图像数据的强大工具。具体流程包括:
- 计算相似性Score
- 通过softmax进行归一化
- 根据权重计算加权求和的Attention输出
- **3.2 Self-Attention**
在Transformer内部,Query、Key、Value均为自身隐藏层的输出($Query=Key$),通过这种自我关联机制实现对文本或图像的自适应表示和学习。
**总结**
本文通过对Stable Diffusion及Generative AI相关技术的深入分析,展现了人工智能在生成式任务中的广泛应用与潜在价值。特别是Stable Diffusion的高效性和多模态处理能力,预示着其在图像、语音、代码等多种数据形式的生成和创作领域的广阔前景。