Part 4 · Neural Network Learning - How Neural Networks Learn

신경망은 정답과의 차이를 줄이며 학습한다

신경망은 처음부터 정답을 알고 있는 것이 아닙니다. 현재의 Weight와 Bias를 이용해 먼저 예측한 뒤, 실제 정답과 얼마나 차이가 나는지를 계산합니다. 그리고 그 오차가 줄어드는 방향으로 파라미터를 조금씩 수정합니다. 이 과정을 수없이 반복하면서 모델은 점차 더 정확한 예측을 할 수 있게 됩니다. 신경망의 학습은 새로운 규칙을 추가하는 작업이 아니라, 수많은 숫자를 조금씩 조정하는 과정입니다.

The Core Idea

학습은 예측하고, 채점하고, 수정하는 과정이다

사람이 문제를 풀고 채점 결과를 보며 다음 답을 고치듯, 신경망도 현재 상태로 먼저 예측한 뒤 정답과 비교하여 내부 파라미터를 수정합니다.

입력 보기학습 데이터
현재 값으로 계산Weight·Bias 사용
예측하기모델의 답
정답 확인Label과 비교
틀린 정도 계산Loss
조금 수정다시 시도
신경망 학습의 본질은 예측 → 정답과 비교 → 오차 계산 → 파라미터 수정의 반복입니다.
A Simple Example

한 번의 학습 상황을 먼저 따라가 보자

입력 고양이 사진
→
현재 예측 개
실제 정답 고양이
→
학습해야 할 일 다음에는 고양이 확률을 높이고 개 확률을 낮추도록 Weight와 Bias를 수정
신경망이 “고양이의 본질”을 문장으로 이해한 것은 아닙니다. 고양이 정답이 더 높은 점수를 받도록 내부 숫자를 수정한 것입니다.
The Full Cycle

전체 학습 흐름을 먼저 한눈에 보기

입력과 정답Training Data
현재 파라미터Weight·Bias
예측Forward Pass
오차 계산Loss
파라미터 수정Backpropagation
이제부터 이 다섯 단계를 하나씩 자세히 살펴봅니다.
Forward Pass

현재 Weight와 Bias로 먼저 예측한다

입력이 신경망의 첫 단계에서 마지막 단계까지 앞으로 전달되며 계산되는 과정을 순전파(Forward Pass)라고 합니다.

입력문장·이미지
첫 Layer기초 특징 계산
중간 Layer특징 조합
출력 Layer점수 계산
예측가장 높은 결과 선택
고양이
0.28
개
0.61
자동차
0.11
순전파는 현재 파라미터가 얼마나 좋은지 확인하기 위한 현재 모델의 실제 답안 작성 과정입니다.
Loss

예측과 정답의 차이를 Loss로 나타낸다

정답은 고양이인데 모델은 개에 가장 높은 확률을 주었습니다. 이 차이를 숫자로 나타낸 값이 Loss입니다.

모델 예측 고양이 0.28
vs
실제 정답 고양이 1.00
→
Loss 예측이 얼마나 틀렸는가
Loss는 단순한 점수표가 아닙니다. 어떤 방향으로 파라미터를 수정해야 할지 계산하기 위한 기준입니다.
Backpropagation

결과에서 출발해 영향을 뒤로 추적한다

예측은 입력에서 출력 방향으로 계산했습니다. 이제는 Loss에서 출발해 이전 계산 단계로 거슬러 올라가며 각 Weight와 Bias가 오류에 얼마나 영향을 주었는지 계산합니다.

입력 가까운 Weight영향 계산
앞쪽 Layer영향 계산
중간 Layer영향 계산
출력 Layer영향 계산
Loss오류에서 출발
이처럼 오류의 영향을 출력에서 입력 방향으로 전달하는 과정을 역전파(Backpropagation)라고 합니다.
Gradient

Gradient는 수정 방향과 민감도를 알려 준다

역전파의 결과로 각 파라미터마다 Gradient가 계산됩니다. 초보 단계에서는 Gradient를 다음 두 정보를 담은 값으로 이해하면 충분합니다.

어느 방향? 값을 늘릴지 줄일지 알려 줍니다.
얼마나 민감한가? 해당 파라미터가 Loss에 얼마나 큰 영향을 주는지 나타냅니다.
무엇을 위한가? Loss가 줄어드는 방향으로 Weight와 Bias를 수정하기 위해 사용합니다.
Gradient 자체가 정답은 아닙니다. 현재 위치에서 Loss를 줄이려면 어느 방향으로 움직여야 하는지를 알려 주는 정보입니다.
Learning Rate

Learning Rate는 한 번에 얼마나 수정할지 정한다

Gradient가 방향을 알려 주더라도 Weight를 한 번에 너무 크게 바꾸면 좋은 값을 지나칠 수 있습니다. 반대로 너무 작게 바꾸면 학습이 매우 느려집니다.

너무 큰 Learning Rate 수정 폭이 너무 커서 좋은 지점을 지나치거나 Loss가 불안정해질 수 있습니다.
적절한 Learning Rate Loss가 줄어드는 방향으로 조금씩 안정적으로 이동합니다.
너무 작은 Learning Rate 올바른 방향이라도 변화가 너무 작아 학습 시간이 오래 걸립니다.
Learning Rate는 파라미터 수정의 보폭입니다.
Parameter Update

Weight와 Bias는 한 번에 조금씩 바뀐다

Weight 0.32 → 0.35
Weight 0.35 → 0.38
Weight 0.38 → 0.41

한 번의 수정은 작지만, 많은 데이터에서 이 과정이 반복되면서 모델의 예측 능력이 점차 좋아집니다.

학습은 파라미터를 한 번에 완성하는 과정이 아니라, 작은 수정을 매우 많이 반복하는 과정입니다.
Interactive Training Cycle

한 번의 학습 사이클을 직접 따라가기

현재 단계

현재 예측

고양이
개

학습 횟수

0회

현재 Loss

1.20

대표 Weight

0.20
이 실습은 학습 원리를 이해하기 위한 단순화된 예입니다. 실제 신경망에서는 수많은 Weight와 Bias가 동시에 계산되고 수정됩니다.
Why Repeat?

왜 같은 과정을 수많이 반복할까?

한 사례만으로 부족하다 고양이 사진 한 장만 잘 맞히는 것이 아니라 다양한 고양이를 구분해야 합니다.
한 번의 수정은 작다 안정적인 학습을 위해 파라미터를 조금씩 변경합니다.
여러 패턴을 함께 배운다 다양한 데이터에서 반복되는 특징이 Weight와 Bias에 반영됩니다.
학습 반복이 쌓이면서 Loss가 전반적으로 낮아지고, 새로운 입력에서도 더 나은 예측을 할 가능성이 높아집니다.
Training vs Inference

학습과 추론은 서로 다르다

구분 학습(Training) 추론(Inference)
목적 좋은 Weight와 Bias를 찾음 학습된 파라미터로 결과를 생성
정답 Label 대부분 필요 일반적으로 없음
Loss 계산 수행 일반 사용자 실행에서는 보통 수행하지 않음
역전파 수행 수행하지 않음
Weight 수정 수정함 고정된 값을 사용함
학습은 모델을 만드는 과정이고, 추론은 완성된 모델을 사용하는 과정입니다.
Common Questions

자주 생기는 의문

순전파만 하면 학습이 되는가?
아닙니다. 순전파는 현재 파라미터로 예측을 만드는 과정입니다. 학습이 되려면 정답과 비교해 Loss를 계산하고, 역전파와 파라미터 수정까지 수행해야 합니다.
Loss가 줄면 항상 좋은 모델인가?
학습 데이터의 Loss가 낮아도 새로운 데이터에서 성능이 나쁠 수 있습니다. 학습 데이터를 지나치게 외운 과적합 여부도 함께 확인해야 합니다.
Gradient가 Weight 그 자체인가?
아닙니다. Weight는 모델이 저장하는 파라미터이고, Gradient는 현재 Weight를 어느 방향으로 수정할지 계산한 정보입니다.
Summary

학습 내용 정리

  • 신경망 학습은 예측, 채점, 수정의 반복 과정입니다.
  • 순전파는 현재 Weight와 Bias로 입력을 계산해 예측을 만드는 과정입니다.
  • Loss는 예측과 실제 정답의 차이를 숫자로 나타냅니다.
  • 역전파는 Loss에서 출발해 각 파라미터의 영향을 뒤로 추적합니다.
  • Gradient는 파라미터를 어느 방향으로 수정할지 알려 줍니다.
  • Learning Rate는 한 번에 수정하는 크기를 정합니다.
  • Weight와 Bias는 Loss가 줄어드는 방향으로 조금씩 수정됩니다.
  • 작은 수정이 많은 데이터에서 반복되며 모델의 예측 능력이 향상됩니다.
  • 학습에서는 Weight를 수정하지만 추론에서는 학습된 Weight를 그대로 사용합니다.
  • 다음 장에서는 Epoch, Batch, Mini-batch처럼 반복 학습을 구성하는 방법을 살펴봅니다.