第三卷 第五章 在ImageNet上训练VGGNet
在本章中,我们将从头开始学习如何在 ImageNet 数据集上训练 VGG16 网络架构。
该网络的特点是简单,仅使用3*3 卷积层堆叠在彼此之上,深度逐渐增加。 减少体积的空间维度是通过使用最大池化来实现的。 两个完全连接的层,每个层有 4,096 个节点(以及中间的 dropout),然后是一个 softmax 分类器。
今天,VGG 经常用于迁移学习,因为该网络表现出高于平均水平的能力,可以将其泛化到未经训练的数据集(与其他网络类型如 GoogLeNet 和 ResNet 相比)。但是从头开始训练 VGG 是一种痛苦。 该网络的训练速度非常缓慢,并且网络架构本身的权重非常大(超过 500MB)。如果您没有至少四个 GPU,我建议您不要训练。由于网络的深度以及全连接层,反向传播阶段非常缓慢。在 8 个 GPU 上训练 VGG 需要 10 天——如果少于 4 个 GPU,从头开始训练 VGG 可能需要非常长的时间(除非你非常有耐心)。也就是说,作为深度学习从业者,重要的是 了解深度学习的历史,尤其是预训练的概念,以及我们后来如何通过优化初始化权重函数来避免这种昂贵的操作。
&n