初めに
EfficientNetは、いくつのモジュールで構成されるSub-blocksで構成され、このSub-blocksの繰り返し構造になっていることを説明致します。
ここのポストを基準に、少し自分の解説を追記します。
https://towardsdatascience.com/complete-architectural-details-of-all-efficientnet-models-5fd5b736142
EfficientNetとは
論文は下記のリンクで確認できます。
EfficientNetの構造
EfficientNetはB0~B7の8種類があります。
下記の図にEfficientNet B0の構造を示します。
EfficientNetの最初にはStemが、最後にFinal Layersがあります。
このStemとFinal layersの存在は、EfficientNet B0からB7に共通しています。
Steam, Final Layers
アーキテクチャを構成する基本Module(Module 1~Module5)
EfficientNetはModule1~Module5の基本モジュールで構成されています。
各モジュールの構成を下記の図に示します。
基本ブロックで構成されるSub-blocks
そして、Res-NetのようなSkip Connectionを構成するSub blocksがあります。
ここから、EfficientNetの構造を、上記の図を利用して表示します。
EfficientNet-B0
EfficientNet-B1
EfficientNet-B2
EfficientNet-B2は基本的にB1と同じ構造です。ただし、Conv層のFeature mapsの数が異なります。
EfficientNet-B3
EfficientNet-B4
EfficientNet-B5
EfficientNet-B6
EfficientNet-B7
KerasでEfficientNetを確認する。
EfficientNet B0
https://deeplearning.cms.waikato.ac.nz/user-guide/model-zoo/keras/KerasEfficientNetB0/