- Atrous Convolution(또는 Dilated Convolution)은 컨볼루션 레이어에서 특정 픽셀 간의 간격을 둔 필터를 사용하는 기술로, 컨볼루션 네트워크(Convolutional Neural Network, CNN)에서 피처 맵의 크기를 확장하면서도 계산 효율성을 유지하는 데 사용됨.
- 다시 얘기하면, 일반적인 Convolution Layer와 달리, Atrous Convolution 은 dilated 개념이 적용된 합성곱 연산으로 볼 수 있음.
- atrous = a trous (구멍이 있는)의 의미와 같게, convolution의 각 커널 사이에 1칸씩 구멍이 있는 것을 의미함. (일반적인 convolution layer의 dilation은 1이지만, Atrous Convolution의 dilation은 2임)
- 이러한 layer를 사용하는 이유는, 더 넓은 범위(receptive field가 크다) 의 특징들을 추출하기 위함인데, 계산비용이 큰 Task에서 사용하기에 적합하다. (같은 자원으로 더 넓은 영역을 계산할 수 있음.)
- Atrous Convolution을 사용하면 필터의 크기를 확장하면서도 연산량은 증가하지 않는다는 장점이 있음.
- 주로 딥 러닝에서 세그멘테이션 및 객체 감지와 같은 작업에서 사용되며, Atrous Convolution은 DeepLab과 같은 세그멘테이션 모델에서 공간 해상도를 높이면서도 높은 수용 영역을 유지하는 데 활용됨.
- 이러한 내용을 잘 설명하는 예시가 있는데, 아래 사진을 보면 알 수 있다. (출처 : https://arxiv.org/abs/1606.00915)
- 위 사진에서도 보다시피, 동일한 해상도의 입력값에 atrous layer를 사용하면 feature가 더 잘 추출된다.
- 일반적인 convolution을 사용하면 pooling layer로 인해 feature map size가 계속 줄어들어 detail한 정보를 얻기 어려운데, pooling layer를 없앤 후 (receptive field가 큰) atrous conv layer를 적용하면 detail한 정보를 얻을 수 있음.
'Deep Learning' 카테고리의 다른 글
anaconda 다중 사용자(multi-user) 환경 세팅 (0) | 2024.01.15 |
---|---|
Multi class Segmentation Loss function 정리 (1) | 2024.01.15 |
UNET 구조, 설명 (1) | 2023.12.12 |
편향(Bias)와 분산(Variance) 개념 정리 (0) | 2023.12.11 |
Representation Learning (1) | 2023.12.01 |