VGG:VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION论文笔记

深度解析:VGG网络模型与深度学习的革命
VGG模型通过堆叠更多3×3卷积层,以增加深度,减小参数量,提高了图像识别性能。作者探讨了模型训练、预初始化策略以及多尺度训练对模型效果的影响,实验表明深度网络在分类和定位任务中表现出色,为后续深度学习研究奠定了基础。

论文地址:Very Deep Convolutional Networks for Large-Scale Image Recognition

前言

VGG模型在ILSVRC2014上大放异彩,虽然从VGG的诞生到现在已经2年多,但是它依然是目前最热门的模型网络之一。它最大的贡献是,将深度学习从AlexNet的时代推入到deeper model的时代,第一次将模型深度提高到16层以上(当然还有同年的GoogLeNet),也使得在识别和定位等任务上的性能得到大幅度的提高,今天我们就来看看它到底是如何实现的吧。

思想

思想核心——模型深度。作者希望通过堆叠更多的卷积层来增加网络的深度,以提高模型的性能。但是如果只在原始的较浅层模型上简单的通过复制权重层来堆叠,势必会出现参数量过大,模型过复杂,模型的优化求解更难。因此,必须要改进。

改进

既然增加了模型的深度而又不想过分的增加计算复杂度,那就只有以平衡的角度,从模型的宽度着手。作者提出两个 3×3 卷积层的堆叠与一个 5×5 的卷积层具有相同的reception field,三个 3×3 卷积层的堆叠与一个 7×7

### VGG网络架构 VGG网络由牛津大学视觉几何组(Visual Geometry Group)开发,旨在解决大规模图像识别中的挑战[^1]。该网络的特点在于使用非常深的卷积层结构来提取特征。 #### 架构特点 - **多层堆叠**:VGG采用了多个连续的小尺寸(3×3)卷积核进行特征抽取,而不是采用较大尺寸的卷积核。 - **固定步幅和填充方式**:所有的卷积操作都保持相同的步幅(stride=1),并使用零填充使得输入输出具有相同的空间维度。 - **池化层配置**:在网络的不同阶段之后加入最大池化层以减少空间分辨率,从而降低参数数量并控制过拟合风险。 - **全连接层设计**:最后几层通常为全连接层,在分类任务中用于映射到类别标签上;然而现代实现往往省略这些密集层转而使用全局平均池化替代。 具体来说,最著名的两个版本分别是: - **VGG16**:包含13个卷积层以及3个全连接层; - **VGG19**:则进一步扩展到了16个卷积层加3个全连接层。 这种简单却有效的设计方案不仅提高了模型性能,同时也促进了后续研究者对于更深更复杂网络结构探索的热情。 ```python import torch.nn as nn class VGG(nn.Module): def __init__(self, num_classes=1000): super(VGG, self).__init__() # 定义卷积部分 self.features = nn.Sequential( *make_layers([64]*2 + [128]*2 + [256]*3 + [512]*3 + [512]*3)) # 定义分类器部分 (可选) self.classifier = nn.Linear(512*7*7, num_classes) def forward(self, x): out = self.features(x) out = out.view(out.size(0), -1) # 展平处理 out = self.classifier(out) return out def make_layers(cfg): layers = [] in_channels = 3 for v in cfg: if v == 'M': layers += [nn.MaxPool2d(kernel_size=2, stride=2)] else: conv2d = nn.Conv2d(in_channels, v, kernel_size=3, padding=1) layers += [conv2d, nn.ReLU(inplace=True)] in_channels = v return nn.Sequential(*layers) ``` ### 应用领域 自发布以来,VGG已被广泛应用于各种计算机视觉任务当中: - 图像分类与目标检测; - 实例分割; - 场景理解; 此外,VGG作为预训练基础模型也被用来迁移学习新数据集上的相似问题求解.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值