딥 러닝에서 이미지 데이터를 처리하는 데 최적화된 합성곱 신경망(Convolutional Neural Network, CNN)은 컴퓨터 비전 분야에서 혁신적인 성과를 이루어냈다. CNN이 등장하기 전에는 복잡한 이미지 데이터를 효과적으로 처리하기 어려웠으나, CNN은 이러한 한계를 극복하는 독특한 구조를 가지고 있다.
일반적인 다층 퍼셉트론(Multi-Layer Perceptron, MLP)으로 이미지를 처리할 때 발생하는 주요 문제점들은 다음과 같다:
고해상도 이미지(예: 1000×1000 픽셀)는 백만 개의 입력 노드가 필요
이로 인해 첫 번째 층의 가중치 수가 기하급수적으로 증가(백만 입력 × 만 개 은닉 노드 = 100억 개 가중치)
이렇게 많은 파라미터는 학습이 현실적으로 불가능
2D 이미지를 1D 벡터로 변환(시리얼라이제이션)하면 픽셀 간의 공간적 관계 정보가 사라짐
이미지에서는 픽셀이 독립적으로 의미를 갖기보다 주변 픽셀과의 관계가 중요
웨이트 덧셈 과정에서도 위치 정보가 더 희석됨
이미지에서 객체가 약간 이동, 회전, 크기 변화해도 인간은 동일한 객체로 인식
MLP는 이러한 변형에 매우 취약하여 완전히 다른 입력으로 인식
이를 해결하려면 모든 가능한 변형에 대해 학습해야 하므로 데이터 증강이 필요하나 계산 비용이 매우 큼
CNN은 위의 문제들을 해결하기 위해 두 가지 핵심 메커니즘을 도입했다:
공유 가중치(Shared Weights): 전체 이미지에 작은 필터를 적용하여 파라미터 수를 크게 줄임
로컬 연결성(Local Connectivity): 각 뉴런은 입력의 전체가 아닌 일부 영역만 처리하여 공간적 정보 보존
필터 학습: 합성곱 층은 이미지의 중요한 특징(에지, 텍스처 등)을 자동으로 학습
이동 불변성(Translation Invariance): 객체의 위치가 약간 바뀌어도 동일한 특징으로 인식
차원 축소(Dimension Reduction): 입력 크기를 줄여 계산 효율성 증가 및 파라미터 감소
맥스 풀링(Max Pooling): 주로 사용되는 방식으로, 영역 내 최대값만 선택하여 중요 특징 보존
CNN은 크게 두 부분으로 나눌 수 있다:
여러 개의 합성곱 층과 풀링 층이 번갈아 나타남
각 층에서는 다음 작업이 순차적으로 이루어짐:
1) 합성곱(Convolution): 필터를 이용한 특징 탐지
2) 활성화 함수(주로 ReLU): 비선형성 도입
3) 풀링(Pooling): 특징 맵의 크기 축소 및 위치 불변성 부여
이 과정을 통해 점점 더 추상적이고 고수준의 특징을 추출
완전 연결 층(Fully Connected Layer)으로 구성
추출된 특징을 바탕으로 최종 분류 수행
일반적인 MLP와 동일한 구조로 작동
CNN의 대부분의 파라미터가 여기에 집중됨
CNN은 다양한 컴퓨터 비전 문제에 적용된다:
이미지가 어떤 범주에 속하는지 판별(예: 고양이, 개, 새 등)
대표적인 응용으로 ImageNet 챌린지에서 2012년 AlexNet의 성공
이미지 내에서 특정 객체의 위치를 경계 상자로 표시
풀링 층으로 인한 위치 정보 손실로 분류보다 어려운 문제
여러 객체의 종류와 위치를 동시에 찾는 문제
이미지 내 다양한 객체에 대한 경계 상자와 클래스 정보 제공
이미지의 각 픽셀을 특정 클래스로 분류
객체의 정확한 윤곽을 픽셀 단위로 구분하는 가장 세밀한 작업
CNN의 발전 과정에서 중요한 모델들:
Yann LeCun이 개발한 최초의 CNN 모델
손글씨 숫자 인식(MNIST 데이터셋)에 성공적으로 적용
상대적으로 단순한 구조였으나 CNN의 기본 개념 확립
ImageNet 챌린지에서 기존 머신러닝 방법들을 크게 뛰어넘는 성능 달성
딥 러닝의 우수성을 입증하는 전환점
더 깊은 구조와 ReLU 활성화 함수 등 혁신적 요소 도입
CNN에서 이미지 데이터는 다음과 같이 표현된다:
2D 행렬로 표현(높이 × 너비)
각 픽셀은 0(검은색)부터 255(흰색)까지의 값을 가짐
단일 채널로 구성
3D 텐서로 표현(높이 × 너비 × 채널)
RGB 컬러 모델에서는 3개 채널(빨강, 초록, 파랑)로 구성
각 픽셀은 각 채널별로 0~255 값을 가짐
CNN은 이러한 다차원 데이터를 자연스럽게 처리할 수 있는 구조로, 이미지 분석에 특화된 신경망 아키텍처라고 할 수 있다.