확률적 경사 하강법(SGD) (Stochastic Gradient Descent (SGD))
쉽게 풀면
모델의 손실을 줄이려면 손실이 줄어드는 방향으로 파라미터를 조금씩 움직여야 하는데, 이 방향을 정확히 계산하려면 전체 데이터를 다 봐야 해서 매우 느려요. 확률적 경사 하강법은 매번 데이터 전체 대신 무작위로 뽑은 일부(미니배치)만 보고 대략적인 방향을 추정해 빠르게 업데이트합니다. 정확도는 조금 떨어지지만 훨씬 빠르게, 그리고 여러 번 반복하면서 점점 최적점에 가까워질 수 있어요. 대규모 데이터셋을 다루는 딥러닝 학습의 기본 원리가 되는 방법입니다.
왜 중요한가
확률적 경사 하강법은 대규모 데이터셋으로 신경망을 학습시키는 딥러닝 전반의 표준 최적화 방식이기 때문에, 거의 모든 머신러닝·딥러닝 논문의 학습 설정 부분에서 언급됩니다. Adam이나 RMSprop 같은 최신 옵티마이저들도 근본적으로는 SGD의 아이디어를 확장한 것이어서, 최적화 이론과 실무 학습 전략을 이해하는 데 기초가 되는 개념입니다.
논문에서는 이렇게 쓰입니다
전체 데이터가 아닌 32개씩 무작위로 뽑은 묶음 단위로 경사를 계산해 파라미터를 업데이트했다는 뜻이다.
이 문장은 지도학습뿐 아니라 강화학습에서도 정책이나 가치함수를 갱신하는 데 확률적 경사 하강법의 원리가 기본적으로 쓰인다는 것을 보여줍니다.
이 문장은 분산·연합학습 연구에서 SGD가 개별 기기 단위의 로컬 학습 단위로도 쓰이며, 이것이 프라이버시를 보존하는 학습 구조의 기반이 된다는 것을 보여줍니다.
조금 더 깊게 보면
SGD의 성능은 학습률(learning rate)과 배치 크기 설정에 크게 좌우되며, 학습률이 너무 크면 손실이 발산하고 너무 작으면 학습이 지나치게 느려지는 문제가 있습니다. 이런 한계를 보완하기 위해 과거 경사의 방향을 누적해 진동을 줄이는 모멘텀, 파라미터마다 학습률을 다르게 적응시키는 Adam·RMSprop 같은 변형 알고리즘들이 널리 쓰이며, 이들 모두 근본적으로는 무작위 샘플로 경사를 추정한다는 SGD의 기본 아이디어 위에 세워져 있습니다. 논문에서 옵티마이저 종류와 함께 학습률, 배치 크기, 스케줄링 방식을 함께 보고하는 것은 이 때문입니다.
주의할 점
미니배치마다 추정한 경사에는 잡음이 섞여 있어 손실이 매끄럽게 줄어들지 않고 진동할 수 있는데, 이는 정상적인 현상이며 모멘텀 최적화 기법으로 완화할 수 있다.