淘先锋技术网

首页 1 2 3 4 5 6 7

Efficient_Net算法

论文原文 EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
github 代码
pytorch 代码
CSDN 下载link
Efficient_Net是目前世界上最先进的神经网络算法之一,该算法具有复杂网络的量化调整能力,通过对网络深度(depth),宽度(width)和输入图片分辨率(resolution)的综合调整,获得对特定需求的最优网络参数,使网络同时具备了网络大小与识别准确率的双重优势。

Efficient Net工作流程

Efficient Net的工作流程如图所示。

efficient net 网络流程图

  1. 将图片经过第一个Conv3x3层转化为MBConv模块需要的输入维度;
  2. 图片经过一系列的MBConv模块提取出特征图(feature map);各个MBConv模块的参数进行了精细化调整以适应当前使用环境;组合式的尺度优化方法可以使网络获得更好的感受野;
  3. 利用基于Fully-Convlutional-Neural-Network的特征图自适应连接方式。使用Conv1x1网络将能适应各种不同尺寸的特征图,并将其统一为我们需要的维度;
    最后通过输出的特征图完成图片的分类识别检测。

Efficient Net的复杂网络量化调整

在Efficient Net中一个卷积网络层i可以定义为 Y i = F i ( X i ) Y_i=F_i (X_i) Yi=Fi(Xi) 其中 F F F是运算, Y Y Y是输出张量, X X X是输入张量,其维度为 < H i , W i , C i > <H_i,W_i,C_i> <Hi,Wi,Ci>,其中 H i H_i Hi W i W_i Wi是空间维度, C i C_i Ci是通道维度。

卷积神经网络可以定义网络中各个卷积计算的同或值为:
N = F k ⊙ … ⊙ F 2 ⊙ F 1 ( X 1 ) = ⊙ i F i d L i ( X ( r H i , r W i , w C i ) ) N=F_k⊙…⊙F_2⊙F_1 (X_1)=⊙_i F_i^ {dL_i } (X_{(rH_i,rW_i,wC_i)}) N=FkF2F1(X1)=iFidLi(X(rHi,rWi,wCi))
其中 F i L i F_i^{L_i } FiLi表示在stage i中 F i F_i Fi被重复 L i L_i Li次, < H i , W i , C i > <H_i,W_i,C_i> <Hi,Wi,Ci>表示第i层输入tensor的类型,w、d、r是缩放网络宽度、深度和分辨率的系数, F i F_i Fi L i L_i Li C i C_i Ci H i H_i Hi W i W_i Wi是基线网络中预先确定的参数。该方法通过控制主要网络参数,只调整网络系数的方式,简化了网络的总体参数调整复杂度。