MobileNets: Efficient Convolutional Neural Networks for Mobile...
Depthwise Separable Convolutions 기반
Standard Convolution → Depthwise Convolution + 1 x 1 Convolution(Pointwise Convolution)
Depthwise Convolution: 각 입력 채널에 대해 단일 필터를 적용
Pointwise Convoluiton: 1 x 1 Convolution을 사용하여 Depthwise Convoluiton의 출력을 결합
Standard Convolution: 필터링, 결합을 한 단계에서 수행함
Depthwise Separable Convolution: 필터링 전용 레이어와 결합 전용 레이어로 분리함
네트워크를 적은 Mult-Adds(연산량)으로 정의하는 것만으로는 충분하지 않음

| Layer | # Filters / neurons | Filter Size | Stride | Padding | Size of Feature Map |
|---|---|---|---|---|---|
| Input | - | - | - | - | 224 x 224 x 3 |
| Convolution 1 | 32 | 3 x 3 | 2 | 1 | 112 x 112 x 32 |
| Separable Convolution 1 | 64 | 3 x 3 | 1 | - | 112 x 112 x 64 |
| Separable Convolution 2 | 128 | 3 x 3 | 2 | 1 | 56 x 56 x 128 |
| Separable Convolution 3 | 128 | 3 x 3 | 1 | 1 | 56 x 56 x 128 |
| Separable Convolution 4 | 256 | 3 x 3 | 2 | 1 | 28 x 28 x 256 |
| Separable Convolution 5 | 256 | 3 x 3 | 1 | 1 | 28 x 28 x 256 |
| Separable Convolution 6 | 512 | 3 x 3 | 2 | 1 | 14 x 14 x 512 |
| Separable Convolution 7 | 512 | 3 x 3 | 1 | 1 | 14 x 14 x 512 |
| ! Repeat | |||||
| (Separable Convolution 7) | # Times = 5 | ||||
| Separable Convolution 8 | 1024 | 3 x 3 | 2 | 1 | 7 x 7 x 1024 |
| Separable Convolution 9 | 1024 | 3 x 3 | 1 | 1 | 7 x 7 x 1024 |
| Average Pool 1 | - | 7 x 7 | 1 | - | 1 x 1 x 1024 |
| Softmax | 1 x 1000 |
BuildCNN-PyTorch/09A_MobileNet.ipynb at main · CodeSensory/BuildCNN-PyTorch