『 Xception: Deep Learning with Depthwise Separable Convolutions. 2017. 』
- Inception 모듈은 feature를 추출할 때 1x1, 3x3, 5x5 등 다양한 크기의 필터를 이용해 Convolution(합성곱) 연산을 수행한다. 여러가지 크기의 필터를 이용해 feature를 추출하기 때문에 의미있고 다양한 feature를 추출할 수 있다.
- Inception 모듈은 개념적으로 Convolution 방식과 유사하지만 더 적은 매개 변수로 더 많은 표현을 학습할 수 있다.
- 논문의 저자는 Inception 모듈이 1x1 컨볼루션을 통해 채널 간 상관관계(cross-channel correlations)를 살펴보고, 3x3 or 5x5 컨볼루션을 이용해 상관관계(spatial correlations)를 매핑하기 때문에 좋은 성능을 보인다고 말한다. 따라서 저자는 cross-channel correlations와 spatial correlations를 분리해서 매핑하는 것이 바람직하다고 말한다.
- Figure 1은 Inception V3에서 볼 수 있는 Inception 모듈의 표준 형식이다. 여기서는 cross-channel correlations와 spatial correlations을 동시에 매핑하는 작업을 수행하기 때문에 논문의 저자는 Figure 2에서 볼 수 있듯이 이를 동시에 매핑하지 않기 위한 단순한 구조를 제시한다.
- Figure 2의 구조를 보면 작업이 각자 독립적으로 수행된다는 것을 알 수 있다.
- Figure 3은 더욱 단순해진 구조로 Figure 2에서 작업마다 독립적으로 진행했던 Convolution연산을 1번만 진행하는 것이다. 이 후 Convolution의 결과를 나누어 3x3 Convolution을 진행한다.
- 물론 이 방법은 결과를 나눌 때의 segment의 수와 크기가 결과에 미치는 영향이 무엇인가에 대한 질문을 야기한다.
- Figure 3과 같은 단순한 구조가 "극한"으로 가게 되면 ( 1x1 Convolution의 output channel을 최대로 분리하면) depthwise separable convolution과 거의 동일한 구조가 만들어진다.
* Extreme version of an Inception module과 Depthwise separable convolution의 차이점
1. 연산 순서
Depthwise separable convolution : Depthwise Convolution -> Pointwise Convolution
Extreme version of an Inception module : Pointwise Convolution -> Depthwise Convolution
2. 비선형성
둘 다 ReLU 비선형성을 따르지만 Depthwise separable convolution은 일반적으로 비선형성 없이 구현된다.
- 첫 번째 차이는 중요하지 않지만 두 번째 차이는 문제가 될 수 있다.
- 결국 Inception 모델을 Depthwise separable convolution으로 변경한다면 Inception구조의 제품군을 개선할 수 있을 것이라고 제안한다. 아키텍쳐의 이름은 "Extreme Inception", 즉 "Xception"이다.
- 비선형성이 없던 실험이 수렴 속도가 빠르고 최종 성능도 높다는 것을 확인할 수 있다.
- Xception은 ImageNet dataset은 분류 성능이 약간 향상되고 JFT dataset은 성능이 크게 향상한다.
- Depthwise separable convolutions는 Inception 모듈과 유사한 특성을 제공하면서도 사용하기 쉽기 때문에 추후 일반적인 conv네트워크 아키텍처 설계에 도움이 될 것이다.
'논문 paper 리뷰' 카테고리의 다른 글
[X:AI] MobileNet 논문 이해하기 (0) | 2022.07.18 |
---|---|
[X:AI] SPPNet 논문 이해하기 (0) | 2022.07.07 |
[X:AI] Seq2Seq 논문 이해하기 (0) | 2022.06.30 |
댓글