통계 실험실 차트
넘스탯 로고
넘스탯
LEARN · SIMULATE · VERIFY

확률부터 LLM까지, 원리부터 제대로 배우는 자기주도 학습 플랫폼

로그인
학습 메뉴
도움말

이미지 분류 실습

CNN이 이미지를 분류하는 전 과정 — 확률·필터·특징 맵을 브라우저 실제 학습으로 들여다보기

원하는 개념·랩·가이드를 검색해보세요

Ctrl K
딥러닝 실습실로합성곱 연산 원리 실습CNN 상세 이론

AI가 이미지를 알아보는 원리를 8×8 픽셀에서 직접 눈으로 확인합니다

이미지 분류기는 마법 상자가 아닙니다. 작은 필터들이 이미지 곳곳을 훑으며 매긴 점수를 모아 확률로 바꾸는 계산 장치입니다. 이 실습에서는 CNN을 브라우저에서 처음부터 학습시켜 도형 이미지를 분류하고, 그 계산의 중간 단계 — 학습된 필터, 필터별 반응 지도(특징 맵), 클래스별 점수 — 를 전부 열어 봅니다. 마지막에는 노이즈로 모델을 일부러 틀리게 만들어 "AI는 틀릴 때 스스로 아는가"를 시험합니다.
이 페이지에서 배우고 나면
  • softmax 확률 막대를 보고 "모델의 점수"와 "실제 정답률"의 차이를 설명할 수 있습니다.
  • 특징 맵에서 가장 강하게 반응한 필터와 위치를 짚어 모델의 분류 근거를 추적할 수 있습니다.
  • 노이즈로 오분류를 직접 만들어 모델이 언제, 왜 틀리는지 재현하고 진단할 수 있습니다.
예측 먼저 — 실험 전에 답을 정해 보세요
예측 → 실험 → 확인

정답을 몰라도 괜찮습니다 — 먼저 예측을 정해야 시뮬레이션 결과가 기억에 남습니다. 예측을 고른 뒤 아래 시뮬레이션으로 직접 확인하고, 그다음 결과를 열어 보세요.

1. 모델이 어떤 이미지에 "고양이 87%"를 출력했습니다. 이 숫자의 의미는?
2. 훈련 때 본 적 없는 전혀 다른 종류의 이미지(예: 낙서)를 넣으면 모델은?
로그인하면 예측 기록이 계정에 저장됩니다

어느 기기에서든 이어서 학습하고, 오답 기반 복습 추천을 받을 수 있습니다.

카카오로 시작하기네이버로 시작하기구글로 시작하기
회원가입 절차 없음 — 닉네임만 저장하며, 이메일·연락처는 수집하지 않습니다.
1. CNN 학습 — 8×8 도형 4클래스 분류

5×5 도형(십자·X·테두리·T)이 무작위 위치에 놓인 8×8 이미지를 분류합니다. 학습 200장 / 테스트 80장(같은 분포), 구조: 3×3 합성곱 필터 8개(ReLU) → 전역 최대 풀링 → 완전연결 4 (파라미터 116개).

노이즈 크기 σ

Adam(학습률 0.005) · 배치 16 · 40 에폭

2. 분류 과정 들여다보기
먼저 학습을 완료하면 활성화됩니다.
실측 요약 — 이 실습이 보여주는 것

5×5 도형(십자·X·테두리·T)이 무작위 위치에 놓인 8×8 이미지 280장(학습 200·테스트 80)으로 파라미터 116개짜리 CNN을 브라우저에서 실제 역전파 학습시키는 실험입니다. softmax 확률 막대, 필터 8개의 특징 맵, 학습된 3×3 가중치를 직접 열어 보고 노이즈를 얹어 오분류도 만들어 봅니다.

  • 모델 전체가 정확히 116 파라미터: 3×3 합성곱 필터 8개(72) + 편향 8 + 완전연결 32 + 4. 특징 맵은 6×6이고 전역 최대 풀링이 맵당 최대값 1개씩, 총 8개 숫자만 분류기에 전달한다
  • 학습은 클래스당 50장, 노이즈 σ는 0.15/0.30/0.45 선택, Adam(학습률 0.005)·배치 16·40에폭 — 시드가 실행마다 달라 최종 정확도는 매번 다르고, '다시 학습'마다 다른 필터가 나와도 정확도는 비슷하다 (정답 필터는 하나가 아니다)
  • softmax는 출력 합을 항상 100%로 강제한다 — 훈련에 없던 낙서를 넣어도 네 클래스 중 하나로 답하며 '모르겠다'는 선택지가 없다. 확률 막대는 상대 점수의 확률 표현이지 정답률 보증이 아니다(신경망 과신·보정 문제, Guo et al. 2017)

바로잡는 오개념: "모델이 87%라고 하면 87% 확률로 맞는다"는 착각 — 그 숫자는 소프트맥스가 만든 확신의 표현일 뿐이며, 실제 정답률과 일치하는지(보정)는 별도 검증 대상이고 분포 밖 입력에서는 특히 과신한다.

AI 튜터에게 물어보기
베타

— 정답 대신 힌트로 유도합니다. 지금 화면의 실험 상태를 알고 답해요.

예: “방금 결과가 이론과 다른데 왜죠?”, “이 값을 올렸는데 왜 반대로 변하죠?”

AI 답변은 부정확할 수 있습니다. 핵심 개념은 반드시 시뮬레이션 실측으로 확인하세요. 질문 0/5 · 하루 질문 한도가 있습니다
직접 해보기 — 실습 과제
  1. 노이즈로 확률 무너뜨리기: 무작위 테스트 이미지를 하나 고른 뒤 "노이즈 추가" 버튼을 반복해서 누르며 확률 막대를 관찰하세요. 막대가 서서히 평평해지다가 어느 순간 오분류가 됩니다. 도중에 틀렸는데도 점수가 높은 순간을 찾아보세요 — "모델은 틀릴 때 스스로 안다"는 통념과 달리, softmax 점수는 정답 보증이 아닙니다.
  2. 오분류 사례의 특징 맵 부검: "틀린 표본 보기"로 오분류를 골라(없으면 노이즈로 만들어) 정분류 사례와 특징 맵의 최고점을 비교하세요. 노이즈 점 하나가 특정 필터의 최고점을 가로채는 경우가 보입니다. 전역 최대 풀링 탓에 단 한 칸의 강한 반응이 결과를 뒤집을 수 있습니다 — 모델이 "이미지 전체를 종합적으로 본다"는 인상과는 다른 실체입니다.
  3. 필터 하나 = 클래스 하나?: 같은 도형의 테스트 이미지를 여러 장 분류하며 어떤 필터들이 밝아지는지 기록하세요. 한 클래스에 여러 필터가 함께 반응하고, 같은 필터가 다른 클래스에도 반응합니다. 필터가 8개, 클래스가 4개라고 "필터마다 담당 클래스"가 있는 것이 아닙니다 — 분류는 마지막 층이 8개 반응을 조합해서 합니다.
  4. 위치를 바꿔도 될까: 같은 도형이 다른 위치에 나온 이미지들을 비교하세요. 특징 맵의 최고점 위치는 이동하지만 확률 막대는 거의 그대로입니다. 모델이 위치를 외운 게 아니라, 전역 최대 풀링이 위치 정보를 버리기 때문입니다.
  5. 정답 필터는 하나가 아니다: "다시 학습"을 눌러 새로 학습시키고 필터 8개의 모양을 이전과 비교하세요. 필터는 매번 다르게 생겼는데 정확도는 비슷합니다 — 같은 문제를 푸는 서로 다른 해가 많다는 뜻이며, "모델이 유일한 정답 규칙을 찾았다"는 오해를 깨는 관찰입니다.
다음 학습

합성곱·풀링 연산 자체가 궁금하다면 연산 원리 실습으로, 이 CNN이 MLP·RNN·Attention과 같은 데이터에서 어떻게 다른 성적을 내는지 궁금하다면 모델 성능 비교 실습으로 이어가세요.

더 깊이 학습하기
  • LeCun et al. (1998), Proc. IEEE: "Gradient-Based Learning Applied to Document Recognition" — 합성곱+풀링 분류기의 원형(LeNet-5)
  • Krizhevsky, Sutskever & Hinton (2012), NeurIPS: AlexNet — 대형 CNN 첫 층의 학습 필터 시각화(Fig. 3)
  • Yosinski et al. (2014), NIPS: "How transferable are features in deep neural networks?" — "1층은 가버 필터·색 블롭을 배운다"는 일반 관찰
  • Zeiler & Fergus (2014), ECCV: "Visualizing and Understanding Convolutional Networks" — 깊은 층의 계층적 특징 시각화
  • Guo et al. (2017), ICML: "On Calibration of Modern Neural Networks" — softmax 확률의 과신(보정) 문제