Deep Learning Vision Classic

AlexNet:从 CNN 基础到经典深度视觉模型的完整理解

这不是一页背结构的速记卡,而是一份帮助你建立理解的学习文件:AlexNet 为什么能成功,每一层在观察什么,ReLU、Dropout、数据增强和 GPU 分别解决了什么问题,以及它怎样连接 LeNet、VGG、GoogLeNet 和 ResNet。

RGB 输入 边缘 纹理 部件 类别 Softmax 逐层把像素组合成可分类的语义线索
Part 01

AlexNet 是什么

AlexNet 是一个经典卷积神经网络,由 Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 提出。它在 2012 年 ImageNet 图像分类竞赛中取得突破性成绩,通常被认为是深度学习在计算机视觉领域爆发的标志性模型。

它解决的是图像分类问题:输入一张图片,模型输出这张图片最可能属于哪个类别。对 ImageNet 来说,经典任务是从 1000 个类别中选择,例如猫、狗、汽车、飞机、键盘等。

输入图片 RGB 像素 特征提取 卷积 + 池化 高级特征组合 全连接层 分类输出 类别概率

通俗类比

AlexNet 像一个逐层观察图片的系统。第一眼不急着说“这是猫”,而是先看边缘、颜色块和方向纹理;中间层把这些线索组合成纹理、局部形状;后面再组合出耳朵、眼睛、轮廓这类更接近物体部件的模式;最后综合判断类别。

考试版一句话总结

AlexNet 是 2012 年 ImageNet 上取得突破的深度卷积神经网络,典型结构为 5 个卷积层加 3 个全连接层,标志着计算机视觉从手工特征工程走向端到端深度学习。

Part 02

为什么 AlexNet 重要

AlexNet 的重要性不只是“它有几层”,而是它证明了一条路线:大规模数据集、GPU 训练、深度 CNN、ReLU、Dropout 和数据增强可以组合起来,让模型直接从原始图像中学习有效特征。

比较维度 传统视觉方法 AlexNet 深度学习方法
特征来源 人设计 SIFT、HOG、角点、纹理等特征。 模型从大量样本中自动学习边缘、纹理、部件和类别线索。
工作流程 先手工提特征,再训练分类器。 输入图像到输出类别一起训练。
可扩展性 换任务常要重新设计特征。 同一套网络思想可迁移到很多视觉任务。
核心瓶颈 依赖专家经验,特征表达能力有限。 依赖数据、算力、训练技巧和模型容量。

什么是端到端学习

端到端学习的意思是:模型从原始输入开始,直接学习到目标输出,中间的特征表示不是由人手工规定,而是在训练中自动形成。以猫狗分类为例,传统方法可能要求人先设计“边缘方向直方图”“局部纹理描述子”等;AlexNet 则在训练中自己找到有用的卷积核,逐渐学习出能区分猫狗的视觉模式。

关键理解:AlexNet 的重要性不只是结构本身,而是它证明了“深度 CNN + GPU + 大数据”这条路线是可行的。这一点改变了计算机视觉后来的研究方向。
Part 03

CNN 基础快速回顾

图像在计算机中是什么

灰度图可以看成 H × W × 1 的数字矩阵;彩色图通常是 H × W × 3,三个通道分别对应 RGB。每个像素不是“图片感”,而是数字。CNN 的任务就是从这些数字中学出有意义的空间模式。

为什么 CNN 比普通 MLP 更适合图像

图像有空间结构:相邻像素常常相关,边缘、纹理和局部形状通常只占图片的一小块。CNN 使用局部连接和参数共享,既保留空间关系,又显著减少参数。MLP 把图片拉平成向量后,空间邻近关系会变得不自然,参数量也容易暴涨。

卷积层与 Feature Map

卷积层用一个小卷积核在图像或特征图上滑动。卷积核像一个“模式探测器”:如果局部区域和它要找的模式相似,输出值就大;如果不像,输出值就小。这个滑动后得到的一张响应图,就是 feature map。

5×5 图像矩阵 1 2 1 0 1 0 1 2 1 0 2 1 3 2 1 1 0 2 1 2 0 1 0 2 1 3×3 卷积核 1 0 -1 1 0 -1 1 0 -1 Feature Map 响应越强,值越大

Max Pooling 做什么

池化层把一小块区域压缩成一个值。Max Pooling 取最大值,意思是“只保留这个区域里最强的响应”。它会降低空间尺寸、减少计算量,并让模型对小范围平移更鲁棒:特征稍微移动一点,最大响应仍可能被保留下来。

2×2 区域取最大值 1 4 2 3 4 最大值 4 代表这个区域最强的局部响应。
小测验:为什么 CNN 不直接把整张图片拉平成向量再输入 MLP?
因为拉平会弱化空间结构,模型很难自然利用“相邻像素相关”这个图像先验;同时全连接会让参数量迅速变大。CNN 用局部连接保留局部结构,用参数共享让同一个特征探测器可以在图像不同位置工作,因此更适合图像。
Part 04

AlexNet 的整体架构

经典 AlexNet 常被概括为 5 个卷积层 + 3 个全连接层。输入尺寸常见写法有 224×224×3227×227×3,不同实现会因为裁剪、padding 和框架细节略有差异。学习时不必死扣所有论文尺寸,更重要的是理解信息怎样逐层变化。

ConvReLULRNMaxPoolFCDropout

AlexNet 整体架构图

Input图像
Conv1低级特征
ReLU非线性
LRN归一化
Pool1降采样
Conv2纹理
ReLU
LRN
Pool2
Conv3局部形状
ReLU
Conv4部件
ReLU
Conv5高层部件
ReLU
Pool3
FC6组合
ReLU
Dropout
FC7判别
ReLU
Dropout
FC81000 类
Softmax概率

前面的卷积层负责从图像空间中提取局部特征,后面的全连接层负责把这些高级特征综合起来做分类。越往后,单个神经元的感受野越大,它“看到”的不再是几个像素,而可能是较大的局部区域,因此特征也越抽象。

层名 类型 作用 直观理解 是否改变空间尺寸
Input 输入 提供 RGB 图像 原始像素材料
Conv1 卷积 提取边缘、颜色、方向纹理 第一批视觉探测器 通常会,因大核和 stride
LRN + Pool1 归一化 + 池化 突出强响应、降低尺寸 保留显著局部线索
Conv2 卷积 组合更复杂纹理 把边缘组合成纹理块 卷积视实现而定,池化会改变
Conv3-Conv5 卷积 学习局部形状和物体部件 从纹理走向语义部件 卷积多保持,后续池化改变
FC6-FC7 全连接 全局组合高级特征 综合证据做类别判别 空间结构被展平
FC8 + Softmax 输出 给出类别分数和概率 把证据转成分类结果 输出类别维度
Part 05

逐层拆解 AlexNet

边缘 纹理 局部形状 物体部件 类别判断

Conv1

它看到了什么 原始 RGB 图像中的局部区域。

它学到了什么 大卷积核如 11×11 和较大步幅会捕捉明显的边缘、颜色块、方向纹理。第一层常学到类似 Gabor 滤波器的边缘探测器,因为自然图像中边缘和方向变化是非常基础且稳定的视觉线索。

它为什么重要 后面所有复杂特征都要以这些低级视觉线索为材料。如果没有它,网络很难建立从像素到局部结构的第一层桥梁。

一句话理解:Conv1 是把像素翻译成边缘、颜色和简单纹理的第一批探测器。

MaxPool1

它看到了什么 Conv1 产生的低级特征响应图。

它学到了什么 池化本身没有可学习参数,它做的是取局部最大响应。

它为什么重要 降低特征图尺寸,减少后续计算,同时保留强响应并增强小范围平移鲁棒性。没有池化,计算量会更大,模型也更容易对位置细节过度敏感。

一句话理解:MaxPool1 像把“哪里有强边缘”压缩成更紧凑的地图。

Conv2

它看到了什么 第一层边缘、颜色和纹理的组合响应。

它学到了什么 更复杂的纹理和局部组合,例如边缘组合、颜色纹理、重复模式。

它为什么重要 单独边缘还不足以分类,Conv2 开始把低级线索拼成更有辨识度的局部模式。没有它,网络从低级边缘直接分类会很吃力。

一句话理解:Conv2 把单条边缘组合成小纹理和小结构。

Conv3、Conv4、Conv5

它看到了什么 多层卷积后的更大感受野区域。

它学到了什么 从局部纹理逐渐过渡到局部形状和物体部件。越深的卷积层通过前面层的组合,能间接看到更大的图像区域。

它为什么重要 真实分类需要更抽象的证据,例如“耳朵形状”“轮廓”“车轮附近的结构”。如果缺少这些深层卷积,模型表达能力会停留在纹理级别。

一句话理解:中后段卷积层把纹理组合成更接近物体部件的语义线索。

FC6、FC7

它看到了什么 展平后的高级特征向量。

它学到了什么 哪些高级特征组合更能区分类别。

它为什么重要 卷积层提取局部与部件线索,全连接层负责全局综合。但 FC 参数很多,很容易过拟合,所以 AlexNet 在这里使用 Dropout。

一句话理解:FC6/FC7 像一个综合判断器,把所有部件证据放在一起比较。

FC8 + Softmax

它看到了什么 FC7 的类别判别特征。

它学到了什么 对 ImageNet 1000 个类别分别给出一个分数。

它为什么重要 FC8 输出 logits,Softmax 把 logits 转为概率。没有输出层,模型只有特征,没有最终分类决策。

一句话理解:FC8 把综合证据翻译成每个类别的分数。

Part 06

AlexNet 的关键创新

ReLU 激活函数

公式:ReLU(x) = max(0, x)。负数变 0,正数保持不变。相比 sigmoid/tanh,ReLU 在正区间梯度更直接,不容易因为饱和导致梯度很小,因此深层网络训练更快,也能缓解梯度消失。

ReLU y x 负数输出 0 正数保留

Dropout

Dropout 在训练时随机关闭一部分神经元,让模型不能过度依赖某几个特征。它有点像训练很多个“缺了一部分神经元”的子网络,最终产生类似集成学习的效果。测试时不随机关闭,而是使用完整网络。

1
2
3
4
5
6
7
8
9
10
11
12

数据增强、GPU 和 LRN

数据增强

随机裁剪、水平翻转、颜色扰动可以把一张训练图变成多个合理变体。它解决的是样本有限和过拟合问题:模型不能只记住某张图片的固定位置和颜色,而要学习更稳定的类别特征。

GPU 训练

卷积本质上包含大量相似的乘加计算,非常适合并行化。AlexNet 能在 ImageNet 上训练成功,GPU 的加速非常关键。没有足够算力,深层 CNN 的实验周期会长到难以推进。

LRN

Local Response Normalization 让局部强响应更突出,模拟神经元之间的局部竞争。它是 AlexNet 的组成部分,但现在已经较少使用,后来的网络更常使用 Batch Normalization。

技术 解决的问题 直观理解 现在是否常用
ReLU 训练慢、梯度消失 正向通路更直接,激活更稀疏 仍然常用,变体也很多
Dropout 全连接层过拟合 训练时随机拿掉部分神经元 仍常用,但位置和比例更谨慎
数据增强 数据不足、泛化差 让模型见到更多合理变化 非常常用
GPU 大规模卷积训练太慢 把海量乘加并行算 深度学习核心基础设施
LRN 增强局部响应竞争 强响应抑制邻近弱响应 较少使用,常被 BatchNorm 替代
小测验:为什么 Dropout 常放在全连接层?
因为 AlexNet 的全连接层参数非常多,容易记住训练集细节。Dropout 随机关闭神经元,迫使不同神经元学习更稳健的表示,减少对少数特征的依赖。
小测验:为什么 ReLU 比 sigmoid 更适合深层网络?
sigmoid 在输入很大或很小时会饱和,梯度接近 0,深层反向传播容易变慢。ReLU 在正区间梯度不饱和,计算也简单,因此训练深层网络更高效。
Part 07

尺寸变化和参数量理解

图像或特征图形状通常写成 H × W × C。H 是高度,W 是宽度,C 是通道数。卷积输出空间尺寸常用公式:

output_size = floor((input_size - kernel_size + 2 × padding) / stride) + 1

Conv1 使用较大卷积核和较大 stride,会让特征图明显变小。池化也会让尺寸变小。与此同时,通道数经常变多,因为一个卷积核产生一个 feature map,多个卷积核就产生多个输出通道。

卷积输出尺寸计算器

输出尺寸:55。计算为 floor((227 - 11 + 0) / 4) + 1 = 55。

参数量为什么有差异

卷积层参数量公式是 kernel_height × kernel_width × input_channels × output_channels + bias。全连接层参数量公式是 input_features × output_features + bias。卷积层通过局部连接和参数共享减少参数;全连接层把每个输入特征都连到每个输出神经元,连接非常密集,参数量容易爆炸。

层类型 简化例子 参数量 理解
卷积层 3×3 卷积,输入 64 通道,输出 128 通道 3×3×64×128 + 128 = 73,856 同一个卷积核在所有位置共享,因此不随图像位置数量直接暴涨。
全连接层 输入 9216 个特征,输出 4096 个神经元 9216×4096 + 4096 = 37,752,832 每个输入都连接每个输出,参数非常密集。
Part 08

AlexNet 如何进行一次前向传播

假设输入是一张猫的图片。AlexNet 第一层可能看到边缘、颜色和方向纹理;中间层组合出毛发纹理、眼睛附近的局部结构;深层卷积层可能对耳朵、脸部轮廓、身体姿态等部件响应更强;Flatten 把特征图拉成向量;FC 层综合这些证据;Softmax 输出每个类别的概率。

Input
Conv
ReLU
Pool
Conv
Flatten
FC
Softmax
猫图像 AlexNet 提取并组合特征 类别概率 cat 0.82 dog 0.08 tiger 0.04 others 0.06

模型真的“理解猫”了吗

严格地说,它不是像人一样理解猫。它通过大量训练图片学习到能区分猫与其他类别的统计特征:边缘组合、纹理、局部形状、部件共现关系等。深度学习中的“理解”更接近“学到了有效的判别表示”。

Part 09

训练 AlexNet 时发生了什么

data forward loss backward update repeat many epochs

训练时,模型看到训练图片和真实标签,先前向传播得到预测概率,再用交叉熵损失衡量预测和真实标签的差距。交叉熵不需要你把它想得很玄:如果真实类别是“猫”,模型却给猫很低概率,损失就大;如果给猫很高概率,损失就小。随后反向传播计算每个参数应该怎么调整,优化器更新参数,重复很多轮。

ImageNet 的大规模数据很重要,因为 AlexNet 参数多、表达能力强,如果数据太少就容易记住训练样本而不是学习可泛化的视觉规律。因此 Dropout 和数据增强在当时尤其关键。

for epoch in range(num_epochs):              # 遍历多个训练轮次,让模型反复看训练集
    for images, labels in dataloader:        # 每次取出一批图片和对应真实标签
        outputs = model(images)              # 前向传播:模型根据图片输出每个类别的 logits
        loss = criterion(outputs, labels)    # 计算损失:衡量预测结果和真实标签的差距
        optimizer.zero_grad()                # 清空上一批数据留下的梯度,避免梯度累加出错
        loss.backward()                      # 反向传播:计算每个参数对损失的影响
        optimizer.step()                     # 更新参数:让模型下一次预测更接近真实标签
Part 10

用 PyTorch 写一个简化版 AlexNet

import torch                              # 导入 PyTorch 主库
import torch.nn as nn                     # 导入神经网络模块,里面有 Conv2d、Linear、ReLU 等层

class SimpleAlexNet(nn.Module):           # 定义一个简化版 AlexNet,继承 nn.Module
    def __init__(self, num_classes=1000):  # num_classes 表示最终分类类别数,ImageNet 常用 1000
        super().__init__()                 # 初始化父类 nn.Module

        self.features = nn.Sequential(     # features 是卷积特征提取器
            nn.Conv2d(3, 64, 11, stride=4, padding=2),  # 输入 3 通道 RGB,输出 64 个特征图
            nn.ReLU(inplace=True),         # ReLU 增加非线性,让训练更快
            nn.MaxPool2d(3, stride=2),     # 最大池化,降低空间尺寸并保留强响应

            nn.Conv2d(64, 192, 5, padding=2), # 第二个卷积层,提取更复杂纹理
            nn.ReLU(inplace=True),         # 再次加入非线性
            nn.MaxPool2d(3, stride=2),     # 再次降采样,减少计算量

            nn.Conv2d(192, 384, 3, padding=1), # 中间卷积层,提取局部形状
            nn.ReLU(inplace=True),         # 非线性激活
            nn.Conv2d(384, 256, 3, padding=1), # 更深卷积层,组合更抽象特征
            nn.ReLU(inplace=True),         # 非线性激活
            nn.Conv2d(256, 256, 3, padding=1), # 最后一组卷积特征
            nn.ReLU(inplace=True),         # 非线性激活
            nn.MaxPool2d(3, stride=2)      # 池化后得到紧凑的高级特征图
        )

        self.avgpool = nn.AdaptiveAvgPool2d((6, 6)) # 固定输出空间尺寸,便于接全连接层

        self.classifier = nn.Sequential(   # classifier 是分类器
            nn.Dropout(p=0.5),             # 训练时随机关闭部分神经元,减少过拟合
            nn.Linear(256 * 6 * 6, 4096),  # 全连接层,把展平特征综合成高维表示
            nn.ReLU(inplace=True),         # 激活函数,提高表达能力
            nn.Dropout(p=0.5),             # 再次使用 Dropout,保护参数很多的 FC 层
            nn.Linear(4096, 4096),         # 第二个全连接层,学习类别判别信息
            nn.ReLU(inplace=True),         # 激活函数
            nn.Linear(4096, num_classes)   # 输出 logits,每个类别一个分数
        )

    def forward(self, x):                  # 定义前向传播过程
        x = self.features(x)               # 先用卷积层提取空间特征
        x = self.avgpool(x)                # 把特征图调整到固定的 6×6
        x = torch.flatten(x, 1)            # 从第 1 维开始展平,保留 batch 维度
        x = self.classifier(x)             # 用全连接分类器输出类别 logits
        return x                           # 返回 logits,不是 softmax 概率

代码理解

features 是特征提取器,负责卷积、ReLU 和池化;classifier 是分类器,负责把高级特征综合成类别分数;flattenC×H×W 特征图变成向量,才能输入全连接层。

最后一层输出的是 logits,不是概率。如果要得到概率,可以对 logits 使用 softmax。训练时使用 nn.CrossEntropyLoss 通常不要提前手动 softmax,因为它内部会处理 logits。

初学者常见错误

  • 忘记 flatten,导致全连接层输入维度不对。
  • 输入尺寸不匹配,卷积后展平特征数和 Linear 写的不一致。
  • 把 softmax 放在 CrossEntropyLoss 前面,造成训练数值和梯度不理想。
  • 不理解 model.train()model.eval() 对 Dropout 的影响。
  • 混淆通道数 C 和图片宽高 H、W。
Part 11

AlexNet 和其他经典 CNN 的关系

经典 CNN 时间线图

1998LeNet

早期 CNN 雏形,用于手写数字识别。

2012AlexNet

大规模视觉任务中证明深度 CNN 路线。

2014VGG

大量 3×3 小卷积堆叠,结构规整。

2014GoogLeNet

Inception 模块,多尺度表达与高效计算。

2015ResNet

残差连接解决更深网络退化问题。

模型 年份 核心思想 结构特点 历史意义
LeNet 1998 卷积 + 池化 + 分类 浅层 CNN,小规模任务 证明 CNN 对图像任务有效,是早期雏形。
AlexNet 2012 深度 CNN + GPU + 大数据 5 Conv + 3 FC,ReLU、Dropout、数据增强 让深度 CNN 在大规模视觉识别中爆发。
VGG 2014 用小卷积核加深网络 大量 3×3 卷积堆叠 展示深度和规则结构的价值。
GoogLeNet / Inception 2014 多尺度特征并行提取 Inception 模块,减少参数 提高表达能力和计算效率。
ResNet 2015 残差学习 跳跃连接,训练非常深的网络 解决深层网络退化,影响后续几乎所有深层架构。

AlexNet 在今天不算最强模型,但它非常适合作为现代 CNN 的学习起点。它把“从像素到特征再到类别”的基本路线展示得很清楚。

Part 12

AlexNet 的优点和局限

优点

证明深度 CNN 的有效性:它在 ImageNet 上的突破说明深层卷积网络可以处理复杂的大规模视觉分类。

ReLU 加快训练:相比容易饱和的激活函数,ReLU 让深层网络训练更顺畅。

Dropout 和数据增强缓解过拟合:这两者让参数量巨大的模型更不容易死记硬背训练集。

GPU 训练大模型:它展示了算力对深度学习实践的重要性。

自动学习图像特征:从手工特征转向自动特征学习,是方法论上的改变。

局限

参数量很大:尤其是全连接层,参数密集且容易过拟合。

计算成本较高:对当时硬件压力很大,也不够适合轻量部署。

早期大卷积核后来被小卷积核替代:VGG 等模型显示,多个 3×3 小卷积可以更灵活地增加非线性并控制参数。

LRN 后来基本被 BatchNorm 取代:现代网络更常依赖 BatchNorm 稳定训练。

结构不够高效:相比 ResNet、EfficientNet、ConvNeXt 等现代模型,它的表达效率和训练技巧都比较早期。

Part 13

我应该如何真正理解 AlexNet

五个角度

特征学习角度:AlexNet 是从低级视觉特征逐渐组合成高级语义特征的系统。

结构角度:前面卷积层负责空间局部特征,后面全连接层负责整合和分类。

训练角度:ReLU、Dropout、数据增强、GPU 共同让大规模深层 CNN 训练成为可能。

历史角度:它不是第一个 CNN,却是深度 CNN 在大规模视觉识别中证明自己的关键节点。

考试角度:记住 2012 ImageNet、5 Conv + 3 FC、ReLU、Dropout、数据增强、GPU、从手工特征到自动特征学习。

如果只能记住三句话

  1. AlexNet 用深度 CNN 自动从图像中学习特征,替代大量手工特征工程。
  2. 它的前半部分逐层提取边缘、纹理、部件,后半部分综合这些特征进行分类。
  3. 它的成功来自模型结构、ImageNet 数据、GPU 训练、ReLU、Dropout 和数据增强的共同作用。
面试/考试回答模板:AlexNet 是 Krizhevsky、Sutskever 和 Hinton 提出的经典 CNN,在 2012 年 ImageNet 上取得突破。它通常概括为 5 个卷积层和 3 个全连接层,使用 ReLU 加快训练,使用 Dropout 和数据增强缓解过拟合,并借助 GPU 完成大规模训练。它的历史意义在于证明深度 CNN 可以从原始图像中自动学习有效特征,使计算机视觉从手工特征工程转向端到端深度学习。

学习检查点

Part 14

常见误区

错误说法 为什么错 正确理解
AlexNet 只是比 LeNet 层数多。 它还结合了 ImageNet、大 GPU 训练、ReLU、Dropout、数据增强等关键条件。 AlexNet 是一次系统性路线证明。
ReLU 只是简单函数,不重要。 简单不代表不重要,它显著改善了深层网络训练速度和梯度传播。 ReLU 是 AlexNet 成功的重要训练因素。
Dropout 测试时也随机关闭神经元。 测试时需要稳定预测,不再随机关闭。 Dropout 训练时启用,评估时关闭。
CNN 每层都在学习人类能命名的特征。 很多中间特征是分布式、抽象的,不一定能直接命名。 可以用边缘、纹理、部件作直观理解,但不要过度拟人化。
AlexNet 过时就不值得学。 现代模型更强,但很多核心概念在 AlexNet 中非常清晰。 AlexNet 是理解现代 CNN 的重要起点。
卷积层参数一定比全连接层多。 卷积层共享参数,全连接层连接密集,AlexNet 中 FC 参数尤其多。 参数量取决于连接方式和维度。
Softmax 训练时一定要手动写在模型最后。 PyTorch 的 CrossEntropyLoss 接收 logits,内部包含相关处理。 训练分类模型时通常输出 logits,推理看概率时再 softmax。
Part 15

综合小测验

1. AlexNet 为什么被认为是计算机视觉深度学习爆发的标志?
因为它在 2012 年 ImageNet 大规模分类任务中取得突破,证明深度 CNN 可以自动学习有效视觉特征,并且 GPU、大数据和训练技巧的组合路线可行。
2. AlexNet 中 ReLU 的作用是什么?
ReLU 提供非线性,把负数置 0、正数保留。它计算简单,正区间梯度不饱和,使深层网络训练更快并缓解梯度消失。
3. 为什么 AlexNet 使用 Dropout?
因为全连接层参数很多,容易过拟合。Dropout 在训练中随机关闭神经元,减少模型对个别神经元的依赖,提高泛化能力。
4. 卷积层和全连接层在参数共享上有什么区别?
卷积层同一个卷积核在不同空间位置共享参数;全连接层每个输入特征和每个输出神经元都有独立连接,因此参数更密集。
5. 为什么深层卷积层提取的特征更抽象?
深层神经元建立在前面多层输出之上,感受野更大,可以组合边缘、纹理和局部形状,形成更接近物体部件和类别的表示。
6. 为什么数据增强能减少过拟合?
数据增强让模型看到同一类别的多种合理变化,例如裁剪、翻转和颜色扰动。这样模型更难记住固定样本,更倾向学习稳定类别规律。
7. AlexNet 和 LeNet 的主要区别是什么?
LeNet 是较早的浅层 CNN,主要用于小规模手写数字任务;AlexNet 更深、更大,面向 ImageNet 大规模自然图像分类,并结合 ReLU、Dropout、数据增强和 GPU 训练。
8. 为什么 GPU 对 AlexNet 很重要?
卷积计算包含大量可并行的乘加操作,GPU 能显著加速训练。没有 GPU,AlexNet 这样的大模型在 ImageNet 上训练会非常慢。
9. AlexNet 的主要局限是什么?
参数量大,尤其是全连接层;计算成本较高;大卷积核和 LRN 属于早期设计;与现代架构相比效率不高。
10. 如果让你用一句话解释 AlexNet,你会怎么说?
AlexNet 是在 2012 年 ImageNet 上证明深度 CNN 能从原始图像自动学习有效特征的经典模型,推动视觉识别从手工特征走向端到端深度学习。
掌握程度评估:如果你能独立答出 10 题中的 8 题,并能解释原因而不是只背关键词,说明你已经基本掌握 AlexNet。