한순간의 변화와 구간의 누적
차가 달린 거리만 알면 지금 속도는 바로 알 수 없어. 시간에 따른 거리의 변화율을 봐야 해. 반대로 매 순간의 속도를 알면 일정 시간 동안 얼마나 이동했는지 누적할 수 있어. 미분과 적분은 이 두 질문을 잇는 언어야.
- 미분: 입력을 아주 조금 바꿀 때 출력이 얼마나 민감하게 변하는지 재.
- 적분: 작은 변화나 밀도를 구간 전체에 쌓아 총량을 구해.
매개변수 를 조금 바꿨을 때 손실 이 얼마나 달라지는지가 야. 수백만 매개변수의 편미분을 모으면 기울기 벡터가 되고, 최적화기는 그 정보를 이용해 갱신 방향을 잡아.
자동미분이 해 주는 일과 못 해 주는 일
PyTorch 같은 프레임워크는 실행한 연산으로 계산그래프를 만들고 연쇄법칙을 적용해 도함수를 계산해. 그래서 긴 미분식을 매번 손으로 전개할 필요는 없어. 하지만 어떤 목적함수를 미분할지, 미분 가능한 연산인지, 기울기가 유용한 신호인지까지 자동으로 결정해 주진 않아.
도함수 공식을 전부 외울 필요는 없지만 부호와 크기는 예상할 수 있어야 해. 손실이 줄어야 하는데 커진다면 부호가 뒤집혔는지, 기울기가 0이라면 포화나 그래프 단절이 있는지 살펴야 하거든.
미분은 국소 변화율, 적분은 구간 누적이야. 자동미분은 계산을 맡고, 어떤 변화가 중요한지 판단하는 일은 우리가 맡아.