일반적으로 모델 학습은 cost를 줄이는 방향, 틀림을 줄이는 방향, 즉 loss를 최소화하는 방향으로 가는 과정을 의미한다. loss를 줄이는 것이 성능을 높이는 것이기 때문이다.
(꼭 그렇지 않을 수도 있다.)
이를 optimization 최적화라고 하고, 이를 수행하는 방법 또는 알고리즘을 optimizer라고 한다.
최소의 loss를 찾는 가장 기본적인 방법으로 gradient descent, 경사하강법이 있다. 아래의 그래프 L = f(p) 에서 L이 p에 dependent 할 때 L의 변화를 구하려면, 먼저 p에 따라서 L이 어떻게 변하는지를 찾아야 한다. 이를 모델 학습에 대입하면 경사하강법은 모델이 갖는 최대의 성능을 찾기 위해 최소의 loss를 구하는 과정이라고 할 수 있다. 미분을 이용하며 미분값이 0이 되는 점을 찾아 loss가 최소가 되는 점을 구한다.
이를 수식으로 표현하면 아래와 같다.