전방향(Forward)으로 흐른 결과가 어떻게 후방향(Backward)의 조정 연쇄 효과(Chain Effect)를 일으키는지 단계별로 설명해 드리겠습니다.
1. 전방향 전달 (Forward Pass): "결과 도출 과정"
먼저 이미지는 다음의 과정을 거쳐 결과 a(L)에 도달했습니다.
입력 신호 (a(L−1)): 이전 층에서 전달된 신호의 세기가 0.48입니다.
가중치 결합 (z(L)): 이 신호에 가중치(w(L))를 곱하고 편향(b(L))을 더해 z(L)이 만들어집니다.
z(L)=w(L)⋅0.48+b(L)
활성화 (a(L)): z(L)을 활성화 함수(σ)에 통과시켜 최종 출력 0.66을 얻었습니다.
목표 (y): 우리가 도달해야 할 정답은 1.00입니다.
2. 후방향 연쇄 효과 (Backward Pass): "조정의 원리"
이제 정답(1.00)과 실제 값(0.66) 사이의 오차를 줄이기 위해 가중치(w(L))를 얼마나 바꿔야 할지 결정해야 합니다. 이것이 이미지 왼쪽의 미분 연쇄 법칙(Chain Rule)입니다.
① 1단계: 출력층의 오차 측정 (∂a(L)∂C0)
의미: "최종 출력 a(L)이 얼마나 변해야 비용(C0)이 줄어드는가?"
계산: 이미지 수식에 따라 2(a(L)−y)=2(0.66−1.00)=−0.68
해석: 현재 값이 정답보다 작으므로(0.66<1.00), a(L)을 키워야 한다는 신호가 발생합니다.
1. 제곱 미분의 기초 (Power Rule)
우리가 사용하는 비용 함수(MSE)는 다음과 같습니다. C0=(a(L)−y)2
이것을 a(L)에 대해 미분할 때, 수학의 미분 기본 공식인 거듭제곱의 법칙(Power Rule)을 사용합니다. f(x)=xn⟹f′(x)=n⋅xn−1
따라서, C0를 a(L)로 미분하면:
∂a(L)∂C0=2⋅(a(L)−y)2−1⋅∂a(L)∂(a(L)−y) ∂a(L)∂C0=2⋅(a(L)−y)⋅1=2(a(L)−y) 결론: 이 2는 단순히 (a(L)−y)라는 덩어리를 제곱했기 때문에 미분 결과로 튀어나온 상수입니다.
2. 왜 실무에서는 21을 앞에 붙일까?
그런데 눈치채셨을지 모르겠지만, 실무(딥러닝 교과서나 코드)에서는 비용 함수를 보통 다음과 같이 정의합니다. C0=21(a(L)−y)2
앞에 21을 붙여놓으면 어떤 일이 벌어질까요? 다시 미분해 보겠습니다. ∂a(L)∂C0=21⋅2⋅(a(L)−y)=(a(L)−y)
보시다시피, 앞에 붙은 21이 제곱 미분으로 내려온 2를 상쇄(cancel)시켜 버립니다.
수학적 이유: 미분 결과값을 깔끔하게(a(L)−y) 만들기 위해서입니다.
실무적 이유: 복잡한 신경망에서는 수천, 수만 번 미분을 수행합니다. 그때마다 숫자 2를 곱하는 연산은 불필요한 계산 비용을 발생시키고, 기울기 크기를 2배로 키워 학습 속도나 안정성에 미세한 영향을 줄 수 있습니다. 그래서 계산의 편의를 위해 미리 상쇄시켜 두는 것입니다.
② 2단계: 활성화 함수의 민감도 (∂z(L)∂a(L))
의미: "z(L)을 살짝 건드렸을 때, 출력 a(L)이 얼마나 민감하게 반응하는가?"
계산: σ′(z(L)) (이미지에서 초록색 부분)
해석: 만약 z(L)이 너무 크거나 작아서 활성화 함수가 평평한 곳에 있다면 이 값은 0에 가깝고, 조정 신호는 여기서 차단됩니다(기울기 소실).
③ 3단계: 입력 신호의 기여도 (∂w(L)∂z(L))
의미: "가중치 w(L)를 바꿀 때 그 영향력이 얼마나 큰가?"
계산: a(L−1)=0.48 (이미지에서 하늘색 부분)
해석: 매우 중요한 포인트입니다. 가중치를 조정할 때, 그 가중치에 곱해졌던 입력값(a(L−1))이 클수록 가중치 조정의 강도가 세집니다. 만약 a(L−1)이 0이었다면, w(L)을 아무리 바꿔도 z(L)에 영향을 주지 못하므로 조정 효과는 0이 됩니다.