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

AIGC学习笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

提示:这里可以添加本文要记录的大概内容:

记录一下学习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,比较预测的噪声和实际的差距,重复步骤。

采样

采样就是把噪声图像还原。
步骤:

采样一个高斯噪声,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、VAE

2.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=1Lx​​eSimj​eSimi​​ 计算 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∑Lx​​ai​Valuei​(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的高效性和多模态处理能力,预示着其在图像、语音、代码等多种数据形式的生成和创作领域的广阔前景。

更新时间 2024-08-21