问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

多模态大模型文生图和图生文的主要技术

创作时间:
作者:
@小白创作中心

多模态大模型文生图和图生文的主要技术

引用
CSDN
1.
https://blog.csdn.net/jiaxin576/article/details/144950441

多模态大模型是当前AI领域的热门话题,其中文生图和图生文技术更是备受关注。本文将详细介绍这两种技术的主要实现方法,包括CLIP、LLaVA等图生文模型的架构和训练过程,以及扩散模型在文生图中的应用原理。

1 图生文

CLIP

该模型架构由图像编码器和文本编码器组成。图像编码器将图像转换为嵌入(数字列表),文本编码器将文本转换为嵌入。

这两个编码器在成批的图像-文本对上进行训练,其中文本描述图像。编码器的训练方式如下:

对于每个图像-文本对,图像和文本嵌入彼此“接近”。

对于所有不匹配的图像-文本对,图像和文本嵌入彼此相距甚远。

注意,有很多种方法可以测量两个嵌入之间的距离。一些常用的方法是欧几里得距离和余弦相似度。CLIP 使用后者。


此图中有 N 个图像-文本对。I N和 T N是第 N 个图像-文本对的图像和文本嵌入。突出显示的蓝色方块表示我们希望靠近的嵌入对。

在这里插入图片描述

从高层次来看,CLIP 学习的是联合图像-文本嵌入空间,这基本上意味着可以直接计算图像和文本之间的相似度。事实证明,以此为目标训练模型通常非常有用,包括在多模态 LLM 环境中

LLaVA

LLaVA是一门多模态 LLM,于 2023 年发布。其架构非常简单:

视觉编码器使用 CLIP 进行预训练。

LLM 是经过预先训练的Vicuna模型。

视觉编码器通过单个投影层连接到 LLM。

请注意,与 BLIP-2 中的 Q-Former 以及 Flamingo 中的感知器重采样器和交叉注意层相比,视觉编码器和 LLM 之间的组件非常简单。


训练分为两个阶段:

在第 1 阶段,训练目标是图像字幕。视觉编码器和 LLM 被冻结,因此只训练投影层。

在第 2 阶段,LLM 和投影层在部分合成的指令跟踪数据集上进行微调。它是部分合成的,因为它是在 GPT-4 的帮助下生成的。

2 文生图

扩散模型(Diffusion Model)详细解析

扩散模型(Diffusion Model)是一种基于概率生成的深度学习模型,广泛应用于图像生成去噪超分辨率等任务。目前最流行的文本生成图像(Text-to-Image)模型,如Stable DiffusionDALL·E 2Imagen,都使用了扩散模型作为核心技术。

📌 扩散模型的基本思想

扩散模型的核心思想是:

  1. 前向扩散过程(Forward Diffusion):给真实数据(如图片)逐步添加噪声,使其最终接近高斯噪声(即随机分布的像素)。
  2. 反向去噪过程(Reverse Denoising):使用一个神经网络模型学习如何从噪声中逐步恢复出原始数据,最终生成高质量的图像。

这类似于:

  • 训练时:往一杯清水里不断滴墨水,使其逐渐变成黑色的液体。
  • 生成时:从黑色液体中一点点去除墨水,直到恢复出清水。

1️⃣ 训练阶段(Forward Process)—— 向图像逐步加噪

📌 训练流程

在训练阶段,我们希望教会模型如何去除噪声,因此我们首先需要创建一组“噪声数据”。

给真实图像 X_0 逐步加噪


  • X_0
    是原始图像(干净的图像)。
  • 依次给
    X_0
    添加噪声,生成一系列噪声图像
    X_1, X_2, ..., X_T
    (最终成为完全随机的高斯噪声)。
  • 这个噪声是高斯噪声(Gaussian Noise),是随机的像素扰动。

训练模型学习噪声分布

  • 我们训练一个噪声预测器(Noise Predictor),让它学会预测某个时间步
    t
    的噪声
  • 训练时,我们希望模型能够学习:
  • 给定一个带噪声的图像
    X_t
    ,预测
    X_t
    中的噪声
    ε
  • 这样,在反向推理时,我们就能一步步去掉噪声,最终还原图像

数学公式

  • 前向扩散公式:
    [
    X_t = \sqrt{\alpha_t} X_{t-1} + \sqrt{1 - \alpha_t} \epsilon_t
    ]
    其中:
  • X_t
    是当前步的噪声图像
  • α_t
    是一个超参数,控制噪声添加的强度
  • ε_t
    是高斯噪声
    📌目标:让模型学习如何去噪,即**预测
    ε_t
    **。

2️⃣ 生成阶段(Reverse Process)—— 逐步去噪

📌 生成流程

在生成图像时,我们从纯噪声开始,逐步去除噪声,恢复清晰的图像。

**初始化一个随机噪声图像
X_T
**

  • 这个噪声是完全随机的,没有任何信息。

用训练好的模型预测噪声


  • t=T
    (最大时间步),输入
    X_T
    进入去噪网络(Denoise Model),模型会预测出
    X_T
    中的噪声
    ε_T

  • X_T - ε_T
    得到
    X_{T-1}
    (噪声稍微减少的图像)。

重复去噪过程

  • 依次计算
    X_{T-1}, X_{T-2}, ..., X_1
    ,逐步减少噪声。
  • 最终,我们得到
    X_0
    (清晰的合成图像)。

数学公式

  • 反向去噪公式:
    [
    X_{t-1} = \frac{X_t - \sqrt{1 - \alpha_t} \hat{\epsilon_t}}{\sqrt{\alpha_t}}
    ]
    其中:
  • X_t
    是当前噪声图像
  • \hat{\epsilon_t}
    是模型预测出的噪声
  • α_t
    控制去噪的强度
    📌目标:从
    X_T
    (完全噪声)一步步恢复到
    X_0
    (清晰图像)。

3️⃣ 为什么扩散模型适用于图像生成?

📌 1. 能生成高质量图像

  • 由于扩散模型的去噪过程是渐进的,它能够生成高质量、细节丰富的图像
  • 例如Stable Diffusion、DALL·E 2能够生成清晰、逼真的图像

📌 2. 适用于多模态任务

  • 扩散模型不仅能用于图像生成,还能用于:
  • 文本生成图像(Text-to-Image)
  • 图像修复(Image Inpainting)
  • 超分辨率(Super-Resolution)
  • 视频生成(Video Generation)
  • 方法:在输入噪声
    X_T
    时,附加一个文本条件
    text
    ,让模型学习图像与文本的关系

📌 3. 适用于条件生成

  • 例如,我们可以在
    X_T
    输入文本:
  
X_T = TextPrompt("A cat sitting on the beach") + Noise
  
  • 这样,扩散模型在去噪时会受到文本的约束,生成符合文本描述的图像。

4️⃣ 经典的扩散模型架构

📌 1. DDPM(Denoising Diffusion Probabilistic Models)

  • 最早的扩散模型,逐步降噪,但计算开销较大。

📌 2. DDIM(Denoising Diffusion Implicit Models)

  • 改进的版本,减少去噪步骤,提高生成速度。

📌 3. Stable Diffusion

  • 由 Stability AI 开发的Text-to-Image模型,基于扩散模型,支持高质量文本图像生成。

📌 4. Imagen(Google)

  • 由 Google 研究团队开发,融合文本和图像生成技术,效果接近 DALL·E 2。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号