학습 방법 기본

경사하강법Gradient Descent

오차가 낮아지는 쪽으로 조금씩 옮겨 가는 방법

핵심 정리
  • 경사하강법은 지금 자리에서 어느 쪽이 내리막인지만 보고 그쪽으로 조금씩 옮겨 가는 방법이에요.
  • 옮기는 대상은 모델 안의 수많은 값이고, 낮아지는 것은 답이 얼마나 틀렸는지를 재는 오차예요.
  • 전체 지형을 보고 한 번에 정답 자리로 뛰어가지 않아요. 한 걸음 옮기고 다시 확인하기를 수없이 반복해요.
  • 한 걸음을 얼마나 크게 옮길지는 학습률이, 걸음을 옮기는 요령은 옵티마이저가 맡아요.
  • 발밑이 평평해지면 멈춰요. 그 자리가 가장 낮은 바닥이라는 보장은 없어요.
목차

1비유로 이해하기

지하 주차장에 차를 대러 들어가면 창문이 없어서 지금 몇 층인지 감이 잘 안 와요. 그래도 바닥이 내려가는 쪽으로 경사로를 따라가면 아래층에 닿아요. 층수 안내판을 못 봤어도 상관없어요. 지금 서 있는 자리에서 바닥이 어느 쪽으로 기울었는지만 보면 되니까요.

경사하강법도 이렇게 움직여요. 모델은 지금 자리에서 오차가 줄어드는 쪽을 확인하고, 그쪽으로 조금 옮겨요. 옮긴 자리에서 기울기를 다시 보고 또 조금 옮겨요. 이 걸음을 수십만 번 되풀이하면 처음보다 훨씬 낮은 자리에 내려와 있어요.

경사로가 평평해져서 어느 쪽으로도 더 내려갈 데가 없어 보이면, 거기가 오늘의 도착점이에요.

2자세히 알아보기

낮아지는 것은 '틀린 정도'예요

주차장에서 낮아지는 건 높이지만, 학습에서 낮아지는 건 오차예요. 모델이 내놓은 답과 실제 정답이 얼마나 벌어졌는지를 숫자 하나로 잰 값이죠. 이 숫자가 크면 아직 위층, 작으면 한참 내려온 자리예요.

이 숫자를 움직이는 손잡이는 모델 안에 있어요. 학습으로 조정되는 값들, 그러니까 연결마다 붙은 가중치편향값이에요. 손잡이 하나를 돌리면 오차가 조금 오르거나 내려요. 경사하강법은 이 손잡이들을 오차가 내려가는 쪽으로 조금씩 돌리는 일이에요.

큰 모델에는 손잡이가 수백만 개에서 수천억 개까지 있어요. 주차장으로 치면 수백만 방향으로 기울 수 있는 바닥 위에 서 있는 셈이라 그림으로 그릴 수는 없지만, 계산 방식은 방향이 몇 개든 똑같아요.

기울기는 발밑만 봐서 알아요

모델은 지형 전체를 내려다보지 못해요. 볼 수 있는 건 지금 서 있는 자리의 기울기뿐이에요. 손잡이 하나를 아주 조금 돌렸을 때 오차가 얼마나 오르내리는지를 손잡이마다 계산하면, 그 묶음이 곧 지금 자리의 내리막 방향이 돼요.

이 계산을 실제로 해내는 절차가 역전파예요. 답을 낸 뒤 틀린 정도를 뒤쪽 단계부터 거슬러 나누어, 손잡이마다 "너는 이쪽으로 이만큼" 하는 몫을 뽑아 줘요. 경사하강법은 그렇게 받은 방향대로 값을 옮기는 쪽을 맡아요.

발밑만 본다는 건 약점이자 장점이에요. 멀리 어디가 더 낮은지는 끝까지 알 수 없지만, 지형을 다 뒤지지 않아도 되니 손잡이가 수천억 개여도 한 걸음을 계산해 낼 수 있어요. 모든 자리를 하나하나 시험해 보는 방식이었다면 학습은 시작조차 못 했을 거예요.

걸음의 크기와 요령은 따로 정해요

내리막 방향을 알았다고 해서 얼마나 갈지가 정해지는 건 아니에요. 한 걸음에 옮길 양은 학습률이 따로 정해요. 크게 잡으면 빨리 내려가는 대신 바닥을 지나쳐 반대쪽 벽을 타고 오르기도 하고, 작게 잡으면 안전하지만 하루 종일 같은 층에 머물러요.

걸음을 옮기는 요령을 손보는 것은 옵티마이저예요. 계속 같은 쪽으로 내려가는 중이라면 속도를 붙여 주고, 방향에 따라 걸음 폭을 다르게 잡아 주기도 해요. 방향은 경사하강법이, 폭은 학습률이, 요령은 옵티마이저가 맡는 셈이에요.

평평해 보여도 바닥이 아닐 수 있어요

내려가다 보면 사방이 오르막인 자리를 만나요. 더 내려갈 데가 없으니 걸음이 멈춰요. 그런데 그 자리가 주차장 맨 아래층이라는 보장은 없어요. 중간층 한구석의 얕은 웅덩이일 수도 있어요.

그래도 실제 학습이 잘 굴러가는 건, 손잡이가 아주 많아지면 사방이 다 막힌 얕은 웅덩이가 드물어지고 대부분의 멈춤 자리가 쓸 만큼 낮기 때문이에요. 자료를 조금씩 나눠 보면서 발밑 기울기가 매번 살짝 달라지는 것도 얕은 웅덩이를 빠져나오는 데 도움이 돼요.

3조금 더 정확하게

경사하강법은 오차를 재는 함수를 값마다 미분해 얻은 기울기의 반대 방향으로, 값을 조금씩 갱신하는 절차예요. 기울기는 그 자리에서만 맞는 정보라서 한 번에 크게 옮기면 방향이 어긋나요. 그래서 작게 여러 번 옮기는 방식을 쓰고, 이 갱신 한 번을 스텝이라고 불러요. 스텝을 세는 단위와 자료를 한 바퀴 도는 단위가 다르다는 점도 함께 알아 두면 좋아요.

비유가 어긋나는 지점도 있어요. 주차장 바닥은 고정되어 있지만 학습에서는 어떤 자료를 보고 기울기를 쟀느냐에 따라 발밑이 매번 조금씩 달라져요. 자료 전체가 아니라 묶음 단위로 기울기를 재는 방식이 흔한데, 이때는 발밑이 조금 흔들리는 대신 훨씬 자주 걸음을 옮길 수 있어요. 또 주차장은 위아래가 분명하지만, 실제 지형은 방향이 수백만 개라 사람이 떠올리는 언덕 그림과는 많이 달라요.

4직접 해보기

5흔한 오해

  • 경사하강법이 언제나 가장 좋은 답을 찾아 준다고 생각하기 쉽지만, 실제로는 근처의 낮은 자리에서 멈추는 일이 흔하고 그 자리로도 충분히 쓸 만한 경우가 대부분이에요.

  • 오차가 걸음마다 반드시 줄어든다고 여기기 쉽지만, 실제로는 오르락내리락하면서 전체적으로 내려가요.

  • 경사하강법이 정답을 계산해 준다고 생각하기 쉽지만, 실제로는 어느 쪽으로 갈지만 알려 줄 뿐 옮기는 일은 수없이 되풀이해야 해요.

7한 줄 요약

그러니까경사하강법은 발밑 기울기만 보고 오차가 낮아지는 쪽으로 조금씩 옮겨 가는, 학습의 기본 걸음걸이예요.

잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02