AI Lab · #02 CNN Filter

3×3 커널이 이미지를
어떻게 훑는지 직접 보기

1989년 Yann LeCun이 만든 LeNet의 핵심 — 같은 작은 필터를 이미지 전체에 슬라이딩하며 패턴을 찾는다. 8×8 입력에 3×3 커널을 한 칸씩 옮기며 feature map이 채워지는 과정을 직접 확인합니다.

📌 이게 뭐 하는 랩인가 왼쪽 8×8 입력 이미지에 십자(+) 패턴이 있습니다. 가운데 3×3 필터가 한 칸씩 슬라이딩하며 곱한 후 합한 값이 우측 6×6 feature map을 채웁니다. 커널을 바꿔보면 — 수평 에지, 수직 에지, Sobel(대각), blur(흐림), sharp(선명화), identity(그대로) — 같은 입력이지만 출력 패턴이 완전히 달라집니다. 이게 CNN이 다양한 패턴을 학습하는 원리입니다.
📋 사용법
  1. 왼쪽 8×8 입력에는 십자 모양 패턴(0.9 값)이 있고, 가운데 작은 3×3이 학습된 필터입니다.
  2. 커널 선택에서 "수평 에지", "수직 에지", "Sobel" 등으로 다른 패턴 검출기를 골라보세요. 필터 값이 −1/0/+1로 변하며 각각 다른 종류의 에지를 검출합니다.
  3. 한 스텝 슬라이딩을 누르면 노란색 테두리(현재 보고 있는 3×3 영역)가 한 칸 이동하며, 우측 6×6 feature map의 해당 칸이 채워집니다.
  4. 각 칸의 값은 "이 위치에서 필터의 패턴이 얼마나 강하게 발견됐는가"를 의미. 큰 값 = 패턴 강한 검출.
  5. 같은 필터(가중치 9개)가 모든 36개 위치에 동일하게 적용 — 이게 가중치 공유(weight sharing)의 의미입니다.
8×8 입력 ⊛ 3×3 필터 = 6×6 Feature Map
커널
속도
"한 스텝 슬라이딩" 버튼을 눌러 시작하세요.
노란 테두리 = 현재 보고 있는 3×3 영역. 초록 테두리 = 방금 채워진 feature map 칸. 하단 진행바로 진도 확인.

이게 왜 중요한가

실제 CNN은 수십~수백 개의 필터를 동시에 슬라이딩합니다. 첫 층은 단순한 에지·코너 검출기로 학습되고, 깊어질수록 눈·코·입(얼굴 검출), 바퀴·창문(자동차 검출), 결함 패턴(반도체 검사) 같은 복잡한 패턴을 자동으로 학습합니다.

위 시뮬레이션은 필터 1개·9개 가중치지만, ResNet-50은 약 2,500만 개 가중치를 갖고, 모두 backprop(EP01에서 본)으로 자동 학습됩니다. 같은 메커니즘이 폰 카메라의 인물 모드, Tesla의 보행자 감지, Samsung 디스플레이 결함 검사까지 모두 굴러갑니다.

커널을 바꿔보세요. 같은 입력 이미지인데 출력 feature map이 완전히 달라집니다 — "어떤 패턴을 찾을지"가 바로 그 9개 가중치에 인코딩되어 있는 것입니다.

📖
관련 글로 돌아가기
AI 진화사 EP02 — 컴퓨터가 눈을 가지게 된 30년 이야기