从卷积到自注意力:ResNet和ViT的特征提取原理详解

张开发
2026/5/11 5:16:22 15 分钟阅读

分享文章

从卷积到自注意力:ResNet和ViT的特征提取原理详解
从卷积到自注意力ResNet和ViT的特征提取原理详解在计算机视觉领域特征提取是模型理解图像内容的核心能力。传统卷积神经网络CNN如ResNet和新兴的Vision TransformerViT代表了两种截然不同的特征提取范式。本文将深入剖析这两种架构的工作原理揭示它们处理视觉信息的本质差异。1. 卷积神经网络的特征提取机制1.1 卷积操作的本质卷积核是CNN的特征提取器其工作方式如同一个局部特征探测器。当3×3或5×5的卷积核在图像上滑动时它执行的是局部区域的加权求和运算# 示例3x3卷积操作伪代码 def conv2d(input, kernel): output zeros_like(input) for i in range(input.height - 2): for j in range(input.width - 2): patch input[i:i3, j:j3] # 3x3局部区域 output[i,j] sum(patch * kernel) # 元素相乘后求和 return output这种局部连接的特性带来几个关键优势平移等变性物体移动时其特征响应也会相应移动参数共享同一卷积核在整个图像上复用大幅减少参数量层次化特征提取浅层网络捕捉边缘等低级特征深层网络组合出高级语义特征1.2 ResNet的残差学习突破传统CNN随着深度增加会出现梯度消失问题。ResNet通过引入残差连接skip connection解决了这一难题输入 → 卷积层 → ReLU → 卷积层 → ← 原始输入 ↓_________________________↑这种结构使得网络可以学习输入与输出之间的残差差异而非直接学习完整的映射。实验表明残差块具有以下特性网络深度传统CNN准确率ResNet准确率18层72%73%34层68%75%50层63%77%提示残差连接相当于为梯度提供了高速公路使深层网络训练成为可能2. Vision Transformer的革新设计2.1 图像分块与线性嵌入ViT首先将输入图像分割为固定大小的patch通常16×16像素然后将每个patch展平为向量并通过线性投影[批大小, 3, 224, 224] → [批大小, 196, 768] # 将224x224图像分为196个16x16的patch这一过程完全摒弃了卷积操作改用全连接层实现空间到特征的映射。每个patch向量还会加上位置编码以保留空间信息# 位置编码示例正弦函数形式 position torch.arange(0, num_patches).unsqueeze(1) div_term torch.exp(torch.arange(0, d_model, 2) * -(math.log(10000.0) / d_model)) pe[:, 0::2] torch.sin(position * div_term) # 偶数维度 pe[:, 1::2] torch.cos(position * div_term) # 奇数维度2.2 自注意力机制解析Transformer的核心是多头自注意力MSA它允许每个patch与所有其他patch建立动态关联注意力分数 Softmax(Q·K^T/√d_k)·V其中QQuery、KKey、VValue均来自同一组patch嵌入。这种机制具有三个显著特点全局感受野每个patch都能直接关注图像任意位置动态权重分配注意力权重根据内容相关性实时计算并行计算所有位置关系可同时处理不受序列顺序限制与CNN的固定卷积核相比ViT的注意力头可以学习不同的关注模式注意力头主要关注区域头1物体边缘头2纹理区域头3颜色过渡区头4空间中心3. 两种范式的对比分析3.1 特征提取方式差异ResNet和ViT在特征提取路径上存在根本区别局部vs全局CNN通过堆叠卷积层逐步扩大感受野ViT从一开始就建立全局关联固定vs动态CNN卷积核权重在推理时固定ViT注意力权重根据输入内容动态调整层次化vs扁平化CNN特征图尺寸逐渐减小通道数增加ViT始终保持原始patch数量变化嵌入维度3.2 计算效率对比在ImageNet-1k上的实测数据显示模型参数量FLOPs准确率ResNet-5025M4.1G76.2%ViT-B/1686M17.6G77.9%ResNet-15260M11.6G78.3%ViT-L/16307M61.6G81.2%注意ViT通常需要更大规模的数据预训练才能发挥优势4. 实际应用中的选择策略4.1 何时选择ResNet以下场景更适合采用CNN架构训练数据有限1百万样本需要实时推理移动端部署任务依赖局部特征如边缘检测硬件对卷积有专门优化如Tensor Core4.2 何时选择ViTViT在以下情况表现更优数据量充足可进行大规模预训练任务需要全局上下文理解如场景分类图像中存在长距离依赖关系需要多模态融合如图文跨模态学习4.3 混合架构探索业界已出现结合两者优势的混合模型例如ConViT在注意力机制中引入卷积归纳偏置CoAtNet在浅层使用CNN深层使用TransformerMobileViT为移动设备优化的轻量级混合架构这些创新表明未来的视觉模型可能会继续融合局部感知与全局建模的优势。

更多文章