더북(TheBook)

비유적으로 산악 지역을 하이킹한다고 생각해 보죠. 만약 고도가 가장 낮은 위치로 이동하고 싶다면 동서남북의 모든 방향으로 이동하여 고도를 바꿀 수 있습니다. 이때 발 밑의 경사가 가장 가파른 방향이 이 고도의 그레이디언트라고 첫 번째 항목을 해석해야 합니다. 가장 가파르게 위로 향하는 방향이 현재 위치에 따라 다르다는 점에서 두 번째 항목은 어느 정도 분명합니다. 마지막으로, 낮은 고도로 이동하고 싶다면 그레이디언트의 반대 방향으로 발걸음을 옮겨야 합니다.

그래서 이 훈련 과정의 이름이 경사 하강법(gradient descent)입니다. 코드 2-4에서 모델의 옵티마이저를 optimizer: 'sgd'로 설정한 것이 기억나나요? 확률적 경사 하강법에서 ‘경사 하강법’ 부분이 이제 명확해졌습니다. ‘확률적’이란 경사 하강법 단계마다 모든 훈련 데이터의 샘플을 사용하는 것이 아니라 효율성을 위해 훈련 데이터에서 랜덤하게 샘플을 뽑는다는 의미입니다. 확률적 경사 하강법은 계산 효율성을 위해 경사 하강법을 수정한 것입니다.

이제 최적화의 작동 방식과 다운로드 시간 추정 모델에서 200번의 에포크가 열 번의 에포크보다 나은 이유를 완벽하게 설명할 수 있습니다. 그림 2-7은 경사 하강법 알고리즘이 훈련 데이터에 잘 맞는 가중치 값을 찾기 위해 손실 표면을 따라 어떻게 이동하는지 보여 줍니다. 그림 2-7의 패널(panel) A에 있는 등고선 그래프는 이전과 동일한 손실 표면에 경사 하강법을 따라 이동하는 경로를 겹쳐서 보여 줍니다. 이 경로는 랜덤 초기화 지점, 즉 이미지에 있는 무작위한 위치에서 시작합니다. 사전에 최적 값을 알지 못하므로 어딘가 랜덤하게 시작할 지점을 골라야 합니다! 과소적합 모델과 잘 훈련된 모델에 해당하는 위치를 포함하여 경로를 따라 몇 가지 관심 지점을 표시했습니다. 패널 C는 패널 B에 표시된 단계에서 저장한 가중치를 사용한 모델을 보여 줍니다.

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