딥러닝 A to Z · 3-2

신경망의 부품 — 퍼셉트론에서 역전파까지

신경망은 몇 가지 부품의 조합이다. 입력을 저울질하는 뉴런, 신호를 꺾는 활성함수, 층을 쌓는 은닉층, 틀린 정도를 재는 손실함수, 그리고 책임을 거꾸로 나눠 가중치를 고치는 역전파. 부품 하나하나를 직접 움직여 보고, 마지막에는 이 부품으로 실제 모델을 만들어 평가하고 배포하는 전체 흐름까지 따라간다.

1958퍼셉트론 발표 [R1]
1986역전파 논문 [R3]
12종직접 그려 보는 활성함수
0.25시그모이드 기울기의 최댓값 = 기울기 소실의 씨앗
3종나란히 경주하는 옵티마이저
2개Colab에서 바로 돌리는 코드
1퍼셉트론

퍼셉트론 — 입력을 저울질해 직선 하나로 나눈다

y = 계단(w₁x₁ + w₂x₂ + b)Rosenblatt, 1958

초파리에서는

과일 향과 식초 향이 함께 날 때, 뉴런은 두 신호를 각자 다른 세기로 받아 더한다. 합이 발화 문턱을 넘으면 "다가가라" 신호를 보낸다. 시냅스 강도가 가중치, 발화 문턱이 편향이다.

신경망에서는

입력마다 가중치를 곱해 더하고 편향을 더한 값 z가 0 이상이면 1, 아니면 0을 낸다. 평면 위에서 보면 w₁x₁ + w₂x₂ + b = 0이라는 직선 하나가 "먹이"와 "먹이 아님"을 가른다. 틀린 점을 만날 때마다 그 점 쪽으로 직선을 조금 옮기는 것이 퍼셉트론의 학습 규칙이다.

문제

초보자를 위한 풀이

퍼셉트론의 학습 규칙은 한 줄이다. 틀린 점 하나를 골라 w ← w + η·(정답 − 예측)·x. 정답이 1인데 0이라고 했으면 그 점 쪽으로 직선을 끌어당기고, 반대면 밀어낸다. 직선으로 나뉘는 문제라면 이 규칙만으로 언젠가 모든 점을 맞힌다.

XOR처럼 "둘 중 하나만 있을 때 먹이"인 문제는 어떤 직선으로도 나눌 수 없다. 1969년 Minsky와 Papert가 이 한계를 수학적으로 보인 뒤 신경망 연구는 한동안 침체했다. 해결책은 층을 하나 더 넣는 것, 바로 은닉층이다. 그 전에, 계단 대신 부드럽게 꺾이는 함수부터 보자.

2활성함수

활성함수 — 신호를 어떻게 꺾을 것인가

활성함수는 가중합 z를 받아 뉴런의 출력 a를 정한다. 꺾이는 모양이 있어야 층을 쌓는 의미가 생기고, 기울기(미분) 모양이 학습 속도를 좌우한다.

함수 f(z)기울기 f′(z)지금 입력 z
입력 z

기울기 소실 — 왜 ReLU가 대세가 되었나

역전파는 층을 거슬러 갈 때마다 활성함수의 기울기를 곱한다. 시그모이드의 기울기는 아무리 커도 0.25다. 10층을 거슬러 가면 많아야 0.25¹⁰ ≈ 0.00000095배로 줄어든다. 앞쪽 층에는 고치라는 신호가 거의 도착하지 않는다. 이것이 기울기 소실이다.

ReLU는 양수 구간의 기울기가 정확히 1이라 몇 층을 거슬러 가도 신호가 줄지 않고, 계산도 "0과 비교"뿐이라 빠르다. 대신 음수 구간에서는 기울기가 0이라 한번 꺼진 뉴런이 다시 살아나지 못할 수 있다. Leaky ReLU, ELU, Swish 같은 변형은 이 빈틈을 메우려는 시도다. 어느 함수가 늘 최고인 것은 아니고, 문제와 모델에 따라 고른다.

3은닉층

은닉층 — 활성함수가 있어야 층을 쌓는 의미가 생긴다

입력 2 → 은닉 → 은닉 → 출력 1같은 데이터, 같은 구조, 활성함수만 다름

은닉층마다 뉴런 수

선형 ∘ 선형 = 선형

활성함수 없이 층을 쌓으면 W₂(W₁x) = (W₂W₁)x, 곧 가중치 행렬 하나와 똑같다. 예를 들어 W₁ = [[1, 2], [0, 1]], W₂ = [[2, 0], [1, 1]]이면 W₂W₁ = [[2, 4], [1, 3]]. 두 층을 지나든, 이 행렬 하나를 지나든 결과가 같다. 100층을 쌓아도 직선 하나밖에 못 긋는다.

활성함수가 매 층마다 신호를 꺾어 주면 직선 조각들이 겹치고 휘어져 나선 같은 복잡한 경계가 만들어진다. 은닉 뉴런 수를 4로 줄여 보면, 꺾을 수 있는 조각이 모자라 나선을 다 감지 못하는 것도 보인다.

4표현 학습

표현 학습 — 층을 지날수록 특징이 추상적이 된다

점(픽셀) → 방향 → 이음매 → 모양. 앞 층의 특징을 재료로 다음 층이 한 단계 더 큰 특징을 만든다.

입력 도형

숫자로 보는 뉴런 하나

앞 층의 특징 4개(0.8, 0.1, 0.4, 0.0)를 가중치(0.5, 0.3, 0.2, 0.1)로 저울질하고 편향 0.1을 더한다.

z = 0.8×0.5 + 0.1×0.3 + 0.4×0.2 + 0.0×0.1 + 0.1
= 0.40 + 0.03 + 0.08 + 0.00 + 0.10 = 0.61
a = ReLU(0.61) = max(0, 0.61) = 0.61

사람이 정한 특징 vs 스스로 배운 특징

위 그림의 방향·이음매 탐지기는 설명을 위해 사람이 미리 정해 둔 규칙이다. 예전 머신러닝은 실제로 이렇게 사람이 특징을 설계했다. 딥러닝은 이 탐지기들의 가중치를 데이터에서 스스로 배운다. 그래서 사람이 생각하지 못한 특징도 찾아낸다.

이미지에서 실제로 어떤 특징이 층마다 생기는지는 3-3(이미지와 CNN)에서 본다.

5손실함수

손실함수(비용함수) — 틀린 정도를 숫자 하나로

학습은 손실을 줄이는 일이다. 무엇을 손실로 정하느냐에 따라 모델이 "무엇을 두려워할지"가 달라진다.

평균제곱오차 (MSE)

(정답 − 예측)². 숫자를 맞히는 회귀 문제의 기본이다. 집값, 가구지출, 기온처럼 연속된 값을 예측할 때 쓴다. 아래 역전파 대시보드가 이 손실을 쓴다.

교차 엔트로피 (Cross-Entropy)

−log(정답 쪽에 준 확률). 분류 문제의 기본이다. 확신하고 틀리면 벌점이 끝없이 커진다. 출력에 시그모이드나 소프트맥스를 쓸 때 짝을 이룬다.

정답
모델의 예측 확률 p

왜 분류에는 교차 엔트로피인가

출력에 시그모이드를 쓰면, MSE의 기울기는 2(p − t)·p(1 − p)가 된다. 정답이 1인데 p = 0.01로 확신하며 틀리면 p(1 − p)가 0에 가까워 기울기도 거의 0이다. 크게 틀렸는데 고치라는 신호가 약한 것이다. 교차 엔트로피를 쓰면 시그모이드의 미분이 깔끔하게 지워져 기울기가 그냥 p − t, 즉 −0.99가 된다. 많이 틀릴수록 세게 고친다.

6역전파

경사하강과 역전파 — 추측하고, 재고, 거꾸로 나눠 고친다

입력 2 → 은닉 3 → 출력 1목표 1.00 · 손실 = (목표 − 출력)² · 학습률 0.1

01 순전파

일단 추측한다

입력이 연결을 따라 출력까지 계산된다. 처음 출력은 0.41.

02 손실

얼마나 틀렸나 잰다

(1.00 − 0.41)² ≈ 0.35. 위 섹션 5의 MSE다.

03 역전파

누구 탓인지 나눈다

출력에서 거꾸로 가며 가중치마다 책임(기울기)을 계산한다.

04 갱신

조금씩 고친다

새 가중치 = 기존 − 학습률 × 기울기. 이것이 경사하강이다.

01 순전파→ 02 손실→ 03 역전파→ 04 갱신↺ 다시

가중치 칸을 누르면 그 연결이 그림에서 강조되고, 아래 "숫자로 따라가기"가 그 가중치의 계산을 보여 준다.

속도
학습률 η
고치는 연결

숫자로 따라가기 — 가중치 하나의 한 바퀴

역전파는 "책임을 곱셈으로 전달하기"다

출력에서 틀린 양 −2 × (목표 − 출력)이 먼저 정해진다. 은닉→출력 가중치의 책임은 여기에 그 가중치로 들어온 신호(은닉 값)를 곱한 것이다. 입력→은닉 가중치는 한 칸 더 거슬러 간다. 출력 가중치 v를 곱해 은닉 뉴런까지 책임을 보내고, 은닉 뉴런이 얼마나 민감했는지 h(1 − h)를 곱하고, 들어온 입력 x를 곱한다. 이 "곱해서 거꾸로 보내기"가 연쇄 법칙이다. 섹션 2의 기울기 소실도 바로 이 곱셈에서 생긴다.

"출력 쪽만 (초파리 방식)"을 누르면 입력→은닉 가중치는 고정되고, 위에서 내려오는 가르침 신호(초파리의 도파민에 빗댐)가 출력 쪽 연결만 고친다. 초파리 버섯체의 학습 구조를 크게 줄인 비유이며, 도파민 신호가 기울기처럼 계산되는지는 아직 연구 중이다.

7옵티마이저

옵티마이저 — 골짜기를 내려가는 세 가지 걸음걸이

손실을 지형으로 그리면 학습은 가장 낮은 곳을 찾아 내려가는 일이다. 같은 기울기를 보고도 걸음을 어떻게 옮기느냐가 옵티마이저마다 다르다.

SGD: 기울기만큼 한 걸음모멘텀: 굴러온 관성을 더함Adam: 방향마다 걸음 폭을 맞춤
학습률 η
미니배치 잡음
SGD: w ← w − η·g
모멘텀: v ← 0.9·v − η·g,  w ← w + v
Adam: m ← 0.9·m + 0.1·g,  s ← 0.999·s + 0.001·g²,  w ← w − η·m̂ / (√ŝ + ε)  (m̂, ŝ는 초기 치우침을 보정한 값)

초보자를 위한 풀이

이 골짜기는 가로로 길고 세로로 가파르다. SGD는 기울기만큼만 움직이므로 가파른 세로 방향에서는 큰 걸음으로 위아래로 튀고(지그재그), 학습률이 작으면 완만한 가로 방향은 거북이걸음이다("0.1 작게"에서 확인). 모멘텀은 굴러온 속도를 기억해 꾸준한 방향(가로)으로 가속하고 지그재그는 서로 상쇄한다. Adam은 방향마다 기울기 크기를 따로 재서 걸음 폭을 맞추므로 가로·세로를 비슷한 속도로 내려간다.

"미니배치 잡음"은 실제 학습처럼 데이터 일부만 보고 기울기를 계산할 때 생기는 흔들림이다. 학습률을 "크게"로 하면 SGD는 골짜기 벽을 넘어 튕겨 나간다. 어떤 옵티마이저가 늘 이기지는 않는다. Adam은 대부분의 문제에서 무난한 기본값이라 많이 쓰이지만, 여러 딥러닝 과제에서 잘 조율한 SGD가 처음 보는 데이터에 더 잘 맞았다는 연구도 있다 [R12].

8과적합

과적합과 규제 — 외운 것과 이해한 것

학습 점 14개 · 검증 점 80개입력 1 → 은닉 48 (tanh) → 출력 1, Adam

드롭아웃
가중치 감쇠 (L2)
조기 종료

세 가지 처방

  1. 조기 종료: 검증 손실이 가장 낮았던 지점의 모델을 쓴다. 가장 간단하고 거의 늘 쓴다.
  2. 드롭아웃: 학습 때마다 은닉 뉴런 일부를 무작위로 끈다. 특정 뉴런 몇 개에 기대 점을 외우는 일을 막는다. 시험 때는 모두 켜고 쓴다.
  3. 가중치 감쇠(L2): 가중치가 커질수록 손실에 벌점을 더한다. 곡선이 지나치게 구불구불해지는 것을 막는다.

가장 확실한 처방은 데이터를 더 모으는 것이다. 데이터가 적은데 모델이 크면 외우기가 쉽다. 이 그림의 숫자는 이 페이지에서 직접 계산한 설명용 실험이라 실행할 때마다 똑같이 나오도록 난수를 고정해 두었다.

9전체 흐름

모델 만들기 전체 흐름 — 데이터에서 배포까지

지금까지 본 부품은 학습 단계 하나에 들어간다. 실제 일은 그 앞뒤가 더 길다. 예시는 공장 검사대의 "불량품 찾기" 모델이다.

① 모으기→ ② 나누기→ ③ 전처리→ ④ 학습→ ⑤ 평가→ ⑥ 저장·배포→ ⑦ 모니터링

⑤ 평가 — 정확도만 보면 속는다

검사한 제품 200개 중 실제 불량은 20개. 모델은 제품마다 "불량일 확률"을 낸다. 몇 이상을 불량으로 판정할지(문턱)를 바꿔 보자.

불량 판정 문턱

단계마다 흔한 실수

  1. 나누기: 시험 데이터는 마지막 한 번만 쓴다. 검증 데이터로 설정을 고르고, 시험 데이터로 최종 실력을 잰다. 시간 순서가 있는 데이터는 무작위로 섞지 말고 과거로 학습, 미래로 평가한다(3-6에서 자세히).
  2. 전처리: 평균·표준편차 같은 스케일 조정(표준화) 기준은 학습 데이터에서만 계산한다. 전체 데이터로 계산하면 시험 정보가 새어 들어간다(데이터 누수).
  3. 평가: 불량이 10%뿐이면 "전부 정상"이라고만 해도 정확도 90%다. 놓치면 안 되는 쪽(재현율)과 헛경보 비용(정밀도)을 같이 본다.
  4. 배포·모니터링: 공장 조명이 바뀌거나 새 부품이 들어오면 데이터가 달라져 성능이 떨어진다. 배포 뒤에도 성능을 계속 재고, 필요하면 다시 학습한다.

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

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

코드 1 · 넘파이로 직접 만드는 작은 신경망섹션 3·5·6·8과 연결 · numpy, matplotlib · CPU 약 10초

순전파 → 손실 → 역전파 → 갱신 네 단계를 라이브러리 없이 그대로 옮겼다. 같은 나선 데이터를 "활성함수 없음"과 "tanh 은닉층"으로 학습해 비교한다. 내 데이터로 바꾸려면 코드 안의 [내 데이터로 바꾸려면] 표시 부분에서 X, y만 바꾼다.

실행 결과 (2026-10-03 실행, numpy 2.4 · CPU). 난수를 고정해 같은 결과가 나온다.
코드 2 · Keras로 같은 신경망 + 과적합 막기섹션 2·3·7·8·9와 연결 · tensorflow(Keras) · CPU 약 1~2분

실무에서 쓰는 방식이다. 활성함수 없음 / ReLU / ReLU + 드롭아웃 + 조기 종료 세 모델을 비교하고, 마지막 모델을 파일로 저장한다(섹션 9의 ⑥ 저장).

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

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

함께 붙일 코드

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

용어 정리

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

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

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

개념일상 비유초파리·뇌 비유비유가 틀리는 지점
가중치의견마다 다르게 주는 신뢰도부분 시냅스 강도실제 시냅스는 시간과 몸 상태에 따라 세기가 바뀌고, 신호도 연속된 숫자가 아니라 전기 펄스(스파이크)다
편향·문턱결정을 내리는 기준선부분 뉴런의 발화 문턱뉴런의 문턱은 고정값이 아니라 피로·적응으로 계속 변한다
활성함수아무리 돌려도 한계가 있는 볼륨 손잡이부분 자극 세기에 따른 발화 빈도 곡선신경망은 숫자 하나를 내지만 뉴런은 시간에 따라 펄스를 낸다
은닉층보고를 모아 정리하는 중간 관리자부분 버섯체의 케니언 세포버섯체의 입력 쪽 연결은 대부분 학습으로 바뀌지 않는다. 딥러닝의 은닉층은 모든 연결을 학습한다
손실함수시험 채점표부분 설탕(보상)·전기충격(처벌)이라는 결과초파리는 "얼마나 틀렸는지"를 숫자 하나로 계산하지 않는다
역전파사고 뒤 책임을 거꾸로 따져 묻기없음 도파민 신호는 층을 거슬러 계산되지 않는다뇌가 역전파와 비슷한 일을 다른 방법으로 하는지는 연구 중이다
학습률한 번 지적받고 고치는 폭부분 한 번의 경험으로 변하는 시냅스 양뇌의 변화 폭은 상황·주의·반복에 따라 달라진다
옵티마이저안개 낀 산을 내려가는 등산객의 걸음걸이없음실제 손실 지형은 수백만 차원이라 그림처럼 한눈에 보이지 않는다
과적합기출문제 답만 외운 수험생없음사람도 외우기는 하지만, 사람의 일반화 방식은 신경망과 다르다
드롭아웃몇 명이 빠져도 돌아가는 팀없음 시냅스 전달이 가끔 실패하는 것과 닮았다는 해석은 있으나 근거는 약하다시험 때는 모든 뉴런을 켜고 쓴다. 팀원이 늘 빠져 있는 것이 아니다

저자 소개와 레퍼런스

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] Rosenblatt, F. (1958). The perceptron: A probabilistic model for information storage and organization in the brain. Psychological Review, 65(6), 386–408. doi:10.1037/h0042519 — 섹션 1
  2. [R2] Minsky, M. L., & Papert, S. (1969). Perceptrons. MIT Press. — 섹션 1 (XOR 한계)
  3. [R3] Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back-propagating errors. Nature, 323, 533–536. doi:10.1038/323533a0 — 섹션 4·6
  4. [R4] Nair, V., & Hinton, G. E. (2010). Rectified linear units improve restricted Boltzmann machines. Proceedings of ICML 2010, 807–814. — 섹션 2 (ReLU)
  5. [R5] Maas, A. L., Hannun, A. Y., & Ng, A. Y. (2013). Rectifier nonlinearities improve neural network acoustic models. ICML 2013 Workshop on Deep Learning for Audio, Speech and Language Processing. — 섹션 2 (Leaky ReLU)
  6. [R6] He, K., Zhang, X., Ren, S., & Sun, J. (2015). Delving deep into rectifiers: Surpassing human-level performance on ImageNet classification. Proceedings of ICCV 2015, 1026–1034. doi:10.1109/ICCV.2015.123 — 섹션 2 (PReLU)
  7. [R7] Clevert, D.-A., Unterthiner, T., & Hochreiter, S. (2016). Fast and accurate deep network learning by exponential linear units (ELUs). ICLR 2016. arXiv:1511.07289 — 섹션 2 (ELU)
  8. [R8] Klambauer, G., Unterthiner, T., Mayr, A., & Hochreiter, S. (2017). Self-normalizing neural networks. Advances in Neural Information Processing Systems 30. arXiv:1706.02515 — 섹션 2 (SELU)
  9. [R9] Ramachandran, P., Zoph, B., & Le, Q. V. (2017). Searching for activation functions. arXiv:1710.05941 — 섹션 2 (Swish)
  10. [R10] Misra, D. (2020). Mish: A self regularized non-monotonic activation function. BMVC 2020. arXiv:1908.08681 — 섹션 2 (Mish)
  11. [R11] Kingma, D. P., & Ba, J. (2015). Adam: A method for stochastic optimization. ICLR 2015. arXiv:1412.6980 — 섹션 7
  12. [R12] Wilson, A. C., Roelofs, R., Stern, M., Srebro, N., & Recht, B. (2017). The marginal value of adaptive gradient methods in machine learning. Advances in Neural Information Processing Systems 30. arXiv:1705.08292 — 섹션 7 (Adam과 SGD의 일반화 비교)
  13. [R13] Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: A simple way to prevent neural networks from overfitting. Journal of Machine Learning Research, 15(56), 1929–1958. jmlr.org — 섹션 8
  14. [R14] LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436–444. doi:10.1038/nature14539 — 섹션 3·4
  15. [R15] Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. deeplearningbook.org — 섹션 5·7·8·9 (손실함수, 최적화, 규제, 조기 종료)

E-3 그림 참고 자료

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

  • DataCraft Hub, "Activation Functions — Adding Nonlinearity to Neural Networks" (Series 01 · 05) 인포그래픽 — 섹션 2·3
  • DataCraft Hub, "Representation Learning — How Neural Networks Learn Useful Representations" (Series 01 · 06) 인포그래픽 — 섹션 4
  • mltut, "Activation Functions" 인포그래픽 — 섹션 2. Hard Sigmoid는 그림의 정의(0.2x + 0.5)를 따름
  • mltut, "A Quick Guide to Neural Networks" 인포그래픽 — 섹션 1·3
  • "How AI Learns? From Data to Intelligence" 인포그래픽 (제작자 표기 없음) — 섹션 9
  • "How a neural network actually learns" 교육용 애니메이션 (21초, 제작자 표기 없음) — 섹션 6의 시작값

교육자를 위한 TIP

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

대상신경망을 처음 배우는 대학생·직장인. 파이썬 기초가 있으면 Colab 실습까지, 없으면 본문 애니메이션까지
선수 지식곱셈과 덧셈, 함수 그래프 읽기. 미분은 "기울기 = 조금 바꿨을 때 얼마나 변하나" 정도면 충분
학습 목표① 퍼셉트론·활성함수·은닉층이 각각 무엇을 하는지 설명한다 ② 순전파 → 손실 → 역전파 → 갱신을 숫자로 따라간다 ③ 과적합을 알아보고 검증 데이터·조기 종료·드롭아웃으로 대응한다
예상 시간읽기 40~50분 · 애니메이션 시연 25분 · Colab 실습 30분 (코드 1 10분, 코드 2 20분)

운영안 세 가지

강의형 50분

개념 중심

도입 5분(섹션 1 XOR 실패 시연) → 섹션 2·3 시연 15분 → 섹션 5·6 대시보드 15분 → 섹션 8 과적합 10분 → 확인 문제 5분.

실무 OJT 90분

업무 적용 중심

섹션 6 대시보드 15분 → 섹션 8·9 25분(정확도의 함정을 업무 사례로 토론) → 코드 2 실습 30분 → 프롬프트 카드로 "우리 팀 데이터에 적용" 20분.

1:1 튜터링

수준별 진도

입문자는 섹션 1·2·3·6만, 중급자는 섹션 6의 "숫자로 따라가기"를 손으로 한 번 계산하게 한 뒤 코드 1의 역전파 부분과 대조시킨다.

섹션별 운영 포인트

섹션멈춰서 물어볼 질문조작 팁
1 퍼셉트론"XOR에서 직선을 아무리 옮겨도 왜 틀린 점이 남을까?"쉬운 문제를 먼저 학습시켜 성공을 본 뒤 XOR로 바꾼다
2 활성함수"시그모이드 기울기의 최댓값은 어디서, 얼마인가?"시그모이드에서 정지한 뒤 슬라이더를 0으로 옮겨 0.25를 확인한다
3 은닉층"층을 두 개 쌓았는데 왜 왼쪽은 여전히 직선일까?"뉴런 수를 4로 줄여 오른쪽도 실패하는 모습을 보여 준다
4 표현 학습"□는 왜 모서리 4개로 판단될까? 사람이라면 무엇을 볼까?"T와 L을 번갈아 눌러 이음매 층만 달라지는 것을 짚는다
5 손실함수"확신하고 틀렸을 때 어느 손실이 더 세게 고치라고 할까?"p를 0.01로 두고 두 기울기 숫자를 비교한다
6 역전파"출력에 가까운 가중치와 먼 가중치 중 누구의 기울기가 클까?""다음 단계"로 한 바퀴를 천천히 돌린 뒤 가중치 칸을 바꿔 가며 식을 읽는다
7 옵티마이저"SGD는 왜 지그재그로 갈까?"학습률을 "크게"로 바꿔 SGD가 튕겨 나가는 장면을 보여 준다
8 과적합"학습 손실이 계속 줄면 좋은 모델일까?"규제를 모두 끄고 끝까지 돌린 뒤, 하나씩 켜서 비교한다
9 전체 흐름"불량품 검사에서 놓치는 것과 헛경보 중 무엇이 더 비쌀까?"문턱을 0.2와 0.8로 옮겨 정밀도·재현율이 반대로 움직이는 것을 본다

흔한 오해 Top 5

오해바른 설명보여 줄 장면
층을 많이 쌓으면 무조건 똑똑해진다활성함수가 없으면 몇 층이든 직선 하나와 같다. 있어도 데이터가 적으면 과적합한다섹션 3 왼쪽 그림, 섹션 8
신경망은 뇌를 그대로 베꼈다층·연결 강도·문턱이라는 뼈대만 빌렸다. 역전파는 뇌에서 확인되지 않았다공통 섹션 D의 "없음" 표시
학습 손실이 낮으면 좋은 모델이다처음 보는 데이터(검증·시험)의 성능이 기준이다섹션 8 오른쪽 그래프
정확도가 높으면 좋은 모델이다불균형 데이터에서는 "전부 정상"도 정확도가 높다. 정밀도·재현율을 함께 본다섹션 9 문턱 0.95
Adam이 언제나 최고다무난한 기본값일 뿐이다. 문제에 따라 SGD + 모멘텀이 낫기도 하다섹션 7 학습률 "작게"

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

Q1. 활성함수가 없는 신경망에 은닉층을 10개 쌓으면 어떤 경계를 그릴 수 있나?

직선(고차원에서는 평면) 하나뿐이다. 선형 변환을 여러 번 합쳐도 선형 변환 하나가 되기 때문이다(W₂W₁x = Wx). 섹션 3의 왼쪽 그림이 그 예다.

Q2. 시그모이드 대신 ReLU를 쓰면 기울기 소실이 줄어드는 이유는?

시그모이드의 기울기는 최대 0.25라서 층마다 곱해지며 빠르게 작아진다. ReLU는 양수 구간의 기울기가 1이라 거슬러 가도 줄지 않는다. 단, 음수 구간에서는 0이라 꺼진 뉴런이 생길 수 있다.

Q3. 정답이 1, 예측이 0.41일 때 MSE 손실과 ∂L/∂y는?

L = (1 − 0.41)² = 0.3481 ≈ 0.35. ∂L/∂y = −2 × (1 − 0.41) = −1.18. 섹션 6 대시보드의 첫 바퀴 값과 같다.

Q4. 학습 손실은 계속 줄고 검증 손실은 어느 순간부터 오른다. 무슨 상태이고 무엇을 해야 하나?

과적합이다. 검증 손실이 가장 낮았던 시점의 모델을 쓰고(조기 종료), 드롭아웃·가중치 감쇠를 켜거나 데이터를 늘린다.

Q5. 불량률 10%인 검사에서 "전부 정상"이라고 답하는 모델의 정확도와 재현율은?

정확도 90%, 재현율 0%. 불량을 하나도 찾지 못했다. 그래서 불균형 데이터에서는 정확도만 보면 안 된다.

Colab 과제

기본

코드 1에서 tanh를 ReLU로 바꾼다(활성함수와 그 미분 두 줄). 은닉 뉴런 수를 4, 16, 64로 바꿔 검증 정확도를 표로 정리하고, 가장 좋은 설정과 그 이유를 세 문장으로 쓴다.

도전

코드 2의 데이터를 내 업무 데이터(특징 2개 이상, 정답 0/1)로 바꾼다. 학습/검증/시험을 6:2:2로 나누고, 시험 데이터의 정확도·정밀도·재현율을 보고한다. 문턱 0.5가 업무에 맞는지 근거를 들어 판단한다.

난이도 조절과 더 배우기

입문자섹션 4·7은 건너뛰어도 흐름이 끊기지 않는다. 섹션 6은 "다음 단계" 버튼으로 한 바퀴만 같이 본다
심화섹션 6의 "숫자로 따라가기"를 손으로 계산하게 한 뒤, 코드 1의 d1·d2·d3 줄과 하나씩 대응시킨다. 섹션 7에 학습률 감소(스케줄)를 더하면 어떻게 될지 토론한다
더 배우기안상선, 「비즈니스를 위한 데이터 과학」 강의안 (데이터 과학 전반) · STEP [K-디지털] 인공지능 자연어 처리 (3-5·3-8과 연결) · STEP [K-디지털] 핀테크 데이터 분석 기초 (3-6과 연결)
강사용 자료확인 문제의 채점 기준과 과제 예시 답안은 교육자용 정답 페이지 (3-2)에서 볼 수 있다

수고하셨습니다!

「3-2 신경망의 부품」 편을 끝까지 읽었어요. 연구실 식구들이 한마디씩 정리해 드립니다.

박사
박사신경망을 이루는 부품을 하나씩 조립해 봤어요.
  • 뉴런 하나는 가중합에 활성함수를 씌운 것
  • 역전파로 오차를 거슬러 가며 가중치를 조금씩 고친다
  • 검증 데이터로 과적합을 확인한다
조수
조수칠판 수식이 이제 무섭지 않아요.
초파리 연구원
초파리 연구원기울기 따라 한 걸음씩, 메모해 둠.