경사하강법을 공부하다 보면 한 가지 의문이 생깁니다. "기울기가 0인 지점을 찾는다"라고 하는데, 기울기가 0인 곳이 항상 우리가 원하는 최솟값일까요. 저도 이 부분에서 헷갈렸습니다. 기울기가 0이면 무조건 손실이 가장 낮은 지점인 줄 알았거든요.
그런데 그렇지 않았습니다. 기울기가 0인 곳은 산꼭대기일 수도, 골짜기일 수도, 심지어 어느 쪽도 아닌 애매한 지점일 수도 있습니다. 이 지점들을 임계점이라고 부르고, 그게 어떤 종류인지 판정하는 방법이 따로 있습니다. 오늘은 그 판정법이 어떻게 작동하는지, 그리고 AI 학습에서 왜 중요한지 따라가 보겠습니다.

임계점이란 무엇인가
임계점(Critical Point)은 함수의 미분값이 0이 되는 지점입니다. 그래프로 보면 기울기가 수평이 되는 순간입니다. 산을 오르다 정상에 서면 발아래가 평평해지는 것처럼, 함수도 어느 지점에서 기울기가 딱 멈춥니다.
문제는 이 평평한 지점이 세 종류나 된다는 겁니다. 주변보다 높은 극대, 주변보다 낮은 극소, 그리고 어느 쪽도 아닌 안장점. 기울기가 0이라는 사실만으로는 셋 중 어느 것인지 알 수 없습니다. 판정법이 필요한 이유가 여기 있습니다.

일계 도함수 판정법 — 좌우 부호를 보는 방법
가장 직관적인 방법은 임계점 바로 왼쪽과 오른쪽에서 미분값의 부호를 확인하는 겁니다. 이걸 일계 도함수 판정법이라고 합니다.
예를 들어 f(x) = -x² + 4라는 함수에서 임계점은 f'(x) = -2x = 0, 즉 x = 0입니다. x = 0 왼쪽에서 f'(-1) = 2로 양수, 오른쪽에서 f'(1) = -2로 음수입니다. 양수에서 음수로 바뀌었으니 이 지점은 극대입니다. 반대로 음수에서 양수로 바뀌면 극소가 됩니다.
f'(x): (-) → 0 → (+) → 극소(Local Minimum)
f'(x): (+) → 0 → (+) → 극값 아님 (변곡점 가능성)
f'(x): (-) → 0 → (-) → 극값 아님 (변곡점 가능성)
부호가 바뀌지 않으면 극값이 아닙니다. 기울기가 잠깐 멈췄다가 같은 방향으로 계속 가는 경우입니다. 이걸 놓치면 잘못된 지점을 최솟값으로 착각할 수 있습니다.
이계 도함수 판정법 — 곡률로 확정하는 방법
일계 도함수 판정법보다 더 빠른 방법이 있습니다. 미분을 한 번 더 하는 겁니다. 이계 도함수(f''(x))는 기울기가 얼마나 빠르게 변하는지, 즉 곡률을 알려줍니다.
임계점에서 f''(x)가 양수면 그래프가 아래로 볼록한 모양입니다. 골짜기처럼 생겼다는 뜻이니 극소입니다. 반대로 f''(x)가 음수면 위로 볼록, 즉 봉우리 모양이니 극대입니다. 같은 예시로 확인해 보면 f''(x) = -2이고 x = 0에서 f''(0) = -2 < 0이니 극대로 확정됩니다.
도함수 조건에 따른 판정 결과를 정리하면 이렇습니다.
| 미분 조건 | 그래프 모양 | 판정 결과 |
|---|---|---|
| f'(c)=0, f''(c) > 0 | 아래로 볼록 (Concave Up) | 극소 (Local Minimum) |
| f'(c)=0, f''(c) < 0 | 위로 볼록 (Concave Down) | 극대 (Local Maximum) |
| f'(c)=0, f''(c) = 0 | 곡률 판단 불가 | 판정 불가 — 일계 판정법으로 재확인 |

안장점 — AI 학습을 방해하는 복병
변수가 하나일 때는 임계점 판정이 비교적 깔끔합니다. 그런데 변수가 두 개 이상이 되면 판정이 훨씬 복잡해집니다. 여기서 안장점(Saddle Point)이라는 개념이 등장합니다.
안장점은 어떤 방향으로 보면 극소인데, 다른 방향으로 보면 극대인 지점입니다. 말 위에 올려놓는 안장처럼 앞뒤로는 오목하고 좌우로는 볼록한 모양입니다. 이 지점에서는 미분값이 0이지만 최솟값이 아닙니다.
f(x, y) = x² - y²라는 함수가 대표적인 예입니다. (0, 0)에서 ∂f/∂x = 0, ∂f/∂y = 0으로 임계점이지만, x 방향으로는 극소, y 방향으로는 극대입니다. 경사하강법이 이 지점에 가까워지면 기울기가 거의 0이라 이동을 멈출 수 있습니다. 학습이 도중에 정체되는 원인 중 하나가 바로 이 안장점입니다.

전역 최솟값과 지역 최솟값의 차이
임계점 얘기를 하다 보면 또 하나의 함정이 나옵니다. 극소가 여러 개일 수 있다는 겁니다. 주변보다 낮은 지점이 두 개 있다면 어느 게 진짜 최솟값일까요.
전체 함수에서 가장 낮은 지점을 전역 최솟값(Global Minimum), 주변에서만 가장 낮은 지점을 지역 최솟값(Local Minimum)이라고 합니다. 경사하강법은 기울기를 따라 내려가다 보니 처음 출발 위치에 따라 지역 최솟값에 갇혀버릴 수 있습니다.
지역 최솟값(Local Minimum): 주변에서만 가장 낮은 값
경사하강법은 지역 최솟값에 갇힐 수 있다 → 초기값 설정이 중요한 이유
실제 딥러닝에서는 가중치가 수억 개라 손실 함수의 지형이 매우 복잡합니다. 흥미로운 점은, 고차원 공간에서는 지역 최솟값보다 안장점이 훨씬 많다는 연구 결과가 있습니다. 그래서 현대 AI 학습에서는 안장점 탈출이 지역 최솟값 탈출보다 더 중요한 문제로 다뤄집니다.
실제 AI 학습에서 이 개념이 쓰이는 방식
안장점과 지역 최솟값 문제를 해결하기 위해 현대 AI는 경사하강법을 그냥 쓰지 않습니다. Adam, RMSProp 같은 개선된 최적화 알고리즘이 등장한 이유가 여기 있습니다. 이 알고리즘들은 기울기의 방향뿐 아니라 과거 기울기 정보까지 활용해서 안장점 근처에서도 멈추지 않고 계속 이동할 수 있게 설계되어 있습니다.
PyTorch나 TensorFlow에서 optimizer를 설정할 때 단순히 SGD 대신 Adam을 쓰는 선택이, 사실은 이 임계점 판정 문제와 직결된 겁니다. 도구를 쓸 때 이 배경을 알고 쓰는 것과 모르고 쓰는 것은 문제가 생겼을 때 대응 능력에서 차이가 납니다.
기울기가 0인 지점이라고 다 같은 지점이 아니라는 것, 그리고 그게 극대인지 극소인지 안장점인지 판정하는 방법이 실제 AI 학습 알고리즘 설계의 기반이 됩니다. 수식 뒤에 이런 맥락이 있다는 걸 알고 나면, 코드 한 줄이 조금 다르게 보이기 시작합니다.
'데이터 과학 수학' 카테고리의 다른 글
| 딥러닝 학습의 복병, 안장점의 위협과 고차원 최적화 (0) | 2026.04.04 |
|---|---|
| 제약 조건 속 최적의 해법, 라그랑주 승수법의 원리 (0) | 2026.04.04 |
| 경사하강법(Gradient Descent)의 원리, 미분의 역할, AI 학습의 핵심 알고리즘 (0) | 2026.04.03 |
| [라이프니츠 미분학 연재 #10] 라이프니츠 미분학의 의미, 변화의 개념이 만든 현대 기술 (0) | 2026.04.03 |
| [라이프니츠 미분학 연재 #9] 역전파란 무엇인가, 연쇄법칙이 딥러닝을 가능하게 한 방식 (0) | 2026.04.03 |