Skip to content

引言

2012 年 10 月,意大利佛罗伦萨。欧洲计算机视觉大会(ECCV)的 ImageNet 竞赛结果揭晓现场,气氛凝固了。

一个由多伦多大学三人小组提交的名为"AlexNet"的系统,以 15.3% 的 Top-5 错误率夺冠。第二名?26.2%。差距超过 10 个百分点——在计算机视觉竞赛中,这从来没有人做到过。

评审台上的人面面相觑。使用传统方法的团队沉默不语。一个基于神经网络的方法,竟然碾压了所有人。

这不是一次普通的比赛。这是深度学习革命的发令枪。


ImageNet:被嘲笑的野心

一个"愚蠢"的想法

2006 年,当 Fei-Fei Li 向同行提出要构建一个包含数千万张标注图像的数据集时,几乎没有人支持她。

FL1976-
Fei-Fei Li(李飞飞)
斯坦福大学教授,ImageNet 创建者
"如果要让机器理解视觉世界,就必须给它看到整个世界的图像,而不是几张精心挑选的样本。"

同行们告诉她:研究应该从算法入手,而不是收集数据。经费申请被一再拒绝。但 Li 坚持认为:没有足够大的数据,就无法证明算法的真正潜力。她带领团队花了三年时间,借助亚马逊 Mechanical Turk 众包平台,最终构建了当时人类历史上最大的图像数据集。

数据集的规模

指标数据量
图像数量1400 万+
类别数21,841
标注图像100 万+(由人工标注)
ILSVRC 竞赛子集1000 类,120 万训练图像

为什么 ImageNet 如此重要?

之前的数据集:
  MNIST(手写数字):6 万张,10 类
  CIFAR-10:6 万张,10 类
  → 太小,无法训练深层网络

ImageNet:
  120 万张,1000 类
  → 大到足以让深度网络展现出优势

核心洞察:大模型 + 大数据 = 突破性性能

AlexNet:地下室里的革命

三个人与两块游戏显卡

AK1989-
Alex Krizhevsky
多伦多大学研究生,AlexNet 主要作者
"我最初只是想验证 GPU 能否加速神经网络训练,没想到会改变整个领域。"
IS1986-
Ilya Sutskever
多伦多大学研究生,后来成为 OpenAI 联合创始人
"我们有一种直觉:只要网络足够大、数据足够多,就一定能工作。"
GH1947-
Geoffrey Hinton
多伦多大学教授,「深度学习之父」
"我花了 30 年证明神经网络是正确方向。大多数人觉得我疯了。"

故事要从 Ilya Sutskever 的一个想法说起。作为 Hinton 的博士生,Ilya 一直坚信:更大的神经网络一定能工作。但训练它们需要巨大的计算量——传统的 CPU 根本不可行。

Ilya 注意到了游戏显卡。GPU 本来是为了渲染 3D 游戏画面设计的,但它的并行计算能力恰好适合神经网络的矩阵运算。他说服了同学 Alex Krizhevsky,开始用 NVIDIA GTX 580——一块当时售价约 500 美元的游戏显卡——来训练神经网络。

在 Hinton 的实验室里,Alex 写出了后来以他命名的网络。两块 GTX 580,每块只有 3GB 显存。他们不得不把网络拆成两半,分别在两块 GPU 上运行。训练持续了五六天。

当结果出来的时候,连他们自己都没想到会赢得那么彻底。

比赛结果(ILSVRC 2012)

排名团队方法Top-5 错误率
1Alex Krizhevsky / Ilya Sutskever / Geoffrey HintonCNN (AlexNet)15.3%
2ISLVRC 2011 冠军传统方法(SIFT+FV)26.2%
3其他团队传统方法~27-30%

AlexNet 的错误率比第二名低了 10.9 个百分点——这在计算机视觉竞赛中是前所未有的巨大差距。

一位参赛者后来回忆:"当我们看到结果的时候,所有人都意识到:游戏规则变了。"

AlexNet 的架构

输入:227×227×3(彩色图像)


[Conv1: 96 个 11×11 卷积核, ReLU] → [MaxPool]


[Conv2: 256 个 5×5 卷积核, ReLU] → [MaxPool]


[Conv3: 384 个 3×3 卷积核, ReLU]
[Conv4: 384 个 3×3 卷积核, ReLU]
[Conv5: 256 个 3×3 卷积核, ReLU] → [MaxPool]


[FC6: 4096 个神经元, ReLU, Dropout]
[FC7: 4096 个神经元, ReLU, Dropout]
[FC8: 1000 个神经元, Softmax]


输出:1000 个类别的概率分布

总参数量:约 6000 万

AlexNet 的关键创新

创新说明影响
ReLU 激活函数f(x) = max(0, x),替代 Sigmoid训练速度快数倍,缓解梯度消失
Dropout训练时随机丢弃 50% 的神经元有效防止过拟合
GPU 训练使用两块 GTX 580 GPU 并行训练使大规模训练成为可能
数据增强随机裁剪、水平翻转、颜色扰动等效扩大训练数据
局部响应归一化(LRN)对局部特征图做归一化后来的研究发现这一步并非必要

GPU:被忽视的关键因素

AlexNet 的训练:
  两块 NVIDIA GTX 580 GPU
  每块 3GB 显存
  训练时间:5-6 天

如果用 CPU 训练:
  估计需要 数十到 数百天
  → 实际上不可行

意义:GPU 并行计算能力使深度学习成为可能

NVIDIA 的 CUDA 平台(2007 年发布)让 GPU 通用计算变得容易,这为 AlexNet 的成功提供了基础。讽刺的是,一家游戏显卡公司,无意中推动了 AI 革命。

为什么是 2012 年?——完美风暴

深度学习的爆发不是偶然的,而是三个因素在 2012 年同时到位的结果:

       数据
       ┌─┐
       │ │
  ┌────┼─┼────┐
  │    │ │    │
  │  算法  算力  │
  │    │ │    │
  └────┼─┼────┘
       │ │
       └─┘
    三者缺一不可

数据:ImageNet 提供了足够大的数据集
算法:CNN + ReLU + Dropout + 反向传播
算力:GPU 使训练大规模网络变得可行

ImageNet 提供了数据。ReLU 和 Dropout 解决了训练难题。GPU 提供了算力。这三个因素的交汇点就是 2012 年。

少了任何一个,这场革命都不会发生。如果 ImageNet 在 2002 年就出现了,没有 GPU,深度网络依然训练不动。如果有 GPU 但没有 ImageNet,没有足够的数据证明深度学习的优势。

ILSVRC 竞赛成绩演进

2010ILSVRC 首届比赛,Top-5 错误率约 28%,传统方法主导
2011传统方法小幅改进,错误率降至约 26%
2012AlexNet 以 15.3% 横空出世,碾压第二名 26.2%,CNN 时代开启!
2013ZFNet 达到 11.7%,可视化解释了 CNN 学到了什么
2014VGG (7.3%) 和 GoogLeNet (6.7%) 将错误率进一步压低
2015ResNet 达到 3.57%,首次超越人类水平(约 5.1%)!
2016错误率降至 2.99%,接近极限
2017竞赛停办——图像分类问题基本解决
Top-5 错误率

  2010: ~28%(传统方法:SIFT + 编码)
  2011: ~26%(传统方法改进)
  2012: 15.3%(AlexNet → CNN 时代开始!)
  2013: 11.7%(ZFNet)
  2014: 6.7%(GoogLeNet / VGG)
  2015: 3.57%(ResNet → 首次超越人类!)
  2016: 2.99%
  2017: 竞赛停办(问题基本解决)

从 2012 年到 2017 年,短短五年,错误率从 28% 降到接近 3%。这场由 AlexNet 点燃的革命,彻底改写了计算机视觉的格局。


本节小结

概念要点
ImageNet李飞飞团队创建,1400 万图像的数据集,提供足够的训练数据
AlexNet2012 年 ImageNet 冠军,CNN 首次碾压传统方法,领先第二名 10.9%
关键人物Alex Krizhevsky、Ilya Sutskever、Geoffrey Hinton 三人小组
关键创新ReLU + Dropout + GPU + 数据增强
三个因素数据 + 算法 + 算力,三者同时到位才有了突破
历史意义深度学习时代的起点,改变了整个 AI 领域的方向

思考题

  1. 为什么 ReLU 比 Sigmoid 训练快那么多?从梯度角度分析。
  2. 如果 ImageNet 在 2002 年就出现了,深度学习会更早爆发吗?为什么?
  3. AlexNet 之后,ILSVRC 成绩快速逼近并超越人类水平。这是否意味着计算机视觉问题已经「解决了」?实际上还有哪些挑战?

延伸阅读

  • Krizhevsky, Sutskever, Hinton, ImageNet Classification with Deep Convolutional Neural Networks, NeurIPS 2012
  • 李飞飞, The Worlds I See(自传,讲述 ImageNet 的诞生故事)