신경망과
역전파
XOR 앞에 멈춰 선 퍼셉트론에서 출발해, 층을 쌓고, 쌓은 층을 학습시키는 방법(역전파)을 손으로 계산할 수 있을 때까지 분해한다. 사과 두 개와 귤 세 개면 충분하다.
17년 만에 도착한 답
1969년 민스키의 증명 이후, "층을 쌓으면 풀린다"는 것은 모두 알았지만 "쌓은 층을 어떻게 학습시키는가"에는 답이 없었다. 1986년, 세 연구자가 네이처에 3쪽짜리 논문을 실었다 — 오차를 출력에서 입력 쪽으로 거꾸로 전파하며 각 가중치의 책임을 계산하는 방법, 역전파였다.
이 알고리즘의 정체는 새 수학이 아니다. 고등학교 미적분의 체인룰(연쇄법칙)을 신경망 모양으로 조립한 것이다. 그리고 40년이 지난 지금도, 수천억 파라미터의 LLM을 학습시키는 알고리즘은 본질적으로 이것 그대로다.
그래서 이 장의 목표는 하나다 — 역전파를 신비가 아니라 산수로 만드는 것. 마지막에는 계산그래프 위에서 미분값을 손으로 구하게 된다.
출처 Rumelhart, Hinton & Williams, "Learning representations by back-propagating errors", Nature 323, 1986: nature.com
선형회귀와 경사하강법
학습의 원형은 단순하다 — 오차를 수식으로 적고, 미분해서, 반대 방향으로 조금 움직인다. 이 반복이 전부다.
데이터를 가장 잘 설명하는 직선
선형회귀는 f(x) = Wx + b의 W(기울기→가중치)와 b(절편→바이어스)를 찾는 문제다. "가장 잘"의 기준은 직선과 데이터 사이 간격이다.
변수가 하나뿐인 선형회귀는 미분해서 0이 되는 지점을 공식으로 바로 구할 수 있다(최소제곱법). 그런데도 굳이 "조금씩 내려가는" 반복법을 배우는 이유는, 신경망처럼 파라미터가 수백만 개인 문제에는 닫힌 공식이 없기 때문이다 — 반복법만이 유일하게 통하는 일반 해법이다.
주의 하나: 회귀가 찾는 것은 상관관계이지 인과관계가 아니다. 아이스크림 판매량으로 익사 사고를 "예측"하는 직선은 잘 그어지지만, 아이스크림이 사고의 원인은 아니다(둘 다 여름의 결과다).
생각해 볼 질문 — 잔차를 제곱하는 대신 절댓값을 쓰면 무엇이 달라지는가? 이상치(outlier) 하나가 있을 때 두 방식의 직선은 어떻게 다르게 반응할까?
경사하강법 — 청개구리처럼 반대로
손실 함수의 미분값(그래디언트)이 양수면 가중치를 줄이고, 음수면 키운다 — 미분값의 반대 방향으로, 학습률 α만큼 움직이는 것이 경사하강법이다.
예: E(w) = (w−3)² 이면 dE/dw = 2w−6. w=0에서 미분 −6(음수) → w를 키운다 → 정답 3에 다가간다
학습률을 돌려 보며 골짜기 내려가기
한 줄 목표: 학습률이 "너무 작으면 느리고, 너무 크면 발산한다"를 눈으로 확인한다. 손실은 E(w) = (w−3)², 출발점은 w = −2다.
조작: α=0.1로 10스텝 → 초기화 후 α=0.9로 10스텝 → 다시 α=1.05로 10스텝. 관찰 포인트: 0.9에서는 골짜기를 좌우로 건너뛰면서도 수렴하지만, 1.0을 넘는 순간 점이 골짜기 밖으로 튕겨 나가며 발산한다. "빠름"과 "불안정"이 같은 손잡이에 있다는 것이 보이면 성공이다.
이 포물선에서 발산 경계가 정확히 α=1인 것은 우연이 아니라 계산 결과다. w ← w − α(2w−6)를 정리하면 (w−3)이 매 스텝 (1−2α)배가 된다. |1−2α|<1이면 수렴, 즉 0<α<1. 실제 신경망의 손실 지형은 이렇게 깨끗한 포물선이 아니어서 안전한 학습률을 공식으로 못 구한다 — 그래서 학습률은 지금도 실무에서 가장 먼저 튜닝하는 하이퍼파라미터다. 10주차 슬라이드의 "오버슈팅", 모멘텀(관성으로 가속)도 전부 이 손잡이 주변의 공학이다.
생각해 볼 질문 — 학습 초반에는 크게, 후반에는 작게 움직이고 싶다. 학습률을 어떻게 다뤄야 할까? (실무의 "학습률 스케줄"이 그 답이다)
과대적합과 과소적합
학습 데이터 성적과 새 데이터 성적의 조합으로 모델의 상태를 진단한다. 둘 다 좋아야 일반화다.
진단 도구는 검증 손실 곡선이다. 훈련 손실은 계속 내려가는데 검증 손실이 어느 순간부터 올라가기 시작하면, 그 지점부터 모델은 일반화가 아니라 암기를 한다. 이 곡선 두 개를 겹쳐 그리는 습관이 실무 딥러닝의 기본 계기판이다.
생각해 볼 질문 — 훈련 손실과 검증 손실이 둘 다 높은 채로 나란히 정체되어 있다면, 과대적합인가 과소적합인가? 다음 조치는?
층을 쌓다 — 은닉층과 활성화 함수
층을 쌓으면 XOR이 풀린다. 단, 층 사이에 비선형이 끼어 있을 때만 — 선형을 아무리 쌓아도 선형이다.
은닉층이 XOR을 푸는 방법
입력층과 출력층 사이에 은닉층을 둔 신경망이 다층 퍼셉트론(MLP)이다. 은닉 유닛 하나가 직선 하나 — 두 개면 XOR이 갈라진다.
퍼셉트론의 한계가 "구조의 단순함"에 있었다는 진단을 기억하자 — 인간 두뇌는 약 1,000억 개의 뉴런이 협동하는데 퍼셉트론은 하나였다. 은닉층을 넓히고 깊게 쌓으면 이론상 어떤 연속 함수든 근사할 수 있다는 것이 보편 근사 정리다. 다만 "표현할 수 있다"와 "학습으로 도달할 수 있다"는 별개 문제이고, 후자를 연 것이 이 장의 역전파다.
생각해 볼 질문 — 은닉 유닛이 3개라면 입력 공간을 최대 몇 개의 영역으로 나눌 수 있을까?
왜 반드시 비선형이어야 하는가
여러 개의 선형 함수를 결합해도 결국 하나의 선형 함수와 같다는 사실은 수학적으로 증명되어 있다. 층 사이의 비선형 활성화 함수가 없다면, 백 층을 쌓아도 퍼셉트론 하나다.
"비선형이 왜 필요한가"를 한 줄 산수로: 은닉층 h = W₁x, 출력 y = W₂h라면 y = W₂W₁x = (W₂W₁)x — 행렬 두 개의 곱은 또 하나의 행렬이므로 결국 선형 모델이다. 사이에 σ를 끼워 y = W₂σ(W₁x)가 되는 순간 이 축약이 불가능해지고, 층마다 새로운 표현력이 생긴다. 시험 서술형으로 자주 나오는 논리이니 이 두 줄을 그대로 쓸 수 있도록 익혀 두자.
생각해 볼 질문 — ReLU는 0에서 꺾이는 것 말고는 두 조각 모두 선형이다. 그런데 왜 "비선형 함수"로서 자격이 있는가?
역전파 — 체인룰 3항의 조립
가중치 하나의 책임은 세 개의 변화율의 곱이다 — 오차가 출력에, 출력이 입력합에, 입력합이 가중치에 얼마나 민감한가.
오차를 거꾸로 흘려보내기
순방향 패스로 출력을 계산하고, 정답과의 오차를 잰 뒤, 그 오차를 역방향으로 전파하며 "이 오차에 각 가중치가 얼마나 기여했는가"를 계산한다 — 그 기여도의 반대 방향으로 가중치를 옮기는 것이 학습이다.
- 순방향 패스 — 입력이 은닉층을 거쳐 출력층으로 전파된다.
- 오차 계산 — 손실 함수로 정답과 출력의 차이를 잰다.
- 역방향 패스 — 출력층에서 입력층 쪽으로, 각 가중치에 대한 손실의 미분(책임)을 계산한다.
- 갱신 — 1장의 경사하강법 그대로: w ← w − α·∂E/∂w. 그리고 1로 돌아간다.
왜 "거꾸로"가 영리한가 — 무식한 대안과 비교하면 보인다. 가중치를 하나씩 조금 바꿔 보고 출력을 다시 계산해 오차 변화를 재는 방법도 가능하지만, 가중치가 백만 개면 순방향 계산을 백만 번 해야 한다. 역전파는 순방향 1번 + 역방향 1번으로 모든 가중치의 미분을 동시에 얻는다. 이 효율이 없었다면 딥러닝은 계산량 앞에서 시작도 못 했다.
생각해 볼 질문 — 역방향 패스가 출력층"에서" 시작해야만 하는 이유를 체인룰의 구조에서 찾아보자.
세 개의 변화율
출력 노드 j로 들어가는 가중치 w에 대한 손실의 미분은, 체인룰에 의해 세 항의 곱으로 쪼개진다. 각 항은 전부 이미 아는 값이다.
① 출력이 변하면 오차가 얼마나? = (out − 정답) — MSE의 미분
② 입력합이 변하면 출력이 얼마나? = σ′(net) — 활성화 함수의 미분
③ 가중치가 변하면 입력합이 얼마나? = 그 가중치에 곱해지는 입력값
은닉층 가중치도 원리가 같다 — 다만 ①이 "그 은닉 유닛이 영향을 주는 모든 다음 층 노드의 책임을 합산"하는 것으로 바뀔 뿐이다. 이 합산의 연쇄가 층을 거슬러 올라가는 것이 "전파"라는 이름의 이유다.
②에 시그모이드를 쓰면 σ′ = σ(1−σ)로, 출력값만으로 미분이 계산된다는 편리함이 있다 — 1980년대에 시그모이드가 표준이었던 실무적 이유다. 그런데 이 σ′의 최댓값이 0.25라는 사실이 6장의 복선이다. 층마다 ②가 한 번씩 곱해지므로, 층이 깊어질수록 0.25 이하의 수가 반복해서 곱해진다.
생각해 볼 질문 — ③이 "입력값"이라는 것은, 입력이 0인 연결의 가중치는 그 샘플에서 전혀 학습되지 않는다는 뜻이다. 이것이 문제가 되는 상황을 상상해 보자.
역전파가 XOR을 푸는 것을 실시간으로
2-2-1 신경망이 브라우저 안에서 역전파로 XOR을 학습한다. 오차 곡선, 은닉 유닛의 결정 경계, 그리고 출력 곡면의 3D 보기가 함께 움직인다. 평평하던 면이 접히는 순간이 이 실습의 핵심 장면이다.
2-2-1 신경망의 XOR 학습
한 줄 목표: 4장에서 퍼셉트론이 영원히 못 풀던 XOR을, 은닉층 + 역전파가 수천 번의 반복으로 푸는 것을 목격한다.
조작: [학습 시작]으로 끝까지 돌린 뒤, [초기화] → [학습 시작]을 서너 번 반복해 보자. 관찰 포인트: 매번 두 경계선의 최종 위치(해)가 다른데도 네 점의 정답은 매번 맞는다 — 신경망의 해는 유일하지 않으며, 무작위 초기값이 어느 골짜기로 내려갈지를 정한다는 것이 보이면 성공이다. 가끔 오차가 오래 정체되는 경우(지역 최소 근처)도 관찰 대상이다. 3D 곡면은 네트워크의 출력 y를 높이로 그린 것이다. 학습 전에는 거의 평평하던 면이, 학습이 끝나면 (0,1)과 (1,0) 쪽만 솟은 안장 모양으로 접힌다. 드래그로 돌려 가며 보자. 4장의 "직선 하나로는 불가능"이 3차원에서는 "종이를 한 번 접는 일"이었다는 것이 보이면 성공이다.
이 위젯의 학습 코드는 앞 카드의 3항 유도를 그대로 옮긴 20줄이다: dy=(y−t)·y(1−y)가 ①×②, 거기에 h를 곱해 출력층 가중치의 미분을, W₂를 곱하고 h(1−h)를 곱해 은닉층으로 책임을 넘긴다. 실습 노트북(XORnetwork.ipynb)에서 같은 구조를 numpy로 다시 만나고, 각 층의 계산식을 숫자로 출력해 보게 된다.
생각해 볼 질문 — 초기 가중치를 전부 0으로 두면 이 학습은 어떻게 되는가? (힌트: 두 은닉 유닛이 완전히 같은 미분을 받는다 — "대칭 깨기" 문제)
계산그래프 — 사과 2개와 귤 3개
복잡한 미분이 두 규칙으로 줄어든다 — 덧셈 노드는 그대로 통과시키고, 곱셈 노드는 서로 바꿔 곱한다.
계산을 그래프로 그리면 생기는 일
100원짜리 사과 2개와 150원짜리 귤 3개를 사고 소비세 10%를 낸다. 이 계산을 노드(연산)와 엣지(값)의 그래프로 그리면, 각 노드는 전체와 상관없이 자기 계산만 하면 된다 — 국소적 계산이다.
국소적 계산의 힘은 두 가지다. ① 아무리 복잡한 식도 단순 노드의 연결로 분해된다. ② 순전파 때 각 노드의 중간값을 저장해 두면, 역전파는 그 저장값만으로 계산된다. 파이토치·텐서플로가 하는 일이 정확히 이것이다 — 코드를 실행하며 계산그래프를 자동으로 기록하고(순전파), backward() 한 줄로 그래프를 거꾸로 훑는다(역전파). 여러분이 미분 코드를 손으로 짤 일이 없는 이유이자, 그 안에서 무슨 일이 벌어지는지 지금 배우는 이유다.
생각해 볼 질문 — 그림에서 귤 가격의 미분(3.3)을 "국소적 규칙"만으로 재구성해 보자. 어떤 값들이 곱해졌는가?
출처 계산그래프 예제의 원전: 사이토 고키, 『밑바닥부터 시작하는 딥러닝』, 한빛미디어, 2017 (5장).
덧셈은 통과, 곱셈은 교환
역전파에서 만나는 노드는 대부분 둘 중 하나다. 각 노드의 역전파 규칙은 미분 한 줄에서 나온다.
기말고사 단골인 z = (x + y)² 유형도 이 규칙 둘로 끝난다: t = x+y (덧셈), z = t² (제곱, ∂z/∂t = 2t). 역전파는 1 → 2t로 내려온 뒤, 그 2t가 x와 y에 그대로 복제된다. x=3, y=2면 ∂z/∂x = ∂z/∂y = 2(3+2) = 10.
계산그래프 순전파·역전파 계산기
한 줄 목표: 입력값을 바꿔 가며 순전파 값과 역전파 미분이 두 규칙대로 나오는지 확인한다 — 기말 기출(계산그래프 작도·순전파·역전파) 유형 그대로다.
조작: 사과 가격을 10원 올려 지불금액이 정확히 22원(=미분 2.2 × 10) 오르는지 확인하자. 예제를 z=(x+y)²로 바꿔 x, y를 움직여 보자. 관찰 포인트: 미분값이 "1원(1단위) 올릴 때 결과가 얼마나 변하는가"라는 예측이고, 실제로 그만큼 변하는 것이 확인되면 성공이다.
답안 작성 요령: ① 그래프를 그릴 때 노드에 연산, 엣지에 값을 쓴다. ② 순전파 값을 왼→오로 채운다. ③ 맨 오른쪽에서 1로 시작해, 덧셈=복제·곱셈=교환 규칙으로 오→왼으로 채운다. ④ 각 입력 자리의 최종 값이 그 입력에 대한 미분이다. 검산은 "입력을 1 올려 다시 순전파" — 결과 변화량이 미분과 같아야 한다.
생각해 볼 질문 — z = (x+y)² 에서 x와 y의 미분이 항상 같은 이유를 그래프 구조에서 설명해 보자.
소프트맥스와 교차엔트로피
분류의 오차는 거리(MSE)가 아니라 확률분포의 차이로 잰다 — "몇 번 물어야 맞히는가"라는 질문 개수가 그 자다.
점수를 확률로 — 소프트맥스
분류 신경망의 출력층은 클래스별 점수를 낸다. 소프트맥스는 이 점수들을 "합이 1인 확률분포"로 바꾼다 — 큰 점수는 크게, 작은 점수는 작게, 순서는 그대로다.
예: 점수 [2.0, 1.0, 0.1] → 확률 [0.66, 0.24, 0.10] — 합이 1, 전부 양수, 순서 유지
시그모이드+MSE 조합은 분류에서 저속 수렴 문제를 겪는다 — 크게 틀렸을 때조차 미분이 작아 학습이 굼뜨다. 그래서 현대 분류 신경망의 표준은 소프트맥스 출력 + 교차엔트로피 손실이다. 이 조합의 미분은 놀랍게 단순해진다(아래 해설).
소프트맥스+CE 조합의 진짜 매력은 미분이다. 출력층 점수 z에 대한 손실의 미분이 ∂L/∂z = ŷ − y (예측 확률 − 정답 원-핫)로 정리된다 — 3항 체인룰이 한 항으로 붕괴한다. 정답 확률이 0.3이면 미분 −0.7로 크게 배우고, 0.99면 −0.01로 거의 안 배운다: "틀린 만큼 배운다"가 수식으로 보장된다. M2에서 본 온도 스케일링(softmax(z/T))도 같은 식의 변형이다.
계산 안정성 메모: e^z는 z가 크면 오버플로하므로, 실제 라이브러리는 최댓값을 빼고 계산한다(LogSumExp 트릭). "내 코드에서 nan이 떴다"의 단골 원인이다.
생각해 볼 질문 — 소프트맥스 대신 "점수를 합으로 나누기"(zᵢ/Σzⱼ)를 쓰면 무엇이 무너지는가? 음수 점수를 넣어 보라.
출처 softmax 명명: Bridle, "Probabilistic Interpretation of Feedforward Classification Network Outputs", 1990: springer.com
엔트로피 — 최소 질문 개수의 기댓값
A·B·C·D가 균등하게 나오는 기계는 두 번의 예/아니오 질문("A·B 중에 있나?" → "A인가?")이면 맞힌다. A가 절반이나 나오는 기계라면 "A인가?"부터 묻는 것이 이득이다 — 정보량은 질문 개수다.
- 균등 분포 [¼,¼,¼,¼]의 기계: 어떤 문자든 질문 2개 → 엔트로피 = 0.25×2 × 4 = 2
- 치우친 분포 [½,⅛,⅛,¼]의 기계: A는 질문 1개, D는 2개, B·C는 3개 → 엔트로피 = 0.5×1 + 0.25×2 + 0.125×3×2 = 1.75
- 치우친 기계에 균등 전략(항상 반반 질문)을 쓰면: 기댓값 2 — 최적(1.75)보다 0.25 낭비
이 "낭비를 포함한 질문 개수"가 교차엔트로피다 — 문제(참 분포 p)에 전략(내 분포 q)을 쓸 때 드는 질문 개수의 기댓값. 전략이 문제와 일치할 때(q=p) 최소가 되고, 그때의 값이 엔트로피다. 분류 학습은 "모델의 전략 q를 데이터의 문제 p에 맞추는 일"이다.
엔트로피가 "무질서"가 아니라 "질문 개수"라는 조작적 정의로 배우면 세 가지가 공짜로 따라온다. ① 균등 분포가 엔트로피 최대인 이유 — 어디부터 물어도 이득이 없다. ② 교차엔트로피 ≥ 엔트로피인 이유 — 최적 전략보다 나은 전략은 없다. ③ 13주차 의사결정트리의 정보이득 — "이 질문을 하면 남은 질문 개수가 얼마나 줄어드는가"로 같은 개념이 재등장한다.
생각해 볼 질문 — 스무고개를 잘하는 사람의 전략을 엔트로피의 언어로 설명해 보자.
출처 Shannon, "A Mathematical Theory of Communication", Bell System Technical Journal, 1948: ieeexplore.ieee.org
교차엔트로피 숫자로 — 0.51, 0.51, 1.20
정답이 원-핫이면 교차엔트로피는 한 항만 남는다 — 정답 클래스에 준 확률의 −log. 3개 샘플이면 각각 계산해 평균을 낸다.
샘플1: 예측 [0.1, 0.3, 0.6], 정답 3번 → −ln 0.6 = 0.51
샘플2: 예측 [0.2, 0.6, 0.2], 정답 2번 → −ln 0.6 = 0.51
샘플3: 예측 [0.3, 0.4, 0.3], 정답 1번 → −ln 0.3 = 1.20 → 평균 = 0.74
예측 분포를 움직이며 CE 관찰하기
한 줄 목표: "정답에 준 확률이 낮을수록 손실이 급격히 커진다"는 −log의 성격을 체감한다. 슬라이더 값은 자동으로 합이 1이 되게 정규화된다.
조작: 초기 상태(예측 [0.1, 0.3, 0.6], 정답 3)의 CE가 본문의 0.51과 같은지 확인 → 정답 클래스의 점수를 최저로 낮춰 보자. 관찰 포인트: 정답 확률 0.6→0.3이면 CE는 0.51→1.20으로, 0.1 이하로 떨어지면 2.3을 넘어 가속적으로 커진다 — 크게 틀릴수록 크게 배우게 만드는 벌점 구조가 보이면 성공이다.
용어 정리 두 가지. ① 클래스가 둘이면 같은 식이 BCE(이진 교차엔트로피)로 줄고, 로지스틱 회귀의 log loss와 동일한 식이 된다. 셋 이상이면 Categorical CE이고 정답을 원-핫 인코딩으로 준다. ② 입력 특징의 표준화(평균 0, 분산 1)와 정답의 원-핫 인코딩은 학습 전 데이터 준비의 표준 절차다 — 나이 30과 배기량 3800처럼 스케일이 다른 특징을 그대로 넣으면 큰 수가 학습을 지배한다.
생각해 볼 질문 — 모델이 정답에 확률 1.0을 주면 CE는 0이다. 그런데 실무에서는 정답을 0.9로 낮춰 학습시키기도 한다(label smoothing). 왜일까? (힌트: M2의 환각·과신)
깊어질 때 생기는 병, 그리고 처방
기울기 소실은 미스터리가 아니라 0.25의 거듭제곱이라는 산수다 — 처방도 그래서 산수에서 나온다.
그래디언트 소멸 — 0.25의 저주
역전파는 층마다 활성화 함수의 미분을 한 번씩 곱한다. 시그모이드의 미분은 최대 0.25 — 층이 10개면 신호는 최대 0.25¹⁰ ≈ 100만분의 1로 줄어든다.
층수 × 곱해지는 값 → 남는 신호
한 줄 목표: 지수적 감쇠는 말로 전달되지 않는다 — 숫자로 확인한다.
조작: 0.25에서 층수를 10 → 20 → 40으로 올려 보고, 같은 층수에서 ReLU(1.0)로 바꿔 보자. 관찰 포인트: 시그모이드 최선의 경우조차 20층이면 1조분의 1 이하 — 2010년대 이전 "깊은 신경망은 안 된다"가 게으름이 아니라 산수였다는 것, 그리고 ReLU가 그 산수를 바꿨다는 것이 보이면 성공이다.
ReLU가 만능은 아니다 — 음수 구간의 미분이 0이라 한번 죽은 뉴런이 영영 안 살아나는 문제(dying ReLU)가 있고, Leaky ReLU 등 변형이 그 보완이다. 또 깊은 망의 학습 안정화에는 활성화 함수 교체 외에 배치 정규화·층 정규화(각 층의 입력 분포를 매번 표준화)가 함께 쓰인다 — 배치 단위로 정규화하는가(CNN 관례), 특징 축으로 정규화하는가(트랜스포머 관례)의 차이는 배포된 보조 자료 「정규화」에서 상세히 다룬다.
생각해 볼 질문 — 2주차의 트랜스포머는 수십 층인데 어떻게 학습이 될까? 활성화 함수 말고 "지름길"을 놓는 방법(잔차 연결)을 조사해 보자.
외우지 못하게 만드는 네 가지 방법
1장에서 진단한 과대적합의 처방전이다. 공통 원리는 하나다 — 모델이 학습 데이터를 통째로 외우기 어렵게 만든다.
네 처방의 선택 기준: 데이터를 더 구할 수 있으면 ③이 근본 처방이고, 못 구하면 ①이 가장 싸고 안전한 기본값이다. ②와 ④는 모델이 클수록 효과가 크다. 실무에서는 보통 ①+④를 기본으로 깔고 시작한다. 드롭아웃 논문(Srivastava 외, 2014)의 비유가 정확하다 — "매번 다른 절반의 직원으로 회사를 돌리면, 아무도 혼자만 아는 업무를 만들 수 없다."
생각해 볼 질문 — 드롭아웃은 학습 때만 켜고 예측 때는 끈다. 왜 그래야 하는가?
출처 Srivastava 외, "Dropout: A Simple Way to Prevent Neural Networks from Overfitting", JMLR 15, 2014: jmlr.org
이 자료가 바로잡은 세 가지
역전파를 신비롭게 만드는 통념들 — 전부 산수로 돌아온다.
기억해 둘 세 문장
- 역전파는 새로운 수학이 아니라 체인룰의 조립이다. 덧셈은 통과, 곱셈은 교환 — 두 규칙이면 사과·귤부터 LLM까지 같은 방식으로 미분된다.
- 기울기 소실은 미스터리가 아니라 0.25ⁿ이라는 산수다. 그래서 처방(ReLU, 정규화, 잔차 연결)도 그 산수를 바꾸는 것들이다.
- 분류의 오차는 거리가 아니라 질문 개수다. 소프트맥스+교차엔트로피의 미분이 ŷ−y로 무너지는 단순함이, 이 조합이 표준이 된 진짜 이유다.
학습 방법은 갖췄다. 다음 질문은 구조다 — 이미지에는 왜 CNN인가, 시퀀스에는 왜 RNN인가, 생성에는 왜 GAN인가. 다음 장 CNN·RNN·생성모델은 "구조는 데이터의 모양을 따른다"는 한 문장을 세 번 반복한다. 특성맵 크기 공식(기말 기출)도 거기서 만난다.
참고문헌
공개 원문 우선. 링크는 2026년 8월 확인 기준.
1차 문헌
- Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning Representations by Back-propagating Errors. Nature, 323, 533–536. nature.com
- Shannon, C. E. (1948). A Mathematical Theory of Communication. Bell System Technical Journal, 27. ieeexplore.ieee.org
- Bridle, J. S. (1990). Probabilistic Interpretation of Feedforward Classification Network Outputs, with Relationships to Statistical Pattern Recognition. Neurocomputing: Algorithms, Architectures and Applications (NATO ASI Series F 68, pp. 227–236). Springer. springer.com
- Srivastava, N., et al. (2014). Dropout: A Simple Way to Prevent Neural Networks from Overfitting. JMLR, 15, 1929–1958. jmlr.org
- Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet Classification with Deep Convolutional Neural Networks. NeurIPS 25. papers.nips.cc
교재 · 보조 자료
- 천인국 (2023). 인공지능: 파이썬으로 배우는 머신러닝과 딥러닝 (2판). 인피니티북스. — 9·10주차 강의 교재.
- 사이토 고키 (2017). 밑바닥부터 시작하는 딥러닝. 한빛미디어. — 계산그래프(사과·귤) 예제의 원전.
- 수업 보조 자료. Softmax와 Cross Entropy의 유도 · 크로스엔트로피 손계산 워크시트 · 정규화 3종 비교 — 강의 홈에서 배포.
수치 예(시그모이드 도함수 최댓값 0.25, CE 0.51/1.20, 발산 경계 α=1)는 본문에 유도 과정을 제시했거나 실습 위젯으로 직접 재현 가능하게 했다. 역전파의 "재발견"(1986) 표기는 그 이전의 독립적 제안들(Werbos 1974 등)이 있었음을 반영한 것이다.