【图像分类】Efficientnet的学习

文章目录

  • 1. Efficientnet的学习
    • 1.1 网络模型
  • 1.2 MBConv卷积块
    • 1.3 模型规模
    • 1.4 模型训练方式
  • 2. Efficientnet-pytorch代码
  • 3.参考

1. Efficientnet的学习

论文:https://arxiv.org/abs/1905.11946

1.1 网络模型

主要结构:

  1. 基线模型EfficientNet-B0
  2. EfficientNet-B0进行复合缩放(深度、宽度(特征通道数)、图片大小)
    【图像分类】Efficientnet的学习_第1张图片
    思考:
    1.网络越深,学习到的特征越丰富、复杂。但太深容易造成梯度消失,导致训练困难。
    2.网络越宽,网络能得到更高粒度的特征,且容易训练。但仅加宽不加深的话,学习不到深层次的特征,需综合衡量计算量的问题。
    3.图像分辨率越高,网络能得到 潜在的 更高细粒度的特征channel。但会增加计算量。

1.2 MBConv卷积块

  1. Relu替换为Swish
    f(x)=x⋅sigmoid(βx),β是个常数或可训练的参数.Swish 具备无上界有下界、平滑、非单调的特性。Swish 在深层模型上的效果优于 ReLU。
    https://blog.csdn.net/m0_38065572/article/details/106210576
  2. 增加SE模块
    SE模块为注意力网络,学习通道之间的相关性。
    https://zhuanlan.zhihu.com/p/102035721
  3. Dropout替换成DropConnect
    【图像分类】Efficientnet的学习_第2张图片
    dropconnect将对输出的隐层神经元随意丢弃变为对输入的神经元进行随意丢弃。其防止模型产生过拟合的效果更好。
    【图像分类】Efficientnet的学习_第3张图片

1.3 模型规模

【图像分类】Efficientnet的学习_第4张图片

1.4 模型训练方式

  1. RandAugment
    数据增强方式,相较于AutoAugment更易用,将AutoAugment的30种变化方式简化为2个参数(N个变换和M个转换,M表示增强失真的大小,范围0-10),其增强效果可控。
  2. AdvProp
    对抗样本算法(PGD、I-FGSM和GD),增强样本泛化能力
  3. Noisy Studen
    分类效果表现最佳

2. Efficientnet-pytorch代码

  1. https://gitcode.net/mirrors/lukemelas/efficientnet-pytorch?utm_source=csdn_github_accelerator
  2. https://github.com/yakhyo/EfficientNet-pt
  3. https://github.com/WZMIAOMIAO/deep-learning-for-image-processing/tree/master/pytorch_classification/Test9_efficientNet

3.参考

  1. https://cloud.tencent.com/developer/article/1580853
  2. https://blog.csdn.net/weixin_45377629/article/details/124430796
  3. https://blog.csdn.net/qq_37541097/article/details/114434046

你可能感兴趣的:(分类,学习,深度学习)