- 1. Basic Vision Model
- [12′ NIPS] ImageNet Classification with Deep Convolutional Neural Networks (AlexNet) 핵심 리뷰
- [15′ CVPR] Going deeper with convolutions (GoogleNet, inception) 핵심 리뷰
- [15′ ICLR] VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION (VGGNet)
- [15′ ICML] Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
- [16′ CVPR] Deep Residual Learning for Image Recognition (ResNet)
- 2. Vision Model 응용 버전
- [16′ BMVC] Wide ResNet : Wide Residual Networks
- [17′ CVPR] Xception: Deep Learning with Depthwise Separable Convolutions
- [17′ ICLR] FRACTALNET: ULTRA-DEEP NEURAL NETWORKS WITHOUT RESIDUALS
- [17′ CVPR] Densely Connected Convolutional Networks (DenseNet)
- [17′ CVPR] Deep Pyramidal Residual Networks (PyramidNet)
- [17′ CVPR] Active Convolution: Learning the Shape of Convolution for Image Classification
- [17′ CVPR] Residual Attention Network for Image Classification
- [18′ CVPR] SENet : Squeeze and excitation networks
- [18′ BMVC] BAM: Bottleneck Attention Module
- [18′ ECCV] CBAM : convolutional block attention module
- [19′ CVPR] Selective Kernel Networks (SKNet)
- [19′ ICML] EfficientNet : Rethinking Model Scaling for Convolutional Neural Networks
- [21′ ICLR] Vision Transformer : AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
- [21′ NIPS] MLP-Mixer: An all-MLP Architecture for Vision
- [논문 리뷰] KAN: Kolmogorov–Arnold Networks
내용 요약
Inception 모델의 철학을 극대화한 Xception 논문의 핵심 내용을 살펴봅니다. 먼저 기존 방식의 문제점을 살펴보고 Xception의 제안 방법을 살펴봅니다. 마지막으로 실험 결과를 통해 제안 방법의 효과를 살펴봅니다.
1. 들어가며
이번 글에서는 2017년 CVPR에 발표된 Xception: Deep Learning with Depthwise Separable Convolutions 논문을 리뷰합니다. 이 논문은 Xception 이라고 불리며, 이번 글에서도 Xception 이라고 지칭하겠습니다.
2. 기존 방식의 문제점
먼저 Inception 모델의 철학을 다시 한번 생각해보겠습니다. Inception 모듈은 아래 그림과 같이 구성되어 있습니다.
이때 1×1 Convolution은 Channel Correlation을 연산하고, 3×3 및 5×5 Convolution은 Spatial Correlation을 연산한다고 생각할 수 있습니다. 즉 Inception 모델의 철학은 아래 그림과 같이 ‘Channel Correlation과 Spatial Correlation을 독립적으로 연산할 때 더 적은 파라미터로도 더 좋은 성능을 낼 수 있다’는 것입니다.
하지만 문제는 Inception Family 들은 이러한 Inception의 철학을 최대치로 적용하지 못했다는 것입니다. 몇 개의 1×1, 3×3, 5×5 Convolution를 조합하여 적용한 것에 그쳤습니다.
3. 제안 방법
3-1. Inception의 철학을 최대화하자
그럼 Inception의 철학을 최대화하여 구현하면 Inception 철학을 적용한 성능의 최대치가 나오지 않을까요? 이에 저자들이 제안하는 모델의 구성은 아래 그림과 같습니다.
Input에 대해 1×1 Convolution을 사용하여 Channel Correlation을 계산합니다. 그리고 여러 개의 3×3 Convolution을 사용하여 Spatial Correlation을 독립적으로 계산합니다.
4. 효과
다음은 이렇게 제안한 방법의 효과에 대해 알아보겠습니다.
4-1. ImageNet 성능
Inception 모델과 Xception 모델의 ImageNet 데이터셋에 대한 성능을 비교해보겠습니다.
위의 표를 보면 Inception의 마지막 버전인 Inception v3에 비해 Xception 모델의 성능이 더 좋은 모습을 볼 수 있습니다.