06 ViT 为什么需要大规模数据?从归纳偏置理解 ViT 的训练特点

1. 什么是归纳偏置?

归纳偏置,英文叫:Inductive Bias。这个概念听起来有点抽象,但其实很好理解。简单来说,归纳偏置就是:模型在学习之前,结构本身已经带有的一些先验假设。

也可以理解为:模型默认认为数据应该具有某些规律。

举个简单例子:

如果我们认为图像中的局部纹理很重要,那么可以设计卷积核去看局部区域。如果我们认为同一种视觉模式可能出现在图像的不同位置,那么可以让同一个卷积核在整张图像上滑动。这些设计本身就是一种归纳偏置。也就是说,归纳偏置并不是坏事。相反,在数据量有限时,合理的归纳偏置可以帮助模型更快、更稳定地学习。

2. CNN 的归纳偏置体现在哪里?

CNN 之所以长期主导计算机视觉,一个重要原因就是它的结构非常适合图像。CNN 中至少包含三种非常重要的图像归纳偏置。

2.1 局部连接

CNN 的卷积核通常只看一个局部区域。例如,一个 3×3 卷积核每次只处理当前位置附近的 9 个像素点。这说明 CNN 默认认为:图像中的局部区域很重要。这和图像数据的特点非常吻合。因为图像中的边缘、角点、纹理、颜色变化,往往都发生在局部区域。

例如:

猫的胡须是局部纹理;

车轮边缘是局部形状;

树叶纹理也是局部模式。

所以 CNN 不需要从零开始学习"局部区域很重要"这件事。它的结构天然就把这个假设写进去了。

2.2 权重共享

CNN 的另一个重要特征是权重共享。同一个卷积核会在整张图像上滑动。这说明 CNN 默认认为:同一种视觉模式可以出现在图像的不同位置。

例如,一个检测边缘的卷积核,不管边缘出现在左上角还是右下角,都可以用同一组参数去检测。这带来两个好处:

第一,减少参数量。

第二,增强模型对位置变化的适应能力。

比如猫的耳朵可能出现在图像左侧,也可能出现在右侧,但 CNN 不需要为每个位置单独学习一套检测器。

2.3 平移等变性

CNN 还有一个重要性质:输入图像发生平移时,特征图也会相应平移。

简单来说,如果图像中的目标从左边移动到右边,卷积提取到的特征也会跟着移动。这对视觉任务非常重要。因为很多图像任务中,目标的位置并不固定。

例如:

狗可能出现在图像中心;

也可能出现在左下角;

也可能只露出一部分。

CNN 的结构天然适合处理这种位置变化。

3. ViT 的归纳偏置为什么更弱?

ViT 的设计思路和 CNN 不一样。

ViT 做的第一件事是:把图像切成 patch。然后把这些 patch 当成 token,输入 Transformer。也就是说,ViT 更像是把图像当成一个 token 序列处理。

对于 ViT-B/16:

输入图像大小:224 × 224

patch size:16 × 1

patch 数量:14 × 14 = 196

加入 class token 后:197 个 token

这些 token 进入 Transformer 后,会通过 self-attention 建模关系。但是相比 CNN,ViT 缺少很多强视觉先验。

3.1 ViT 不再逐像素滑动卷积

CNN 会在整张图像上滑动卷积核。而 ViT 一开始就把图像切成 patch。对于 ViT-B/16 来说,每个 patch 是:16 × 16 × 3

也就是说,一个 patch 内部的细粒度空间结构会被展平后映射成一个 token。虽然 Patch Embedding 可以学习 patch 内部的信息,但 ViT 并不像 CNN 那样在整个网络中持续使用局部卷积操作。所以 ViT 对局部纹理和边缘的建模,并没有 CNN 那么强的结构先验。

3.2 ViT 不天然具备强局部性

CNN 的卷积核天然关注局部邻域。而 ViT 的 self-attention 一开始就允许所有 token 之间交互。

这听起来是优点,因为它能直接建模全局关系。但从另一个角度看,这也意味着:模型并不天然知道相邻 patch 更可能相关。对于人类来说,图像中相邻区域通常关系更强。对于 CNN 来说,这种局部性被卷积结构天然编码了。但对于 ViT 来说,这需要通过数据学习。

3.3 ViT 需要学习空间关系

ViT 会加入 position embedding,告诉模型每个 patch 的位置。但是 position embedding 只是提供位置信息,并不等于模型天然理解二维图像结构。ViT 需要通过训练数据学习:

哪些 patch 是相邻的;

哪些 patch 属于同一个物体;

哪些远距离 patch 有语义关系;

哪些区域对分类更重要。

这些空间关系不是像 CNN 那样强行写入结构中的,而是更多依赖数据学习。所以,ViT 的归纳偏置更弱。

4. 小数据场景下,为什么 CNN 往往更稳?

如果数据量不大,一个归纳偏置强的模型往往更容易训练。原因很简单:数据少时,模型没有足够样本去学习所有规律,所以结构先验会非常重要。

CNN 已经默认假设:

局部区域很重要;

同一种特征可以在不同位置复用;

图像特征应该从低级到高级逐层组合。

这些假设大多数时候是合理的。所以即使数据量不是特别大,CNN 也能比较稳定地学习视觉特征。而 ViT 的结构更加通用。它不强制模型按照局部到整体的方式理解图像,而是让模型自己通过 attention 学习 token 之间的关系。这带来一个问题:如果数据量不够,ViT 可能学不到足够好的视觉规律。所以在小数据场景下,ViT 容易出现:

训练不稳定;

过拟合;

泛化能力不如 CNN;

需要更强的数据增强和正则化。

这就是为什么 ViT 原论文特别强调大规模数据预训练。

5. 大规模数据下,为什么 ViT 潜力更强?

既然 ViT 在小数据下不一定占优,那为什么它后来会成为视觉基础模型的重要结构?

原因在于:当数据规模足够大时,弱归纳偏置不一定是缺点,反而可能带来更强的可扩展性。CNN 的强归纳偏置在小数据场景下很有帮助。但是,这些结构假设也可能限制模型表达能力。例如,CNN 更偏向局部处理,而 ViT 可以更自由地建模任意 token 之间的关系。当数据规模非常大时,ViT 可以从数据中学习到:

局部纹理关系;

长距离依赖关系;

物体部件关系;

前景背景关系;

全局语义关系;

跨模态对齐关系。

也就是说,大规模数据可以弥补 ViT 归纳偏置不足的问题。当模型见过足够多图像后,它可以自己学习图像世界中的统计规律。这也是 ViT 在大规模预训练后表现强大的重要原因。

相关推荐
坏孩子的诺亚方舟3 小时前
open_prj26_基础图像处理
图像处理·计算机视觉·mpsco
xinxiangwangzhi_4 小时前
立体匹配--GGEV(2025)
人工智能·计算机视觉
nebula-AI4 小时前
人工智能导论:模型与算法(核心技术)
人工智能·深度学习·神经网络·算法·机器学习·集成学习·sklearn
数智工坊4 小时前
视觉-语言-动作模型解剖学:从模块、里程碑到核心挑战
论文阅读·人工智能·深度学习·算法·transformer
惊鸿一博5 小时前
Transformer模型图解(简单易懂版)
人工智能·深度学习·transformer
Omics Pro5 小时前
填补蛋白质组深度学习预处理教学空白
人工智能·python·深度学习·plotly·numpy·pandas·scikit-learn
解局易否结局6 小时前
ops-transformer 的 FlashAttention:给昇腾NPU 配了个“高效厨房“
人工智能·深度学习·transformer
东湖山上6 小时前
GTAC: A Generative Transformer for Approximate Circuits
服务器·人工智能·深度学习·transformer·gpu算力
解局易否结局7 小时前
ops-transformer 里的 FlashAttention:让大模型在昇腾NPU上“吃得少、跑得快“
人工智能·深度学习·transformer