구조를 만들었으니 이제 학습을 시켜야겠죠? 딥러닝 모델이 단순히 계산만 하는 게 아니라 '복잡한 패턴'을 익히고 '스스로 수정'하는 원리를 알아보겠습니다.
1. 활성화 함수 (Activation Function): 세상을 곡선으로 보자
퍼셉트론을 수백 층 쌓아도, 단순히 곱하고 더하는(선형 연산) 과정만 반복하면 그 결과는 여전히 딱딱한 '직선'일 뿐입니다. 하지만 세상의 데이터(환자의 질병 유무 등)는 직선으로 깔끔하게 나뉘지 않죠.
이 문제를 해결하기 위해 신경망에 비선형 함수(Non-linear function)를 주입합니다.

(왼쪽) 시그모이드 함수:
-
- 입력된 값을 0과 1 사이의 S자 곡선(Curve)으로 부드럽게 변환해 줍니다.
- 수식: $y = \frac{1}{1+e^{-x}}$
- 과거에는 이 함수를 많이 썼지만, 최근에는 층이 깊어지면 학습이 잘 안 되는 문제(기울기 소실) 때문에 ReLU라는 함수도 많이 사용합니다.
(오른쪽) 왜 비선형이 필요한가? (XOR 문제):
-
- 점선(직선)으로는 빨간점과 초록점을 완벽하게 나눌 수 없습니다.
- 하지만 활성화 함수를 통해 곡선(파란 실선)을 그릴 수 있게 되면, 복잡하게 섞인 데이터도 유연하게 분류할 수 있게 됩니다.
2. 오차 역전파 (Back Propagation): 실패에서 배운다
구조를 만들었으니 이제 가중치($w$)를 최적의 값으로 조정하는 '학습'을 해야 합니다.
하지만 층이 깊어지면 고쳐야 할 가중치가 수만 개가 넘는데, 이걸 어떻게 일일이 수정할까요?

- Forward (검정 화살표): 입력부터 출력까지 쭉 계산해서 예측값($\hat{y}$)을 냅니다.
- Loss 계산: 정답($y$)과 예측값의 차이(오차)를 구합니다.
- Backward (빨간 화살표): 발생한 오차를 출력층에서 입력층 방향(뒤쪽)으로 전파합니다.
- 이때 "이 오차에 네가 얼마나 기여했니?"를 따져서 각 가중치를 조금씩 수정합니다. 이것이 바로 오차 역전파입니다.
3. 연쇄 법칙 (Chain Rule): 역전파의 수학적 엔진
"오차를 거꾸로 계산한다"는 것은 수학적으로 미분의 '연쇄 법칙(Chain Rule)'을 사용합니다.
- 원리: 복잡한 함수의 미분은 각각의 단계별 미분값을 곱한 것과 같습니다.
- $\frac{\partial Loss}{\partial w} = \frac{\partial Loss}{\partial \hat{y}} \times \frac{\partial \hat{y}}{\partial h} \times \frac{\partial h}{\partial w}$
- 의미: 출력층 바로 앞의 가중치는 오차를 바로 알 수 있지만, 입력층 근처의 가중치는 오차와 너무 멉니다. 이때 연쇄 법칙을 이용해 뒤쪽에서 구한 미분값들을 차례대로 곱해오면, 아무리 깊은 신경망이라도 입력층 끝까지 효율적으로 가중치를 업데이트할 수 있습니다.
'Study Note > Deep Learning' 카테고리의 다른 글
| 1. 신경망의 두 가지 갈래 & Linear Layer 해부 (0) | 2026.01.07 |
|---|---|
| [딥러닝 이론 1] 뇌를 흉내 낸 기계, 퍼셉트론에서 DNN까지 (0) | 2026.01.06 |
| 딥러닝 실전! 텐서 곱셈(Matmul) 완벽 정리 (0) | 2026.01.05 |
| 딥러닝을 위한 '텐서'와 '행렬'의 정체 (1) | 2026.01.02 |
| 딥러닝을 위한 필수 라이브러리, 의료 데이터로 정복하기 (0) | 2026.01.02 |