Day 7: Chapter 1 gradient, 벡터를 벡터로 미분하는 법

2023. 2. 26. 23:28딥러닝 이론

오늘 공부한 내용은 Ch.1-11, 1-12입니다:

- Ch. 1-11, 왜 gradient는 가장 가파른 방향을 향할까?

- Ch. 1-12, 벡터를 벡터로 미분하는 법

 

Ch 4-2에서는 행렬 단위로 미분을 하지 않고 iterative 하게 layer마다 노드과 노드 사이의 gradient descent을 하나 하나 했지만 이렇게 하면 할 계산이 많습니다. Chapter 1에서 배운 linear algebra내용을 잘 활용하면 수학적으로 계산해야 하는 부분의 구현도 쉬워질 수 있고 모든 weights and biases를 효율적으로 정리를 할 수 있다. 그래서 이번에는 1장에서 배운 gradient계산법하고

벡터를 벡터로 미분하는 법을 공부하겠습니다.

 

1. Gradient는 왜/어떻게 가장 가파른 방향으로 향할까?

  • Ch 1-9에 Taylor급수를 배웠습니다 (해당내용은 다음에 업로드하겠습니다). Taylor급수는 approximation도 하면서 전 구간 미분이 가능한 그런 장점이 있어 강사님이 수학 파트에서도 제일 중요하다고 했습니다.

Taylor(Maclaurin) series에서 차수가 올라가면 갈 수록 측정이 정확한 범위가 0에서 넓어집니다. 이 radius of converge밖에서는 사실 측정값이 오차가 심해 의미가 없을 수 있으니 유의해 주셔야 합니다.

  • Loss함수를 효율적으로 계산하기 위해선 gradient를 직접 (전부) 다 구하는 게 아니라 Taylor approximation를 사용해 미분도 가능하면서 빠른 계산을 얻을 수 있는 장점이 있습니다 - 물론 approximation은 측정이니 100% 정확하진 않고 정의된 구간 (radius of convergence) 안에서는 error가 허용될 만큼 아주 작고, 그 밖에는 approximation을 하기에는 적절하지 않습니다.
  • 밑에 강의 노트를 보시면 gradient를 Taylor series로 2차까지 계산했습니다. 마지막 step을 보면 (△ dot ∂L/∂W)는 inner product 하고 같습니다. Ch 1-3에서 언급한 부분입니다 - 행렬 곱셈의 의미를 inner product며 A*B*Cos(theta)의 geometric의미를 갖고 있습니다. 그래서 얼마나 비슷한지 알 수 있습니다.
  • 그리고 이 부분에서 learning rate alpha를 수식을 보면서 이해가 됐습니다. 방금 말한 Taylor급수의 단점은 radius of convergence내에 사용을 해야 error가 적다는 점이었습니다. Learning rate가 작으면 작을수록 사실은 계산이 정확하다는 뜻입니다. 하지만 그리면 computing time / power가 많이 필요하니 learning rate를 올리면서 Taylor approximation이 조금 덜 정확하다는 점을 수학적으로 이해할 수 있습니다.

2. 벡터를 벡터로 미분하는 법

벡터를 미분하는 법은 복잡합니다. 전에는 미분을 하나하나 구했다면 벡터를 벡터로 미분하는 것은 식 자체는 깔끔합니다. 하지만 손으로 할 때는 아무튼 직접 계산해야 한다는 점이 있습니다.