EfficientNet论文笔记
通过NAS平衡了channel,depth,resolution,发现在相同的FLOPs下,同时增加 depth和 resolution的效果最好。
数据集效果小于resolution怎么办?
EfficientNet—b0框架
表格中每个MBConv后会跟一个数字1或6,这里的1或6就是倍率因子n,即MBConv中第一个1x1的卷积层会将输入特征矩阵的channels扩充为n倍,其中k3x3或k5x5表示MBConv中Depthwise Conv所采用的卷积核大小。Channels表示通过该Stage后输出特征矩阵的Channels。
MBConv结构
Swish激活函数+SE模块
- 第一个升维的1x1卷积层,它的卷积核个数是输入特征矩阵channel的n倍,当n等于1不需要该层。
- 仅当输入MBConv结构的特征矩阵与输出的特征矩阵shape相同时才使用。在源码实现中只有使用shortcut的时候才有Dropout层。
SE模块:
第一个激活函数替换成Swish激活函数
其他版本的详细参数:
input_size
代表训练网络时输入网络的图像大小width_coefficient
代表channel维度上的倍率因子,比如在 EfficientNetB0中Stage1的3x3卷积层所使用的卷积核个数是32,那么在B6中就是 32 × 1.8 = 57.6接着取整到离它最近的8的整数倍即56,其它Stage同理(加速运算)。depth_coefficient
代表depth维度上的倍率因子(仅针对Stage2到Stage8),比如在EfficientNetB0中Stage7的 Li=4,那么在B6中就是 4(block) × 2.6 = 10.4 接着向上取整即11drop_connect_rate
是在MBConv结构中dropout层使用的drop_rate,dropout_rate
是最后一个全连接层前的dropout层(在stage9的Pooling与FC之间)的dropout_rate。
NAS:Neural Architecture Search
强化学习