헷개정 - 헷갈리는 개념 정리

CNN이 시각 데이터를 처리하기 위한 가장 우수한 인공 신경망일까?

cch8ii 2025. 9. 26. 14:45

CNN(Convolutional Neural Network)

출처: https://wikidocs.net/64066

CNN은 이미지와 같은 시각 데이터 처리에서 오랫동안 쓰여온 강력한 모델이다.

출처: https://wikidocs.net/64066

기존 AI의 발전에서 초기 MLP의 경우 이미지 데이터를 처리하기 힘들었다. 왜냐하면 위와 같은 형식으로 벡터로 변환해서 신경망에 넣어야 하는데 본래 이미지의 공간적 구조데 대한 정보가 다 사라질 수밖에 없었던 것이다.

 

때문에 CNN이 등장했다. CNN은 Convolution 연산을 통해 이미지의 특징을 추출하는 역할을 한다.

네모나게 생긴 커널 (= 필터) 이 이미지를 처음부터 끝까지 훑으면서 각 이미지와 커널의 원소 값을 곱해 모두 더한 값이 출력이 된다.

 

Convolution 연산의 예시를 들면 다음과 같다.

출처: https://roytravel.tistory.com/103

 

위와 같이 3*3 사이즈의 필터를 통해 convolution을 수행하면 오른쪽 그림과 같이 이미지의 크기가 축소된다. 축소되면서 각각의 receptive field (왼쪽의 주황색) 에서의 이미지의 특징을 추출할 수 있게 된다.

 

이러한 CNN의 강점은 크게 3가지로 이야기할 수 있다.

1. local 특징 추출

Convolution 연산을 통해 이미지 내 국소 패턴을 잘 포착한다. 애초에 CNN은 이미지가 인접 픽셀끼리 유의미한 상관을 가진다는 가정 하에 만들어진 네트워크이다. 때문에 convolution 연산 자체가 작은 필터를 슬라이딩하며 패턴을 포착하고 이미지의 특징을 뽑아낸다.

2. 파라미터 효율성

Fully connected neural network 보다 훨씬 적은 파라미터로 큰 이미지 입력을 처리할 수 있다. 왜냐하면 하나의 필터 파라미터를 이미지 전역에 같은 값으로 적용하기 때문에 효율적이다. 이 때문에 같은 패턴을 어디서든 탐지할 수 있다는 장점도 존재한다.

3. 전통적인 CV 성능

이미 Classification, Object detection, Segmentation 등에서 오랫동안 SOTA 성능이었다.

 

하지만 CNN에도 단점이 존재했다.

1. 전역적인 문맥 이해 부족

CNN은 local 필터 기반이기 때문에 이미지 내 멀리 떨어진 픽셀 간의 유효성을 연관시키기 어렵다. 층을 깊게 쌓아 receptive field를 늘려도 여전히 멀리 떨어진 픽셀 간의 상관관계를 직접적으로 학습하기 어렵다. 결과적으로 장면 전체 맥락이나 객체 간의 관계를 포착하는 데는 한계가 있다.

2. 스케일 일반화의 어려움

같은 객체라도 크기가 달라지면 동일한 필터로 잘 포착되지 않는다. 때문에 스케일 일반화에 약하게 된다.

때문에 이후 자연어 처리에서 큰 성능 향상을 달성한 Transformer를 CV task에 접목한 ViT가 나타났다.

ViT는 이미지를 patch로 잘라서 입력 전체 토큰 간의 관계를 전역적으로 파악함으로써 CNN이 가지던 전역 문맥 이해 부족 문제를 보완했다.

CNN은 시각 데이터 처리에서 오랫동안 가장 성공적이고 강력한 모델로 자리 잡아왔으며, 지금도 여전히 다양한 분야에서 활용되고 있다. 하지만 가장 우수하다고 단정짓기는 어렵다.

  • 소규모 데이터·자원이 제한된 환경에서는 CNN이 여전히 효율적이고 실용적이다.
  • 대규모 데이터와 연산 자원이 있을 경우, Transformer 기반 모델(ViT, Swin Transformer 등)이 CNN보다 더 나은 성능을 보이는 경우가 많다.

따라서 CNN은 특정 상황에서 매우 강력한 도구이지만, 시각 데이터 처리에서 단일하게 가장 우수한 인공 신경망이라고 말하기는 어렵다.