详细摘要 摘要
生成:2025-06-15 21:33摘要详情
- 音频文件
- Vision Transformer (ViT) Explained By Google Engineer | MultiModal LLM | Diffusion
- 摘要类型
- 详细摘要
- LLM 提供商
- openai
- LLM 模型
- gemini-2.5-pro-preview-06-05
- 温度
- 0.3
- 已创建
- 2025-06-15 21:33:14
摘要内容
概览/核心摘要
主讲人介绍了视觉 Transformer (Vision Transformer, ViT),这是一种将最初革新了自然语言处理 (NLP) 的 Transformer 机制应用于计算机视觉 (CV) 任务的架构。ViT 通过将图像分割成图像块 (patch) 序列来处理图像,接着对每个图像块进行线性嵌入 (linear embedding),并利用多头自注意力 (multi-headed self-attention) 机制直接建模图像块之间的全局关系。ViT 于 2020 年首次提出时,在图像分类任务上,当使用足够大的数据集进行训练时,其性能超越了当时先进的卷积神经网络 (CNN) 模型,且计算资源消耗减少了四倍。
具体而言,ViT 将二维图像转换为一维令牌 (token) 序列,类似于文本中的词元。一个特殊的可学习的分类令牌 (CLS token) 用于聚合全局信息以进行分类,而位置编码 (positional encoding) 则保留了空间信息。与 CNN 相比,ViT 的优势包括更少的归纳偏置 (inductive bias)、动态计算的滤波器、更优越的全局上下文建模能力,以及在海量数据支持下更好的可扩展性和泛化能力。其局限性在于需要大量数据、计算需求高以及可解释性较差。ViT 在多模态大语言模型 (LLM) 中扮演着关键角色,尤其作为图像编码器 (例如在 CLIP 框架中) 和图像生成架构 (如 U-ViT) 的组成部分。
Vision Transformer (ViT) 简介
主讲人首先指出,因论文《Attention is All You Need》而闻名并开启了当前大语言模型 (LLM) 时代的 Transformer 机制,也已成功应用于计算机视觉 (CV) 领域。
* ViT 定义:视觉 Transformer (ViT) 是一种将图像分割成序列,应用线性嵌入,然后利用多头自注意力机制直接建模图像块之间全局关系的模型。
* 在多模态 LLM 中的作用:ViT 在需要对多模态数据进行整体理解的多模态 LLM 中展现出日益重要的作用。
历史背景与演进
主讲人简要回顾了计算机视觉领域的发展背景:
* CNN 的主导地位:在很长一段时间里,随着深度学习的普及,计算机视觉领域备受关注,涌现了如 AlexNet、ResNet、RCNN 和 YOLO (You Only Look Once) 等模型。主讲人提到,在他检查时,“YOLO 已经更新到第十一版”。
* 转折点:2017 年的论文《Attention is All You Need》改变了行业格局,Transformer 成为许多任务中最受欢迎的架构。
* Transformer 的广泛应用:尽管基于 Transformer 的大语言模型广为人知,但该架构同样应用于计算机视觉领域,并且随着人们对多模态 LLM 兴趣的增长,其重要性日益凸显。
* 主讲人还提到,通常与图像生成相关联的扩散模型 (diffusion model),也可用于基于文本的大语言模型,但这一主题将在未来讨论。
Vision Transformer (ViT) 工作原理
主讲人通过 ViT 原作者提供的一个动画 GIF,概述了 ViT 的工作流程,主要包括以下几个步骤:
- 图像分块 (Patching):将输入图像分割成若干图像块 (例如,GIF 示例中的 9 个图像块)。这些图像块随后被展平 (flattened) 成向量。每个图像块被视为“如同完整句子中的一个单词”。
- 展平与位置编码 (Flattening and Positional Encoding):展平后的图像块与位置编码 (position encoding)(例如,对于 9 个图像块,编码从 1 到 9)相结合。
- CLS (分类) 令牌 (CLS Token):添加一个“额外的可学习类别嵌入” (extra learnable class embedding),索引为零 (0)。这个被称为 CLS 令牌的特殊标记,负责捕获全局信息。
- Transformer 编码器 (Transformer Encoder):这些经过展平编码的图像块被送入 Transformer 编码器,其结构“与我们深入探讨 Transformer 时所介绍的基本一致”。
- MLP 头与分类 (MLP Head and Classification):最终,编码器的输出通过一个 MLP (多层感知机) 头,以生成图像的分类结果。ViT 的原始论文将此架构用于图像分类任务。
ViT 功能总结:
* ViT 将输入图像表示为图像块序列,类似于 Transformer 处理文本时使用的词嵌入序列。
* ViT 直接预测图像的类别标签。
* 性能表现:在 2020 年首次发布时,当有充足数据进行训练的情况下,ViT 在主流分类任务上展现出“卓越的性能,以四分之一的计算资源超越了同等水平的先进 CNN”。
* 主讲人引用了性能对比数据,表明 ViT 在各项图像相关任务中的得分“均超越了 CNN”。
1. 图像令牌化:将图像视为块序列
- 令牌化的必要性:Transformer 模型以令牌 (token) 的形式处理输入。那么,是否可以将每个像素都视为一个令牌呢?
- 计算复杂度:“计算注意力矩阵的复杂度是 N 的平方,其中 N 是序列长度。如果我们把每个像素都看作一个独立的令牌,那么即使对于一张 100x100 的小图像,注意力矩阵的大小也将是 10000x10000。这对于 GPU (图形处理器) 来说也过于昂贵。”
- 解决方案:将特定大小的图像块 (patch)(例如 16x16 像素)作为一个令牌。
- 处理流程:
- 将一个 RGB (红绿蓝) 图像(尺寸为 大W x 大H x 3)分割成多个图像块(每个块尺寸为 小w x 小h x 3)。
- 每个图像块被展平。
- 展平后的图像块通过一个无激活函数的全连接层(或称为稠密层/前馈网络层)进行线性变换。
- 这个稠密嵌入层将图像块转换为一个特定维度的、学习到的隐藏表示。
- 例如:“一张 224x224 像素的图像可能被分割成 16x16 像素的图像块。”每个这样的二维图像块被展平成一个一维向量,成为一个“视觉词汇或令牌”。
2. 块嵌入:块的线性投影
- 线性投影:图像块展平后,每个图像块向量会经过线性投影,映射到一个更高维度的嵌入空间。这种线性变换将每个图像块的原始像素数据转换为稠密的向量表示。
- CLS (分类) 令牌 (CLS Token):
- 为了便于图像分类,一个“特殊的可学习分类令牌 s”(称为 CLS 令牌)通常被添加到图像块嵌入序列的开头。
- 该令牌在通过 Transformer 各层时,旨在“聚合来自所有图像块的全局信息”。
- 其最终输出状态用于图像分类决策。
- 提及的数学公式包含:CLS 令牌、展平图像块的线性变换以及位置编码。
- CLS 令牌详解:
- 主讲人强调,此令牌“不仅在分类任务中有用”。
- 它充当“整个输入序列或句子的表示”。
- 在标准的 ViT 图像分类中,其主要功能是“聚合来自所有单个图像块的全局信息”。CLS 令牌“学习权衡整个图像中不同视觉区域的重要性”。
- CLS 令牌的最终输出“通常被送入 MLP (多层感知机)”。CLS 令牌成为“整个图像的凝练、整体性表示”。
- 超越分类任务 (在多模态 LLM 中):
- 视觉重要性指标:“CLS 令牌可以学习哪些视觉令牌或图像块对于模型的整体理解最为重要。”其注意力得分可作为直接指标。
- 视觉令牌压缩:诸如视觉令牌压缩之类的方法利用 CLS 令牌的注意力得分来“修剪冗余的视觉信息”。
- 高分辨率图像处理:CLS 令牌的注意力模式对于在给定预算内智能选择信息最丰富的视觉令牌也很有用。
- 语义感知:CLS 令牌的注意力“已被证明与视觉内容相关,有助于识别主要对象并将其与图像中不相关的背景区分开来”。
3. 位置编码:保留空间信息
- 空间信息的重要性:Transformer 架构本身具有“排列不变性” (permutation invariant),这意味着它本身不理解输入令牌的顺序或空间排列。
- ViT 中的解决方案:类似于在基于文本的 LLM 中使用正弦位置编码或旋转位置编码 (Rotary Position Embedding, RoPE),ViT 将位置编码添加到图像块嵌入中,以便为图像“重新引入这一至关重要的空间上下文”。
- 这为模型提供了关于每个图像块在原始图像中位置的信息。
4. Transformer 编码器模块:核心处理单元
- 输入:包含图像块嵌入、位置编码和 CLS 令牌的组合序列被送入标准的 Transformer 编码器,该编码器由多个相同的层组成 (提及的“Lx”表示 L 层)。
- Transformer 层的核心:多头自注意力 (multi-head self-attention) 机制。
- 它允许每个图像块“动态地权衡图像中所有其他图像块的重要性”。
- 这种全局连接性使模型能够“捕获整个视觉输入中的复杂关系和远程依赖性”。这是“ViT 和 CNN 之间的关键区别”。
- “多头”方面意味着注意力机制并行执行多次,每次都有不同的学习目标,从而使模型能够学习不同类型的关系。
- 其他组件:每个 Transformer 编码器模块通常包括:
- 层归一化 (Layer Normalization)。
- 多层感知机 (MLP) 前馈网络层。
- 残差连接 (Residual connections),也称为跳跃连接 (skip connections),应用于每个子层周围,以促进梯度流动并稳定深度网络的训练。
- 用于图像分类:Transformer 编码器的最终输出,特别是 CLS 令牌的输出,随后被传递到一个简单的分类头 (通常是另一个 MLP),以预测图像类别。
- 架构创新:
- 用基于卷积的架构 (转录文本为 "Khan",可能指代 ConvNet 或 ConvNeXt 等) 替换标准 MLP,以潜在捕获更复杂的非线性依赖关系。主讲人表示将在另一期节目中讨论。
- 集成如 FlashAttention 等高效注意力机制,以优化注意力过程的计算效率。
ViT 可视化:注意力图
- 定义:注意力图 (Attention map) 是一种可视化技术,它“揭示了模型在做出分类决策时关注图像的哪些部分”。它突出了不同图像块或令牌在模型预测中的重要性。
- 来自原始论文的示例:
- 鸟类图像:模型主要关注鸟本身,而非背景。
- 人物和飞机图像:表现出类似的、符合直觉的关注模式。
Vision Transformer (ViT) vs. 卷积神经网络 (CNN)
主讲人比较了 ViT 与 CNN,强调了 ViT 的优缺点。
ViT 的优势
- 更少的归纳偏置 (Inductive Biases):
- CNN:设计时带有强烈的关于图像数据本质的归纳偏置,例如局部性 (locality)(像素与其近邻像素强相关)和平移等变性 (translational equivariance)(在图像某部分识别的模式若平移到其他部分也能被识别)。这些偏置“固化在其卷积核和池化层中”。
- ViT:“对图像的空间结构仅做最少的先验知识或归纳偏置假设。”ViT 将图像视为扁平的图像块序列,“完全依赖自注意力机制从头学习所有关系”。当 CNN 的假设不成立时,这可能成为一个优势。
- 动态计算滤波器的能力:ViT 能够根据输入数据的特定上下文调整其特征提取方式,这与 CNN 中静态的、预先学习的权重不同。
- 更优的全局上下文建模:得益于多头自注意力机制,ViT 在“捕获整个图像的远程依赖和全局关系”方面表现出色。
- 增强的可扩展性与泛化能力:
- 当在足够大的数据集上进行预训练时,ViT展现出“卓越的可扩展性、灵活性和更强的泛化能力”。
- “如果训练数据充足,ViT 通常在具有挑战性的基准测试中优于先进的 CNN。”因此,ViT 对于实际应用通常更具鲁棒性。
ViT 的局限性
- 显著的数据需求 (Data Hunger):与其他基于 Transformer 的模型类似,ViT “依赖非常庞大的数据集进行预训练”才能达到有竞争力的性能。若缺乏此类数据,ViT 的性能可能不及 CNN。
- 高计算与内存需求:自注意力机制的计算复杂度与令牌数量(直接关联图像分辨率)成二次方关系,导致巨大的计算开销和高内存消耗。这可以通过 FlashAttention 等技术得到缓解。
- 训练挑战性高:训练 ViT 可能比训练 CNN“更具挑战性且更耗时”,通常需要更多的训练轮数 (epoch) 并且对优化策略敏感。
- 难以解释:复杂的多头注意力机制,特别是各层注意力权重的复杂混合,使得 ViT 比 CNN“透明度更低”。
- 固定大小的输入令牌和嵌入:初始的令牌化过程通常假设图像块大小固定,这有时会限制其灵活性。
Vision Transformer (ViT) 在多模态大语言模型 (LLM) 中的应用
ViT 在多模态大语言模型 (LLM) 架构中扮演着重要角色。
多模态 LLM 的关键组件 (概述)
- 模态编码器 (Modality Encoders):将来自不同模态(如图像、音频、文本)的原始数据转换为数值特征表示(通常是嵌入)。
- 输入投影器 (Input Projector):将来自不同模态的编码特征对齐到共享空间,该空间通常与 LLM 主干网络的输入兼容。可使用 MLP、交叉注意力 (cross-attention)、Q-former 等。
- LLM 主干网络 (LLM Backbone):作为核心的推理和语言处理引擎,整合对齐后的多模态信息。通常是预训练的 LLM,如 GPT、Gemini、Llama 等。
- 输出投影器 (Output Projector):将 LLM 的输出(例如,用于生成的信号令牌)映射为适用于特定模态生成器的特征。通常是 MLP 或 Transformer。
- 模态生成器 (Modality Generator):根据输出投影器的输入,生成非文本模态的输出(如图像、音频、视频)。例如 Stable Diffusion、AudioLDM 或通用/特定视频模型 (转录文本为 "vo for video")。
ViT 在图像生成中的作用 (例如 U-ViT)
- 扩散模型 (如 DDPM, DDIM, LDM) 使用 U-Net 架构,其中包含用于提取图像特征的卷积层。
- 鉴于 ViT 在许多方面优于 CNN,“如果我们将 U-Net 的卷积层替换为 MLP 和注意力机制,就能得到 U-ViT”。这一改进已应用于近期的生成式扩散模型中。
ViT 在图像编码中的作用 (例如 CLIP 框架)
- CLIP (对比语言-图像预训练, Contrastive Language-Image Pre-training):
- 旨在“通过自然语言监督学习视觉概念”。
- 是多模态 LLM 的一个重要框架。
- 与传统的图像分类模型不同,CLIP 通过将图像与其自然语言描述相关联,学习“开放集合的视觉概念”。
- 这使其具备“卓越的零样本 (zero-shot) 能力”,即仅通过文本描述,就能分类图像或理解在训练期间从未明确见过的视觉概念。
- CLIP 的关键组件:
- 图像编码器 (Image Encoder):一个神经网络,接收图像输入并将其转换为嵌入或特征向量。 “ViT 在此大放异彩。”
- 文本编码器 (Text Encoder):一个神经网络,接收文本输入并将其转换为捕捉其语义的数值表示。
- 共享嵌入空间 (Shared Embedding Space):CLIP 的关键创新在于,图像编码器和文本编码器都被训练成将其各自的输入映射到同一个高维共享嵌入空间。在此空间中,语义相似的图像和文本的嵌入彼此靠近。
- CLIP 中的对比学习 (Contrastive Training):
- 在海量的图像-文本对数据集上进行训练。
- 正样本对 (Positive Pairs):对于给定批次中的图像-文本对,模型将实际匹配的图像和文本视为正样本对,目标是最大化它们在共享空间中嵌入之间的余弦相似度 (cosine similarity)。
- 负样本对 (Negative Pairs):批次内所有其他图像-文本组合均被视为负样本对,目标是最小化它们嵌入之间的余弦相似度。
- 因此,CLIP “有效地学会在视觉和语言世界中辨别哪些内容是相互匹配的”。
- 为何 ViT 适用于 CLIP?:
- 全局上下文:ViT 中的自注意力机制使 CLIP 能够学习图像内的全局关系和依赖性,这对于理解复杂场景至关重要。
- 可扩展性:ViT 受益于模型大小和训练数据的扩展;在更多数据上训练的更大 ViT 模型往往能产生更好的性能。
- 统一架构:ViT 使用基于 Transformer 的架构,与文本 LLM (如 GPT, Gemini, Llama) 相同,这“有助于它们在共享空间中对齐嵌入,因为它们共享相似的底层计算原理”。
- ViT 作为多模态 LLM 编码器的示例:
- 输入图像 -> 视觉编码器 (ViT) -> 编码后的图像块嵌入。
- 文本模态 -> 令牌化器 (Tokenizer), Q-former -> 类似的嵌入。
- 来自不同模态的嵌入被映射到共享空间 -> 送入预训练的 LLM。
- 预训练的 LLM 随后理解来自不同模态的请求并采取行动(生成图像、视频、音频或文本)。
结论
主讲人最后表示,希望关于视觉 Transformer 的讲解对听众有所帮助。总而言之,ViT 已将 Transformer 的范式引入视觉领域,为图像处理提供了一种新方法,该方法具有强大的全局上下文建模能力和良好的可扩展性,并已成为开发先进多模态人工智能系统的重要组成部分。
用户反馈
- 面向简体中文读者优化阅读体验。 - 确保内容准确。
评审反馈
总体评价
当前总结内容在信息覆盖度和结构组织上表现良好,基本准确地再现了转录文本的核心内容。然而,其最大的问题在于语言不符合用户指定的“面向简体中文读者”的要求,通篇使用了印尼语。
具体问题及建议
- [语言不符]:总结全文使用印尼语撰写,未能满足用户“面向简体中文读者优化阅读体验”的核心要求。
- 修改建议:将总结内容完整翻译成流畅、专业、符合简体中文表达习惯的中文。
- [术语表达]:总结中对英文术语(如 Vision Transformer (ViT), computer vision (CV), patch, linear embedding, multi-headed self-attention, CNN, LLM, CLIP, U-ViT 等)均使用了斜体英文原文,并在括号中给出英文缩写。虽然这有助于精确指代,但在全印尼语的上下文中,针对简体中文读者优化时,应考虑中文术语的规范使用。
- 修改建议:在翻译成简体中文时,对于已有通用中文译名的术语,应使用规范的中文译名,首次出现时可在括号内标注英文原文;对于尚无通用译名或英文原文更常用的术语,可保留英文,但需确保行文自然。避免在中文语境下不必要的斜体。
- [细节准确性-轻微]:
- “Speaker 1 mencatat bahwa "YOLO sudah mencapai versi sebelas" per pengecekannya.” (Speaker 1 指出,根据他的检查,“YOLO 已经到了第 11 版”。) 转录文本为 "I'm surprised that Yolo is already at version eleven. When I checit yesterday"。总结准确。
- “Formula matematis yang disebutkan melibatkan: CLS token, transformasi linear pada patch gambar yang diratakan, dan position encoding.” (所提及的数学公式涉及:CLS 令牌、展平图像块的线性变换和位置编码。) 转录文本中提到 "The first parameter is cs token, the second one is the linear transformation in the flattin image patches, and the last one is position encoding." 总结准确。
- “Penggantian MLP standar dengan arsitektur berbasis konvolusi (kemungkinan transkripsi dari 'ConvNet' atau 'ConvNeXt')” (用基于卷积的架构替换标准 MLP(可能是“ConvNet”或“ConvNeXt”的转录))。转录文本为 "replacing standard mlp with Khan to potentially capture more complex nonlinear dependencies." 总结对 "Khan" 的推测(可能是ConvNet/ConvNeXt)是合理的,因为后续提到 "let's save kfor another episode",暗示是一个特定架构。
- “Contoh: Stable Diffusion, AudioLDM, atau model video generik/spesifik (transkripsi 'vo untuk video' kurang jelas).” (示例:Stable Diffusion、AudioLDM 或通用/特定视频模型(“vo untuk video”的转录不太清楚)。) 转录文本为 "This can be Stable Diffusion or audio ldm or vo for video." 总结对 "vo for video" 的理解是合理的。
- 总体而言,在内容理解和转述方面,即使是印尼语版本,也基本准确反映了转录文本。
优化方向
- 首要任务:语言转换:将总结全文翻译为地道、专业的简体中文。这是满足用户需求的前提。
- 术语规范化:在中文语境下,统一并规范化技术术语的表达。参考国内学术界和工业界的通用译法,或在首次出现时提供中英对照。
- 提升阅读流畅性:在翻译过程中,注意句子结构的调整,使其更符合中文阅读习惯,避免生硬的直译。确保段落之间、句子之间的逻辑连贯性。