본문 바로가기
C.W.K.
Stream
Lesson 01 of 09 · published

학습이란 무엇인가

~18 min · learning, loss, gradient-descent

Level 0호기심
0 XP0/73 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

학습은 스칼라 손실을 줄이는 경사 하강법

신경망의 학습 과정은 이래. 먼저 배치에서 모델이 얼마나 틀렸는지를 나타내는 스칼라 손실을 정해. 그다음 모든 매개변수에 대한 손실의 기울기를 계산하고, 각 매개변수를 기울기의 반대 방향으로 조금씩 움직여. 이 과정을 많은 배치에 걸쳐 반복하면 끝이야. 이 학습 과정에서 다루는 옵티마이저, 스케줄, 규제 같은 다른 개념도 결국 이 반복 과정을 다듬는 방법이야.

이 반복 과정이 작동하는 근거는 미적분이야. 기울기는 매개변수 공간에서 손실이 가장 빠르게 증가하는 방향을 알려줘. 따라서 반대 방향으로 이동하면 손실이 줄어들어. 이동 폭이 충분히 작으면 국소 최솟값을 향해 내려갈 수 있어.

원칙: 딥러닝의 학습은 아주 고차원적인 손실 표면에서 내리막길을 걷는 일이야. 나머지는 모두 구현 세부사항이야.

마법처럼 보이지만 마법은 아니야

놀라운 점은 70-billion-매개변수 모델의 손실 표면에도 경사 하강법이 활용할 수 있는 구조가 있다는 거야. 실제로 큰 신경망은 손실이 낮으면서 일반화도 되는 영역을 찾아. 왜 이것이 작동하는지는 여전히 열려 있는 연구 문제지만, 실제로 작동한다는 사실은 잘 확립되어 있어. 그래서 이 분야가 흥미로운 거야.

엔지니어가 실제로 하는 일

과제에 맞는 손실을 골라. 분류에는 교차 엔트로피, 회귀에는 MSE, 순위 학습에는 트리플릿 손실을 써. 옵티마이저도 골라야 해. 2026년 기본값은 AdamW야. 학습률은 1e-4 ~ 3e-3부터 시작해서 조정해. 그런 다음 학습 루프를 돌리고, 손실 곡선을 확인하고, 다시 개선해.

팁: 딥러닝의 첫 직관을 익히는 프로젝트로는 2-D 이차 손실 표면에 경사 하강법을 직접 구현해 봐. 이동 경로를 그리고, 학습률이 그 경로를 어떻게 바꾸는지 살펴보는 거야. 20분이면 이후에 나오는 내용이 몸으로 이해되기 시작해.

Code

2차원 곡면에서의 경사 하강법·python
import numpy as np
import matplotlib.pyplot as plt

def loss(w):  return 0.5 * (w[0]**2 + 4 * w[1]**2)
def grad(w):  return np.array([w[0], 4 * w[1]])

def gd(start, lr, steps):
    path = [np.array(start, dtype=float)]
    for _ in range(steps):
        w = path[-1]
        path.append(w - lr * grad(w))
    return np.array(path)

slow   = gd([2.0, 2.0], lr=0.1,  steps=50)   # gentle, smooth
fast   = gd([2.0, 2.0], lr=0.4,  steps=50)   # zig-zags
toobig = gd([2.0, 2.0], lr=0.55, steps=50)   # diverges

for name, path in [("lr=0.1", slow), ("lr=0.4", fast), ("lr=0.55", toobig)]:
    plt.plot(path[:, 0], path[:, 1], label=name)
plt.legend(); plt.show()

External links

Exercise

서로 다른 학습률 3개로 위 함수에 경사 하강법을 구현해. 이동 경로를 그리고, 어느 것이 가장 빨리 수렴하는지, 어느 것이 지그재그로 움직이는지, 어느 것이 발산하는지 확인해. 각각에 대해 한 문장씩 적어.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.