做外贸网站公司,南通公司做网站,网站开发 去哪里找页面,wordpress 修改数据库表EfficientNetV2: Smaller Models and Faster Training
1.Abstract
本文提出了一种训练速度快、参数量少、模型小的卷积神经网络EfficientNetV2。 训练采用了NAS感知技术与缩放技术对训练速度与参数数量进行联合优化。
NAS感知技术#xff1a; 全名是神经架构搜索#xff0…EfficientNetV2: Smaller Models and Faster Training
1.Abstract
本文提出了一种训练速度快、参数量少、模型小的卷积神经网络EfficientNetV2。 训练采用了NAS感知技术与缩放技术对训练速度与参数数量进行联合优化。
NAS感知技术 全名是神经架构搜索比如自动构建网络框架选择最优参数。 缩放技术 训练过程中逐步提升图像大小提出了一种渐进学习方式根据图像大小自适应的调整正则化因子(比如dropout、数据增强)
2.网络的通病
训练图像的尺寸很大时训练速度非常慢但是又想要大尺寸。比如 imageSize:224x224 batch:32 imageSize:512x512 batch:32 imageSize:764x764 batch:32 (显存不够) 但所本文batch不变训练过中不断增大图像尺寸
3.网络设计
MBConv和Fused-MBConv的区别主要是卷积大小不同depthwise conv3x3 网络浅层中使用Depthwise convolutions速度会很慢,无法充分利用现有的一些加速器,所以浅层网路的模块会少用depthwise conv3x3但是放在最后速度会加快
3.1 depthwise conv3x3 深网络能够提取复杂特征但是网络容易退化 宽网络训练速度快参数少但复杂特征不容易提取
3.2 SE
SE本质就是全连接
3.3 MBConv代码实现
self.convs torch.nn.Sequential(torch.nn.Conv2d(inc, midc, 1, bias False),torch.nn.BatchNorm2d(midc),torch.nn.SiLU(),torch.nn.Conv2d(midc, midc, 3, padding1, stridestride, groupsmidc, biasFalse),torch.nn.BatchNorm2d(midc),torch.nn.SiLU(),SELayer(inc, midc),torch.nn.Conv2d(midc, outc, 1, biasFalse),torch.nn.BatchNorm2d(outc))SELayer
self.fc torch.nn.Sequential(torch.nn.Linear(outc, midc),torch.nn.SiLU(),torch.nn.Linear(midc, outc),torch.nn.Sigmoid())3.4 Fused-MBConv
self.convs torch.nn.Sequential(torch.nn.Conv2d(inc, midc, 3, stride stride, padding 1, bias False),torch.nn.BatchNorm2d(midc),torch.nn.SiLU(),torch.nn.Conv2d(midc, outc, 1, bias False),torch.nn.BatchNorm2d(outc))4.整体网络 def efficientnetv2_s(num_classes2, width_mult1, dropout0, p0.2):config [[FusedMBConv, 2, 1, 1, 24, p],[FusedMBConv, 4, 2, 4, 48, p],[FusedMBConv, 4, 2, 4, 64, p],[MBConv, 6, 2, 4, 128, p],[MBConv, 9, 1, 6, 160, p],[MBConv, 15, 2, 6, 256, p]]第二列堆叠层数 第三列步长 第四列扩张率 比如100*4做进一步操作让通道变成8的倍数 第五列输入通道数 第六列倍率因子
网络模型还有efficientnetv2_Mefficientnetv2_L只是参数量更大堆叠的层数更多
5.亮点
渐进学习策略
训练图像的尺寸对训练模型的效率有很大的影响如果使用动态的图像尺寸比如一开始用很小的图像尺寸后面再增大来加速网络的训练但通常会导致Accuracy降低。 原因Accuracy的降低是不平衡的正则化导致的。在训练不同尺寸的图像时应该使用动态的正则方法之前都是使用固定的正则方法。 操作当训练的图片尺寸较小时使用较弱的数据增强能够达到更好的结果 当训练的图像尺寸较大时使用更强的数据增强能够达到更好的接果。 当Size128RandAugmagnitude5时效果最好当Size300RandAugmagnitude15时效果最好 训练早期使用较小的训练尺寸以及较弱的正则方法weak regularization网络快速学习到简单的表达能力。 接着逐渐提升图像尺寸增大学习难度同时增强正则方法adding stronger regularization。 regularization包括dropout rateRandAugment magnitude以及mixup ratio dropout rate:主要是影响通道数量 RandAugment magnitude主要是数据增强 mixup ratio数据增强是一种数据扩充方法可分为同类增强如翻转、旋转、缩放、移位、模糊等和混类增强如mixup两种方式
6.渐进学习策略可以用于我们的网络吗
可以
6.值得学习的点
1.动态改变尺寸 2.动态正则化策略
实践直接使用EfficientNetV2-S进行模糊和清晰分类 1-100 epoch的准确率80% 101-200 epoch的准确率89% 200-350 epoch的准确率94%