AI VIDEO BRIEFING

CNN 이미지 분류 원리: 합성곱 필터·특징맵·맥스 풀링 쉽게 이해하기

일반 신경망이 이미지에서 왜 한계에 부딪히는지, 그리고 CNN이 필터·합성곱·특징맵·풀링으로 어떻게 그 문제를 푸는지를 X·O 분류 예시로 차근차근 설명한다.

합성곱 신경망(CNN)으로 이미지 분류하기 — 필터·특징맵·풀링을 그림처럼 이해하기 영상 대표 이미지

핵심 메시지

  • 일반 신경망으로 이미지를 분류하면 입력 노드와 가중치가 폭발적으로 늘고, 픽셀이 한 칸만 밀려도 인식이 흔들리며, 픽셀 간 상관관계를 활용하지 못한다.
  • CNN은 세 가지를 해낸다. 입력 노드 수를 줄이고, 픽셀 위치의 작은 이동을 견디며, 이미지 속 픽셀 상관관계를 활용한다.
  • 핵심 동작은 “필터를 이미지와 합성곱(점곱)해 특징맵을 만들고, ReLU를 적용한 뒤, 풀링으로 요약”하는 흐름이다. 필터 값 자체도 역전파로 학습된다.
  • 아무리 복잡한 CNN도 결국 필터(합성곱) → 활성화 함수 → 풀링이라는 같은 뼈대 위에 서 있다.

쉽게 이해하기

영상은 친구 “스탯스쿼치”가 컴퓨터와 틱택토를 할 때 X를 먼저 그렸는지 O를 먼저 그렸는지 못 외운다는 상황으로 시작한다. 컴퓨터는 합성곱 신경망(CNN)으로 그가 그린 글자가 X인지 O인지 알아낸다. 화면 속 글자는 결국 픽셀의 모음이며, 여기서는 흰 픽셀을 0, 검은 픽셀을 1로 표현한다.

먼저 일반 신경망의 한계를 짚는다. 6×6짜리 작은 이미지는 36개 입력 노드로 펼쳐 평범한 신경망으로도 분류할 수 있지만, 은닉층 노드 하나마다 36개의 가중치를 역전파로 추정해야 하고 노드가 늘면 가중치도 그만큼 늘어난다. 이미지가 100×100만 돼도 노드당 1만 개의 가중치가 필요해 확장성이 나쁘다. 게다가 이미지가 한 픽셀만 옆으로 밀려도 같은 글자를 제대로 알아본다는 보장이 없고, 곰 인형 같은 복잡한 이미지에서 갈색 픽셀끼리·흰 픽셀끼리 가까이 모이는 상관관계도 활용하지 못한다.

그래서 CNN이 세 가지를 해결한다. 입력 노드 수를 줄이고, 픽셀 위치의 작은 이동을 견디며, 픽셀 간 상관관계를 활용하는 것이다. CNN이 가장 먼저 하는 일은 입력 이미지에 “필터”를 적용하는 것이다. 필터는 흔히 3×3 크기의 작은 정사각형으로, 각 칸의 값은 역전파로 학습된다. 처음엔 무작위 값에서 시작해 학습이 끝나면 더 쓸모 있는 값으로 바뀐다.

필터를 이미지 위에 겹쳐 놓고 겹치는 픽셀끼리 곱한 뒤 모두 더하면 하나의 값이 나온다. 이 “곱의 합”을 점곱(dot product)이라 부르며, 필터를 입력과 합성곱(convolve)한다고 말한다. 여기에 편향(bias)을 더해 “특징맵(feature map)”에 채워 넣는다. 필터를 한 칸씩(혹은 더 많이) 옮겨 가며 같은 계산을 반복해 특징맵을 완성한다. 특징맵의 각 칸은 이웃한 픽셀 무리에 대응하므로 이미지 속 상관관계를 활용하게 된다. 이어 특징맵에 ReLU를 적용해 음수는 0으로, 양수는 그대로 둔다.

다음 단계는 풀링이다. 새 특징맵에 또 다른 필터를 적용하되 이번엔 각 영역에서 최댓값만 고르고, 보통 서로 겹치지 않게 이동한다. 이를 “맥스 풀링(max pooling)”이라 하며, 필터가 입력과 가장 잘 맞은 지점만 남긴다. 최댓값 대신 평균을 쓰면 평균(mean) 풀링이다. 풀링된 층을 입력 노드로 펼쳐 평범한 신경망(입력 4개, ReLU를 쓰는 단일 은닉 노드, O와 X용 출력 2개)에 넣으면, O 이미지는 O로 X 이미지는 X로 분류된다. 처음 36개였던 입력이 4개로 줄었고, X를 한 픽셀 옆으로 밀어도 여전히 X로 분류된다(출력 1.23 대 -0.2). 필요하면 소프트맥스나 아그맥스로 출력을 더 보기 쉽게 만들 수 있다.

주요 인사이트

  • CNN의 출발점은 “일반 신경망은 이미지에 잘 안 맞는다”는 인식이다. 입력·가중치 폭발, 위치 이동 취약, 상관관계 미활용이라는 세 가지 약점을 정확히 겨냥한다.
  • “합성곱”이라는 이름은 필터와 입력의 점곱(곱의 합)에서 나온다. 필터를 이미지 위로 미끄러뜨리며 점곱을 반복해 특징맵을 채우는 것이 핵심 연산이다.
  • 필터는 사람이 손으로 설계하는 것이 아니라 역전파로 학습된다. 무작위 값에서 시작해 학습을 거치며 유용한 패턴 검출기로 변한다.
  • 맥스 풀링은 “필터가 가장 잘 맞은 지점만 남기기”다. 이 덕분에 입력 노드 수가 크게 줄고, 픽셀이 조금 이동해도 같은 글자로 인식하는 견고함이 생긴다.
  • 구조가 아무리 복잡해져도 CNN의 뼈대는 변하지 않는다. 필터(합성곱) → 활성화 함수 → 풀링이라는 동일한 패턴의 반복이다.

자주 묻는 질문

이미지 분류에 왜 일반 신경망 대신 CNN을 쓰나요?

일반 신경망은 이미지 크기가 커질수록 가중치가 폭발적으로 늘어 확장성이 나쁘고, 픽셀이 한 칸만 밀려도 인식이 흔들리며, 픽셀 간 상관관계를 활용하지 못합니다. CNN은 입력 노드를 줄이고, 작은 위치 이동을 견디며, 상관관계를 활용해 이 문제들을 해결합니다.

CNN에서 “필터”의 값은 누가 정하나요?

사람이 직접 정하지 않습니다. 필터는 흔히 3×3 크기이며, 각 칸의 값은 무작위에서 시작해 역전파(backpropagation)로 학습되어 점점 유용한 값으로 바뀝니다.

“합성곱(convolution)”과 특징맵은 어떻게 만들어지나요?

필터를 입력 이미지 위에 겹쳐 놓고 겹치는 픽셀끼리 곱한 뒤 모두 더하면(점곱) 하나의 값이 나옵니다. 여기에 편향을 더해 특징맵에 채우고, 필터를 옮겨 가며 반복해 특징맵 전체를 완성합니다.

맥스 풀링은 무슨 역할을 하나요?

각 영역에서 최댓값만 골라 남기는 과정으로, 필터가 입력과 가장 잘 맞은 지점만 보존합니다. 이를 통해 입력 노드 수를 줄이고, 픽셀이 약간 이동해도 같은 결과를 내도록 만듭니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식