Hello New World

[6편] 최적화와 기울기 이해하기 본문

인공지능/딥러닝 입문

[6편] 최적화와 기울기 이해하기

Getty J. 2025. 4. 8. 20:17

최적화(Optimization)란?

최적화는 "고양이 사진이면 고양이 점수가 높게, 다른 점수는 낮게" 나오도록 가중치(W)를 조정하는 과정입니다
최적화 과정에서는 '손실 함수(Loss Function)'라는 것을 사용합니다.
이 함수는 모델이 얼마나 잘못 예측하는지를 숫자로 나타냅니다.
손실 값이 크면 예측이 많이 틀렸다는 뜻이고, 작으면 예측이 정확하다는 뜻입니다.
최적화의 목표는 이 손실 값을 최소화하는 가중치(W)를 찾는 것입니다.

손실함수 = 얼마나 틀렸는지 계산하기
최적화 = 어떻게 고칠지 방향을 정하는 것. W를 조금씩 수정하는 작업.

나쁜 방법 vs 좋은 방법

 - 나쁜 방법: 랜덤 서치(Random Search)
  말 그대로 무작위로 가중치 값을 시도해보는 방법입니다.
  운 좋으면 괜찮지만… 대부분은 시간만 낭비!

 - 좋은 방법: 기울기 따라가기(Gradient Descent)
  현재 위치에서 가장 빠르게 내려가는 방향으로 조금씩 움직이는 방법입니다.
 → 현재 가중치에서 손실 함수의 기울기(경사)를 계산합니다
 → 기울기의 반대 방향으로 조금 움직입니다 (내리막 방향)
 → 새 위치에서 다시 기울기를 계산하고 반복합니다


기울기(Gradient)란 무엇인가?

1차원에서는?
기울기 = 올라가고 내려가는 방향
  • 평한 도로에서는 기울기가 0입니다 (변화 없음)
  • 오르막길에서는 기울기가 양수입니다 (점점 높아짐)
  • 내리막길에서는 기울기가 음수입니다 (점점 낮아짐)

수학적으로는, 특정 지점 x에서의 기울기는 그 지점에서의 함수 f(x)의 미분값 f'(x)입니다.

예를 들어, 손실 함수 L(w)에서 w가 하나의 가중치일 때:

  • L'(w) > 0이면: w를 증가시키면 손실이 증가합니다 (오르막)
  • L'(w) < 0이면: w를 증가시키면 손실이 감소합니다 (내리막)
  • L'(w) = 0이면: w를 바꿔도 손실이 변하지 않습니다 (평평함)

최적화에서는 손실을 감소시키는 방향으로 가야 하므로, 기울기의 반대 방향(-L'(w))으로 움직입니다.


여러 차원에서는?
그래디언트(Gradient) = 여러 방향의 기울기 묶음

진짜 모델에서는 가중치(W)는 보통 하나가 아니라, 수백만 개(W)가 있습니다.
각 숫자마다 기울기(어디로 움직이면 좋은지)가 따로 있습니다.

예를 들어 W가 두 개면:

  • 그래디언트 ∇L(W) = [∂L/∂w₁, ∂L/∂w₂]
     → ∂L/∂w₁은 w₁ 방향의 기울기
     → ∂L/∂w₂는 w₂ 방향의 기울기
    각각의 방향(w₁, w₂)에서 얼마나 틀렸는지 알려줍니다.

※ 그래디언트는 벡터로, 모든 방향의 편미분값을 모아놓은 것입니다

음(-)의그래디언트 방향으로 가중치를 업데이트하면서 손실을 최소화합니다.

  • 업데이트 공식

    W_new = W_old - η × ∇L(W)

   → 여기서 η(에타)는 학습률(learning rate)로, 한 번에 얼마나 크게 움직일지를 결정합니다.