경사하강법 (Gradient Descent)

컴퓨터과학·AI
한 줄 정의: 모델의 오차(손실)를 줄이기 위해 기울기가 감소하는 방향으로 파라미터를 조금씩 업데이트해 나가는 최적화 알고리즘입니다.

쉽게 풀면

짙은 안개가 낀 산속에서 눈을 감은 채 가장 낮은 계곡을 찾아 내려간다고 상상해 보세요. 전체 지형이 보이지 않으니 한 번에 목적지를 알 수는 없지만, 발밑의 경사를 느껴 가장 가파르게 내려가는 방향으로 한 걸음씩 옮기다 보면 결국 낮은 곳에 도달하게 됩니다. 경사하강법도 똑같습니다. 모델의 예측이 얼마나 틀렸는지를 나타내는 손실 함수의 "기울기(경사)"를 계산해서, 그 값이 줄어드는 방향으로 모델의 파라미터를 아주 조금씩 계속 수정해 나갑니다. 이 과정을 수없이 반복하면 손실이 가장 작은 지점, 즉 모델이 가장 잘 맞는 상태에 가까워집니다.

왜 중요한가

경사하강법은 딥러닝을 포함한 대부분의 머신러닝 모델이 데이터로부터 학습하는 핵심 메커니즘이기 때문에 거의 모든 인공지능 논문에서 직간접적으로 언급됩니다. 모델 구조나 손실 함수를 아무리 정교하게 설계해도 결국 파라미터를 실제로 조정하는 것은 경사하강법 계열의 최적화 알고리즘이므로, 학습 속도·수렴 안정성·일반화 성능 같은 연구 주제들이 모두 이 알고리즘의 동작 방식과 맞닿아 있습니다. 또한 최적화 기법 자체의 개선(모멘텀, 적응적 학습률 등)은 독립된 연구 분야로 다뤄질 만큼 중요하게 취급됩니다.

논문에서는 이렇게 쓰입니다

"모델의 손실 함수를 최소화하기 위해 확률적 경사하강법(SGD)을 사용하여 파라미터를 반복적으로 업데이트하였다."

모델이 정답과 얼마나 차이 나는지를 계산한 뒤, 그 차이를 줄이는 방향으로 모델 내부 값들을 조금씩 계속 고쳐나갔다는 의미입니다.

"제안 방법은 Adam 옵티마이저를 활용한 경사하강 기반 학습을 통해 물류 배송 경로 예측 모델의 파라미터를 최적화하였다."

운영관리 분야의 예측 모델에서도 경사하강법의 변형인 Adam 알고리즘을 이용해 모델을 학습시켰다는 뜻입니다.

"본 연구에서는 경사하강법을 이용해 신경망 기반 이미지 분류기의 교차 엔트로피 손실을 최소화하도록 가중치를 학습하였다."

컴퓨터 비전 분야에서 이미지를 올바르게 분류하도록 신경망의 가중치들을 경사하강법으로 조정했다는 의미입니다.

조금 더 깊게 보면

실제 논문에서는 순수한 경사하강법보다 미니배치 단위로 기울기를 추정하는 확률적 경사하강법(SGD)이나, 과거 기울기의 방향성을 누적해 진동을 줄이는 모멘텀 기법, 파라미터마다 학습률을 자동으로 조절하는 Adam·RMSProp 같은 적응적 최적화 알고리즘이 더 자주 쓰입니다. 이런 변형들은 모두 손실 함수의 기울기를 이용해 파라미터를 갱신한다는 기본 원리는 같지만, 수렴 속도와 안정성을 높이기 위해 갱신 규칙을 조정한 것입니다. 논문을 읽을 때는 어떤 옵티마이저를 썼는지, 학습률 스케줄링을 어떻게 적용했는지도 함께 살펴보면 실험 결과를 더 정확히 이해할 수 있습니다.

주의할 점

한 번에 얼마나 크게 이동할지를 정하는 학습률(learning rate)이 너무 크면 최적의 지점을 지나쳐 버려 오히려 학습이 불안정해지고, 너무 작으면 학습 속도가 지나치게 느려지거나 진짜 최적점이 아닌 지역적인 저점(local minimum)에 갇혀버릴 수 있습니다. 경사하강법으로 학습되는 대표적인 모델이 바로 인공신경망입니다.

관련 용어