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

미적분은 변화와 누적을 잇는 언어

~8 min · calculus, change, derivative

Level 0수학 초심자
0 XP0/59 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete

한순간의 변화와 구간의 누적

차가 달린 거리만 알면 지금 속도는 바로 알 수 없어. 시간에 따른 거리의 변화율을 봐야 해. 반대로 매 순간의 속도를 알면 일정 시간 동안 얼마나 이동했는지 누적할 수 있어. 미분과 적분은 이 두 질문을 잇는 언어야.

  • 미분: 입력을 아주 조금 바꿀 때 출력이 얼마나 민감하게 변하는지 재.
  • 적분: 작은 변화나 밀도를 구간 전체에 쌓아 총량을 구해.

매개변수 를 조금 바꿨을 때 손실 이 얼마나 달라지는지가 야. 수백만 매개변수의 편미분을 모으면 기울기 벡터가 되고, 최적화기는 그 정보를 이용해 갱신 방향을 잡아.

자동미분이 해 주는 일과 못 해 주는 일

PyTorch 같은 프레임워크는 실행한 연산으로 계산그래프를 만들고 연쇄법칙을 적용해 도함수를 계산해. 그래서 긴 미분식을 매번 손으로 전개할 필요는 없어. 하지만 어떤 목적함수를 미분할지, 미분 가능한 연산인지, 기울기가 유용한 신호인지까지 자동으로 결정해 주진 않아.

도함수 공식을 전부 외울 필요는 없지만 부호와 크기는 예상할 수 있어야 해. 손실이 줄어야 하는데 커진다면 부호가 뒤집혔는지, 기울기가 0이라면 포화나 그래프 단절이 있는지 살펴야 하거든.

미분은 국소 변화율, 적분은 구간 누적이야. 자동미분은 계산을 맡고, 어떤 변화가 중요한지 판단하는 일은 우리가 맡아.

Code

autograd 결과를 손계산으로 검증하기·python
import torch

# Autograd 가 도함수 자동 계산
x = torch.tensor(3.0, requires_grad=True)
y = x ** 2 + 2 * x + 1            # y = (x + 1)^2

y.backward()
print(f"x=3 에서 dy/dx: {x.grad.item()}")    # 8.0 (= x=3 에서 2x + 2)

External links

Exercise

PyTorch autograd로 y=x^3-2x의 x=2에서 도함수를 구하고, dy/dx=3x^2-2를 직접 계산한 값과 비교해.
Hint
x = torch.tensor(2.0, requires_grad=True)로 시작해 y = x**3 - 2*x, y.backward(), print(x.grad)를 차례로 실행하면 10이 나와.

Progress

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

댓글 0

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

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