이 간단한 선형 회귀 모델은 경사 하강법 과정을 생생하게 시각화할 수 있는 이 책의 유일한 모델입니다. 나중에 보게 될 더 복잡한 모델에서도 경사 하강법의 본질은 동일하다는 점을 유념하세요. 매우 낮은 손실을 내는 위치에 도달하리라는 희망을 가지고 복잡한 고차원 표면의 경사를 반복적으로 내려가는 것뿐입니다.
처음에 (기본 학습률(learning rate)에 의해 결정된) 기본적인 스텝(step)12 크기를 사용했습니다. 하지만 적은 개수의 데이터를 열 번 반복하는 것은 최적점에 도달하기에 충분하지 않았고 200번의 에포크가 충분했습니다. 일반적으로 학습률을 설정하는 방법이나 훈련이 끝날 때를 어떻게 알 수 있을까요? 이 책에서 다룰 몇 개의 유용한 경험 법칙이 있지만, 모든 문제를 피할 수 있는 불변의 법칙은 없습니다. 학습률이 너무 작으면 스텝이 너무 작게 되어 납득할 만한 시간 안에 최적의 파라미터에 도달하지 못합니다. 반대로 너무 큰 학습률을 사용하여 스텝이 너무 크면 최솟값을 완전히 지나쳐 이전보다 더 큰 손실에 도달할 수도 있습니다. 이 때문에 모델 파라미터가 최적점에 빠르게 곧장 다가가지 못하고 최적점 근처에서 크게 진동하게 만듭니다. 그림 2-8은 그레이디언트 스텝이 너무 클 때 일어나는 일을 보여 줍니다. 더 극단적인 경우에 높은 학습률은 파라미터 값을 발산시켜 무한대로 만들기 때문에 가중치가 NaN(not-a-number) 값을 가지게 되어 모델을 완전히 쓸모없게 만듭니다.
▲ 그림 2-8 학습률이 너무 클 때 그레이디언트 스텝이 너무 커지고 새로운 파라미터는 이전보다 더 나빠질 수 있다. 이로 인해 무한대 또는 NaN이 되는 진동이나 다른 불안정한 영향이 발생한다. CodePen 코드에서 학습률을 0.5 또는 더 높은 값으로 증가시키면 이런 현상을 볼 수 있다.