Receptive Field (=Field of View)
- 아래 그림처럼 input space에서 특정 layer의 feature에 영향을 끼치는 영역을 뜻한다.
- Receptive field는 window를 sliding하면서 image에서 중요하고 연관성이 높은 영역을 모두 포함하여야 하는데, 이는 neural network는 receptive field 외의 영역에 대하여 정보를 추출하지 못하기 때문이다.
CNN vs Transformer
- 논문을 읽다보면 종종 transformer의 receptive field가 크다는 내용을 접할 수 있다. 따라서 큰 receptive field를 유지해야 한다면 transformer를 사용하는 것이 바람직하다. 하지만 왜 두 encoder의 receptive field에는 크기 차이가 존재하는 걸까?
- 해답을 알기 위해서는 두 네트워크의 특성을 알아야 한다.
- Convolutional Neural Network (CNN)
- CNN은 여러 convolutinoal layer을 사용하여 입력 데이터로부터 spaial feature을 추출한다. 각 layer은 kernel을 사용하여 특정 영역의 feature map을 추출하는데 여러 layer로 겹겹히 쌓으므로써 CNN은 receptive field size를 점차적으로 늘릴 수 있다. (위 figure 참고)
- 이를 hierarchial feature extraction이라고 하는데 early layers는 작은 receptive field에서 local feature들을, deeper layers는 더 큰 receptive field로 정보를 합친다. 이러한 과정은 CNN으로서하여금 local과 global spatial information을 합침으로써 complex pattern을 학습할 수 있도록 해준다.
- Transformer
- Transformer는 sequential data를 다루는 모델으로 CNN과 다르게 convolution을 사용하지 않는다. 그 대신 self-attention 매커니즘을 사용하는데 한 sequence (문장)의 한 token (단어)이 sequence 내의 모든 token에 "attend"하는 방식이다. 여기서 "attend"란 한 sequence 내의 다른 요소에 중요도 또는 weight를 매기는 행위를 뜻한다. 따라서 지엽적인 관계를 다루는 CNN과 달리 transformer는 sequence 내 요소들의 long-range interaction과 global dependency를 다룰 수 있다.
- Transformer에서는 입력 sequence의 모든 위치가 출력 sequence의 모든 위치에 영향을 끼치기 때문에 입력 sequence를 모두 cover하는 receptive field를 가질 수 있다.
- Convolutional Neural Network (CNN)
- 요약하자면, Transformer는 입력 sequence의 모든 element간의 interaction을 모델링하여 global dependency를 capture하기 때문에 CNN 보다 receptive field가 크다.
'AI 배경지식' 카테고리의 다른 글
Transformer와 Autoregressive 생성 모델 (0) | 2025.04.06 |
---|---|
벡터 사이의 거리, 각도 계산 (0) | 2021.08.19 |
벡터와 행렬 기본 개념 (0) | 2021.08.19 |