Lesson 12

손실함수와 최적화

2 min Views 1

MSE·크로스 엔트로피 등 손실함수의 수학적 의미를 이해하고, 실제 AI 학습 루프에서 최적화가 이루어지는 과정을 정리한다.

손실함수란?

손실함수(Loss Function)는 모델의 예측이 정답에서 얼마나 벗어났는지를 하나의 숫자로 표현하는 함수입니다. AI 학습의 목표는 이 숫자를 최소화하는 것입니다.

회귀 손실: MSE

연속값을 예측할 때 사용합니다 (주가, 키, 온도 등).

# MSE (Mean Squared Error)
MSE = (1/n) × Σ(y_pred - y_true)^2

# 예시
y_true = [3.0, 5.0, 2.5]
y_pred = [2.8, 4.5, 2.9]
MSE = ((3.0-2.8)^2 + (5.0-4.5)^2 + (2.5-2.9)^2) / 3
    = (0.04 + 0.25 + 0.16) / 3 = 0.15

import torch
loss_fn = torch.nn.MSELoss()
loss = loss_fn(torch.tensor(y_pred), torch.tensor(y_true))

MSE는 큰 오차에 더 강하게 페널티를 줍니다 (제곱이므로).

분류 손실: 크로스 엔트로피

분류 문제에 사용합니다. 베이즈 정리 및 최대우도추정(MLE)과 수학적으로 연결됩니다.

# 이진 크로스 엔트로피 (이진 분류)
BCE = -[y×log(p) + (1-y)×log(1-p)]
# y: 실제 레이블 (0 또는 1)
# p: 모델의 예측 확률

# 다중 클래스 크로스 엔트로피
CE = -Σ y_i × log(p_i)  # 정답 클래스에 대해서만 손실 계산

import torch
loss_fn = torch.nn.CrossEntropyLoss()
loss = loss_fn(logits, targets)  # logits: 소프트맥스 전 값

왜 크로스 엔트로피를 쓰는가?

모델이 정답을 높은 확률로 예측할수록 -log(p)가 작아집니다. 반대로 확신 없이 낮은 확률을 예측하면 손실이 급격히 커집니다.

# 정답을 맞혔을 때의 손실
-log(0.99) ≈ 0.01  # 매우 확신 → 손실 작음
-log(0.50) ≈ 0.69  # 50/50 → 손실 중간
-log(0.01) ≈ 4.60  # 완전히 틀림 → 손실 매우 큼

완전한 학습 루프

for epoch in range(num_epochs):
    for batch_X, batch_y in dataloader:
        # 1. 순전파 (Forward Pass)
        predictions = model(batch_X)

        # 2. 손실 계산
        loss = loss_fn(predictions, batch_y)

        # 3. 역전파 (Backward Pass) — 그래디언트 계산
        optimizer.zero_grad()
        loss.backward()

        # 4. 파라미터 업데이트 — 경사하강법
        optimizer.step()

    print(f"Epoch {epoch}: Loss = {loss.item():.4f}")

정규화 손실

과적합을 방지하기 위해 손실함수에 파라미터 크기에 대한 페널티를 추가합니다.

# L1 정규화 (Lasso): 절댓값 합 → 희소한 파라미터 유도
L1_loss = base_loss + λ × Σ|w|

# L2 정규화 (Ridge/Weight Decay): 제곱합 → 파라미터를 0에 가깝게
L2_loss = base_loss + λ × Σw^2

optimizer = torch.optim.Adam(model.parameters(), lr=0.001, weight_decay=1e-4)
핵심: 손실함수는 AI 학습의 나침반입니다. MSE는 회귀, 크로스 엔트로피는 분류에 사용하며, 역전파가 이 손실의 그래디언트를 계산합니다.

관련 검색어  ·  손실함수, MSE 크로스 엔트로피, 딥러닝 학습 루프, L1 L2 정규화, 과적합 방지, AI 최적화

Advertisement

0 Comments

채용정보
공지사항
인사이트
MY