그레이디언트가 무엇일까요? 이를 (미적분을 사용해) 정확히 정의하는 대신 다음과 같이 직관적으로 설명할 수 있습니다.
한 방향으로 가중치를 조금 이동했을 때 다른 모든 방향 중에서 손실 함수가 가장 빠르게 증가하는 방향
이 정의가 크게 기술적이지 않지만 아직 설명할 것이 남아 있으므로 단계별로 나누어 보겠습니다.
• 첫째, 그레이디언트는 벡터입니다. 가중치 개수와 원소 개수가 같습니다. 가중치 값의 모든 선택 가능한 공간에서 하나의 방향을 나타냅니다. 간단한 이 선형 회귀 네트워크처럼 모델의 가중치가 두 개의 숫자로 구성된다면 그레이디언트는 2D 벡터입니다. 딥러닝 모델은 수천 또는 수백만 차원을 가지며, 이런 모델의 그레이디언트는 수천 또는 수백만 개의 원소를 가진 벡터(방향)입니다.
• 둘째, 그레이디언트는 현재 가중치 값에 따라 달라집니다. 다른 말로 하면, 다른 가중치 값은 다른 그레이디언트를 만듭니다. 그림 2-5에서 가장 빠르게 하강하는 방향이 손실 표면의 위치에 따라 달라지는 것을 보면 쉽게 이해할 수 있습니다. 왼쪽 가장자리에서는 오른쪽으로 이동해야 하고 아래쪽에서는 위로 올라가야 하는 등입니다.
• 마지막으로, 그레이디언트의 수학적 정의는 손실 함수가 증가하는 방향을 나타냅니다. 물론 신경망을 훈련할 때 손실이 감소하는 것을 원합니다. 따라서 그레이디언트의 반대 방향으로 가중치를 이동해야 합니다.