神经网络与深度学习课程总结四

神经网络与深度学习课程总结四 第七部分视觉大模型基础与 ViT (Vision Transformer)随着大语言模型LLM的巨大成功基于 Transformer 的架构开始强势“破圈”进入计算机视觉领域。本章探讨了如何利用 Transformer 处理视觉任务以及视觉大模型的发展演进多模态、自监督学习等。一、 大模型与多模态技术概述视觉大模型的演进传统的视觉任务多由 CNN如 ResNet主导但 CNN 感受野受限。近年来视觉领域开始吸收 Transformer 的长距离依赖建模能力模型规模参数量和预训练数据规模如 JFT-300M大幅增长。多模态融合Multimodal现代大模型不仅局限于单一的文本或图像而是朝着“统一Unified”的方向发展实现图像、文本、音频的跨模态理解与生成如大语言视觉模型。二、 核心破局者Vision Transformer (ViT) 详解ViT 是将 Transformer 架构直接、无修改地应用于图像分类任务的开山之作证明了在拥有海量数据的前提下完全摒弃卷积操作也能取得超越 CNN 的表现。1. 嵌入层Embedding Layer将图像变成“句子”既然 Transformer 只能处理一维序列Word TokensViT 的首要任务就是对二维图像进行序列化图像切片Patching将固定尺寸的输入图像如切分为不重叠的小图块Patch如。这样一张图就被分成了个图块。线性投影Linear Projection将每个图块展平Flatten后通过一个线性层映射成指定维度的向量。此时图像图块就变成了等价的“词向量Token”。2. 两个关键的附加参数Class Token类别通配符借鉴了 NLP 中的 BERT 模型ViT 在序列开头人工添加了一个可学习的嵌入向量[class]。经过多层编码器后这个 Token 汇总了整张图像的全局信息专门用于最终的分类任务。Positional Encoding位置编码由于 Transformer 自注意力机制是位置无关的打乱顺序不影响计算必须在输入的图块特征中相加一个一维的可学习位置编码以此来保留图像原本的空间位置结构。3. Transformer 编码器Encoder与标准 Transformer 的编码器结构完全一致由多个 Block 堆叠而成主要包含多头自注意力机制Multi-Head Self-Attention计算图块与图块之间的全局依赖关系。前馈神经网络MLP进行特征的非线性映射。层归一化Layer Norm与残差连接Skip Connection。4. MLP头MLP Head取编码器最后一层输出序列中的第一个 Token即之前的[class]Token作为整幅图像的特征表示。接入一个 MLP 层全连接层进行最终的类别预测。三、 模型的预训练、结果与微调Fine-Tuning1. “大力出奇迹”的预训练结果数据饥渴当在中等规模数据集如 ImageNet上训练时ViT 的表现略逊于同等规模的 ResNet因为 CNN 拥有平移不变性和局部性等归纳偏置。超越 CNN但在超大规模数据集如 ImageNet-21k 或 JFT-300M上进行预训练时ViT 打破了这一限制展现出了极强的性能上限并在多个图像识别基准上达到了 SOTAState of the Art。2. 微调机制与输入长度问题预训练微调范式实际应用中通常保留预训练好的 ViT 整体参数作为强大的特征提取器只将后面的 MLP 头替换为适应下游任务如新的分类、目标检测的新网络。分辨率提升与位置编码插值在微调阶段通常会输入比预训练时更高分辨率的图像以获取更好性能。这会导致切分出的 Patch 数量增加进而导致原先预训练好的位置编码长度不够。解决方案保持图块大小如不变对预训练的 2D 位置编码进行二维插值2D Interpolation以适应新的序列长度。第七部分下视觉大模型拓展展望CLIP DINO 详解随着 Vision Transformer (ViT) 的成功深度学习视觉领域开始向两个重要方向演进一是打破单一模态壁垒的多模态学习二是摆脱对人工标注依赖的自监督学习。本部分详细总结了这两个方向的代表性里程碑模型CLIP 与 DINO。一、 CLIP (Contrastive Language-Image Pretraining)传统的图像分类模型受限于预先定义好的固定类别字典如 ImageNet 的 1000 类泛化到新类别时必须重新收集数据并微调。OpenAI 提出的 CLIP 彻底打破了这一“闭集Closed-set”限制。1. 核心思想与架构CLIP 的核心目标是将图像特征与自然语言文本的语义特征对齐。模型由两个独立的编码器组成Image Encoder图像编码器可以是 ResNet 或 ViT用于提取图像的视觉特征向量。Text Encoder文本编码器通常是 Transformer用于提取自然语言句子的语义特征向量。2. 对比学习训练机制Contrastive LearningCLIP 摒弃了传统的交叉熵分类损失转而使用包含 4 亿对海量图文对Image-Text Pairs进行无监督对比预训练。构造矩阵在一个 Batch 包含个图文对时模型将生成个图像特征和个文本特征。通过两两计算余弦相似度Cosine Similarity会形成一个的相似度矩阵。优化目标矩阵对角线上的个元素是正确匹配的图文对正样本模型会最大化它们的相似度而矩阵中非对角线上的个元素是不匹配的负样本模型会最小化它们的相似度。通过这种极其庞大的对比任务CLIP 学会了非常丰富的通用视觉概念。3. 零样本推理Zero-shot Inference的全过程在完全不经过微调的情况下CLIP 即可完成分类任务其流程被称为Prompt Engineering提示工程构建文本库将你想分类的类别标签比如“猫”、“狗”、“车”填入一个提示模板中如构造句子“A photo of a [猫]”、“A photo of a [狗]”。提取文本特征将这些句子送入 Text Encoder得到一组文本特征向量。特征匹配将待分类的图像送入 Image Encoder 得到图像特征向量计算该图像向量与所有文本向量的相似度。输出结果相似度最高Softmax 概率最大的那个句子所对应的标签即为分类结果。4. 巨大优势与影响极强的鲁棒性CLIP 学习到的是高维语义概念对图像的风格迁移、草图、甚至是对抗样本都有着远超 ResNet 的鲁棒性。AIGC 的基石其强大的图文对齐能力直接成为了后续 DALL-E、Stable Diffusion 等文生图大模型的指导基础。二、 DINO (Self-Distillation with No Labels)DINO 由 MetaFacebook AI提出旨在探究如果不提供任何文本或类别的监督信号视觉 Transformer 能否“自学成才”1. 核心思想自监督与无标签知识蒸馏DINO 的本质是无标签知识蒸馏Self-Distillation。它构建了两个架构完全相同如都是 ViT但参数不同的网络Student学生网络负责主动学习并更新参数。Teacher教师网络提供学习的目标伪标签其参数不通过反向传播更新而是通过指数移动平均EMA, Exponential Moving Average平滑地吸收学生网络的参数。2. Multi-crop多视角裁剪策略DINO 让网络自己教自己的核心在于“不同视角”的信息传递从同一张原图中进行不同的数据增强和裁剪。Global Views全局视角裁剪出两张较大、包含主体全貌的图像如送入 Teacher 网络。Local Views局部视角裁剪出多张较小、只包含局部细节的图像如送入 Student 网络。优化目标强制 Student 通过局部细节去预测Teacher 看到的全局特征的分布。这种“管中窥豹”的训练迫使网络深刻理解图像的内在空间和语义结构。3. 避免模型坍塌Collapse的关键机制在自监督学习中网络极易“偷懒”输出恒定值即不论输入什么Teacher 和 Student 都输出相同的全 0 向量从而使损失降为 0。DINO 通过以下两个技巧避免了坍塌Centering中心化将 Teacher 的输出减去其均值这鼓励特征分布具有均等性防止某一个维度处于统治地位。Sharpening锐化对 Teacher 的 Softmax 输出应用极低的温度系数Temperature人为拉大不同维度之间的概率差距迫使预测结果更加确定、尖锐具有高置信度。4. 涌现的惊人成果自然涌现的语义分割这是 DINO 最令人惊叹的成果。在没有任何人工像素标签的训练下ViT 的多头自注意力图Self-Attention Maps自然而然地学会了区分前景和背景。将注意力图提取出来竟然可以直接作为高质量的图像实例掩膜Mask其轮廓描绘极其精准。优异的 KNN 分类DINO 提取的特征在特征空间中具有极强的聚类属性即使只用最简单的 K-近邻KNN分类器也能在 ImageNet 上达到非常出色的准确率。