기초 수학 · 7
미분과 연쇄법칙
미분은 함수의 기울기다 — 입력을 살짝 밀 때 출력이 얼마나 빨리 움직이는가. borch 는 backward() 로 대신 구해준다. 그 밑의 엔진이 연쇄법칙이고, 다음 장의 autograd 가 여기서 나온다.
미분, autograd 로
입력을 requiresGrad 로 표시하고, 식을 세우고, backward() 를 부르고, .grad 를 읽는다. y = x² 의 기울기는 2x.
연쇄법칙
합성 f(g(x)) 의 기울기는 곱해진다: f'(g(x)) · g'(x). sin(x²) 라면 cos(x²) · 2x — autograd 가 마지막 자리까지 같다.
기울기 보기: 그려진 미분
autograd 는 수 하나만 주지 않는다 — 여러 입력에서 부르면 미분 곡선 전체가 나온다. 여기 d/dx sin(x²) = cos(x²)·2x 를 .grad 에서 바로 그렸다.
직접: 연쇄법칙 완성
아래 sin(x²) 의 손 계산 미분에는 연쇄법칙의 안쪽 인수가 빠져 있다. autograd 가 구한 값과 맞도록 그것을 더하라.
기억할 것
- 미분은 함수의 기울기; 연쇄법칙은 중첩된 함수의 기울기를 곱한다:
f'(g(x))·g'(x). - 입력을
requiresGrad로 표시하고, 식을 세우고,backward()를 부르고,.grad를 읽는다. - 이것이 다음 장 autograd 가 돌리는 바로 그 엔진이다.
- borch 에서는
Tensor.from(v, [], { requiresGrad: true })·backward()·.grad.
위 블록이 에러를 내면, 그것도 알아둘 값이다. 이 페이지의 모든 예제는 테스트가 도는 그 라이브러리를 상대로 돈다 — 스크린샷이 아니다. 되돌리려면 Reset 을 누른다.