VGG16和VGG19

迁移学习

迁移学习(transfer learning):将训练好的模型(预训练模型)参数迁移到新的模型来优化新模型训练。

因为大部分的数据和任务都是存在相关性的,所以可以通过迁移学习将预训练模型的参数(也可以理解为预训练模型学到的知识)通过某种方式迁移到新模型,进而加快并优化模型的学习效率。

(1)直接迁移:冻结预训练模型的全部卷积层,删除预训练模型的全连接层,添加并训练自己定制的全连接层。

(2)提取特征向量:抽取预训练模型的卷积层对所有数据的特征向量,将特征向量灌入自己定制的全连接网络。

(3)Fine-tune:冻结预训练模型的部分卷积层,甚至不冻结任何网络层,训练非冻结层和自己定制的全连接层。

VGG

VGG是由牛津的Visual  Geometry Group提出的预训练模型,所以VGG名字的由来就是提取这三个单次的首字母。

VGG的结构有两种:

16层结构(13个卷积层和3个全连接层)

19层结构(16个卷积层和3个全连接层)

VGG16采用的结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3x3)和max pooling层(2x2)

为什么采用3x3卷积核:原因很简单,对于给定的感受野,使用堆叠的小卷积核是优于采用大的卷积核,因为多层非线性层的堆叠能够增加网络深度,从而保证模型能够学习更复杂的模式,  而且因为小卷积核的参数更少,所以整个网络的计算代价较小。

VGG16只能识别48*48大小的图像,能够识别1000类的物体。

VGG16与图像分类:拆掉VGG16的全连接层,定制自己的全连接层,以适应我们当前的任务。

 

 

### VGG16VGG19架构的对比 #### 架构概述 VGGNet是由牛津大学视觉几何组(Visual Geometry Group)开发的一系列卷积神经网络模型。这些模型因其简单而有效的结构,在图像分类其他计算机视觉任务中表现出色。 #### 层次结构 - **VGG16** - 包含13个卷积层3个全连接层,总共16个权重层[^1]。 - **VGG19** - 增加到16个卷积层加上3个全连接层,总计19个权重层。 #### 卷积核大小 两种版本都采用了非常简单的滤波器尺寸——始终为\(3 \times 3\)像素的小型卷积窗口,并且步幅固定为1。这有助于保持空间分辨率的同时提取更精细的特征。 ```python import torch.nn as nn class VGG(nn.Module): def __init__(self, num_classes=1000): super(VGG, self).__init__() # Example configuration for VGG16 cfg_vgg16 = [ 64, 64, 'M', 128, 128, 'M', 256, 256, 256, 'M', 512, 512, 512, 'M', 512, 512, 512, 'M' ] # Configuration for VGG19 would have additional conv layers self.features = make_layers(cfg_vgg16) ... ``` #### 参数量与计算复杂度 由于增加了更多层数,VGG19相比VGG16拥有更多的参数数量,这意味着更大的表达能力但也带来了更高的训练成本潜在过拟合风险。因此,在实际应用中选择哪个取决于具体场景的需求平衡点。 #### 性能表现 两者在ImageNet等大型数据集上的性能相近,但在某些特定条件下可能会有所不同。通常来说,更深的网络能够捕捉更加复杂的模式,然而这也依赖于足够的硬件资源支持适当正则化机制防止过拟合的发生[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰雪棋书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值