引言
人类获取的信息约 80% 来自视觉。对于 AI 来说也是如此——让机器"看见"并理解图像,是通向通用人工智能的关键一步。过去十年,计算机视觉经历了三次范式革命:CNN 教会了机器识别物体,ViT 让 Transformer 也能"看"图,扩散模型则让机器从噪声中创作出令人惊叹的图像。
本文聚焦一个核心问题:AI 如何从像素中理解世界,又如何从噪声中创造出新的视觉内容? 我们将从 CNN 的卷积运算开始,一路走到 Stable Diffusion 的潜空间扩散和 GPT-4V 的多模态推理。
第一部分:CNN——图像识别的奠基者
1.1 图像在计算机眼中是什么?
在深入 CNN 之前,我们需要理解一个基本事实:对于计算机来说,一张彩色图像就是一个三维数字矩阵。
一张 224×224 的 RGB 彩色图片,在计算机内存中表示为 [3 × 224 × 224] 的张量(Tensor),总共约 15 万个数值——每个数值代表一个像素在一个颜色通道上的亮度(0-255)。把一张猫的照片和一张狗的照片放进这个框架,在计算机眼中它们只是两堆数值不同的三维矩阵,没有任何"猫"或"狗"的概念。CNN 的任务,就是从这些数字中自动提取出有意义的视觉特征。

1.2 卷积——CNN 的核心操作
卷积(Convolution) 是 CNN 最基础的运算。它用一个小矩阵(卷积核 / Filter / Kernel,如图中展示)在输入图像或特征图上滑动,每滑动到一个位置,就计算卷积核与该位置覆盖区域的逐元素乘积之和。

具体流程就是:输入图像 → [卷积层 → ReLU → 池化层] × N → 全连接层 → 分类输出。下面我们逐一拆解每个组件的原理。
卷积层的核心参数:
参数含义典型值**卷积核大小(Kernel Size)卷积核的空间尺寸3×3(最常用)、1×1、5×5、7×7步长(Stride)**卷积核每次移动的像素数1(保留信息)、2(降采样)**填充(Padding)**在输入边缘补 0 的层数"same"(输出尺寸不变)、"valid"(不填充)输入/输出通道数输入通道数(如 RGB=3),输出通道数即卷积核的数量从 64 逐层增加到 512 或 1024
不同类型的卷积核学到的特征:
卷积层深度学到的特征直观理解第 1 层边缘方向、颜色分界、简单纹理类似 Gabor 滤波器,检测水平/垂直/对角边缘第 2-3 层角点、曲线、局部形状(圆形、方形)将边缘组合为有意义的几何单元第 4-5 层物体部件(眼睛、轮子、窗户)与具体类别开始相关第 6+ 层完整物体模板对特定类别高度激活
- 卷积层的作用主要是用于提取图像中的特征数据,后续的分类层就依据卷积层所提取出来的特征数据对不同的图像进行区分并分类。
卷积层的运算如以下动图所示。以卷积核为单位对原始图像或者上一级的特征图进行扫描,根据进行卷积计算的输入是单通道图像数据还是多通道图像/特征图,分别采用平面卷积核和立体卷积核对多维数据进行卷积计算。

关键理解:卷积核的参数不是人手工设计的(不像传统图像处理中的 Sobel 边缘检测算子),而是通过反向传播自动学出来的。训练初期,卷积核是随机初始化的,随着训练进行,网络自己发现"什么样的卷积核最能帮助识别图像中的物体"。这就是深度学习的魅力——特征提取不再依赖人类的领域知识。
1.3 池化层——降维保真
- 卷积神经网络的池化操作(Pooling)用于对卷积层提取的特征图数据进行降维,目的是在保留显著特征的情况下大幅降低数据量,从而减少后续层的参数数量和计算开销。
池化所进行的计算非常简单,只需要以固定窗口为单位对前一级卷积层所输出的特征图进行扫描:
- 最大池化(Max Pooling):取窗口内的最大值——保留最显著的特征
- 平均池化(Average Pooling):取窗口内所有值的平均——保留整体趋势
池化每次扫描后步进与窗口大小相等,不会与上次扫描相重叠(这一点与卷积操作明显不同),因此最终扫描的结果就是一个在水平和垂直方向上均缩小相应倍数的缩版特征图。
以下图为例,上级卷积层输出的特征图为 4×4 分辨率,池化操作以 2×2 对特征图进行扫描,最终池化操作的结果就是一个 2×2 的缩版特征图。

池化层的三重作用:
- 降维减参:2×2 的最大池化将特征图的面积减少 75%,后续全连接层的参数也因此减少了 75%
- 平移不变性:猫在图片左上角还是右下角,经过池化后都能被正确识别。因为池化只关心"有没有显著特征",不太关心"这个特征精确在哪个像素"
- 增大感受野:池化后,下一层卷积核的一个像素对应原图更大的区域,让深层网络能看到更全局的上下文
1.4 全连接层——从特征到决策
- 全连接层(Fully Connected Layer)可以理解为在 CNN 的最后加上一层或多层传统神经网络(NN)层。在连接全连接层之前,需要把 CNN 的三维特征图矩阵进行展平(Flatten)成一维向量。比如说从最后一个池化层出来的是 5×5×3 的特征图,在输入到全连接层之前需要展平成 1×75 的一维向量,以满足全连接层的输入格式。
全连接层的工作流程:
[7×7×512 特征图] → 展平 → [25088 维向量] → 全连接层1 (4096) → 全连接层2 (4096) → 输出层 (1000类) → Softmax → 概率分布
最后一层全连接层的输出经过 Softmax 归一化后,每个神经元代表图片属于某一类的概率。如果有 1000 个类别,输出就是 1000 维的概率向量,所有值之和为 1。
1.5 CNN 经典架构演进史
每一个里程碑架构都在解决前一代的核心问题:
架构年份层数核心创新解决的问题ImageNet Top-5 错误率LeNet-519985CNN 的开山之作手写数字识别—AlexNet20128ReLU + Dropout + GPU 训练证明深层 CNN 可行,开启深度学习时代15.3%VGG-16201416全部使用 3×3 小卷积核证明了"深度"的重要性,结构极其规整7.3%GoogLeNet (Inception)201422多尺度并行卷积(Inception 模块)不同尺度信息同时捕捉,计算更高效6.7%ResNet-1522015152残差连接解决了深层网络的退化问题,首次超越人类水平3.57%DenseNet2017201密集连接:每层与所有后续层直接相连梯度流最大化,特征复用极高效—MobileNet201728深度可分离卷积在手机端实现实时推理—EfficientNet2019—NAS 搜索 + 复合缩放(深度/宽度/分辨率)在效率和精度之间找到最优平衡1.0%
通俗理解:CNN 就像用不同放大镜一块一块地检查图像。底层看到像素级的纹理和边缘,中层看到眼睛/鼻子/轮子等局部结构,高层判断"这是一张猫脸"或"这是一辆汽车"。卷积核的参数不是人手工设计的,而是通过反向传播自动学出来的——网络自己发现什么样的卷积核最有助于最终分类。
第二部分:不止分类——视觉理解的全谱系
2.1 目标检测——"在哪里"+"是什么"
图像分类只能回答"这张图里有什么",而目标检测(Object Detection) 需要同时回答两个问题:物体在哪里(定位)+ 是什么(分类)。
经典检测架构的演进:
模型年份核心思路速度/精度特点R-CNN2014生成候选区域 → 逐个 CNN 分类极慢(每张图需要跑 2000 次 CNN),但精度高Fast R-CNN2015整张图只跑一次 CNN + ROI Pooling比 R-CNN 快 20 倍Faster R-CNN2015引入 RPN 网络端到端生成候选区域接近实时,两阶段检测器的标杆YOLO2016将检测视为回归问题,一次前向出所有结果实时检测,适合视频和自动驾驶SSD2016多尺度特征图同时检测兼顾速度和精度DETR2020Transformer + 二分图匹配,去掉 NMS 和 anchor端到端,无需手工设计的组件
YOLO 的核心直觉:把图像划分成 S×S 个网格,每个网格预测 B 个边界框和类别概率。不需要先生成候选区域再分类——整个过程就是一次 CNN 前向传播。"You Only Look Once" 名副其实。
2.2 语义分割与实例分割——像素级理解
语义分割(Semantic Segmentation) 给每个像素分配一个类别标签——天空、道路、行人、车辆……核心架构是 U-Net 和 DeepLab。U-Net 的编码器-解码器结构配合跳跃连接(从编码器到解码器的直接特征传递),让网络同时拥有全局语义("这是一条路")和高分辨率定位("路的边界在这些像素上")。
实例分割(Instance Segmentation) 更进一步,不仅区分"这是行人",还要区分"这是行人 A,那是行人 B"。Mask R-CNN(2017)在 Faster R-CNN 的基础上加了一个并行的 mask 预测分支,是最经典的实例分割方法。
应用场景:自动驾驶(识别车道线和交通标志)、医学影像(分割肿瘤边界)、卫星图像分析(识别建筑物和农田)——语义分割是这些领域的核心技术。
第三部分:ViT——当 Transformer 进入视觉世界
3.1 为什么 CNN 不够了?
CNN 有一个与生俱来的归纳偏置(Inductive Bias):它假设图像的特征是局部的、平移不变的。这意味着卷积核一次只能看到一个小区域(感受野是局部的),需要堆叠很多层才能建立全局联系。这个偏置在数据不足时是优势(约束了搜索空间),但在数据海量时变成了限制——模型被"局部优先"的假设束缚住了。
2020 年,Google 提出 Vision Transformer (ViT),直接挑战了这个假设:如果给 Transformer 足够多的训练数据,它不需要任何"局部性"先验,能从零开始学出比 CNN 更强的视觉理解。
3.2 ViT 的核心流程
ViT 的思路直截了当——把图像当成文本一样处理:
- 将图像切分成固定大小的 Patch(如 16×16 像素块)
(224×224 图像 → 14×14=196 个 Patch) - 每个 Patch 拉平成一个向量:[16×16×3=768 维]
- 通过线性投影层映射到 Transformer 的嵌入维度
- 加上可学习的位置编码(因为 Transformer 不知道 Patch 之间的空间位置关系)
- 在最前面加一个可学习的 [CLS] Token(类似 BERT),它的最终输出用于分类
- 将整个序列输入标准 Transformer 编码器
一张 224×224 的图像被转换成 197 个 token(196 个 Patch + 1 个 CLS),然后就像处理一段 197 个词的句子一样,全部交给 Transformer 处理。
3.3 CNN vs ViT 深度对比
特性CNNVision Transformer核心操作局部卷积(3×3 或 5×5 滑动窗口)全局自注意力(每个 patch 都看到所有 patch)归纳偏置强——局部性和平移不变性弱——几乎全靠数据学习数据需求较少(10 万级别即可训练)海量(百万级别才能发挥优势)全局感受野需要堆叠很多层(深层才能看到全局)第一层就能看到整张图的任意两个区域计算复杂度O(k²·n)——与卷积核大小和像素数呈线性O(n²)——与 patch 数量的平方成正比位置信息处理天然编码在空间结构中需要显式的位置编码多模态兼容性专为图像设计与文本 Transformer 共享架构,天然适合多模态
关键洞察:CNN 自带的"局部性先验"既是优势(数据少时效果碾压 ViT),也是天花板的来源(限制了全局视野)。ViT 没有这个先验,从头学习一切,所以当数据充足时它的上限更高。这也是为什么 GPT-4V、Gemini、Claude 3.5 等多模态模型几乎全部采用 Transformer / ViT 作为视觉编码器——文本和图像可以用同一套机制统一处理,打通多模态的技术壁垒消失了。
3.4 ViT 的进化——层次化 Transformer
原始 ViT 的一个问题是:所有层使用相同的 patch 分辨率,缺乏 CNN 那种"从细到粗"的多尺度层次。后续工作在这一点上做了重要改进:
- Swin Transformer(2021):引入分层结构和移动窗口注意力(Shifted Window Attention),让计算复杂度从 O(n²) 降到 O(n),同时恢复了多尺度特征。Swin Transformer 在各种视觉任务上全面超越 CNN,获得了 2021 年 ICCV 最佳论文奖
- PVT(Pyramid Vision Transformer):类似 CNN 的逐层降采样结构,适合作为检测和分割任务的骨干网络
- DINO / DINOv2(Meta):自监督训练的 ViT,不需要标注数据就能学到令人惊叹的视觉特征——其注意力图可以直接作为无监督的语义分割结果
第四部分:扩散模型——从噪声中"画"出世界
4.1 生成模型的两种范式
在扩散模型出现之前,主流的图像生成方法主要依赖 GAN(生成对抗网络):一个生成器尝试画逼真的图像,一个判别器尝试区分真图和假图,两者在博弈中共同进步。GAN 生成的图像虽锐利,但训练极不稳定——模式坍塌(Generator 只会画几种固定的图)、训练震荡(Loss 来回波动不收敛)是常态。
扩散模型走了一条完全不同的路——它不依赖于对抗博弈,而是基于物理启发:热力学中分子扩散的过程是可逆的,那图像的"信息扩散"也应该是可逆的。
4.2 扩散模型的基本原理
扩散模型的核心思想分为三步:
第一步:前向过程(加噪)——"破坏"图像
从一张真实的清晰图像开始,反复添加微量高斯噪声。经过约 1000 步后,图像的信息完全被噪声淹没,变成纯粹的随机高斯噪声。这个过程是固定的,不需要训练。
清晰图像 x₀ → x₁(加了少量噪声)→ x₂(噪声更多)→ ... → x_T(纯噪声)
每步的加噪幅度由一个预先定义好的噪声调度(Noise Schedule)决定——通常开始时加噪慢(保留更多信息),接近结束时加噪快(快速趋向纯噪声)。
第二步:反向过程(去噪)——训练的目标
训练一个神经网络(通常是对称结构的 U-Net),让它学习如何从噪声中恢复图像——具体来说,是预测每一步中添加的噪声。训练的目标函数非常简洁:
Loss = || 预测的噪声 - 实际添加的噪声 ||
这个简单到令人意外的损失函数是扩散模型成功的核心:模型不需要直接生成整张图,只需要学会"看清噪声并消除它"——对 U-Net 来说这是一个更简单的学习目标。
第三步:采样生成——从纯噪声到清晰图像
从完全随机的噪声开始(x_T),用训练好的 U-Net 网络一步步地去噪——预测噪声分量,减去它,得到稍微清晰一点的图像(x_{T-1}),再预测、再减去……经过 T 步迭代后,最终得到一张清晰的图像。
4.3 文本控制——让模型听懂你的指令
上述流程可以生成一张"随机图像",但如何让它按照文字描述来生成呢?答案是 Cross-Attention(交叉注意力)。
具体实现中,会用一个文本编码器(如 CLIP Text Encoder)先将 prompt(如"一只穿着宇航服的柴犬在月球上行走")编码为一组文本 Embedding 向量。然后在 U-Net 的每一个去噪层中,通过交叉注意力层将这些文本 Embedding 注入——去噪网络在每一步都能"参考"文本描述,使生成的图像收敛到与文字描述一致的方向。
通俗理解:扩散模型的训练就像是观看"一杯清水里滴入墨汁"的慢动作视频——你看到了墨汁从一滴到完全扩散的整个过程。推理时反过来——给你一杯浑浊的随机墨汁水,让你根据指令("中国山水画风格")反向推动墨汁的扩散,恢复出一幅清晰的画作。模型不被告诉"山水画长什么样",但它通过观察过上亿张山水画的"扩散视频",学会了当指令是"山水画"时,该往哪个方向去噪。
4.4 Stable Diffusion 的关键创新——在潜空间中扩散
如果直接在像素空间做扩散会怎样?一张 512×512 的 RGB 图像有 512×512×3 ≈ 78.6 万个维度。在如此高维空间中做 1000 步扩散,计算量极其恐怖——这就是为什么最初的扩散模型只能在 Google 级别的计算集群上运行。
Stable Diffusion 的突破性创新:不在像素空间,而在压缩的"潜空间"(Latent Space)中做扩散。
通过一个预训练的 VAE(变分自编码器),将原始图像压缩了约 48 倍——512×512×3 变成了 64×64×4(约 1.6 万维)。扩散模型的全部操作(加噪、去噪、采样)都在这个低维潜空间中进行,最后再用 VAE 的解码器将潜空间的结果解码回像素空间。
这一创新让在消费级 GPU(如 RTX 4090, 24GB 显存)上运行扩散模型成为可能——没有潜空间扩散,你现在能在自己电脑上跑 Stable Diffusion 是不可想象的。
4.5 超越基础生成——扩散模型的扩展应用
基础的 text-to-image 只是扩散模型能力的起点。以下是一些重要的扩展方向:
扩展能力代表工具/方法技术原理图像编辑(img2img)Stable Diffusion img2img从原图加部分噪声,再按新 prompt 去噪——改变内容而保留结构条件控制(ControlNet)ControlNet并行复制一份 U-Net,注入边缘图/深度图/姿态骨架等额外控制信号图像补全(Inpainting)Stable Diffusion Inpainting只对选定区域加噪和去噪,其余区域保持不动超分辨率Stable Diffusion Upscaler在去噪过程中逐步提高分辨率视频生成Sora, Runway Gen-3将 2D U-Net 扩展为 3D(时空维度),在视频帧序列上做扩散3D 生成DreamFusion, LGM将 3D 表示(NeRF / 3D Gaussian Splatting)与扩散模型结合
ControlNet 特别值得一讲:它解决了"用纯文本控制图像生成不够精确"的问题。想象你要生成"一个特定姿势的人体",纯文本很难精确描述四肢的每个角度。ControlNet 允许你传入一张边缘图或姿态骨架图作为额外条件——模型在遵循文本描述的同时,也必须遵循这个空间结构的约束。这使得 AI 绘画从"碰运气"变成了"可精确控制"。
第五部分:多模态模型——打通文本与视觉
5.1 多模态模型为什么重要?
纯语言模型只能处理文本——它知道"苹果是红色的圆形水果"这个陈述,但从没见过真实的苹果。混合了视觉信息后,模型可以建立文本概念和视觉实在之间的直接联系——这对于世界理解、空间推理和常识判断至关重要。
最新一代的多模态模型(GPT-4V、Gemini、Claude 3.5)能同时"看"图像和"读"文字,在图表理解、UI 识别、医学影像分析等任务上表现出色。
5.2 主流多模态架构
目前最主流的多模态模型架构是视觉编码器 + 投影层 + 语言模型的"外挂式"设计:
图像 → 视觉编码器(ViT / SigLIP) → N 个视觉 Token → 投影层(MLP) → 与文本 Token 拼接 → LLM → 回答
- 视觉编码器:将图像转换为一系列视觉特征向量。通常使用 ViT 或更先进的 SigLIP(Google 的增强版 CLIP)
- 投影层(Projector):一个简单的 MLP,将视觉向量映射到与文本 Embedding 相同的维度空间,让 LLM 能够统一处理
- LLM:像处理文本 token 一样处理视觉 token,将它们和文本 token 拼接后一起做自注意力计算
这本质上是在 LLM 上"外挂"了一个视觉前端——就像给 LLM 装了一双眼睛。视觉编码器负责"看"(提取特征),LLM 负责"想"(基于视觉+文本信息做推理)。
通俗理解:你看到一张菜单,眼睛(视觉编码器)把图像信息传给大脑(LLM),大脑同时处理"红烧肉 38元"这个视觉信息和你"预算 50 元"这个内在知识约束,最终决定"可以点"。在这个类比中,视觉编码器没有改变 LLM 的"思考方式",只是扩展了它能处理的信息类型。
代表性多模态模型:
模型架构亮点LLaVAViT-L + MLP 投影 + LLaMA开源多模态模型的标杆,仅用单层 MLP 就能打通视觉和语言GPT-4V未公开(推测为 ViT 变体 + GPT-4)图表理解、UI 截图分析、复杂多模态推理Gemini原生多模态(Early Fusion)从底层就把图像和文本混合训练,不是"外挂"模式Claude 3.5未公开在图表、长文档截图(如 PDF 扫描件)的分析上表现出色Qwen-VLViT + 交叉注意力 + Qwen中文多模态理解表现出色,支持中英双语
5.3 CLIP——连接文本与视觉的桥梁
CLIP(Contrastive Language-Image Pre-training, OpenAI, 2021) 虽然不是多模态生成模型,但它是几乎所有现代多模态系统的核心组件。它的设计思想极其优雅:
- 收集 4 亿个"图片-文本描述"对
- 训练一个图像编码器和一个文本编码器,使匹配的图文对的 Embedding 尽可能相似,不匹配的尽可能远离
- 训练方式:在一个 batch 内做对比学习——正确的图文对是正样本,同一个 batch 中其他所有图文组合都是负样本
训练完成后,CLIP 获得了一个"语义对齐"的空间——在这个空间里,图片"一只猫"和文字"猫"的距离很近,文字"狗"则很远。这个对齐空间是 Stable Diffusion 用文本控制图像生成的基础,也是 GPT-4V "看"懂图像的前提。
第六部分:关键问题与未来展望
6.1 为什么大模型越大越聪明?
缩放定律(Scaling Laws) 表明:模型性能与参数量、数据量、计算量之间呈平滑的幂律关系。但更引人入胜的是涌现能力(Emergent Abilities)——代码生成、逻辑推理、多语言翻译等能力在模型达到某个临界规模后突然出现,小模型中完全不存在。这些能力不是被显式编程的,而是海量数据和充分参数空间下系统自发产生的高级行为。
6.2 注意力瓶颈与未来架构
自注意力的 O(n²) 复杂度是 Transformer 的阿喀琉斯之踵。对于高分辨率图像(如 1024×1024,对应约 4096 个 ViT patch),计算量极为庞大。当前和未来的解决方案包括:
- Flash Attention:软硬件协同的极致优化,已为行业标配
- 状态空间模型(Mamba, RWKV):完全替换注意力机制,实现线性复杂度
- 混合架构:局部窗口注意力(高效) + 全局 token 注意力(长程依赖),兼顾二者优点
6.3 世界模型——视觉 AI 的下一个前沿
Yann LeCun(图灵奖得主,Meta 首席 AI 科学家)一直倡导"世界模型"的理念:AI 不应该只是识别物体或生成图片,而应该拥有一个内在的"世界模拟器"——能够预测物理世界的演变、推理因果关系、在想象中规划行动。Sora(OpenAI 的视频生成模型)某种程度上展示了这种可能性:它生成的视频不仅画面连贯,而且物体在空间中的运动和遮挡关系符合物理直觉——这意味着模型在学习视频生成的同时,也学到了某种隐式的三维世界模型。
总结
我们从 CNN 的卷积运算出发,走完了计算机视觉从"识别"到"生成"再到"理解"的完整技术演进:
- CNN 以局部卷积和层次化特征提取统治了图像识别十年——卷积核的参数全靠反向传播自动学习
- 池化层通过降采样实现平移不变性和计算压缩
- 目标检测与语义分割将视觉理解从"全图分类"推进到"像素级精确定位"
- Vision Transformer 将 Transformer 直接用于图像,打破 CNN 的局部先验,上限更高且天然适合多模态
- 扩散模型从前向加噪和反向去噪的精巧设计中学会了从纯噪声中生成图像——潜空间扩散让它能在消费级 GPU 上运行
- 多模态模型以外挂式架构(视觉编码器 + LLM)打通了文本和视觉,让 AI 同时"看"和"想"
- 世界模型是未来的方向——AI 不仅处理感知信号,还构建内在的物理世界模拟
从 CNN 在 2012 年 AlexNet 带来的深度学习革命,到 2022 年 Stable Diffusion 让每个人都能用 AI 创作艺术,不过短短十年。十年间,AI 从"勉强能认出猫"进步到了"根据一段文字创作出令人惊叹的艺术品"。而下一个十年——世界模型、具身智能、通用视觉推理——只会更加激动人心。矩阵乘法永不眠。 —— Iustitiae
