Derivatives
•
스칼라-인자 함수 을 생각하자. 점 에서 도함수(derivative)는 다음으로 정의한다.
•
이것은 입력 공간 에서 작은 거리를 움직일 때 출력이 얼마나 빠르게 변하는지를 측정한다. (즉, 함수의 ‘변화율’이다.) 따라서 를 에서 접선(tangent)의 기울기로 해석할 수 있다.
•
위와 같은 형태가 일반적이지만, 다음과 같이 center와 뒤의 것을 기준으로 도함수 정의할 수도 있다.
•
더 작은 단계 는 추정을 더 잘 할 수 있다. 그러나 가 너무 작으면 수치적 취소(cancellation) 때문에 에러가 나올 수 있다.
Gradients
•
도함수의 표기를 벡터-스칼라 함수 를 다루기 위해 확장할 수 있다. 관점에서 의 편미분은 다음처럼 정의한다.
◦
여기서 는 번째 단위 벡터이다.
•
점 에서 함수의 기울기(gradient)는 그것의 편도함수의 벡터이다.
•
기울기(gradient)가 평가되는 지점을 강조하기(emphasize) 위해 다음과 같이 작성할 수 있다.
•
연산자 (’nabla라고 부른다)가 함수 를 또 다른 함수 에 대응하는 것을 볼 수 있다.
◦
는 벡터-스칼라 함수이기 때문에 이것은 벡터 장(vector field)라고 부른다. 대조적으로 도함수 는 스칼라 장(scalar field)라고 한다.
Directional derivative
•
방향 도함수(directional derivative)는 함수 가 방향 를 따라 공간에서 얼마나 변화하는지를 측정한다. 이것은 다음처럼 정의된다.
•
이것을 에 관계 없이 의 함수를 2번 호출하여 수치적으로 근사할 수 있다.
◦
대조적으로 표준 기울기 벡터에 대한 수치적 근사는 호출을 취한다. (또는 중심 미분을 사용한다면 )
•
에 따른 방향 도함수는 기울기 와 벡터 의 스칼라 곱임에 유의하라.
Total derivative
•
와 같이 함수의 일부 인자가 서로 의존적이라고 가정하자. 에 관하여 의 전미분(total derivative)는 다음처럼 정의한다.
•
만일 양쪽에 미분 를 곱하면, 전미분(total differential)을 얻을 수 있다.
•
이것은 를 변화시킬 때 가 얼마나 변하는지를 측정한다. 에 대한 의 직접적인 영향 뿐만 아니라, 와 에 대한 의 간접적인 효과도 측정할 수 있다.
Jacobian
•
벡터를 다른 벡터로 매핑하는 함수 에 대해 1번 편미분한 값을 갖는 행렬을 야코비 행렬(Jacobian matrix)이라고 한다.
◦
출력 와 같은 방향으로 결과를 늘어 놓는다는 것에 유의하라.
•
야코비안-벡터 곱(Jacobian vector product, JVP)는 야코비안 행렬 과 벡터 의 오른쪽 곱에 해당하는 연산으로 정의된다.
◦
따라서 를 단지 2번만 호출하면 이를 수치적으로 근사할 수 있는 것을 볼 수 있다.
•
벡터-야코비안 곱(vector Jacobian product, VJP)는 야코비안 행렬 과 벡터 의 왼쪽 곱에 해당하는 연산으로 정의된다.
•
일 때 JVP가 더 효율적이고 일 때는 VJP가 더 효율적이다.
•
때때로 두 함수의 구성의 야코비안을 취하는 것은 유용할 수 있다. 라 하자. 미적분학의 체인 룰에 의해 다음과 같다.
•
예컨대 이고 라고 가정하면 다음과 같다.
Hessian
•
벡터를 스칼라로 매핑하는 함수 에 대해 두번 미분 가능하면, 두 번째 편미분 결과를 (대칭적인) 행렬으로 헤시안 행렬(Hessian matrix)를 정의할 수 있다.
•
헤시안은 야코비안의 기울기로 볼 수 있다.