본문 바로가기
딥러닝 with Python

[개념 정리] CNN에서 수용영역이란? Receptive field란?

by CodeCrafter 2024. 2. 4.
반응형

 

이번에 알아볼 내용은 Receptive field입니다.

우리 말로는 수용영역이라고 하는데요

 

1. Receptive Field란?(수용영역이란)

 

 

- Receptive field, 수용 영역은컨볼루션 신경망(CNN)에서 출력 레이어의 뉴런 하나에 영향을 미치는 입력 뉴런들의 공간크기를 의미합니다. 즉, 각 뉴런이 '보고' 처리하는 입력 이미지의 영역이라고 볼 수 있습니다. 

 

- CNN에서 한 뉴런의 Receptive field는 커널(필터)의 크기와 stride에 의해서 결정이 됩니다. 커널의 크기가 크거나 또는 Stride가 크게 되면 해당 커널이 처리할 수 있는 이미지의 부분이 커지므로, 이는 곧 Receptive field가 커지는 것을 의미합니다. Receptive field의 크기에 따른 의미는 다음과 같이 생각해 볼 수 있는데요

 

 a) 큰 커널 사이즈 또는 Stride는 보다 큰 Receptive field를 인식할 수 있게하고, 이를 통해 입력 이미지로부터 보다 많은 context 또는 information을 뉴런이 수용할 수 있게 됩니다.

 

 b) 작은 커널 사이즈 또는 Stride는 보다 작은 receptive를 만들고, 이는 뉴런이 수용할 수 있는 context나 information이 작아짐을 의미합니다. 

 

 예를 들어,

 a) 3x3 필터 크기와 stride 1을 사용하는 CNN Layer에서 출력 레이어의 뉴런 하나는 3x3 크기의 입력 이미지 영역을 보고 처리하게 됩니다. 이 경우 receptive field는 3x3 입니다.

b) 5x5 필터 크기와 stride 2를 사용하는 컨볼루션 레이어에서 출력 레이어의 뉴런 하나는 5x 크기의 입력 이미지 영역을 보고 처리하게 됩니다. 하지만, stride 2로 인해 입력 이미지 영역의 2픽셀 간격으로 샘플링하게 되며 실제로 receptive field는 9x9 크기 되는 것입니다. 

 

 

 

 

2. Receptive Field의 중요성

- Receptive filed는 CNN 이미지를 인식하는 방식을 이해하는데 중요한 역할을 하는데, Receptive filed가 CNN에서 이미지의 특징을 추출하는 방식을 결정하기 때문입니다. Receptive field를 키우면 CNN은 더 큰 영역의 이미지를 본다는 것이고, 더 복잡한 특징을 추출할 수 있게 되는 것입니다.

 

- Receptive Field는 CNN의 출력 해상도에도 영향을 미치는데, Receptive Field의 크기가 크면 CNN의 출력 이미지의 해상도가 낮아지게 됩니다.

 

 * 예를 들어, 입력 이미지의 크기가 28x28인데  3x3, stride가 1인 CNN을 적용한 경우를 (a), 5x5, stride가 2인 CNN을 적용한 경우를 (b)라고 해보겠습니다. Receptive field의 관점에서는 (a)가 (b)보다 더 작습니다. 하지만, 출력 이미지의 크기라는 측면에서는 (a)의 경우 26x26 크기의 출력이미지가 나오지만, (b)의 경우 12x12 크기의 출력 이미지가 나오게 됩니다. 

 즉, Receptive field를 크게하면 출력 해상도의 이미지가 작아지게 됩니다.

 

* 또한, CNN을 거친 뒤 Pooling 까지 연계되는 레이어들이 반복된다면, 출력 이미지의 크기는 더 작아질 것입니다.

 

 

3. Receptive Field 크기에 따른 장점과 단점

1) 작은 Receptive field의 장점

 a) 지역적인 특징을 감지에 더 용이 : 작은 receptive field는 입력 데이터의 작은 지역에 주로 초점을 맞추게 됩니다. 따라서 작은 세부 특징(선, 모서리 등)을 더 잘 감지할 수 있습니다. 

 b) 더 빠른 연산 : receptive field는 연산량이 작아 더 빠른 학습 및 추론 속도를 가질 수 있습니다.

 c) 모델의 경량화 : 작은 receptive field는 신경망의 파라미터 수를 줄일 수 있으며, 이를 통해 더 경량화 된 모델을 만들 수 있습니다.

 

 2) 작은 receptive filed의 단점

 a) 전역적인 정보 손실 : 작은 receptive filed는 입력 이미지의 전역적인 맥락(Context)를 무시할 수 있으며, 큰 패턴이나 객체를 인식하기 어려울 수 있습니다.

 b) 복잡한 특징을 간과 : 작은 receptive field는 복잡한 패턴이나 특징을 인식하는데 한계가 있을 수 있습니다.

 

3) 큰 Receptive field의 장점

 a) Global Context 이해에 우수 : 큰 receptive field는 입력 이미지의 더 큰 영역을 고려하므로 globla information과 관련된 패턴 및 객체를 인시하는데 도움이될 수 있습니다

 b) 복잡한 패턴 인식 : 큰 receptive field는 복잡한 패턴 및 특징을 더 잘 인식할 수 있으며, 더 고차원적인 정보를 추출할 수 있습니다.

 

4) 큰 Receptive field의 단점

 a) 연산량이 커집니다.

 b) Local feature를 간과할 수 있습니다.

 c) 과적합 위험이 있습니다. 

반응형

댓글