더북(TheBook)

이런 접근 방식은 모든 가중치 행렬의 원소마다 두 번의 (비용이 큰) 정방향 패스를 계산해야 하므로 엄청나게 비효율적입니다(보통 수천에서 경우에 따라 수백만 개의 많은 가중치가 있습니다). 다행히 더 나은 방법인 경사 하강법(gradient descent)이 있습니다.

경사 하강법은 현대 신경망을 가능하게 만든 최적화 기술입니다. 간략히 요약하면 다음과 같습니다. 모델에 사용하는 (dot이나 + 같은) 모든 함수는 입력을 매끄럽고 연속적인 방식으로 변환합니다. 예를 들어 z = x + y에서 y를 조금 변경하면 z가 조금만 변경됩니다. y의 변경 방향을 알고 있다면 z의 변경 방향을 추측할 수 있습니다. 수학적으로 이를 미분 가능(differentiable)하다고 말합니다. 이런 함수를 연결하여 만든 함수도 여전히 미분 가능합니다. 이는 배치 데이터에서 모델의 가중치와 모델의 손실을 매핑하는 함수에도 적용됩니다. 즉, 모델의 가중치를 조금 변경하면 손실 값이 예측 가능한 방향으로 조금 바뀝니다. 그레이디언트(gradient)라는 수학 연산을 사용하여 모델 가중치를 여러 방향으로 이동했을 때 손실이 얼마나 변하는지 설명할 수 있습니다. 이 그레이디언트를 계산하면 이를 사용하여 손실이 감소하는 방향으로 가중치를 (한 번에 하나씩이 아니라 한 번의 업데이트로 전체 가중치를 동시에) 이동시킬 수 있습니다.

미분 가능하다는 것과 그레이디언트가 무엇인지 이미 알고 있다면 2.4.3절로 건너뛰어도 좋습니다. 그렇지 않으면 다음 두 절이 이해하는 데 도움이 될 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.