모멘텀

모델이 실제로 학습하는 방법 — 순수 경사 하강법에서 Adam까지

모멘텀은 경사 하강법에 기억을 부여합니다. 현재 그래디언트만 쓰는 대신, 최근 그래디언트들의 이동평균을 유지하면서 그 누적된 방향으로 걸음을 내딛습니다.

이는 두 가지로 도움을 줍니다. 잡음 섞인 그래디언트를 매끄럽게 다듬어 주고, 그래디언트들이 계속 같은 방향을 가리키는 곳에서는 속도를 쌓아 줍니다. 좁은 협곡을 가로지를 때는 좌우로 번갈아 나타나는 그래디언트들이 서로 상쇄되고, 유용한 방향을 따라서는 반복되는 그래디언트들이 서로 더해집니다.

볼링공은 방금 전에 받은 힘을 잊지 않습니다. 한 번 밀면 움직이기 시작하고, 같은 방향으로 계속 밀면 속도가 붙습니다. 옆에서 살짝 건드리는 정도로는 순식간에 방향이 뒤집히지 않습니다. 모멘텀은 최적화가 서로 독립된 걸음들의 나열이 아니라 관성을 가진 하나의 운동처럼 움직이게 만듭니다. 아래에서 직접 확인해 보세요. 먼저 β = 0으로 일반 하강을 실행한 다음, β를 올려 다시 실행하세요. 좌우로 튕기는 움직임이 잦아들고 경로가 골짜기를 따라 속도를 얻는 모습을 볼 수 있습니다.

머신러닝에서의 위치모멘텀을 곁들인 SGD는 비전 분야와 대규모 훈련에서 여전히 강력한 기준선입니다. Adam이 인기 있는 상황에서도 모멘텀을 이해하는 것은 중요합니다. Adam의 1차 모멘트가 바로 다른 이름을 쓴 모멘텀이기 때문입니다.
▶ 모멘텀
← 조건수와 지그재그RMSProp →