딥러닝 A to Z · 3-3

이미지와 CNN — 숫자 격자에서 확률까지

컴퓨터에게 사진은 숫자가 빼곡한 격자다. 사람이 정한 특징도, 픽셀을 한 줄로 늘어놓는 신경망(MLP)도 이 격자 앞에서 쉽게 흔들린다. 작은 필터 하나를 격자 위로 미끄러뜨리는 합성곱 신경망(CNN)이 무엇을 해결했고 무엇은 아직 못 했는지, 숫자 하나하나를 직접 계산하며 따라간다.

1980네오코그니트론 발표 [R2]
1998LeNet과 손글씨 숫자 인식 [R3]
15.3%2012 ImageNet 대회 우승 CNN의 top-5 오류 (2위 26.2%) [R4]
9개3×3 필터 하나가 가진 가중치
2,371 : 527이 페이지 MLP와 CNN의 파라미터 수
2개Colab에서 바로 돌리는 코드
1숫자 격자

사진은 숫자 격자다

화면의 그림을 아주 크게 확대하면 작은 네모(픽셀)가 보인다. 픽셀 하나는 밝기를 나타내는 숫자 하나, 컬러라면 빨강·초록·파랑 세 숫자다.

그림
보기

초보자를 위한 풀이

숫자 격자는 보통 0(검정)부터 255(흰색)까지의 정수로 저장한다. 신경망에 넣을 때는 255로 나눠 0~1로 바꾸는 경우가 많다. 이 페이지의 계산도 0~1을 쓴다. 휴대폰 사진 한 장(예: 4000×3000 컬러)은 숫자가 3,600만 개다. 숫자 격자가 이렇게 크다는 사실이 다음 섹션들의 출발점이다.

2기존 머신러닝

기존 머신러닝 — 사람이 정한 특징은 예상한 변화에만 견딘다

세 가지 도형(+, ×, ○)을 구별해야 한다. 사람이 단서 두 개를 정했다. "가운데가 칠해졌나", "가로·세로 띠가 대각선 띠보다 진한가". 기계는 이 두 숫자에 줄 가중치만 배운다.

시험 조건

그래서 사람들은 무엇을 했나

이 예의 특징은 일부러 단순하게 만들었다. 실제 연구자들은 가장자리 방향을 영역별로 세는 것처럼 훨씬 정교한 특징을 오랫동안 고안했다. 그래도 사진 속 사물은 위치·크기·조명·각도가 끝없이 달라져서, 사람이 모든 변화를 미리 떠올려 특징에 담기는 어려웠다. 2012년 사진 1,000종을 분류하는 ImageNet 대회에서 특징까지 스스로 배우는 CNN이 top-5 오류 15.3%로 2위(26.2%)를 크게 앞서면서 흐름이 바뀌었다 [R4].

3MLP의 한계

MLP가 사진에서 막히는 네 가지 이유

3-2의 MLP(다층 퍼셉트론)에 사진을 넣으려면 격자를 한 줄로 펼쳐야 한다. 펼치는 순간 생기는 문제를 하나씩 본다.

사진 크기 (②에서)
4CNN의 해법

CNN의 해법 네 가지 — 작은 필터를 미끄러뜨린다

지역 연결 · 가중치 공유 · 풀링 · 층 쌓기Fukushima 1980 → LeCun 1998

MLP의 문제CNN의 해법어디까지 해결했나
① 이웃 관계 상실지역 연결: 뉴런 하나가 3×3 같은 이웃 조각만 본다이웃한 픽셀을 함께 보도록 구조에 박아 넣었다
② 가중치 폭발가중치 공유: 같은 필터를 모든 위치에 쓴다필터 수 × 9개면 된다. 사진 크기와 상관없다
③ 위치 변화가중치 공유 + 풀링: 어디에 있든 같은 필터가 찾고, 풀링이 작은 이동을 흡수한다비교적 덜 흔들린다. 완전하지 않다. 많이 옮기면 정확도가 떨어진다(섹션 8) [R6]
④ 픽셀 순서 무시층 쌓기: 가까운 픽셀끼리 묶어 점점 넓은 모양을 만든다그 대신 "가까운 픽셀이 관련 있다"는 가정에 기댄다. 픽셀을 섞으면 성능이 떨어진다(섹션 8)

초파리·뇌와의 연결

고양이 시각피질에서 Hubel과 Wiesel은 좁은 영역의 특정 방향 막대에 반응하는 "단순 세포"와, 같은 방향이면 위치가 조금 달라도 반응하는 "복합 세포"를 구별했다 [R1]. Fukushima의 네오코그니트론은 이 두 세포를 본떠 "특징 찾기 층"과 "위치 흐리기 층"을 번갈아 쌓았다 [R2]. 오늘날 CNN의 합성곱 층과 풀링 층이 그 후손이다. 다만 네오코그니트론은 역전파가 아닌 다른 방식으로 학습했고, 역전파로 학습하는 CNN을 손글씨 인식에 성공시킨 것은 LeCun 등이다 [R3].

5합성곱

합성곱 계산 — 칸끼리 곱해 모두 더한다

출력 = Σ (입력 조각 × 필터)6×6 입력 · 3×3 필터 → 4×4 출력

필터

초보자를 위한 풀이

필터 창을 입력의 한 자리에 겹친다. 겹친 9칸끼리 곱해 모두 더한 값이 출력 한 칸이 된다. 창을 한 칸씩 옮기며 반복한다. 6×6 입력에 3×3 창은 가로 4자리, 세로 4자리에 놓일 수 있어 출력은 4×4다(가장자리를 0으로 채우는 패딩을 하지 않을 때).

세로 가장자리 필터는 왼쪽 열에 +1, 오른쪽 열에 −1이 있다. 그래서 "왼쪽이 밝고 오른쪽이 어두운" 자리에서 양수, 반대면 음수, 고르면 0에 가깝다. 신경망은 이런 필터 숫자를 사람이 정하지 않고 역전파로 배운다. 덧붙여, 딥러닝에서 말하는 "합성곱"은 수학의 합성곱과 달리 필터를 뒤집지 않는다(상호상관). 학습으로 숫자를 정하므로 결과는 같다 [R8].

6ReLU·풀링

ReLU와 풀링 — 음수는 지우고, 넷 중 하나만 남긴다

섹션 5의 4×4 출력에 ReLU(음수 → 0)를 거친 뒤, 2×2 창마다 숫자 하나만 남긴다(최대 또는 평균). 그림을 한 칸 옮겼을 때 무엇이 바뀌는지도 본다.

풀링
필터
입력

풀링이 하는 일과 한계

풀링은 숫자를 4분의 1로 줄여 다음 층의 계산을 덜어 주고, 2×2 창 안에서 생긴 작은 이동은 흡수한다. 창의 경계를 넘는 이동이나 2칸 이상의 이동은 그대로 결과를 바꾼다. 그래서 "CNN은 위치 변화에 강하다"보다 "비교적 덜 흔들린다"가 정확하다. 실제로 이름난 큰 CNN들도 그림을 몇 픽셀만 옮겨도 답이 바뀔 수 있다는 연구가 있다 [R6].

7확률까지

펼치기 → 확률 — 특징 지도가 답이 되기까지

마지막 특징 지도들을 숫자 한 줄로 만들고, 완전 연결층과 소프트맥스를 거쳐 "+일 확률, ×일 확률, ○일 확률"을 낸다. 섹션 8의 CNN을 미리 학습시켜 그대로 쓴다.

입력
한 줄로 만드는 방법

초보자를 위한 풀이

LeNet 같은 고전 CNN은 마지막 지도들을 그대로 이어 붙여(펼치기, Flatten) 완전 연결층에 넣었다 [R3]. 이 방식은 "특징이 지도의 어느 칸에 있었나"까지 넘겨주기 때문에 위치에 다시 민감해진다. 지도마다 숫자 하나(최댓값이나 평균)만 남기는 전역 풀링은 위치 정보를 지워 이동에 덜 흔들리고 파라미터도 적다 [R5]. 이 페이지의 CNN은 전역 최대 풀링을 쓴다.

소프트맥스는 점수 3개를 합이 1인 확률 3개로 바꾼다. 점수가 큰 쪽이 확률도 크다. 확률이 높다고 늘 맞는 것은 아니다. 학습 때 보지 못한 모습에서는 틀린 답에도 높은 확률을 줄 수 있다(3-1 섹션 4).

8비교 대시보드

MLP 대 CNN — 같은 데이터로 직접 겨루기

12×12 도형 3종을 120장(각 40장)으로 학습한다. 학습 그림은 모두 가운데(±0.5칸)에 있고 잡음·방해 획·회전·굵기 변화가 섞였다. 시험은 처음 보는 150장씩이다.

실험

실험 조건 (정확하게)

  1. 모델: MLP = 픽셀 144 → 은닉 16(ReLU) → 3. CNN = 3×3 합성곱 6개(ReLU) → 2×2 최대 풀링 → 3×3 합성곱 8개(ReLU) → 전역 최대 풀링 → 3. 둘 다 같은 학습 데이터로 확률적 경사하강(학습률 0.02, 한 장씩) 30에폭을 학습한다. 난수는 시드 고정.
  2. 위치 옮기기: 학습에는 가운데 그림만 쓰고, 시험 그림만 상하좌우 중 한 방향으로 1~3칸 옮긴다. 옮긴 그림으로 학습하는 일(데이터 증강)은 하지 않았다.
  3. 픽셀 섞기: 144칸의 순서를 바꾸는 규칙 하나를 정해 학습·시험 그림 모두에 똑같이 적용하고, 두 모델을 처음부터 다시 학습한다. 이미 학습한 모델에 섞은 그림을 넣는 실험이 아니다.
  4. 숫자의 범위: 이 대시보드는 시드 하나의 결과다. Colab 코드 2는 Keras로 시드 3개를 평균해 같은 실험을 하며, 숫자는 조금 다르지만 경향은 같다(섹션 A).

Colab 코드 — 이 페이지를 직접 실행해 보기

두 코드 모두 Colab에 기본으로 설치된 라이브러리만 쓴다. "노트북(.ipynb) 내려받기" 후 Colab에서 파일 → 노트북 업로드로 열거나, 복사해서 새 노트북 칸에 붙여 넣는다.

코드 1 · 합성곱·ReLU·풀링을 넘파이로 손계산하기섹션 5·6과 연결 · numpy, matplotlib · CPU 1초 미만

섹션 5·6과 같은 6×6 숫자 "7"과 같은 필터 4개로 합성곱 → ReLU → 최대·평균 풀링을 계산한다. 출력 숫자가 페이지의 숫자와 칸까지 같다. 내 데이터로 바꾸려면 코드 안의 [내 데이터로 바꾸려면] 표시 부분에서 IMG만 바꾼다.

실행 결과 (2026-10-03 실행, numpy 2.4 · matplotlib 3.10 · CPU). 계산에 난수가 없어 언제 실행해도 같다.
코드 2 · Keras로 MLP 대 CNN — 위치 옮기기와 픽셀 섞기섹션 3·8과 연결 · tensorflow(Keras), numpy, matplotlib · CPU 약 1~2분

섹션 8과 같은 모델 구조와 같은 도형 규칙으로, 실무 라이브러리에서 실험을 다시 한다. 옵티마이저는 Adam(40에폭)으로 바꿨고, 시드 3개로 반복해 평균을 낸다. 픽셀 섞기는 같은 규칙으로 섞은 데이터로 처음부터 다시 학습한다.

실행 결과 (2026-10-03 실행, TensorFlow 2.21 · Keras 3.15 · CPU). 브라우저 대시보드(시드 하나, SGD)와 숫자는 다르지만 경향은 같다. GPU나 다른 버전에서는 숫자가 조금 다를 수 있다.

AI 응용 프롬프트 — 이 코드를 출발점으로 삼기

ChatGPT, Qwen, Claude 같은 AI 도우미에 붙여 넣는 프롬프트다. "복사"를 누르면 프롬프트 뒤에 고른 코드가 함께 붙는다. 〔 〕 안을 내 상황으로 바꿔 쓰면 된다.

함께 붙일 코드

AI의 답은 출발점일 뿐이다. 제안된 논문·수치·라이브러리 함수는 반드시 원문과 공식 문서로 확인한다. 공모전·논문에 AI 도움을 받았다면 주최 측과 학술지의 규정에 따라 사용 사실과 범위를 밝힌다.

용어 정리

본문의 노란 점선 밑줄과 같은 사전이다. 시리즈 전체에서 같은 표기를 쓴다. 섹션 이름을 누르면 처음 나온 곳으로 간다.

비유 모음 — 그리고 비유가 틀리는 지점

비유는 이해의 첫걸음이지만 오해의 씨앗도 된다. 초파리·뇌 비유에는 강도를 표시했다. 직접 실제로 같은 일을 한다는 근거가 있음 · 부분 일부 성질만 닮음 · 없음 대응하는 것이 알려지지 않음

개념일상 비유초파리·뇌 비유비유가 틀리는 지점
픽셀모자이크 타일 한 장부분 초파리 겹눈의 낱눈 하나낱눈은 육각형으로 배열되고 밝기 변화에 민감하다. 사진의 픽셀은 네모 격자의 정지된 값이다
필터특정 무늬만 비춰 보는 돋보기부분 일차시각피질의 방향 선택 세포 [R1]뉴런의 수용장은 위치마다 조금씩 다르다. CNN의 필터는 모든 위치에서 완전히 같다
가중치 공유같은 도장을 종이 곳곳에 찍기부분 초파리 시각계의 같은 종류 뉴런이 시야 전체에 반복 배치된다뇌의 뉴런은 각자 따로 연결 세기를 가진다. 숫자를 "공유"하지는 않는다
풀링지도를 축소 복사하기부분 위치가 조금 달라도 반응하는 복합 세포 [R1]복합 세포가 정확히 최댓값을 고르는 계산을 하는지는 확인되지 않았다
층 쌓기점 → 선 → 도형으로 그림 그리기부분 시각 경로 V1 → V2 → V4 → 하측두피질 (3-1 섹션 5)뇌에는 되먹임 연결이 많고, CNN은 한 방향으로만 흐른다
펼치기바둑판의 돌을 한 줄로 늘어놓기없음한 줄로 늘어놓으면 "누가 누구의 이웃인가"가 사라진다(섹션 3 ①)
소프트맥스투표 결과를 득표율로 바꾸기없음득표율이 높다고 맞는 답은 아니다. 처음 보는 그림에서는 확신하고 틀릴 수 있다
픽셀 섞기퍼즐 조각을 정해진 규칙으로 뒤섞기없음사람은 섞인 그림을 거의 못 알아보지만 MLP는 똑같이 학습한다. "사람처럼 본다"는 기준이 모델마다 다르다

저자 소개와 레퍼런스

E-1 저자 소개 · E-2 학술 레퍼런스 · E-3 그림 참고 자료

E-1 저자 소개

안상선 ((주)M-Robo 대표)

한국전기안전공사, 매일경제신문을 거쳐 현재 매일경제 사외벤처 (주)M-Robo를 창업해 대표로 재직하고 있다. (주)M-Robo는 언론사 사내 벤처로 시작한 미디어 벤처로, 국민일보에 로봇기자(스톡봇)을 서비스 했으며, 한국인터넷진흥원, 한국언론진흥재단, 한국방송통신전파진흥원 등에서 다수의 프로젝트를 진행했다. 이후 자체 A.I 뉴스 신문인 Money-Robo를 서비스 중이다. 대표 재직 중 아시아오픈 데이터 해커톤 우승, 데이터창업 분야 공로로 행정안전부 장관상을 2회 수상했으며, 인공지능 및 블록체인 분야에 대한 5개 특허 발명 및 등록자이다. 저서로는 “AI범죄와 자기방어”가 있으며, 핀테크분야, 통계학, 인공지능 분야에 대해서 한국기술교육대학교 온라인평생교육원 이러닝 콘텐츠 개발을 진행했다. 최종학위는 경제학 박사(동국대, 미시수리경제학)이다. 국민대학교, 호서대학교 등 여러 대학교에서 데이터 및 인공지능과 관련한 과목을 강의하고 있다. 자세한 프로필

강의

  • 안상선 (2025). 「비즈니스를 위한 데이터 과학」 강의안. 한국열린사이버대학교 인공지능융합학과.
  • 안상선 (2025). [K-디지털] 인공지능 자연어 처리. STEP(스마트직업훈련플랫폼), 한국기술교육대학교 온라인평생교육원.
  • 안상선 (2024). [K-디지털] 핀테크 데이터 분석 기초. STEP(스마트직업훈련플랫폼), 한국기술교육대학교 온라인평생교육원.

STEP 강의 바로가기: link.step.or.kr/1qyVoJ · link.step.or.kr/M9na9N · link.step.or.kr/brqEyc
사이트 개편으로 접속이 원활하지 않을 경우에는 www.step.or.kr로 접속 바랍니다.

논문과 발표

  • 안상선 (2025). 국민노후보장패널데이터를 활용한 가구지출 예측 모델 연구: 인공지능 모델 기반 접근. 「미래사회」, 16(2). 원문
  • 안상선 (2025). 국민노후보장패널데이터를 활용한 가구지출 예측 모델 연구: 인공지능 접근. 국민노후보장패널 학술대회 발표자료(2025.05.13), 국민연금공단 국민연금연구원. 발표자료
  • 안상선 (2025). SNS 텍스트 기반 마약 의심 거래 탐지 알고리즘에 대한 연구: 패턴 및 맥락 분석을 중심으로. 「미래사회」, 16(1). 원문
  • 안상선 (2024). 금융분야의 이상탐지 모델 보안을 위한 통계 기반의 적대적 데이터 대응 방안: 실증적 분석과 시뮬레이션 결과. 「미래사회」, 15(3). 원문
  • 안상선 (2024). 인공지능을 활용한 가상 캐릭터 특성 기반 SNS 포스팅 탐지 솔루션. 2024 Summer Newmedia Party 포스터 발표(2024.06.19), 서울미디어대학원대학교.
  • 안상선 (2024). 산업재해 패널 데이터를 활용한 머신러닝 모델. 제10회 산재보험패널 학술대회 포스터 발표(2024.05.17), 근로복지공단 근로복지연구원.
  • 안상선 (2024). 가상 자산 시계열 데이터의 분석과 예측: 시계열 모델 및 인공지능 모델의 비교, 개선점 제시. 「미래사회」, 15(1). 원문

E-2 학술 레퍼런스

  1. [R1] Hubel, D. H., & Wiesel, T. N. (1962). Receptive fields, binocular interaction and functional architecture in the cat's visual cortex. The Journal of Physiology, 160(1), 106–154. doi:10.1113/jphysiol.1962.sp006837 — 섹션 4 (단순 세포·복합 세포)
  2. [R2] Fukushima, K. (1980). Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biological Cybernetics, 36(4), 193–202. doi:10.1007/BF00344251 — 히어로, 섹션 4
  3. [R3] LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), 2278–2324. doi:10.1109/5.726791 — 히어로, 섹션 4·7
  4. [R4] Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2017). ImageNet classification with deep convolutional neural networks. Communications of the ACM, 60(6), 84–90. doi:10.1145/3065386 (원 발표: NIPS 2012) — 히어로, 섹션 2 (ILSVRC-2012 top-5 오류 15.3%, 2위 26.2%)
  5. [R5] Lin, M., Chen, Q., & Yan, S. (2014). Network in network. ICLR 2014. arXiv:1312.4400 — 섹션 7 (전역 평균 풀링)
  6. [R6] Azulay, A., & Weiss, Y. (2019). Why do deep convolutional networks generalize so poorly to small image transformations? Journal of Machine Learning Research, 20(184), 1–25. jmlr.org — 섹션 4·6·8 (CNN은 작은 이동에도 완전히 불변하지 않다)
  7. [R7] LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436–444. doi:10.1038/nature14539 — 섹션 4·5
  8. [R8] Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. deeplearningbook.org — 섹션 5·6 (9장 합성곱 신경망: 상호상관, 풀링)

E-3 그림 참고 자료

아래 자료를 구성과 내용의 참고로 삼았다.

  • CNN 구조 인포그래픽 (합성곱·풀링 예시 포함) — 섹션 5·6
  • 섹션 1의 컬러 초파리 — 시리즈 공용 픽셀아트

교육자를 위한 TIP

강사, 실무 OJT 담당자, 튜터를 위한 운영 안내다. 시간은 예상치이므로 실제 수업에 맞춰 조정한다.

대상3-2를 마친 대학생·직장인. 이미지 데이터를 다루는 실무자(검사 영상, 의료 영상, 문서 스캔)
선수 지식3-2의 은닉층·역전파 개념. 곱셈과 덧셈만으로 섹션 5·6의 계산을 따라갈 수 있다
학습 목표① 사진이 숫자 격자임을 설명하고 MLP가 막히는 이유 네 가지를 든다 ② 합성곱·ReLU·풀링을 손으로 계산한다 ③ CNN이 위치 변화에 "비교적 덜 흔들리지만 완전하지 않다"는 것을 실험 결과로 설명한다
예상 시간읽기 40~50분 · 애니메이션 시연 25분 · Colab 실습 30분 (코드 1 10분, 코드 2 20분)

운영안 세 가지

강의형 50분

개념 중심

도입 5분(섹션 1 컬러 초파리의 숫자) → 섹션 3 네 가지 이유 10분 → 섹션 5·6 손계산 15분 → 섹션 8 대시보드 15분 → 확인 문제 5분.

실무 OJT 90분

업무 적용 중심

섹션 3 ② 가중치 폭발을 우리 회사 이미지 크기로 계산 10분 → 섹션 8 20분(현장 카메라 위치가 바뀌면?) → 코드 2 실습 30분 → "우리 데이터에 필요한 증강은?" 토론 20분 → 프롬프트 카드 10분.

1:1 튜터링

수준별 진도

입문자는 섹션 1·3·5·8만. 중급자는 섹션 5의 출력 한 칸을 손으로 계산하게 한 뒤 코드 1의 conv2d 함수와 대조하고, 섹션 7에서 펼치기와 전역 풀링의 파라미터 수를 직접 세게 한다.

섹션별 운영 포인트

섹션멈춰서 물어볼 질문조작 팁
1 숫자 격자"초파리 눈의 빨강은 세 채널에서 어떤 숫자일까?"컬러 초파리에서 빨강·초록·파랑 보기를 차례로 누른다
2 기존 머신러닝"사람이 정한 특징은 왜 옮긴 그림에서 무너질까?"깨끗한 그림 → 2칸 옮김 순서로 눌러 정확도 막대를 비교한다
3 MLP의 한계"바로 아래 픽셀은 한 줄에서 몇 칸 떨어질까?"② 가중치 폭발에서 1000×1000을 눌러 숫자 크기에 놀라게 한다
4 CNN의 해법"필터를 공유하면 왜 가중치가 사진 크기와 상관없어질까?"층 쌓기에서 한 뉴런이 보는 범위가 3 → 4 → 8로 넓어지는 것을 짚는다
5 합성곱"이 자리의 출력이 왜 음수일까?"정지하고 "한 칸 이동"으로 식을 함께 읽는다
6 ReLU·풀링"한 칸 옮기면 풀링 전과 후 중 어느 쪽이 덜 바뀔까?"원래 그림과 1칸 옮긴 그림을 번갈아 누른다
7 확률까지"펼치기와 전역 풀링 중 어느 쪽이 위치에 덜 민감할까?""2칸 옮긴 +"를 고른 뒤 두 방법을 번갈아 본다
8 비교 대시보드"가운데 그림에서는 누가 이기고, 옮긴 그림에서는 누가 이기나?"위치 옮기기를 먼저 보고, 픽셀 섞기로 바꿔 결과가 뒤집히는 것을 본다

흔한 오해 Top 5

오해바른 설명보여 줄 장면
CNN은 위치가 바뀌어도 똑같이 알아본다비교적 덜 흔들릴 뿐이다. 많이 옮기면 정확도가 떨어지고, 큰 CNN도 몇 픽셀 이동에 답이 바뀔 수 있다섹션 8 위치 옮기기, 섹션 6
CNN이 MLP보다 언제나 정확하다이 페이지처럼 그림이 늘 같은 자리에 있으면 MLP가 더 높기도 하다. CNN의 장점은 파라미터 효율과 이동에 대한 견고함이다섹션 8의 0칸 정확도
필터는 사람이 정한다섹션 5의 필터는 설명용이다. 실제 CNN은 필터 숫자를 역전파로 배운다섹션 7의 학습된 지도
풀링은 정보를 늘린다풀링은 숫자를 줄이며 정보를 버린다. 대신 작은 이동을 흡수하고 계산을 줄인다섹션 6의 4×4 → 2×2
CNN은 뇌의 시각피질과 같다단순·복합 세포에서 착안했지만 학습 방법과 연결 구조가 다르다공통 섹션 D의 "부분" 표시

확인 문제 (해설은 눌러서 펼치기)

Q1. 224×224 컬러 사진을 은닉 뉴런 1,000개짜리 MLP에 넣으면 첫 층의 가중치는 몇 개인가? (편향 제외)

224 × 224 × 3 = 150,528개 입력 × 1,000 = 150,528,000개(약 1억 5천만 개). 3×3 컬러 필터 64개짜리 합성곱 층은 3 × 3 × 3 × 64 = 1,728개(편향 포함 1,792개)다.

Q2. 6×6 입력에 3×3 필터를 패딩 없이 보폭 1로 적용하면 출력 크기는?

(6 − 3 + 1) × (6 − 3 + 1) = 4×4.

Q3. 섹션 5의 세로 가장자리 필터를 왼쪽 위 자리에 놓았을 때 출력이 −3인 이유를 계산으로 보여라.

겹친 조각의 둘째 줄이 [0, 3, 3]이고 필터의 각 줄은 [1, 0, −1]이다. 0×1 + 3×0 + 3×(−1) = −3. 첫째·셋째 줄은 모두 0이라 더해도 −3이다.

Q4. 2×2 창 [6, 3, 0, 3]의 최대 풀링 값과 평균 풀링 값은?

최대 6, 평균 (6 + 3 + 0 + 3) / 4 = 3.

Q5. 픽셀을 같은 규칙으로 섞어 처음부터 학습하면 MLP와 CNN 중 누가 더 크게 떨어지고, 왜인가?

CNN이다. CNN은 "가까운 픽셀끼리 관련 있다"는 가정을 구조(3×3 필터, 풀링)에 담았는데, 섞으면 가까운 칸이 아무 관계 없는 픽셀이 된다. MLP는 원래 픽셀 사이의 위치 관계를 쓰지 않으므로 섞어도 거의 같다. 이미 학습한 모델에 섞은 그림을 넣는 것이 아니라, 섞은 데이터로 처음부터 학습한다는 조건이 중요하다.

Colab 과제

기본

코드 1의 FILTERS에 대각선 가장자리 필터를 하나 추가하고, 6×6 "7"에서 어느 칸이 가장 크게 반응하는지 찾아 그 이유를 두 문장으로 쓴다.

도전

코드 2의 학습 데이터에 1~2칸 옮긴 그림을 섞는다(데이터 증강). 두 모델의 0~3칸 정확도가 어떻게 바뀌는지 표로 정리하고, "구조로 얻는 견고함"과 "데이터로 얻는 견고함"을 비교한다.

난이도 조절과 더 배우기

입문자섹션 2와 섹션 7은 건너뛰어도 흐름이 끊기지 않는다. 섹션 8은 결과 막대만 함께 읽는다
심화섹션 4 층 쌓기의 수용장 계산(3 → 4 → 8)을 일반식으로 정리하게 한다. 섹션 6의 한계를 [R6] 논문의 표와 연결해 토론한다
더 배우기안상선, 「비즈니스를 위한 데이터 과학」 강의안 (데이터 과학 전반) · STEP [K-디지털] 인공지능 자연어 처리 (3-5·3-8과 연결) · STEP [K-디지털] 핀테크 데이터 분석 기초 (3-6과 연결)
강사용 자료확인 문제의 채점 기준과 과제 예시 답안은 교육자용 정답 페이지 (3-3)에서 볼 수 있다

수고하셨습니다!

「3-3 이미지와 CNN」 편을 끝까지 읽었어요. 연구실 식구들이 한마디씩 정리해 드립니다.

박사
박사사진이 숫자 격자에서 확률이 되기까지 따라왔어요.
  • 사진은 숫자 격자다
  • 작은 필터 하나가 같은 무늬를 어디서든 찾는다 (가중치 공유)
  • 위치를 옮기면 MLP는 크게 흔들리고 CNN은 비교적 덜 흔들린다 (한계도 있다)
조수
조수숫자 7을 옮겨도 CNN은 알아보네요.
초파리 연구원
초파리 연구원내 겹눈도 작은 필터 수백 개야.