- 之前我们对Fashion-MNIST数据集的每一张图片进行展平,并用全连接层进行处理。现在我们可以用卷积神经网络来代替它了!
- 用卷积层处理可以在图像中保留空间结构,同时模型更简洁,所需参数更少
- 本节将介绍LeNet,它是最早发布的卷积神经网络之一,因其在计算机视觉任务中的高效性能而受到广泛关注。 这个模型是由AT&T贝尔实验室的研究员Yann LeCun在1989年提出的(并以其命名),目的是识别图像 (LeCun et al., 1998)中的手写数字。 当时,Yann LeCun发表了第一篇通过反向传播成功训练卷积神经网络的研究,这项工作代表了十多年来神经网络研究开发的成果。
- 当时,LeNet取得了与支持向量机(support vector machines)性能相媲美的成果,成为监督学习的主流方法。
1. LeNet
- LeNet由两部分组成:① 卷积编码器:由两个卷积层组成。② 全连接层密集块: 由三个全连接层组成
- 每个卷积块中是一个卷积层,一个sigmoid激活函数和平均汇聚层。值得注意的是,虽然ReLU和最大汇聚层更有效,但是在当时那个年代还未出现
- 每个卷积层用 5 × 5 5×5 5×5 卷积核和一个 sigmoid 激活函数。这些曾将输入映射到多个二维输出,同时增加通道的数量。第一卷积层有6个输出通道,而第二个卷积层有16个输出通道
- 每个 2 × 2 2×2 2×2 池化(步幅2)通过空间下采样将维数减少四倍,卷积的输出形状由批量大小,通道数,高度和宽度决定
- 为了将卷积块的输出传递给稠密块,我们必须在小批量中展平每个样本。即我们将思维输入转换成全连接层所期望的二维输入。这里的二维表示第一个维度索引小批量中的样本,第二个维度给出每个样本的平面向量表示
- LeNet的稠密块有三个全连接层,分别有120,84和10个输出
- 下面是具体的实现
- 每一层打印输出的形状
2. 模型训练
-
让我们看看 LeNet 在Fashion-MNIST数据集的表现
-
虽然卷积神经网络的参数较少,但是它与深度MLP相比计算成本仍然很高,因为每个参数都参与更多的乘法。通过GPU,可以加快它的训练
-
我们使用 Xavier 随机初始化模型参数。与全连接层一样,我们使用交叉熵损失函数和小批量随机梯度下降
-
训练和评估 LeNet-5 模型