

확률부터 LLM까지, 원리부터 제대로 배우는 자기주도 학습 플랫폼
원하는 개념·랩·가이드를 검색해보세요
Ctrl K합성곱 연산은 작은 커널(filter)이 입력 위를 슬라이딩하며 각 위치에서 element-wise 곱 후 합을 계산합니다. 딥러닝에서는 엄밀히는 cross-correlation을 사용하지만 관례상 convolution이라 부릅니다 (Goodfellow Ch.9.1).
합성곱: 7×7 입력 ⊛ 3×3 Sobel-X 커널 → 5×5 출력CNN의 핵심은 "어떤 커널을 사용하느냐"입니다. 학습 전에는 무작위지만, 역전파를 통해 데이터로부터 의미 있는 특징을 추출하는 커널로 자동으로 진화합니다 (Krizhevsky et al. 2012).
같은 얼굴 패턴에 4가지 커널 적용 → 완전히 다른 특징정답을 몰라도 괜찮습니다 — 먼저 예측을 정해야 시뮬레이션 결과가 기억에 남습니다. 예측을 고른 뒤 아래 시뮬레이션으로 직접 확인하고, 그다음 결과를 열어 보세요.
입력 이미지에 다양한 커널을 적용하고 stride·padding·pooling을 조절하며 출력 변화를 실시간으로 관찰하세요.
24×24 합성 패턴(십자·원·사각형·줄무늬)에 3×3 커널 6종(Identity·Edge·Blur·Sharpen·Sobel-X·Sobel-Y)을 실제 합성곱 연산으로 적용하고, stride(1~4)·padding(0~3)·pooling(Max/Avg 2×2)을 바꾸며 출력 행렬이 어떻게 변하는지 셀 단위로 관찰하는 실험입니다.
바로잡는 오개념: "CNN의 필터는 전문가가 설계해 고정해 둔 것"이라는 생각 — 고전 컴퓨터 비전이 그랬을 뿐, CNN의 필터는 가중치라서 무작위 값에서 출발해 역전파로 스스로 학습된다.
— 정답 대신 힌트로 유도합니다. 지금 화면의 실험 상태를 알고 답해요.
예: “방금 결과가 이론과 다른데 왜죠?”, “이 값을 올렸는데 왜 반대로 변하죠?”
Stride(슬라이드 간격), Padding(외곽 0-채움), Dilation(커널 간격)이 출력 크기와 받음야(receptive field)를 결정합니다. 표준 출력 공식: O = ⌊(I + 2P − D(K−1) − 1) / S⌋ + 1
Stride / Padding / Dilation의 시각적 비교Pooling은 인접한 픽셀들의 통계량(최댓값/평균)으로 압축합니다. Max pooling은 강한 특징을 유지하고 약한 평행 이동에 불변성을 제공합니다. CNN에서는 일반적으로 2×2 max pooling이 표준입니다.
Max vs Average Pooling — 같은 입력의 다른 압축CNN은 (Conv → Pool)을 반복해 점진적으로 추상화된 특징을 추출한 뒤, 마지막에 Fully Connected 층으로 분류합니다. LeCun et al. (1998)의 LeNet-5가 이 패턴의 원형이며, 현대 ResNet/EfficientNet도 큰 그림에서는 이 구조의 확장입니다.
LeNet-5 스타일 CNN 아키텍처 — 특징 추출 + 분류LeCun. 손글씨 숫자 인식. CNN의 원조 — Conv+Pool+FC 패턴 정립.
Krizhevsky et al. ImageNet 우승. ReLU + Dropout + GPU 학습. 딥러닝 시대 개막.
Simonyan & Zisserman. 3×3 작은 커널을 깊이 쌓는 단순한 전략 → 16/19층.
He et al. Skip Connection으로 152층 학습 가능. 현재 CV 백본의 표준.