Hello Computer Vision

Dilated Convolution 이란 본문

딥러닝

Dilated Convolution 이란

지웅쓰 2023. 1. 17. 15:27

 

이번 방학에 CNN 모델에 대해서 다시 원론적으로 공부를 하는 도중 Dilated convolution 에 대해 맞닥뜨렸다.

한눈에 설명할 수 있는 이미지는 다음과 같다.

이것이 무엇을 나타내는지 한번 알아보자면 현재 kernel의 크기는 3x3의 크기이며, 7x7이미지를 sliding window 하고있는 상황이다.

근데 왜 흝는 과정에서 5x5커널처럼 흝고있느냐? 바로 nn.Conv2d 의 파라미터 중 dilation이란 값이 있는데 이 값이 2이기 때문이다. nn.Conv2d document 살펴보기

기본 값은 1이며 1을 준다는 것은 커널 안 파라미터들(예시에서는 3x3) 사이사이 간격을 주는 것이다. 1을 준다면 그냥 밀집된 kernel이며 2를 준다면 예시와 같이 듬성듬성한 kernel이 되는 것이다.

여기서 2를 주어서 듬성듬성한 kernel이라면 듬성듬성 빈 곳의 값은 0을 주는 것이다.

 

어느 정도 이해한 후 그림을 다시 살펴보자면 3x3 kernel을 사용하였지만 dilation 값을 2로 줌으로써 5x5 커널처럼 이미지를 흝고있음을 알 수 있다.

그러면 처음부터 5x5 kernel을 사용하지 왜 3x3 kernel을 사용하냐?

학습시키는 파라미터 수에 대한 부담이라고 할 수 있다.

 


한마디로 어느 정도 정보의 손실은 일어날 수 있겠지만 적은 수의 파라미터로 이미지를 살펴볼 수 있다.

이러한 방법은 큰 이미지를 다룰 때 효과적이라고 한다.