성장通

[Paper Review] Dilated Residual Networks (Yu et al., 2017) 본문

리뷰/논문 리뷰

[Paper Review] Dilated Residual Networks (Yu et al., 2017)

백악기작은펭귄 2022. 7. 26. 22:09

Dilated Residual Networks

Fisher Yu, Vladlen Koltun, Thomas Funkhouser; Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp. 472-480

 

Abstract

2016년에 공개된 DilatedNet(리뷰)에 이어 등장한 모델 구조이다. Semantic Segmentation은 물론, 모델의 깊이나 복잡성 증가 없이 Image Classification에서도 좋은 성능을 낼 수 있는 DRN은 Dilated Convolution 개념에 잔차(Residual) 개념을 더한 구조이다. 2022년 7월 기준 약 1,200회 이상의 인용 수를 보이는 유명한 논문이다.

 

ResNet과 Dilated Residual Networks(DRN)

Dilated Convolution은 이전 리뷰들에서 언급하였듯이, 다음 수식에서 $l$이 1보다 클 때를 의미한다. 해당 과정에 대한 자세한 설명이나 장점은 여기서는 생략하도록 하겠다.

 

$$
(F*_lk)(p) = \Sigma_{s+lt = p}F(s)k(t)
$$

 

해당 논문에서는 위 식과는 약간 다르게 $d$를 dilation factor로 두었다. 즉, $d$가 1 보다 크면 dilated convolution이다.

 

 

위 그림에서 알 수 있듯이, DRN은 기존의 ResNet을 수정한 것이다. 기존의 ResNet에서는 마지막 두 Group에서 3x3의 Standard Convolution을 사용했고, Max pooling에 의해 feature map의 크기가 작아졌다. 최종 output feature map의 크기는 7x7로, 충분한 위치 정보를 담고 있지 못한다.

 

반면 DRN의 경우 G4에서 $d=2$를, G5에서 $d=4$를 사용(Convolution 1에서는 $d=2$) 함으로써 최종 결과가 28x28이 될 수 있도록 하였다.

 

Localization

Image Classification을 수행하는 구조에서는 마지막 부분에 Global Average Pooling 층이 존재한다. 이로 인해 feature map의 크기가 줄어들고, 줄어든 feature map은 1x1 합성곱 층과 softmax 층을 거치면서 예측을 수행하게 된다.

 

이와 같은 과정에서, average pooling이 삭제된 것이 localization이라고 생각하면 편하다. 별도의 학습 과정이나 파라미터 튜닝 과정이 없기 때문에 DRN은 연산 소모량 증가 없이 바로 Classification을 수행할 수 있게 된다.

 

 

Degridding

Dilated Convolution에는 Gridding Artifacts라는 현상이 존재한다. 이는 feature map이 dilated convolution의 sampling rate보다 높은 빈도의 content를 가질 때 발생하는 것으로, 이를 줄이는 작업을 Degridding이라고 한다.

 

 

위 그림에서, (a)에서는 active pixel이 한 개다. 하지만 (b)와 같은 2-dilated convolution을 거친 이후, (c)를 output으로 출력하게 되는 경우가 존재한다. 이는 성능 저하를 야기할 수 있으므로, 저자들은 이러한 문제를 다음과 같이 해결하고자 하였다.

 

 

저자들은 DRN 구조를 위와 같이 수정하여 실험을 진행하였다. 위 그림에서 굵은 초록색 선은 stride 2에 의해 downsampling 되는 것을 의미한다. 네트워크는 level로 나누어져 있고, 각 레벨 안의 층들은 모두 같은 dilation과 spatial resolution을 가진다.

 

DRN-A의 경우 가장 기본적인 DRN 모델 구조로, ResNet에 dilated convolution을 적용한 것이다. DRN-B는 앞쪽 max pooling 층을 residual block으로 대체하고, 네트워크의 후반부에 residual block을 추가하였다. DRN-C의 경우, B에서 더해진 block에서 일부 residual connection을 제거한 것이다.

 

DRN-A에서는 맨 앞 7x7 convolution 이후 max pooling 층에 의해 다음 (b)와 같이 high-amplitude high-frequency activation을 출력하게 된다. 이러한 결과는 뒤쪽 층으로 진행될수록 propagate 되어 gridding artifact 현상을 심화시킬 수 있다. 따라서 저자들은 이러한 문제를 야기하는 max pooling 층을 제거하였다.

 

 

저자들은 또한, 적은 dilation을 갖는 합성곱 층을 네트워크 후반부에 추가하였고, 이렇게 추가된 residual block에서 일부 connection을 끊음으로써 DRN-B의 level 6으로부터 비롯된 gridding artifact가 level 7과 8을 거쳐 propagate 되는 것을 막았다. 물론 네트워크의 깊이가 깊어지고 구조가 복잡해지면서 리소스 측면에서는 다소 손해가 있었다. 하지만, 26개 층으로 이루어진 DRN-C 구조의 정확도는 Image Classification에 있어서는 34개 층을 가진 DRN-A, 심지어 Semantic Segmentation에 있어서는 무려 50개의 층으로 이루어진 DRN-A와 비슷한 성능을 내며 손실보다 이득이 큼을 입증하였다.

 

다음 그림은 두 번째 열부터 차례로, ResNet-18, DRN-A-18, DRN-B-18, DRN-C-18에 의한 Activation map이다. 오른쪽, 즉 DRN-C-18로 갈수록 Activation map이 정교해짐을 확인할 수 있다.

 

 

Results

해당 논문의 목표는 구조의 복잡성이 크게 증가하지 않는 선에서 Semantic Segmentation부터 Image Classification까지 다양한 이미지 처리 Task에서 우수한 성능을 보이는 구조를 만드는 것이었다. 따라서, 논문에 등장한 각 구조에 대하여 Image Classification, Object Localization, 그리고 Semantic Segmentation까지 모두 성능을 측정하였다.

 

먼저, Image Classification의 경우, 성능(error rate; 작을수록 좋다)이 다음과 같이 기록되었다. 동일한 파라미터 수(P)에 대하여, 일반적인 ResNet에 비해 DRN 계열이 전반적으로 좋은 퍼포먼스를 내고 있다.

 

 

이러한 경향성은 Object Localization과 Semantic Segmentation Task에서도 동일하게 나타난다. 특히, Sematic Segmentation 분야에서는, 31.2M의 파라미터를 갖는 DRN-C-42가 44.5M의 파라미터를 갖는 ResNet-101을 mIoU 4% p 이상 앞서는 모습을 보여주기도 하였다.

 

 

위 사진에서, dense pixel-level supervision으로 학습되었음에도 불구하고 DRN-A-50의 결과는 일부 손상이 있는 데에 반해, DRN-C-26의 경우 훨씬 깔끔하고 정확한 예측을 수행한 것을 확인할 수 있다.

 

* 저자의 GitHub에는, DRN-C을 더욱 간소화시킨(그러나 성능은 더욱 우수한) DRN-D가 공개되어 있다. 코드가 궁금한 사람들은 이곳을 참조해보도록 하자.

 

Conclusion

해당 논문은 Internal representation의 resolution을 Spatial structure를 분간하기 어려운 수준까지 점진적으로 줄이는 대신, final output layer를 통해 높은 spatial resolution을 유지함으로써 Image Classification에서의 성능을 끌어올린 데에 있다.

 

또한 Dilation에 의한 gridding artifacts 문제를 해결하고자 함으로써 기존 목적이었던 Image Classification은 물론 weakly-supervised object localization과 semantic segmentation에도 별도 fine-tuning 없이 바로 사용할 수 있도록 하였다.

 

하지만, 해당 논문 또한 Dilated Convolution을 핵심 아이디어로 한 만큼, 모델 학습에 있어 메모리 소모가 큰 편이라는 한계점을 가진다. 따라서, 다음 논문은 이러한 문제점을 지적하며 이를 해결하기 위한 구조를 제시한 RefineNet에 대하여 리뷰해보도록 하겠다.

 

Reference

[1] Fisher Yu, Vladlen Koltun, Thomas Funkhouser; Dilated Residual Networks, 2017, CVPR
https://openaccess.thecvf.com/content_cvpr_2017/html/Yu_Dilated_Residual_Networks_CVPR_2017_paper.html

 

[2] 'Understand Deep Residual Networks — a simple, modular learning framework that has redefined state-of-the-art', Michael Dietz
https://medium.com/@waya.ai/deep-residual-learning-9610bb62c355