CNN(합성곱 신경망)과 ViT(비전 트랜스포머)는 각각 다른 방식으로 이미지를 처리하며, 이들의 inductive bias는 크게 다릅니다. inductive bias는 모델이 학습을 시작할 때 가정하는 데이터에 대한 선험적 지식을 의미합니다. CNN과 ViT는 이 선험적 지식에 대해 서로 다른 접근 방식을 취합니다.
CNN의 inductive bias
CNN은 이미지 데이터를 처리할 때 지역적 특성을 강조합니다. 즉, CNN은 입력 이미지의 각 영역에서 작은 필터를 사용하여 특성을 추출합니다. 이 과정에서 공간적 지역성과 변형 불변성을 고려하는 inductive bias가 강하게 적용됩니다. CNN은 이미지 내에서 공간적으로 인접한 픽셀들이 더 밀접한 관계를 맺고 있다는 가정을 두고 필터를 통해 이를 추출합니다. 또한, CNN은 층을 거칠수록 더 넓은 영역의 정보를 통합하는 방식으로 점차적으로 더 큰 범위의 특성을 학습합니다. CNN은 필터 크기와 stride, pooling 등의 하이퍼파라미터를 통해 다양한 크기와 형태의 패턴을 인식할 수 있습니다.
ViT의 inductive bias
반면, ViT는 Transformer 아키텍처를 기반으로 하여, 이미지를 패치 단위로 분할하고 이를 1D 시퀀스 데이터로 변환하여 처리합니다. ViT는 CNN처럼 명시적으로 지역적 특성을 고려하지 않습니다. 대신, 자기 주의(self-attention) 메커니즘을 통해 전체 이미지의 모든 패치를 동일하게 처리하며, 각 패치 간의 관계를 학습합니다. 이로 인해 ViT는 공간적 관계에 대한 명시적인 inductive bias 없이, 패치 간의 관계를 전역적으로 파악하는 능력에 의존합니다. ViT는 데이터를 입력할 때 2D 이미지를 1D 시퀀스로 변환하여 처리하기 때문에 CNN보다 더 복잡한 상호작용을 모델링할 수 있습니다.
결론
CNN은 지역적 패턴과 변형 불변성에 대한 강한 inductive bias를 가지고 있어, 이미지와 같은 2D 구조 데이터를 처리하는 데 매우 유리합니다. 반면, ViT는 전역적인 관계를 잘 학습할 수 있지만, 지역적인 특성을 자동으로 학습하기 위해서는 더 많은 데이터와 학습이 필요합니다. ViT는 CNN보다 더 큰 데이터셋에서 성능을 발휘하는 경향이 있으며, 데이터가 부족한 환경에서는 CNN이 더 효과적일 수 있습니다.