P2-4.4 학습에서 미분이 필요한 이유¶
Section ID:
P2-4.4Version:v2026.09.14
손실이 크다는 사실만으로는 파라미터를 늘려야 할지 줄여야 할지 알 수 없습니다. 미분은 현재 파라미터를 조금 바꿀 때 손실이 어느 쪽으로 얼마나 민감하게 변하는지 알려 줍니다. 그래디언트를 이용하는 학습은 이 변화율로 조정 방향을 정하고, 학습률로 조정 크기를 정하는 과정을 반복합니다.
예측에서 손실까지¶
입력에 일정한 배수를 곱해 출력을 예측하는 작은 모델을 생각해 보겠습니다. 입력은 x, 학습할 배수는 파라미터 w, 예측값은 ŷ입니다. 기호 위의 모자 ^는 정답과 구별되는 예측값을 나타냅니다.
학습 자료 한 건이 입력 x=1, 정답 y=3이라고 합시다. 현재 w=2이면 예측은 2×1=2입니다. 정답은 자료에 고정되어 있고, 학습으로 바꾸는 것은 w입니다.
예측에서 정답을 뺀 오차는 2−3=−1입니다. 이 오차를 제곱한 값을 손실로 정하면, 과대 예측과 과소 예측 모두 양수로 점수화됩니다.
따라서 현재 손실은 1입니다. 이 손실 함수는 갑자기 주어진 별도 식이 아니라, 모델의 예측식과 정답, 오차를 점수화하는 규칙을 합친 결과입니다. 실제 학습에서는 보통 여러 자료의 손실을 평균해 사용하지만, 여기서는 한 건으로 계산을 확인합니다.
같은 손실, 반대 조정 방향¶
w=2와 w=4에서는 예측이 정답 3의 양쪽에 있고, 손실은 모두 1입니다. 손실값은 틀린 정도를 요약하지만 조정 방향을 구별해 주지는 못합니다. 도함수 L′(w)=2(w−3)를 함께 보면 차이가 드러납니다.
| 현재 w | 예측 | 손실 | 도함수 | 손실을 줄이는 작은 조정 |
|---|---|---|---|---|
| 2 | 2 | 1 | −2 | w를 늘림 |
| 4 | 4 | 1 | 2 | w를 줄임 |
| 3 | 3 | 0 | 0 | 이 예시의 최솟값 |
w=2에서 2.1로, w=4에서 3.9로 이동하면 두 경우 모두 손실이 0.81이 됩니다. 반대로 1.9, 4.1로 이동하면 손실이 1.21로 커집니다. 같은 손실에서 출발해도 도함수의 부호에 따라 조정 방향은 달라집니다.
학습률로 갱신 크기 정하기¶
가장 기본적인 경사하강법은 현재 값에서 도함수에 양수인 학습률을 곱한 값을 뺍니다. 학습률(learning rate)은 한 번의 갱신에 변화율을 얼마나 반영할지 정하는 계수이며, 아래에서는 그리스 문자 에타 η로 표시합니다.
w=2, 학습률 η=0.1이면 w_new=2−0.1×(−2)=2.2입니다. 음수를 빼므로 파라미터가 커집니다. 새 예측은 2.2, 새 손실은 (2.2−3)²=0.64입니다. w=4에서 시작하면 4−0.1×2=3.8로 줄어들고 손실은 똑같이 0.64가 됩니다.
갱신을 반복할 때는 바뀐 파라미터에서 도함수를 다시 계산합니다. 처음 계산한 −2를 계속 사용하는 것이 아닙니다. w=2에서 세 번 갱신하면 다음과 같습니다.
| 갱신 횟수 | 현재 w = 예측 | 현재 손실 | 현재 도함수 | 다음 갱신량 −0.1×도함수 |
|---|---|---|---|---|
| 0 | 2 | 1 | −2 | +0.2 |
| 1 | 2.2 | 0.64 | −1.6 | +0.16 |
| 2 | 2.36 | 0.4096 | −1.28 | +0.128 |
| 3 | 2.488 | 0.262144 | −1.024 | +0.1024 |
갱신 횟수 0은 학습 전 상태이며, 마지막 행의 갱신량은 네 번째 갱신에 사용할 값입니다. 예측은 정답 3에 가까워지고 손실과 도함수의 절댓값은 줄어듭니다. 이 계산에서 0.1은 이동 거리 자체가 아닙니다. 도함수와 곱한 결과가 실제 파라미터 변화량입니다.
방향이 맞아도 큰 갱신은 실패한다¶
같은 출발점 w=2에서 학습률만 바꾸어 보겠습니다.
| 학습률 η | 새 w | 새 손실 | 결과 |
|---|---|---|---|
| 0.01 | 2.02 | 0.9604 | 조금 감소 |
| 0.1 | 2.2 | 0.64 | 감소 |
| 0.5 | 3 | 0 | 이 함수에서는 한 번에 최솟값 도달 |
| 1 | 4 | 1 | 반대편으로 넘어가 손실 유지 |
| 1.1 | 4.2 | 1.44 | 지나치게 넘어가 손실 증가 |
미분은 현재 위치 근처의 변화 정보를 줍니다. 감소 방향을 알아도 너무 멀리 이동하면 최솟값을 지나 손실이 커질 수 있습니다. 위 표에서 0.5가 좋은 결과를 낸 것은 이 함수의 모양 때문이며, 다른 모델에서도 같은 학습률이 적절하다는 뜻은 아닙니다.
그래디언트 계산과 파라미터 갱신¶
파라미터가 여러 개일 때는 도함수 대신 앞 절의 그래디언트를 사용합니다. 기본 경사하강법의 벡터식은 다음과 같습니다.
각 그래디언트 성분은 대응하는 파라미터 갱신에 사용됩니다. 딥러닝에서는 여러 층의 계산을 거쳐 손실이 만들어지므로, 손실에서 각 파라미터까지 이어지는 변화율을 효율적으로 구해야 합니다. 역전파(backpropagation)는 연쇄법칙을 이용해 이 그래디언트를 계산하는 절차입니다. 연쇄법칙은 이어진 계산들의 변화율을 연결하는 미분 규칙입니다.
옵티마이저(optimizer)는 계산된 그래디언트를 받아 파라미터를 갱신하는 방법입니다. 위 식은 가장 기본적인 방법이며, 다른 옵티마이저는 이전 갱신 정보 등을 추가로 사용할 수 있습니다. 역전파가 파라미터를 직접 고치는 것과, 옵티마이저가 그래디언트를 계산하는 것을 혼동하지 않아야 합니다.
다음 도식은 같은 예시의 첫 번째 갱신을 보여 줍니다. 갱신한 파라미터로 다시 예측하고 손실과 그래디언트를 계산하면서 학습을 반복합니다.
flowchart TD
A["예측<br/>x = 1, w = 2 → ŷ = 2"]
B["손실 계산<br/>y = 3 → L = 1"]
C["그래디언트 계산<br/>L′ = 2 × (2 − 3) = −2"]
D["파라미터 갱신<br/>η = 0.1 → w = 2.2"]
A --> B --> C --> D
D -->|"갱신 후 다시 예측"| A
모든 값을 시험하는 대신 변화율 사용하기¶
파라미터가 하나라면 w=0,1,2,3,4,5를 모두 넣어 손실을 비교할 수도 있습니다. 각 파라미터에서 이 여섯 값을 시험하면 파라미터 2개는 6²=36가지, 10개는 6¹⁰=60,466,176가지 조합이 됩니다. 이산적인 여섯 후보만 비교해도 조합 수가 빠르게 늘어납니다.
그래디언트는 모든 조합을 나열하는 대신 현재 위치의 변화 정보를 이용합니다. 역전파는 계산 중간 결과를 활용해 많은 파라미터의 그래디언트를 효율적으로 구할 수 있게 합니다. 다만 현재 위치의 정보만으로 전역 최솟값을 보장할 수는 없습니다.
이 설명은 미분을 사용하는 학습 방법에 관한 것입니다. 모든 AI 학습이 미분을 요구하는 것은 아니며, 미분을 쓰지 않고 값을 탐색하거나 규칙을 선택하는 방법도 있습니다.
훈련 손실과 새로운 자료의 성능¶
예시에서는 한 자료의 손실이 꾸준히 줄었습니다. 실제 학습에서는 여러 자료를 묶은 미니배치(minibatch)로 그래디언트를 계산하는 경우가 많습니다. 갱신마다 자료가 달라질 수 있으므로 손실이 매번 일정하게 줄어드는 모습만 기대해서는 안 됩니다.
또한 훈련 자료의 손실이 작아져도 처음 보는 자료에서 예측이 좋아졌다고 보장할 수 없습니다. 학습에 사용한 자료에만 맞춘 것일 수 있기 때문입니다. 파라미터 갱신에 쓰지 않는 검증 자료에서 성능을 함께 확인해야 합니다. 미분은 정해진 손실을 줄이는 데 필요한 정보를 제공하지만, 그 손실과 자료가 실제 목표를 잘 나타내는지는 별도로 판단해야 합니다.
연습: 갱신을 이어 계산하기¶
w=4, η=0.1에서 시작해 두 번 갱신한 뒤의 파라미터와 손실을 구해 보세요. 두 번째 갱신에서 처음의 도함수 2를 그대로 쓰면 어떤 값이 나오는지도 비교해 보세요.
계산과 해설
첫 갱신은 4−0.1×2=3.8입니다. 여기서 도함수는 2×(3.8−3)=1.6으로 바뀌므로 두 번째 갱신은 3.8−0.1×1.6=3.64, 손실은 0.64²=0.4096입니다. 예전 도함수 2를 재사용하면 3.6이 되며, 현재 위치에서 계산하는 경사하강법의 갱신과 다릅니다.
체크리스트¶
- 예측식과 정답으로 손실 함수를 구성할 수 있는가?
- 같은 손실에서도 도함수의 부호가 반대일 수 있음을 설명할 수 있는가?
- 학습률과 도함수로 새 파라미터를 계산할 수 있는가?
- 갱신한 위치에서 그래디언트를 다시 계산하는 이유를 설명할 수 있는가?
- 역전파의 계산 역할과 옵티마이저의 갱신 역할을 구분할 수 있는가?
- 훈련 손실 감소와 새로운 자료의 성능 향상을 구분할 수 있는가?
출처와 참고 자료¶
- Goodfellow, Bengio, Courville, Deep Learning, Chapter 8. 손실 최적화, 미니배치, 일반화의 차이.
- PyTorch, Optimizing Model Parameters. 그래디언트 계산과 옵티마이저 갱신의 구분.
확인 날짜: 2026-09-14. 수치 사례와 도식은 자체 구성했습니다.