1 Introduction
在这个项目中,我们的网络需要在 10 分钟内完成训练。为了获得更好的效
果,我们使用了 ResNet18
[1]
网络,ResNet 专门设计用于解决深度学习中的梯度
消失和梯度爆炸问题。ResNet 最初由微软亚洲研究院的 Kaiming He 等人在 2015
年提出,并在 ImageNet 图像识别比赛中取得了非常好的成绩。原始的 ResNet 网
络是用于训练 ImageNet
[2]
数据集,因此我们必须改进原始的网络来适应本次项
目的数据集,下面我将详细介绍 ResNet18 以及我为它来适应我们的数据集所做
的全部工作。
2 ResNet18 Network
2.1 General Architecture
ResNet 网络是在 2015 年由微软实验室中的何凯明等几位大神提出,论文地
址是《Deep Residual Learning for Image Recognition》;是在 CVPR 2016 发
表的一种影响深远的网络模型,由何凯明大神团队提出来,在 ImageNet 的分类
比赛上将网络深度直接提高到了 152 层,前一年夺冠的 VGG 只有 19 层。斩获当
年 ImageNet 竞赛中分类任务第一名,目标检测第一名。获得 COCO 数据集中目标
检测第一名,图像分割第一名,可以说 ResNet 的出现对深度神经网络来说具有
重大的历史意义。它的原始输入是 224 x 224 RGB 图像,与我们的情况相比,
它的分辨率要高得多。ResNet18 是 ResNet 系列中的一个相对较小的模型,它共
包含 18 层神经网络结构,输入层:224x224 大小的 RGB 图像作为输入;卷积层:
首先是一个 7x7 的卷积层,步长为 2,用于提取图像特征;最大池化层:接着是
一个最大池化层,用于下采样;Residual Blocks:ResNet18 包含 4 个残差块,
每个残差块包含两个基本的卷积层,以及残差连接。在每个残差块内部,卷积层
的输出尺寸保持不变;全局平均池化层:最后是一个全局平均池化层,用于降低
特征图的维度。全连接层:最后是一个全连接层,将特征映射到最终的类别数量
上。总体而言,ResNet18 由多个残差块组成,这些残差块内部包含了卷积层、
批量归一化和激活函数。ResNet18 相比于更深的 ResNet 模型来说,计算量较小,
适合于计算资源有限的场景下使用。
Fig1. Residual learning: a building block.