-
Multi-Scale Context Aggregation by Dilated Convolutions머신러닝, 딥러닝 공부 2020. 3. 7. 14:34반응형
논문에서 다루고 있는 내용은 크게 다음과 같다.
-
Dilated Convolution
-
Front-end module
-
Multi-Scale Context Aggregation (The Context Module)
-
Results
1. Dilated Convolution
왼쪽은 일반적인 convolution, 오른쪽은 dilated convolution이다. l의 값에 따라 convolution결과를 표현하면 아래와 같다.
위에서는 l=2일 때 dilated convolution의 예를 설명한다. 여기서 receptive field가 일반적인 convolution과 비교했을 때 더 크다는 것을 알 수 있다. Dilated convolution을 사용하여 얻을 수 있는 이점은 큰 receptive field를 취하려면, 파라미터의 개수가 많아야 하지만, dilated convolution을 사용하면 receptive field는 커지지만 파라미터의 개수는 늘어나지 않기 때문에 연산량 관점에서 탁월한 효과를 얻을 수 있다는 것이다. 아래 그림을 참고하자
2. Front-end moduel
FCN이 VGG-16 classification을 거의 그대로 사용한 반면에 논문에서는 성능 분석을 통해 조금 수정을 했다. 분석 결과에 따르면, FCN 팀은 VGG-16 network의 뒷단을 그대로 사용을 했지만, 오히려 크게 도움이 되지 않기 때문에 뒷부분을 아래 그림과 같이 수정을 했다.
FCN에서는 pool4와 pool5를 그대로 사용했기에 feature-map의 크기가 1/32까지 작아지고 이 문제를 해결하기 위해 skip layer라는 것을 두었다. 하지만 이 논문에서는 pool4와 pool5를 제거함으로써 최종 feature-map의 크기는 원영상의1/32이 아니라 1/8수준까지만 작아졌기 때문에 upsampling을 통해 원영상 크기로 크게 만들더라도 상당한 detail이 살아 있게 된다. 결과적으로 skip layer도 없고 더 간단해졌기 때문에, 연산 측면에서는 훨씬 가벼워졌다. 아래와 같이 성능 또한 좋아졌다.
3. Multi-Scale Context Aggregation (The Context Module)
context module은 다음과 같이 dilated convolution을 기반으로 구성된다.
context module은 서로 다른 dilation factor와 함께 3×3 convolution을 적용하는 7개의 레이어를 가지고 있다. dilation은 순서대로 1, 1, 2, 4, 8, 16, 1 이다.
마지막은 채널의 개수를 입력과 동일하게 매핑하기 위한 1×1 convolution이다. 따라서 입력과 출력은 채널 수가 같다. Context module은 기본적으로 어떤 망이든 적용이 가능할 수 있도록 설계를 하였으며, 자신들의 Front-end 모듈 뒤에 context module을 배치하였다.
4. Results
References
반응형'머신러닝, 딥러닝 공부' 카테고리의 다른 글
Perceptual Losses for Real-Time Style Transfer and Super-Resolution (0) 2020.05.16 You Only Look Once: Unified, Real-Time Object Detection (0) 2020.03.09 Fully Convolutional Networks for Semantic Segmentation (0) 2020.03.01 An Introduction to different Types of Convolutions in Deep Learning [번역] (0) 2020.02.27 Up-sampling with Transposed Convolution [번역] (0) 2020.02.18 -