사람은 한눈에 고양이와 사람을 가르지만, 컴퓨터가 받는 것은 0~255 숫자가 빽빽한 표다. 사진이 행렬이 되는 과정을 픽셀 하나까지 따라가고, 픽셀 거리가 왜 "닮음"을 재지 못하는지 확인한 뒤, 3 × 3 필터로 경계를 찾는 합성곱을 손으로 계산한다. 마지막으로 사람이 정한 특징(얼굴 상자·특징점·경계 세기)의 장점과 한계를 본다.
뾰족한 귀와 털, 매끈한 피부. 사람은 한눈에 가른다. 컴퓨터는 이 사진을 무엇으로 받고, 어떤 단서부터 찾을 수 있을까?
왼쪽 고양이 위의 빨간 선은 이마·눈·코를 잇는 얼굴 뼈대, 오른쪽 사람 위의 초록 상자는 "여기 얼굴이 있다"는 검출 결과, 빨간 점은 턱선·눈썹·입술 둘레의 특징점, 분홍 점은 두 눈·코·입의 핵심 위치입니다. 모두 사람이 "무엇을 볼지" 미리 정해 둔 단서입니다.
이 편은 두 가지를 봅니다. 첫째, 컴퓨터가 받는 것은 이런 선과 점이 아니라 숫자 행렬이라는 것(섹션 2~3). 둘째, 그 숫자에서 경계 같은 단서를 찾는 필터와, 사람이 정한 단서의 한계(섹션 4~6).
숫자 예시는 시리즈 내내 같은 치와와 사진 한 장(4-4의 주인공)으로 따라갑니다. 픽셀과 필터는 어떤 사진에나 똑같이 작동하기 때문입니다. 실습에서는 고양이·사람·강아지·치와와·머핀 다섯 장을 모두 고를 수 있습니다.
사람에게 쉬운 문제가 컴퓨터에게도 쉬운 것은 아닙니다. 사람은 사진을 보는 순간 "털이 있다", "귀가 뾰족하다"를 알아차리지만, 컴퓨터는 그 단서를 숫자에서 하나씩 계산해 내야 합니다. 고양이 vs 사람은 그 단서가 뚜렷한 편이라, 이미지 분류의 첫 연습으로 좋습니다.
사진은 숫자 격자이고, 컬러 사진은 그 격자가 세 장 겹친 것이다. 모델이 입력으로 받는 가장 작은 단위는 채널 값 하나(0~255)다.
디지털 사진은 가로·세로로 촘촘하게 나뉜 작은 칸의 모음입니다. 이 칸 하나를 픽셀(pixel, picture element)이라고 합니다. 픽셀 하나에는 색이 하나만 들어 있고, 그 색은 빨강(R)·초록(G)·파랑(B) 빛의 세기 세 개로 적힙니다. 세기는 0(빛 없음)부터 255(가장 밝음)까지의 정수입니다. 그래서 컬러 사진은 세로 × 가로 × 3개의 숫자가 늘어선 표, 즉 행렬(정확히는 3층짜리 텐서)이 됩니다.
쉽게 말하면모눈종이 색칠 놀이입니다. 모눈 한 칸에 물감 세 통(빨강·초록·파랑)을 각각 몇 방울 넣었는지 0~255로 적어 두면, 그 쪽지만으로 누구나 같은 그림을 다시 칠할 수 있습니다. 컴퓨터가 가진 것은 그림이 아니라 이 쪽지입니다.
사진을 계속 쪼개면 픽셀 한 칸, 그 안의 R·G·B 숫자, 숫자 하나를 이루는 비트 여덟 개까지 내려갑니다. 비트는 컴퓨터가 저장하는 가장 작은 단위지만, 비트 하나는 색도 밝기도 아닌 켜짐/꺼짐일 뿐입니다.
그래서 이미지 딥러닝에서 의미를 가진 가장 작은 정보는 채널 값 하나, 즉 "이 칸의 빨강 세기는 39"라는 숫자입니다. 모델의 첫 층은 정확히 이 숫자들(X[y, x, c])을 입력으로 받습니다.
하지만 이 숫자 하나에는 "치와와"라는 뜻이 전혀 없습니다. 눈의 픽셀 (39, 37, 43)과 블루베리 픽셀 (37, 31, 37)은 숫자로 보면 거의 같습니다. 뜻은 여러 픽셀이 어떻게 모여 있느냐에서 생기고, 그 모임을 찾는 것이 섹션 4의 특징 추출입니다.
치와와 사진을 가로세로 14칸으로 자르고, 눈 한 칸을 골라 숫자로 바꾸는 과정입니다. 오른쪽 숫자는 사진의 실제 픽셀에서 계산한 값입니다.
사진과 해상도를 고르고, 그림의 칸을 누르거나 마우스를 올려 보세요. 옆(모바일에서는 아래) 표는 고른 칸과 그 주변 7 × 7칸의 실제 숫자입니다. 그림을 누른 뒤에는 방향키로 칸을 옮길 수 있습니다.
Q1. 가로 10칸, 세로 10칸짜리 컬러 사진에는 숫자가 몇 개 들어 있나요?
Q2. 픽셀 값 (R, G, B) = (0, 0, 0)은 무슨 색인가요?
Q3. 같은 사진을 오른쪽으로 두 칸 밀면, 같은 자리의 숫자는?
Q4. 이미지 딥러닝 모델이 입력으로 받는 가장 작은 정보는?
픽셀은 사진을 이루는 작은 칸이고, 칸마다 빨강·초록·파랑 빛의 세기가 0~255 숫자로 적혀 있습니다. 4-1의 표에 비유하면 사진 한 장은 "세로 × 가로 × 3"칸짜리 한 줄입니다. 픽셀 돋보기에서 칸을 눌러 실제 숫자를 확인하고, 해상도를 바꿔 숫자 개수가 어떻게 달라지는지 보세요.
두 사진의 같은 자리 숫자를 빼서 거리를 재면 "닮음"을 잴 수 있을까? 같은 치와와를 밀거나 어둡게 하고, 다섯 장의 거리를 모두 재 본다.
두 사진의 픽셀 거리는 같은 자리 흑백 숫자끼리 뺀 값을 제곱해 평균 내고 제곱근을 씌운 값입니다(0이면 완전히 같음). 치와와를 옆으로 밀거나 어둡게 만들어 보세요. 사람 눈에는 여전히 같은 치와와인데, 숫자로는 머핀보다 더 먼 사진이 되기도 합니다.
이 페이지의 다섯 사진끼리 픽셀 거리를 모두 쟀습니다. 숫자가 작을수록 "닮았다"고 계산된 것입니다. 가장 작은 값에는 색을 칠했습니다.
이 표의 값은 이 페이지의 다섯 장(얼굴 부분만 잘라 56 × 56으로 줄인 것)으로 잰 것입니다. 다른 사진을 쓰면 배경·조명·구도에 따라 값이 크게 달라지지만, "픽셀 거리가 뜻의 거리와 다르다"는 결론은 실제 사진에서도 널리 알려진 성질입니다.
코드 1은 scikit-image에 들어 있는 고양이 사진(chelsea)과 사람 사진(astronaut)의 얼굴 부분을 56 × 56으로 줄여 같은 실험을 합니다. 같은 고양이를 1칸 밀면 거리 16.9, 2칸이면 27.1, 8칸이면 40.5로 커졌고, 고양이와 사람의 거리는 85.3이었습니다. 몇 칸 밀기만 해도 다른 동물과의 거리의 절반 가까이가 됩니다.
픽셀 거리는 "같은 자리 숫자가 비슷한가"만 잽니다. 그래서 위치·밝기·구도에 민감하고, 무엇이 찍혔는지는 모릅니다. 이 한계가 섹션 4의 필터와 4-3의 CNN이 필요한 이유입니다.
4-1의 k-NN은 "가까운 이웃"에게 물었습니다. 사진에서 같은 일을 하려면 사진 사이의 거리가 뜻을 반영해야 합니다. 그런데 픽셀 거리로는 치와와가 같은 개(골든 리트리버)보다 머핀에 더 가깝고, 같은 치와와도 4칸만 밀면 머핀보다 멀어집니다. 사진에서는 픽셀 그대로의 거리로 이웃을 찾으면 안 된다는 뜻입니다.
3 × 3 숫자 표(필터)를 사진 위에 미끄러뜨리며 곱하고 더한다. 무늬와 닮은 곳에서 큰 수가 나오고, 그 결과를 모은 것이 특징 맵이다.
특징은 "여기서 밝았다가 갑자기 어두워진다(경계)", "주변보다 둥글게 어둡다(점)", "가는 선이 촘촘하다(털 결)"처럼 여러 픽셀이 함께 만드는 패턴입니다. CNN은 3 × 3 같은 작은 숫자 표, 필터(커널)를 사진 위에 올려놓고 한 칸씩 미끄러뜨리며 겹친 숫자끼리 곱해 모두 더합니다. 필터 무늬와 닮은 곳에서는 큰 수가, 다른 곳에서는 작은 수가 나오고, 이 결과를 모은 새 행렬이 특징 맵입니다. 이 계산을 합성곱이라고 부릅니다.
쉽게 말하면무늬 도장 찾기 놀이입니다. "왼쪽은 어둡고 오른쪽은 밝은" 무늬가 새겨진 도장을 사진 위 모든 자리에 대 보고, 무늬가 잘 겹치는 자리마다 높은 점수를 적습니다. 점수표를 다 채우면 사진 속 세로 경계가 어디 있는지 한눈에 보입니다. 도장을 바꾸면 찾는 무늬도 바뀝니다.
필터는 "찾고 싶은 무늬"를 숫자로 적어 둔 것입니다. 왼쪽 열이 −1, 오른쪽 열이 +1인 필터는 오른쪽이 왼쪽보다 밝을수록 큰 수를 냅니다. 그래서 치와와 눈(어두움)과 털(밝음) 사이의 세로 경계에서 302처럼 큰 값이 나오고, 털만 있는 평평한 곳에서는 0에 가까운 값이 나옵니다.
중요한 점은 같은 필터를 사진 모든 자리에 다시 쓴다는 것입니다. 필터 하나의 숫자는 9개뿐인데 사진 어디의 경계든 찾아냅니다. 섹션 3에서 본 "한 칸만 밀어도 모든 숫자가 바뀌는" 문제도 줄어듭니다. 사진이 밀리면 특징 맵도 함께 밀릴 뿐, 경계가 있다는 사실은 그대로이기 때문입니다.
실제 CNN의 첫 층은 이런 필터를 수십 개 씁니다. 필터마다 특징 맵이 한 장씩 나오므로, 출력은 "사진 크기 × 필터 수"의 두꺼운 행렬이 됩니다.
치와와 눈 부근의 흑백 8 × 8 조각(28 × 28로 줄인 사진에서 잘라 냄)에 세로 경계 필터를 한 칸씩 올려 봅니다. 파란 숫자는 "오른쪽이 더 밝다", 주황 숫자는 "왼쪽이 더 밝다"는 뜻입니다.
사진과 필터를 골라 보세요. 필터 칸의 숫자를 직접 고쳐도 됩니다. 오른쪽 특징 맵에서 밝은 곳이 "무늬를 찾은 곳"입니다. 특징 맵의 칸을 누르면 그 자리의 계산이 아래에 나옵니다. 출력 크기를 56 × 56으로 유지하려고 가장자리 바깥은 가장 가까운 가장자리 픽셀을 복제해 채웠습니다. 3번 다이어그램의 0 패딩과 방식이 달라, 테두리 칸의 값은 0 패딩일 때와 다를 수 있습니다.
Q1. 합성곱에서 필터 한 자리의 값은 어떻게 만드나요?
Q2. 모든 칸이 10인 평평한 조각에 세로 경계 필터 [−1 0 1]×3을 찍으면?
Q3. 56 × 56 특징 맵에 2 × 2 최대 풀링을 하면 크기는?
Q4. CNN의 필터 숫자는 누가 정하나요?
합성곱은 4-1 퍼셉트론의 가중합(w·x + b)을 사진의 작은 조각마다 되풀이하는 계산입니다. 필터의 9개 숫자가 가중치이고, 같은 필터를 사진 모든 자리에 다시 쓰기 때문에 눈이 어디에 있어도 같은 방식으로 찾습니다. 코드 2에서는 손계산이 scipy 결과와 같은지 확인하고, 손글씨 숫자를 2칸 밀었을 때 픽셀을 그대로 쓰는 신경망은 14.2%로 무너진 반면 작은 CNN은 90.4%를 지키는 것을 봅니다.
딥러닝 이전에는 사람이 "무엇을 잴지" 정했다. 그 방법의 장점과, 사진이 바뀌면 판단이 뒤집히는 한계를 본다.
딥러닝 이전의 얼굴 인식은 사람이 정한 특징으로 했습니다. 2001년 Viola와 Jones는 "눈 부분이 뺨보다 어둡다" 같은 밝기 차이를 재는 단순한 사각형 특징(Haar 특징) 수천 개를 빠르게 계산해 사진 속 얼굴 상자를 찾았습니다 [R4]. 2005년의 HOG는 작은 칸마다 경계의 방향을 세어 사람의 윤곽을 찾았습니다 [R5]. 섹션 1 이미지의 빨간 점처럼 눈꼬리·코끝·턱선의 위치를 찾는 얼굴 특징점은 이렇게 찾은 얼굴 상자 안에서 다시 계산합니다 [R6].
이 방법들은 빠르고 설명하기 쉽지만, 무엇을 잴지 사람이 먼저 알아야 하고 조명·각도·가림에 약했습니다. CNN은 같은 종류의 필터를 데이터로 배우면서 이 한계를 넘었습니다 [R7].
섹션 1의 이미지. 초록 상자는 "여기 얼굴이 있다"는 검출 결과, 빨간 점은 턱선·눈썹·입술 둘레의 얼굴 특징점, 분홍 점은 두 눈·코·입의 핵심 위치입니다. 고양이의 빨간 선은 이마·눈·코를 잇는 얼굴 뼈대입니다.
"눈 사이 거리", "귀 끝의 각도"처럼 무엇을 잴지 사람이 먼저 정합니다.
필터 숫자 K를 처음엔 무작위로 두고, 정답을 맞히는 쪽으로 학습이 고칩니다.
"경계 세기" 보기로 바꿔 보세요. 흥미롭게도 사진 전체의 경계 세기 평균은 둘이 거의 같습니다. 사람 사진도 긴 머리카락에 가는 선이 많기 때문입니다. 차이는 경계가 어디에 있느냐입니다. 고양이는 털 결과 줄무늬가 얼굴 한가운데까지 촘촘하고, 사람은 뺨과 이마가 매끈해 경계가 눈·코·입과 머리카락에 몰립니다. 아래 "가운데 영역" 값이 이 차이를 보여 줍니다. 평균 숫자 하나가 아니라 위치별 지도, 곧 특징 맵이 필요한 이유입니다.
3층쯤의 부분 특징도 확실히 갈립니다. 머리 위의 뾰족한 삼각형 귀, 이마의 줄무늬, 작은 분홍 코와 긴 수염은 사람 얼굴에 없습니다. 섹션 1 이미지의 빨간 선과 점은 사람이 이런 단서를 직접 정해 둔 방식이고, CNN은 같은 단서를 필터로 스스로 찾습니다.
섹션 3의 표에서 고양이와 사람의 흑백 픽셀 거리는 고양이와 강아지의 거리와 비슷한 수준입니다. 사람에게는 가장 쉬운 대결인데 픽셀 거리로는 그 차이가 드러나지 않습니다. 픽셀 거리는 뜻을 모른다는 또 하나의 증거입니다.
위 쌍 비교에서는 이 페이지의 사진으로 고양이 쪽의 가운데 경계가 더 컸습니다. 그런데 코드 1에서 scikit-image의 고양이·사람 사진으로 재 보면 반대로 나옵니다(얼굴 부분 경계 세기: 고양이 101.5, 사람 123.6). 사람 사진의 머리카락과 웃는 입의 치아가 강한 경계를 만들기 때문입니다.
"경계가 많으면 고양이" 같은 사람이 정한 단일 특징은 사진이 바뀌면 쉽게 뒤집힙니다. 그래서 하나의 특징이 아니라 여러 특징의 조합을, 그것도 데이터에서 배우는 방법이 필요합니다. 이것이 4-3의 주제입니다.
사람이 정한 특징은 "왜 그렇게 판단했나"를 설명하기 쉽고, 데이터가 적어도 동작합니다. 대신 사람이 미리 알아야 하고, 사진의 조건이 바뀌면 잘 무너집니다. 쌍 비교에서 "경계 세기" 보기로 바꿔, 고양이와 사람의 경계가 어디에 모이는지 비교해 보세요.
첫 층의 필터는 선과 경계를 찾는다. 층을 쌓으면 선이 모여 모서리가, 모서리가 모여 눈과 귀가, 눈과 귀가 모여 얼굴이 된다.
풀링으로 사진을 줄여 가며 층을 쌓으면, 뒤쪽 층의 한 칸은 원래 사진의 더 넓은 영역을 봅니다. 그래서 앞쪽 층은 작은 선을, 뒤쪽 층은 선의 조합인 눈과 귀를, 더 뒤쪽 층은 얼굴 전체를 찾게 됩니다. 이 그림은 Zeiler와 Fergus(2014)가 학습된 CNN의 층별 반응을 시각화해 보인 경향을 단순하게 옮긴 것입니다.
풀링으로 사진을 줄여 가며 층을 쌓으면, 뒤쪽 층의 한 칸은 원래 사진의 더 넓은 영역을 봅니다. 그래서 앞쪽 층은 작은 선을, 뒤쪽 층은 그 선의 조합을 찾습니다 [R8]. 4-3에서 이 층들을 쌓은 CNN이 확률을 내는 과정과, 층을 쌓으면 왜 평면 하나로 안 갈리던 것이 갈리는지를 봅니다.
두 코드 모두 Colab에 기본으로 설치된 라이브러리와 내장 데이터만 쓴다. "노트북(.ipynb) 내려받기" 후 Colab에서 파일 → 노트북 업로드로 열거나, 복사해서 새 노트북 칸에 붙여 넣는다.
scikit-image에 들어 있는 고양이·사람 사진의 모양과 픽셀 값을 보고, 흑백 밝기·픽셀 거리·경계 세기를 계산한다. 내 데이터로 바꾸려면 io.imread로 내 사진을 읽고, small()의 (위, 왼쪽, 한 변)을 얼굴 위치로 바꾼다.
3 × 3 세로 경계 필터의 합성곱을 손으로 계산해 scipy와 맞춰 보고, 손글씨 숫자를 1~2칸 민 시험 사진에서 MLP와 작은 CNN을 비교한다.
ChatGPT, Qwen, Claude 같은 AI 도우미에 붙여 넣는 프롬프트다. "복사"를 누르면 프롬프트 뒤에 고른 코드가 함께 붙는다. 〔 〕 안을 내 상황으로 바꿔 쓰면 된다.
AI의 답은 출발점일 뿐이다. 제안된 논문·수치·라이브러리 함수는 반드시 원문과 공식 문서로 확인한다. 공모전·논문에 AI 도움을 받았다면 주최 측과 학술지의 규정에 따라 사용 사실과 범위를 밝힌다.
본문의 노란 점선 밑줄과 같은 사전이다. 시리즈 전체에서 같은 표기를 쓴다. 섹션 이름을 누르면 처음 나온 곳으로 간다.
비유는 이해의 첫걸음이지만 오해의 씨앗도 된다. 사람의 눈·뇌 비유에는 강도를 표시했다. 직접 실제로 같은 일을 한다는 근거가 있음 · 부분 일부 성질만 닮음 · 없음 대응하는 것이 알려지지 않음
| 개념 | 일상 비유 | 사람의 눈·뇌 비유 | 비유가 틀리는 지점 |
|---|---|---|---|
| 픽셀 | 모자이크 타일 한 장 | 부분 눈의 망막에도 빛을 받는 세포가 촘촘히 있다 | 망막의 세포는 격자로 고르게 놓여 있지 않고, 가운데(중심와)에 몰려 있으며 색 세포의 종류와 비율도 다르다 |
| 합성곱 필터 | 무늬가 새겨진 도장 | 부분 시각 피질의 단순 세포는 특정 방향의 경계에 강하게 반응한다 | 뇌의 세포는 학습 방식과 연결이 훨씬 복잡하다. CNN 필터는 같은 숫자를 모든 자리에 다시 쓰지만 뇌는 그렇지 않다 |
| 특징 맵 | 보물 지도의 X 표시 | 없음 | 지도는 한 장이지만, 실제 층에는 필터 수만큼 특징 맵이 겹겹이 있다 |
| 풀링 | 반 대표 뽑기 | 없음 | 반 대표는 사람이 뽑지만, 최대 풀링은 숫자가 가장 큰 칸을 기계적으로 고른다 |
| 얼굴 특징점 | 지도의 이정표 | 없음 | 이정표는 사람이 세우지만, 특징점의 위치는 학습된 모델이 사진마다 계산한다. 가려지면 틀린 곳에 찍힌다 |
E-1 저자 소개 · E-2 학술 레퍼런스 · E-3 그림·데이터 참고 자료
강사, 실무 OJT 담당자, 튜터를 위한 운영 안내다. 시간은 예상치이므로 실제 수업에 맞춰 조정한다.
| 대상 | 4-1을 마친 대학생·직장인. 이미지 AI가 "사진을 어떻게 받는지" 알고 싶은 실무자 |
|---|---|
| 선수 지식 | 4-1의 특징·타겟과 가중합, 곱셈과 덧셈 |
| 학습 목표 | ① 컬러 사진의 모양(H × W × 3)과 숫자 개수를 계산한다 ② 3 × 3 합성곱 한 칸을 손으로 계산한다 ③ 픽셀 거리와 사람이 정한 특징의 한계를 예로 설명한다 |
| 예상 시간 | 읽기 40~50분 · 실습 시연 25분 · Colab 실습 25분 (코드 1 10분, 코드 2 실행 1분 + 해석 14분) |
도입 5분(섹션 1) → 섹션 2 픽셀 돋보기 15분 → 섹션 3 밀기 실험 10분 → 섹션 4 합성곱 손계산 15분 → 확인 문제 5분.
섹션 2로 우리 업무 사진(불량품, 서류 스캔 등)의 해상도와 숫자 개수 계산 20분 → 섹션 4 필터 실험실에서 우리 사진에 맞는 필터 찾기 25분 → 섹션 5 사람이 정한 특징의 한계 토론 15분 → 코드 2 실행·해석 30분.
입문자는 섹션 1·2·4만. 중급자는 섹션 4의 출력 크기 식을 패딩·스트라이드로 바꿔 계산하고, 코드 2의 CNN에서 GlobalMaxPooling을 Flatten으로 바꾸면 밀림에 대한 강함이 어떻게 변하는지 예측하게 한다.
| 섹션 | 멈춰서 물어볼 질문 | 조작 팁 |
|---|---|---|
| 1 문제 | "사람은 무엇을 보고 고양이라고 알까?" | 선과 점이 사람이 정한 단서임을 짚는다 |
| 2 픽셀 | "눈 칸의 숫자 세 개는 무엇일까?" | 픽셀 돋보기에서 해상도를 7 → 56으로 바꾼다 |
| 3 픽셀 거리 | "같은 치와와인데 왜 머핀보다 멀까?" | 밀기 슬라이더를 4칸 이상으로 옮긴다 |
| 4 합성곱 | "평평한 털 조각에 세로 경계 필터를 찍으면?" | 애니메이션을 "모두 더하기"에서 멈추고 손으로 맞춰 본다 |
| 5 사람이 정한 특징 | "경계가 많으면 고양이"는 늘 맞을까? | 쌍 비교의 경계 세기 보기와 코드 1 결과를 함께 본다 |
| 6 뒤쪽 층 | "눈을 찾는 필터는 몇 번째 층에 있을까?" | 층별 그림을 왼쪽부터 짚는다 |
| 오해 | 바른 설명 | 보여 줄 장면 |
|---|---|---|
| 사진은 그림 파일이라 숫자와 다르다 | 컴퓨터에게 사진은 H × W × 3개의 0~255 숫자다 | 섹션 2 픽셀 돋보기 |
| 픽셀이 비슷하면 같은 것이 찍혔다 | 한 칸만 밀어도 거리가 크게 변한다. 픽셀 거리는 뜻을 모른다 | 섹션 3 밀기 실험 |
| 합성곱은 복잡한 수학이다 | 겹친 9쌍을 곱해 더하는 것뿐이다. 퍼셉트론의 가중합과 같다 | 섹션 4의 숫자 예 |
| 필터는 사람이 설계한다 | 실습의 필터는 예시다. CNN은 필터 숫자를 데이터로 배운다 | 섹션 4 확인 문제 Q4 |
| 사람이 정한 특징은 쓸모없다 | 설명이 쉽고 데이터가 적어도 된다. 다만 조건이 바뀌면 약하다 | 섹션 5와 코드 1의 뒤집힌 결과 |
컬러 56 × 56 × 3 = 9,408개, 흑백 56 × 56 = 3,136개.
0.299×39 + 0.587×37 + 0.114×43 = 11.661 + 21.719 + 4.902 ≈ 38.3.
(174−92) + (137−38) + (176−55) = 82 + 99 + 121 = 302. 오른쪽이 밝은 강한 경계다.
56 − 3 + 1 = 54, 즉 54 × 54. 패딩 1을 주면 56 × 56을 유지한다.
같은 필터를 모든 자리에 다시 쓰는 합성곱(위치가 바뀌어도 같은 무늬를 찾음)과, 위치를 버리고 가장 큰 반응만 남기는 전역 최대 풀링이다.
코드 1에서 내 얼굴 사진(또는 반려동물 사진)을 읽어 모양·숫자 개수를 출력하고, 1·2·4칸 밀었을 때의 픽셀 거리를 표로 만든다.
코드 2의 CNN에서 GlobalMaxPooling2D를 Flatten으로 바꿔 다시 학습하고, 1·2칸 민 사진의 정확도 변화를 시드 3개로 보고한다. 섹션 4의 해석과 연결해 이유를 쓴다.
| 입문자 | 섹션 3의 거리 표와 섹션 6은 건너뛰어도 된다. 섹션 2·4의 실습만 확실히 해 본다 |
|---|---|
| 심화 | Haar 특징과 HOG를 조사해, 섹션 4의 필터 실험실에서 비슷한 필터를 만들어 보게 한다. 조사한 논문은 원문으로 확인한다 |
| 더 배우기 | 3-3 이미지와 CNN · 4-3 고양이 vs 강아지 (CNN 전체 구조) |
| 강사용 자료 | 확인 문제의 채점 기준과 과제 예시 답안은 교육자용 정답 페이지 (4-2)에서 볼 수 있다 |
「4-2 고양이 vs 사람」 편을 끝까지 읽었어요. 연구실 식구들이 한마디씩 정리해 드립니다.