AI 사전학습과 데이터

경사 하강법

경사 하강법은 미분 가능한 목적 함수의 기울기 반대 방향으로 반복해서 이동하며 함수 값을 줄이는 1차 최적화 방법이다. 머신러닝에서는 손실 함수를 줄이도록 모델 매개변수를 갱신하는 데 널리 쓰이며, 스텝 크기와 목적 함수의 성질에 따라 수렴 보장이 달라진다.

루카스 · 수정 · AI Wiki 문서 번역·편집

쉽게 말하면, 경사 하강법은 함수 값이 가장 작아지는 지점을 찾는 방법이다. 현재 위치의 기울기를 계산하고 그 반대 방향으로 조금씩 움직이기를 반복한다. 머신러닝에서는 손실 함수를 줄이도록 모델의 매개변수를 이렇게 고치며, 한 걸음의 크기는 학습률이 정한다.

경사 하강법
분류반복형 1차 최적화 방법(최적화 알고리즘)
목적미분 가능한 스칼라 목적 함수 최소화
기본 갱신기울기의 반대 방향으로 학습률만큼 이동2
주요 응용머신러닝의 손실 함수 최적화3
수렴 보장스텝 크기 규칙과 목적 함수의 성질에 따라 달라짐4

1. 개요

경사 하강법(Gradient Descent)은 미분 가능한 스칼라 목적 함수를 최소화하는 반복형 1차 방법이다. 한 점에서 출발해 그 지점의 국소 기울기를 계산하고, 기울기의 반대 방향으로 이동한다. 이 방법은 수치 최적화의 핵심이며, 목적 함수가 흔히 손실 함수인 머신러닝에서 중심적으로 쓰인다. 다만 보장은 조건부다. 스텝 크기 규칙과 목적 함수의 성질에 따라 목적 함수가 줄어드는지, 최소점에 접근하는지, 혹은 정상점에만 접근하는지가 정해진다.

음의 기울기는 거리를 유클리드 노름으로 잴 때 국소적으로 가장 빠르게 감소하는 방향이다. 다른 노름이나 매개변수화를 쓰면 가장 가파른 하강 방향이 달라지므로, '가장 가파르다'는 좌표계에 무관한 표현이 아니다. 전체 경사 하강법은 목적 함수의 정확한 기울기를 쓴다. 확률적·미니배치 방법은 이 기울기를 추정값으로 바꾼다. 그 대가로 갱신 한 번이 주는 확정적 진전은 줄지만, 갱신 비용이 낮아져 큰 데이터셋이나 스트리밍 데이터에 접근하기 쉬워진다.2,3

경사 하강법은 최적화 방법이지 도함수를 계산하는 절차가 아니다. 신경망 학습에서는 역전파나 역모드 자동 미분이 기울기를 계산하고, 경사 하강법이나 다른 최적화 알고리즘이 그 기울기를 어떻게 쓸지 결정한다. 학습 손실을 줄인다고 해서 검증 오차가 줄거나 일반화 성능이 좋아진다고 보장되지는 않는다.

2. 기본 공식과 알고리즘

제약 없는 문제에서 목적 함수 f는 n차원 실수 벡터 공간에서 실수로 가는 미분 가능한 함수다. 문제는 x ∈ ℝⁿ에 대한 f(x)의 최소화, 곧 min f(x)로 쓴다. 반복 k에서 보통의 경사 하강법은 다음 식을 적용한다.

x_{k+1} = x_k − α_k ∇f(x_k)
기본 경사 하강 갱신식

여기서 α_k는 양수인 학습률(스텝 크기)이고, ∇f(x_k)는 x_k에서 f의 편도함수를 모은 기울기 벡터다.

작은 변위 d에 대해 1차 근사는 f(x_k+d) ≈ f(x_k) + ∇f(x_k)ᵀd이다. 유클리드 단위 방향 중에서는 음의 정규화된 기울기가 이 선형항을 가장 작게 만든다. 다만 제약 없는 선형 근사에는 유한한 최소값이 없으므로, 스텝 길이나 신뢰 영역 경계가 반드시 필요하다.2

기본 경사 하강법의 구현은 네 가지 결정으로 이루어진다.

  • 초기점 x_0을 고른다.
  • g_k = ∇f(x_k)를 계산한다.
  • 양의 스텝 크기 α_k를 고르고 x_{k+1} = x_k − α_k g_k로 갱신한다.
  • 정해 둔 기준에 따라 멈춘다. 예를 들어 기울기 노름이 작아질 때, 상대 변화가 작을 때, 스텝이나 계산 예산을 다 썼을 때, 별도의 검증 지표가 더 나아지지 않을 때가 있다.

기울기 노름이 작다는 것은 1차 정상성 검사일 뿐이며, 비볼록 목적 함수에서 전역 최적임을 증명하지 않는다. 목적 함수 값의 작은 변화도 그 자체로는 충분하지 않다. 학습률이 너무 작거나 문제의 스케일이 나쁘면 진전이 작아 보일 수 있다.

2.1. 매끄러움 가정

흔한 가정은 기울기가 L-Lipschitz 연속이라는 것이다. 즉 ‖∇f(x) − ∇f(y)‖₂ ≤ L‖x − y‖₂이다. 이 가정 아래 하강 보조정리는 다음을 준다.

f(x_{k+1}) ≤ f(x_k) − α_k (1 − Lα_k/2) ‖∇f(x_k)‖₂²
하강 보조정리

따라서 기울기가 0이 아니고 0 < α_k < 2/L이면 정확한 기울기 스텝은 목적 함수를 줄인다. 수렴 증명에서는 α_k ≤ 1/L이라는 보수적인 선택이 흔하다.3,4

이 결과는 확률적 미니배치 손실이 매 갱신마다 줄어든다는 뜻이 아니며, 적절한 매끄러움 조건이 없으면 적용되지도 않는다.

3. 스텝 크기 선택

스텝 크기는 안정성과 속도를 함께 정한다. 목적 함수나 매개변수를 다시 척도화하면 기울기도 함께 바뀌므로, 임의의 목적 함수에 통하는 단일 수치는 없다.

고정 스텝은 L-매끄러운 목적 함수에서 1/L 이하일 때 표준적인 확정적 수렴 상한을 지원한다. 볼록 이차식에서 쓸 수 있는 범위는 헤시안 고윳값에 달려 있다. 곡률이 큰 방향이 안정적인 스텝을 제한하면, 곡률이 작은 방향은 느리게 진전할 수 있다. 조건이 나쁜 문제에서 익숙한 지그재그 궤적이 생기는 이유 중 하나가 이것이다.2,4

직선 탐색은 하강 방향을 따라 목적 함수를 살펴본 뒤 스텝을 고른다. 정확한 직선 탐색은 이 1차원 함수를 최소화하지만, 추가 함수 계산 비용이 클 수 있다. 백트래킹은 시험 스텝에서 출발해 충분 감소 조건이 성립할 때까지 줄인다. 직선 탐색은 수치 최적화에서 표준이지만, 잡음이 있는 대규모 미니배치 신경망 학습에서는 덜 쓰인다. 미니배치 목적 함수가 전체 목적 함수의 안정적인 대리 지표가 아니고, 반복 계산 비용도 크기 때문이다.2,3

고전적 확률적 근사에서는 아래 조건을 만족하는 감소 수열 α_k를 흔히 가정한다.3,5

Σ_{k=0}^{∞} α_k = ∞ 그리고 Σ_{k=0}^{∞} α_k² < ∞
감소 스텝 조건

이 조건은 방법이 총 이동량을 다 써 버리지 않도록 하고, 지속적인 유한 분산 잡음의 누적 효과를 통제 가능하게 만든다. 유한 시간 딥러닝 학습에 대한 보편적 처방은 아니며, 샘플링·잡음·목적 함수에 관한 가정이 함께 중요하다.3,5

실무 학습 스케줄에는 구간별 상수 감소, 지수 감소, 다항 감소, 코사인 어닐링이 있다. SGDR은 웜 리스타트를 가진 코사인 주기를 경험적 학습 스케줄로 도입했다. 워밍업은 학습 초기에 스텝 크기를 점차 키운다. Goyal 등은 특정 대배치 ImageNet 실험에서 점진적 워밍업과 선형 학습률 스케일링 규칙을 함께 썼다. 이 결과는 그 설정에 대한 경험적 방법이며, 모든 모델이 같은 규칙을 따라야 한다는 정리가 아니다.6,7

4. 수렴 보장

수렴 진술에는 목적 함수 종류, 스텝 크기 규칙, 측정 대상, 기울기가 정확한지 확률적인지를 함께 밝혀야 한다. 아래는 L-매끄러운 목적 함수와 스텝 1/L에 대한 표준적 확정적 결과다.4

표준 확정적 수렴 결과 · L-매끄러운 목적 함수, 스텝 1/L
목적 함수와 방법일반적 보장의미
볼록이고 L-매끄러우며 최소점이 있음목적 함수 차이가 O(1/k)함숫값이 전역 최적에 선형보다 느린 속도로 접근
μ-강볼록이고 L-매끄러움목적 함수 차이가 스텝마다 1 − μ/L 이하 비율로 기하급수적 감소선형 수렴이며 조건수가 비율을 정함
볼록하지 않고 L-매끄러우며 아래로 유계처음 k개 반복 중 제곱 기울기 노름의 최솟값이 O(1/k)적어도 한 반복이 1차 정상점에 가까워짐
볼록이고 L-매끄러움; 네스테로프 가속 기울기(기본 경사 하강법은 아님)목적 함수 차이가 O(1/k²)가속은 기본 경사 하강법보다 최악의 수렴 속도를 개선4

비볼록 행의 O(1/k) 상한은 제곱 기울기 노름에 대한 것이다. 따라서 기울기 노름을 ε 이하로 만들려면 이 기본 분석에서 일반적으로 O(1/ε²)번의 반복이 필요하다. O(1/ε)이라고만 쓰고 ε이 제곱 기울기 노름을 잰다는 점을 밝히지 않으면 주장이 달라진다.

4.1. 볼록성과 비볼록 목적 함수

f가 볼록이면 모든 국소 최소점이 전역 최소점이다. 매끄러움과 적절한 고정 스텝이 있으면 기본 경사 하강법은 목적 함수 값 기준으로 전역 최소점에 접근한다. 강볼록성은 이차 성장 조건을 더하며, 기하급수적 속도를 준다. 이 분석에서 비율 L/μ는 조건수다. 이 값이 클수록 보장되는 수축 계수가 1에 가까워져 수렴이 느려진다.4

볼록성만으로는 위의 매끄러운 기울기 갱신과 속도 결과에 충분하지 않다. 볼록하지만 미분 불가능한 목적 함수에는 부분 기울기(subgradient)나 근접(proximal) 방법이 필요하며, 그 속도와 중단 기준은 다르다.

매끄러운 비볼록 최적화 문제에서 기울기가 0인 점은 국소 최소점, 국소 최대점, 안장점 중 어디든 될 수 있다. 따라서 일반적인 1차 결과는 전역 최적성이 아니라 정상성에 관한 것이다.3

Lee 등이 분석한 정칙성 가정 아래에서는 무작위 초기화와 충분히 짧은 고정 스텝이 엄격한 안장점으로의 수렴을 피하게 한다. 다만 모든 퇴화된 안장점을 다루지는 않으며, 전역 최소점을 보장하지도 않는다. 섭동을 준 기울기 방법은 통제된 잡음을 더하며, 추가 매끄러움과 엄격한 안장점 조건에서 안장점 탈출 결과가 더 강하다.8,9

이 구분은 신경망에서 중요하다. 신경망의 목적 함수에는 대칭, 평평한 방향, 미분 불가능한 점, 동치인 매개변수화가 있을 수 있다. 매끄러운 유한 차원 함수에 대한 수렴 정리를 모든 학습 실행을 자동으로 특징짓는 것처럼 인용하면 안 된다.

4.2. 확률적 수렴률

확률적 기울기의 수렴률은 볼록성, 기울기 잡음 가정, 스텝 크기, 평균화, 그리고 측정 대상이 목적 함수 오차인지, 거리인지, 후회(regret)인지, 기울기 노름인지에 따라 달라진다. 표준적인 유계 분산 가정에서는 상수 학습률일 때 잡음이 하한을 만든다. 감소 스텝이나 분산 감소 방법은 그 분석이 다루는 설정에서 이 하한을 없앨 수 있다. O(1/√k) 같은 하나의 수렴률만으로 확률적 경사 하강법을 완전히 설명할 수는 없다.3

5. 기울기 배치 방식

많은 지도 학습 목적 함수는 다음과 같은 유한 합이다. 세 가지 흔한 데이터 방식은 기울기를 추정하는 방법이 서로 다르다.

F(x) = (1/N) Σ_{i=1}^{N} f_i(x)
유한 합 형태의 목적 함수

전체 배치 경사 하강법은 매 갱신 전에 N개 성분의 기울기를 모두 계산하며, g_k = ∇F(x_k)를 쓴다. 고정된 데이터와 확정적 연산에서는 이것이 경험적 목적 함수의 정확한 기울기다. N이 크면 갱신 비용이 높지만, 확정적 수렴 분석에 직접 맞는다.

확률적 경사 하강법은 인덱스 i_k를 뽑아 g_k = ∇f_{i_k}(x_k)를 쓴다. 인덱스를 균등하고 독립적으로 뽑으면 현재 반복값에 조건부로 이 추정량은 불편하다. 즉 E[g_k | x_k] = ∇F(x_k)이다. 그렇다고 해서 매 갱신이 F를 줄이는 것은 아니다. 개별 기울기는 전체 목적 함수 기준으로 오르막을 가리킬 수 있고, 데이터를 비복원으로 섞으면 연속된 추정값이 서로 의존한다.

5.1. 미니배치와 데이터 병렬

독립 샘플링에서 배치가 커지면 추정량 분산은 줄어든다. 크기 b인 미니배치 B_k에 대해 g_k = (1/b) Σ_{i∈B_k} ∇f_i(x_k)를 쓴다. 그 이득은 작업마다 다르고, 상관관계, 유한한 데이터, 최적화 동역학, 사용 가능한 병렬성이 결국 이를 제한한다. 배치 크기는 같은 예제 수에서도 매개변수 갱신 횟수를 바꾼다. 따라서 에포크, 갱신 횟수, 처리한 예제 수, 계산량 중 무엇을 고정했는지 밝혀야 비교가 된다.

미니배치는 가속기 활용도와 데이터 병렬 처리량을 높일 수 있지만 무제한 속도 향상을 주지는 않는다. Shallue 등의 대규모 실험은 작업마다 데이터 병렬의 유용한 범위가 크게 다르다는 것을 보였다. 대배치 일반화에 대한 상충된 주장은 튜닝과 예산의 차이로 설명되는 경우가 많았다. 이 결과는 대배치가 반드시 더 나쁜 해를 찾는다는 일괄 규칙보다 근거가 강하다.10

기울기 누적은 한 번의 옵티마이저 갱신 전에 여러 마이크로배치의 기울기를 합하거나 평균낸다. 동기식 데이터 병렬도 여러 작업자가 만든 기울기를 비슷하게 합친다. 손실 축약, 기울기 축약, 학습률 스케일링이 일관되면 더 큰 유효 미니배치를 재현할 수 있다. 하지만 작업자가 국소 옵티마이저 스텝을 따로 밟거나, 데이터가 다르거나, 축약 전에 클리핑하거나, 기울기를 다르게 정규화하면 동등하지 않다. 재현을 위해서는 장치별 마이크로배치, 작업자 수, 누적 단계 수, 전역 배치, 기울기 합과 평균의 구분, 학습률 변화를 보고해야 한다.

6. 모멘텀과 가속

모멘텀은 현재와 과거의 기울기를 합치는 상태를 추가한다. 곡률이 큰 방향의 진동을 줄이고, 방향이 계속 일관된 경우에는 그 방향으로 가속하게 만든다.

6.1. 모멘텀 방법

헤비볼 방법의 흔한 표기는 다음과 같다.

v_{k+1} = β v_k + ∇f(x_k)
x_{k+1} = x_k − α v_{k+1}
헤비볼 모멘텀

다른 자료는 학습률을 속도 갱신 안에 넣는다. 이 표기들은 상태와 하이퍼파라미터를 변환한 뒤에만 같다. 따라서 최적화 설정은 구현을 확인하기 전에 수식 사이에서 옮기면 안 된다. Polyak은 1964년 헤비볼 가속 아이디어를 도입했다. 이 방법의 가장 강한 고전적 가속 결과는 임의의 비볼록 신경망 손실보다 많은 구조를 요구한다.11

Nesterov 가속 방법은 외삽된 점에서 기울기를 계산하고, 그 스텝을 신중하게 고른 외삽 계수 수열과 결합한다. 매끄러운 볼록 최적화에서는 1983년 원 논문과 현대적 정리에서 제시된 O(1/k²) 최악 목적 함수 속도를 얻는다.4,12

딥러닝 라이브러리에 있는 '네스테로프 모멘텀' 옵션은 속도 표기와 유한 시간 동작이 표준 볼록 가속 경사법과 다를 수 있다. 그러므로 O(1/k²) 정리는 모든 룩어헤드형 모멘텀 구현이 아니라 완전한 가속 기법과 그 가정에 귀속시켜야 한다. 일리야 수츠케버(Ilya Sutskever) 등은 깊은 신경망과 순환 신경망을 위해 특정 모멘텀 재정식화와 스케줄을 경험적으로 연구했다.13

7. 적응형 대각 방법

적응형 방법은 과거 기울기의 좌표별 통계를 유지한다. 모든 좌표에 하나의 스칼라 스텝을 쓰지 않고 시간에 따라 바뀌는 대각 전처리기를 쓰는 것으로 볼 수 있다. 동작은 초기화, 엡실론 위치, 편향 보정, 갱신 순서에 따라 달라지며, 이 세부 사항은 구현마다 다르다.

7.1. AdaGrad와 RMSProp

대각 AdaGrad는 누적기 r_k = r_{k−1} + g_k ⊙ g_k를 쓰고, 갱신식은 다음과 같다. 곱셈, 나눗셈, 제곱근은 모두 좌표별로 적용된다.

r_k = r_{k−1} + g_k ⊙ g_k
x_{k+1} = x_k − α g_k / (√r_k + ε)
AdaGrad 갱신

원 논문은 후회 보장(regret guarantee)을 가진 적응형 부분 기울기 방법을 발전시키고, 드물게 관측되는 희소 특징에 대한 반응을 강조했다. r_k는 감소하지 않으므로 긴 실행에서는 좌표별 스텝이 매우 작아질 수 있다.14

RMSProp은 AdaGrad의 누적합을 지수 이동 평균으로 바꾼다. 갱신식은 다음과 같다.

r_k = ρ r_{k−1} + (1 − ρ) g_k ⊙ g_k
x_{k+1} = x_k − α g_k / √(r_k + ε)
RMSProp 갱신

이 방법은 제프리 힌턴의 2012년 신경망 강의 노트에 실려 있다. 라이브러리마다 ε이 제곱근 안에 있는지 밖에 있는지, 모멘텀이나 중심화(centering)를 더하는지가 다르다. 이는 서식 차이가 아니라 서로 다른 갱신 규칙이다.15

7.2. Adam과 AMSGrad

Adam은 기울기의 지수 평균과 제곱 기울기의 지수 평균을 결합한다. 원 알고리즘은 0으로 초기화된 모멘트에 편향 보정을 적용한 뒤 갱신한다.

m_k = β₁ m_{k−1} + (1 − β₁) g_k
v_k = β₂ v_{k−1} + (1 − β₂) g_k ⊙ g_k
m̂_k = m_k / (1 − β₁^k),  v̂_k = v_k / (1 − β₂^k)
x_{k+1} = x_k − α m̂_k / (√v̂_k + ε)
Adam 갱신

Kingma와 Ba는 원 알고리즘의 기본값으로 β₁ = 0.9, β₂ = 0.999, ε = 10⁻⁸을 제안하면서 학습률은 문제에 따라 달라진다고 강조했다. 이 값은 한 명세의 기본값이며 보편적 최적값이 아니다.16

원래 수렴 증명은 실무에서 쓰이는 모든 매개변수 설정을 다루지 않았다. Reddi, Kale, Kumar는 Adam이 수렴하지 않는 간단한 볼록 온라인 예시를 만들고, 과거 2차 모멘트 추정의 좌표별 최댓값을 유지하는 AMSGrad를 제안했다. AMSGrad는 명시된 가정 아래 수렴 보장을 가진다. 그러나 모든 Adam 계열 구현이 모든 비볼록 문제에서 수렴한다는 증명은 아니다.17

7.3. AdamW와 가중치 감쇠

AdamW는 매개변수 감쇠를 Adam의 손실 기울기 전처리기에서 분리한다. 개략식은 다음과 같다.

x_{k+1} = (1 − αλ) x_k − α m̂_k / (√v̂_k + ε)
AdamW 개략식

평범한 확률적 경사 하강법에서는 L2 페널티와 곱셈형 가중치 감쇠를 학습률을 고려하면 동등하게 만들 수 있다. Loshchilov와 Hutter는 적응형 스케일링에서는 이 동등성이 성립하지 않음을 보였다. L2 미분을 손실 기울기에 더하면 그 값도 적응형 전처리기를 거치기 때문이다. 분리는 이 구체적 불일치를 고칠 뿐이며, AdamW가 모든 구조나 데이터셋에 최선이라는 것을 입증하지는 않는다.18

7.4. Lion

Lion은 모멘텀과 유사한 상태로 만든 부호 기반 갱신을 쓰며, Adam의 두 모멘트 텐서 대신 이런 상태 텐서를 하나만 유지한다. 이 방법은 기호적 프로그램 탐색으로 발견되었고, 일부 비전·언어·확산 작업에서 평가되었다.

논문은 Adam과 비교해 경쟁력 있는 결과와 더 적은 옵티마이저 상태 메모리를 보고하지만, 이득이 작거나 통계적으로 유의하지 않은 작업도 함께 기록했다. 따라서 Lion은 우위가 일반적으로 증명된 방법이 아니라 평가된 대안이다.19

7.5. 방법 비교

주요 최적화 방법 비교
방법매개변수별 지속 상태(매개변수 제외)핵심 스케일링 아이디어중요한 단서
기본 경사 하강법없음스칼라 스텝 하나조건수와 스케일에 민감
헤비볼 모멘텀벡터 하나누적된 속도수식 표기가 구현마다 다름
AdaGrad벡터 하나누적 제곱 기울기유효 스텝이 계속 줄어들 수 있음
RMSProp벡터 하나(모멘텀 선택 추가 가능)제곱 기울기의 지수 평균라이브러리에 독립적인 단일 갱신식은 없음
Adam벡터 둘편향 보정이 있는 1차·2차 모멘트원 방법에 알려진 반례가 있음
AdamW벡터 둘Adam에 분리된 매개변수 감쇠 추가분리는 규제 문제를 다루며 모든 최적화 문제를 해결하지는 않음
Lion벡터 하나모멘텀과 유사한 결합의 부호근거는 경험적이며 작업에 따라 다름

상태 수만으로 전체 학습 메모리가 정해지지는 않는다. 마스터 가중치, 기울기 버퍼, 저정밀도 사본, 샤딩, 오프로딩, 프레임워크별 임시 저장 공간도 포함해야 한다.

8. 방법 선택과 비교

최적화 방법의 선택은 문제 구조와 비교 예산을 따라야 한다. 목적 함수와 기울기 계산이 믿을 만한 중간 규모의 확정적 문제라면 백트래킹을 쓴 기본 경사 하강법이 유용한 기준선이 되지만, 준뉴턴 방법이 훨씬 적은 반복으로 끝낼 수도 있다. 매 갱신마다 평가하기에는 너무 큰 유한 합에는 확률적 또는 미니배치 방법이 보통 갱신당 비용이 낮다. 희소 특징에서는 AdaGrad의 좌표별 적응이 유용할 수 있고, 조밀한 신경망은 모멘텀 SGD, AdamW 또는 다른 방법으로 평가할 수 있다. 이것들은 측정을 위한 출발점이지, 승자를 미리 정하는 규칙이 아니다.3,20

공정한 비교는 최소한 네 가지 예산을 구분한다.

  • 갱신 예산: 같은 수의 매개변수 갱신
  • 예제 예산: 같은 수의 학습 예제 또는 토큰 처리
  • 계산 예산: 비슷한 연산량 또는 가속기 시간
  • 튜닝 예산: 학습률, 스케줄, 감쇠 등 하이퍼파라미터를 고를 기회가 비슷함

같은 갱신 횟수는 큰 배치를 쓰는 방법에 유리할 수 있는데, 더 많은 예제를 보기 때문이다. 같은 에포크 수는 갱신 비용이 낮고 횟수가 많은 방법에 유리할 수 있다. 같은 벽시계 시간은 수학적 진전만큼이나 구현 성숙도와 하드웨어 활용도를 반영할 수 있다. 검증 지표를 예제 수와 경과 시간 양쪽에 대해 함께 보고하면 상충 관계가 드러난다.

학습률은 옵티마이저마다 따로 튜닝해야 하며, 척도가 다른 갱신 사이에서 그대로 복사하면 안 된다. 분리된 가중치 감쇠, 클리핑 임계값, 스케줄도 따로 튜닝이 필요할 수 있다. 더 많은 상태를 쓰는 옵티마이저라면 메모리 이동량과 실현 가능한 배치 크기의 감소를 함께 넣어야 한다. 목표에 더 빨리 도달하지만 최종 지표가 다르다면, 목표 도달 시간과 고정 예산 결과를 모두 보고한다.

최소한 단순하고 잘 튜닝된 기준선과 비교하고, 무작위성이 중요할 때는 시드별 변동을 포함한다. 가장 좋은 실행 하나만으로는 신뢰할 만한 개선과 운 좋은 초기화 또는 데이터 순서를 구분할 수 없다. 실무적 결론은 한 옵티마이저가 보편적으로 우월하다는 것이 아니라, 더 높은 상태 메모리 비용으로 목표에 더 빨리 도달한다는 식의 조건부 결론일 수 있다.

9. 신경망 학습

신경망 학습에서 경험적 목적 함수는 보통 샘플별 손실의 평균에 명시적 규제항을 더한 것이다. 역모드 자동 미분은 많은 매개변수에 대한 스칼라 출력의 미분을 효율적으로 계산한다. 역전파는 이 넓은 기법의 신경망 적용이며, 그 자체로 옵티마이저는 아니다.21,22

경사 하강법은 좌표의 임의 재척도화에 불변이 아니다. 한 매개변수는 목적 함수를 급격히 바꾸고 다른 매개변수는 약하게 바꾸면, 첫 번째에 안전한 스칼라 스텝이 두 번째에는 느릴 수 있다. 특징 정규화, 적절한 매개변수화, 초기화, 정규화 층, 전처리는 유효 조건수를 바꿀 수 있다. 적응형 방법은 대각 스케일링을 제공하고, 뉴턴 및 준뉴턴 방법은 더 많은 계산과 메모리 비용을 들여 더 풍부한 곡률 근사를 쓴다.

스칼라 손실만 보면 이 문제가 가려질 수 있다. 유용한 진단에는 층별 기울기 노름, 갱신 대 매개변수 비율, 활성화와 기울기의 분포, 비유한값이나 클리핑된 값의 비율이 포함된다.

기울기 클리핑은 계산된 기울기를 옵티마이저 갱신 전에 수정한다. 전역 노름 클리핑은 다음과 같다.

g̃ = g · min(1, c / ‖g‖₂)
전역 노름 클리핑 (c는 임계값)

클리핑이 일어나면 방향은 보존되고 노름만 상한에 맞춰진다. 좌표별 값 클리핑은 다른 연산이다. Pascanu, Mikolov, Bengio는 순환 신경망 실험에서 기울기 폭발에 대응하는 노름 클리핑을 제안했다.23

클리핑은 갱신 입력의 크기를 제한할 뿐이며, 비유한 기울기의 원인을 고치거나 수렴을 보장하거나 임계값을 보편적으로 옳게 만들지 않는다. 분산 학습에서는 위치도 중요하다. 평균 전에 작업자마다 클리핑하는 것은 집계된 기울기를 클리핑하는 것과 일반적으로 같지 않다.

혼합 정밀도 학습은 선택된 연산과 텐서를 낮은 정밀도 형식으로 저장하고 계산하며, 필요한 곳에서는 높은 정밀도를 유지한다. Micikevicius 등이 연구한 FP16 방법은 가중치의 FP32 마스터 사본, 작은 기울기를 보호하는 손실 스케일링, 일부 연산의 FP32 누적을 사용했다. BF16은 지수 부분의 폭이 FP32와 같아서 IEEE FP16보다 동적 범위가 훨씬 넓지만, 소수부 비트는 더 적다.24,25

혼합 정밀도라는 말은 특정한 수치 알고리즘을 정하지 않는다. 재현 가능한 보고에는 매개변수, 순전파 활성화, 역전파 기울기, 축약, 옵티마이저 상태, 누적기의 형식과 손실 스케일링 정책을 밝혀야 한다. 낮은 정밀도는 반올림, 언더플로, 오버플로, 분산 축약 동작을 바꿀 수 있다.

10. 일반화와 암묵적 편향

최적화와 일반화는 서로 다른 질문에 답한다. 최적화는 선택한 학습 목적 함수를 절차가 얼마나 잘 줄이는지 묻는다. 일반화는 그 유한한 학습 표본 밖 데이터에서의 성능을 다룬다. 옵티마이저는 더 낮은 학습 손실에 도달하면서도 검증 지표는 더 나빠질 수 있다.

명시적 규제는 학습 목적 함수나 절차를 바꾼다. 예로는 L2 페널티, 분리된 가중치 감쇠, 데이터 증강, 드롭아웃, 조기 종료가 있다. 이것들은 옵티마이저의 암묵적 편향과 구분해야 한다. 학습 목적 함수가 낮아도 검증 오차는 높을 수 있으므로, 검증 기반 모델 선택은 옵티마이저의 정상성 검사와 별개다.

10.1. 암묵적 편향과 평평함

과소결정 문제에 해가 많으면, 명시적 페널티 없이도 갱신 규칙과 초기화가 일부 해를 선호할 수 있다. 이를 암묵적 편향이라고 한다. 엄밀한 예로, 선형 분리 가능한 데이터에 대한 동차 선형 예측기의 규제 없는 로지스틱 회귀가 있다. Soudry 등의 분석 가정 아래에서 경사 하강 반복의 방향은 매개변수 노름이 발산하는 동안 하드 마진 서포트 벡터 머신 방향으로 수렴한다.26

그 결과의 범위는 좁다. 임의의 깊은 신경망에서 경사 하강법이 항상 저노름, 최대 마진 또는 '단순한' 해를 찾는다는 것을 증명하지는 않는다. 매개변수화, 구조, 손실, 스텝 크기, 확률성, 중단 시점이 모두 편향을 바꿀 수 있다.

작은 배치의 잡음과 해 주변의 기하는 일반화를 설명하는 근거로 자주 논의된다. 그러나 '평평한 극소점은 일반화하고 날카로운 극소점은 일반화하지 않는다'는 단순한 주장은 매개변수화에 불변이 아니다. Dinh 등은 기능적으로 동치인 정류 신경망을 재매개변수화하면, 같은 함수와 일반화 성능을 유지하면서도 흔히 쓰이는 날카로움 측정치를 임의로 다르게 만들 수 있음을 보였다.27

평평함은 측정치, 이웃 영역, 정규화, 매개변수화를 정의하면 쓸모가 있지만, 옵티마이저와 무관한 스칼라 사실로 다루면 안 된다. 같은 맥락에서 배치 크기에 관한 증거는 학습률 스케줄, 튜닝 예산, 갱신 횟수, 처리한 예제 수, 계산 예산을 함께 통제해야 한다.10

11. 실패 진단

학습률이 지나치게 크면 특히 높은 곡률 방향에서 목표를 넘어서거나 불안정한 점화식이 생길 수 있다. 모멘텀은 불안정성을 키울 수 있다. 스텝을 낮추고, 첫 실패 갱신을 찾고, 손실 정규화와 기울기 축약을 확인하며, 유한하지만 커지는 손실과 처음 나타나는 NaN 또는 무한대를 구분한다. 클리핑은 유한한 급등을 제한할 수 있지만 체계적인 수치 오류를 숨기는 데 쓰면 안 된다.

학습률이 너무 작으면 움직임이 거의 없다. 조건이 나쁘면 가장 큰 안정 스칼라 스텝에서도 진전이 느릴 수 있다. 포화된 활성화, 잘못 스케일된 특징, 맞지 않는 매개변수화도 작거나 불균형한 기울기를 만든다. 손실만 보고 원인을 추정하지 말고, 매개변수 그룹별로 기울기와 갱신을 살펴봐야 한다.

확률적 갱신은 다음 미니배치 손실이나 전체 목적 함수를 반드시 줄이지는 않는다. 일관되게 정의된 평균을 비교하고, 표본 변동과 지속적 추세를 구분한다. 배치를 키우면서 옵티마이저 스텝 수, 학습률 스케줄, 정규화도 함께 바뀌었다면 그것은 배치 크기만 분리한 실험이 아니다.

학습 손실은 낮아지는데 검증 지표가 나빠지는 것은 옵티마이저 수렴의 모순이 아니다. 학습 목적 함수와 표본 밖 지표는 서로 다르다. 데이터 분할, 누수, 분포 변화, 모델 용량, 명시적 규제, 중단 시점을 점검한다. 옵티마이저가 명세대로 동작하더라도 과적합은 통계적 문제로 남는다.

분산 실행이 어긋나면 기울기를 합산하는지 평균하는지, 클리핑이 어디서 일어나는지, 모든 작업자가 갱신 전에 같은 매개변수를 쓰는지, 버려진 배치나 고르지 않은 배치를 어떻게 다루는지 확인한다. 부동소수점 축약은 순서에 따라 달라지므로, 수학적으로 같아야 하는 실행이라도 비트 단위 동일성을 항상 기대할 수는 없다. 적응형 옵티마이저는 이름이 아니라 실제 갱신식을 확인한다. 엡실론 위치, 편향 보정, 결합 감쇠와 분리 감쇠, 모멘텀 표기, 희소 기울기 처리, 매개변수 제외 규칙이 실행을 크게 바꿀 수 있다. 다른 구현의 옵티마이저 상태를 불러오는 것도 점화식을 바꿀 수 있다.

기본 형태의 경사 하강법은 미분 가능한 제약 없는 목적 함수를 가정하고 1차 도함수를 쓴다. 다음 방법들은 가정과 갱신 기하가 다르다.

  • 사영 경사 하강법은 기울기 스텝을 밟은 뒤 실행 가능 집합에 사영한다.
  • 부분 기울기 방법은 특정 미분 불가능한 볼록 목적 함수를 다루지만, 매끄러운 경사 하강법의 속도를 물려받지 않는다.
  • 근접 경사법은 매끄러운 항과, 단순하지만 미분 불가능할 수 있는 항의 합을 기울기 스텝과 근접 연산자의 결합으로 다룬다.
  • 뉴턴 방법은 헤시안 행렬을 쓰고, 준뉴턴 방법은 곡률을 근사한다. 이런 스텝은 기울기보다 더 많은 정보를 담지만 비용도 더 크다.
  • 좌표 하강법은 전체 기울기 방향 대신 선택된 변수만 갱신한다.
  • 거울 하강법은 스텝의 기하를 바꾸며, 비유클리드 정의역에 더 잘 맞을 수 있다.

이를 모두 '경사 하강법 변형'이라고 부르면 서로 다른 가정과 보장이 가려진다. 정확한 갱신식과 기하를 밝혀야 한다.

Augustin-Louis Cauchy는 1847년 노트에서 제곱합을 줄여 연립방정식을 푸는 과정에서 하강 절차를 기술했다. Haskell Curry는 1944년 비선형 최소화에 대한 최급 하강법(steepest descent)의 초기 수렴 연구를 발표했다. Robbins와 Monro의 1951년 확률적 근사 방법은 잡음이 있는 관측으로 구동되는 재귀 절차의 기초를 세웠다.5,28,29

Polyak은 1964년 헤비볼 가속 방법을 도입했다. Nesterov의 1983년 논문은 매끄러운 볼록 최적화에 O(1/k²) 속도를 가진 가속 방법을 제시했다. 데이비드 럼멜하트, 제프리 힌턴, 로널드 윌리엄스의 1986년 논문은 오차 도함수를 역전파해 다층 신경망을 학습시키는 방법을 널리 알리는 데 도움이 됐다. 역모드 미분은 이 신경망 논문보다 넓은 역사와 범위를 가지며, 자동 미분 문헌에 정리되어 있다.11,12,21,22

적응형 1차 방법은 2011년 AdaGrad로 머신러닝에서 두드러졌고, 2012년 RMSProp 강의 노트를 거쳐, 2014년 공개되고 2015년 ICLR에서 발표된 Adam으로 이어졌다. 이후 연구는 Adam 원래 수렴 논증의 한계를 밝혔고, AdamW에서 가중치 감쇠를 적응형 전처리와 분리했으며, Lion 같은 대안을 탐색했다.14,15,16,17,18,19

13. 보고 체크리스트

기울기 기반 최적화를 기술적으로 의미 있게 보고하려면 다음을 포함해야 한다.

  • 정확한 목적 함수, 축약 규칙, 규제 항
  • 옵티마이저 식, 또는 식을 복구할 만큼 정확한 구현과 버전
  • 초기화, 스칼라 및 매개변수 그룹별 학습률, 모멘텀 또는 모멘트 계수, 엡실론, 감쇠, 클리핑, 스케줄
  • 전체 배치, 샘플링, 셔플, 복원 여부, 미니배치 세부 사항
  • 마이크로배치, 누적 단계, 작업자 수, 전역 배치, 기울기 축약의 의미
  • 수치 형식, 손실 스케일링, 마스터 가중치와 옵티마이저 상태의 정밀도, 비유한값 처리
  • 중단 규칙과 결과를 학습 목적 함수, 검증 지표, 고정 예산 중 무엇으로 선택했는지
  • 최소 하나의 최적화 진단, 예를 들어 목적 함수 평가 횟수, 기울기 노름, 갱신 노름, 목표 도달 시간
  • 무작위 시드와, 확률적 효과가 클 때의 실행 간 변동

이런 세부 사항이 없으면 'AdamW' 또는 '모멘텀을 쓴 SGD'라고만 적힌 두 실행이 실제로는 의미 있게 다른 점화식을 구현했을 수 있다.

출처 29개
  1. AI Wiki: Gradient Descent (2026-10-02 수정본) aiwiki.ai · CC BY 4.0 · 확인 2026-10-17
  2. Boyd, S., and Vandenberghe, L. (2004). Convex Optimization, Chapter 9. Cambridge University Press web.stanford.edu · 확인 2026-11-01
  3. Optimization Methods for Large-Scale Machine Learning doi.org · 확인 2026-11-01
  4. Convex Optimization: Algorithms and Complexity arxiv.org · 확인 2026-11-01
  5. A Stochastic Approximation Method doi.org · 확인 2026-11-01
  6. SGDR: Stochastic Gradient Descent with Warm Restarts openreview.net · 확인 2026-11-01
  7. Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour arxiv.org · 확인 2026-11-01
  8. Gradient Descent Only Converges to Minimizers proceedings.mlr.press · 확인 2026-11-01
  9. How to Escape Saddle Points Efficiently proceedings.mlr.press · 확인 2026-11-01
  10. Measuring the Effects of Data Parallelism on Neural Network Training jmlr.org · 확인 2026-11-01
  11. Some methods of speeding up the convergence of iteration methods (AI Wiki 인용) doi.org · 확인 2026-10-17
  12. A method of solving a convex programming problem with convergence rate O(1/k^2 mathnet.ru · 확인 2026-11-01
  13. On the importance of initialization and momentum in deep learning proceedings.mlr.press · 확인 2026-11-01
  14. Adaptive Subgradient Methods for Online Learning and Stochastic Optimization jmlr.org · 확인 2026-11-01
  15. Lecture 6e: RMSProp: Divide the gradient by a running average of its recent magnitude cs.toronto.edu · 확인 2026-11-01
  16. Adam: A Method for Stochastic Optimization arxiv.org · 확인 2026-11-01
  17. On the Convergence of Adam and Beyond openreview.net · 확인 2026-11-01
  18. Decoupled Weight Decay Regularization openreview.net · 확인 2026-11-01
  19. Symbolic Discovery of Optimization Algorithms proceedings.neurips.cc · 확인 2026-11-01
  20. Optimization for Training Deep Models deeplearningbook.org · 확인 2026-11-01
  21. Learning representations by back-propagating errors doi.org · 확인 2026-11-01
  22. Automatic Differentiation in Machine Learning: a Survey jmlr.org · 확인 2026-11-01
  23. On the difficulty of training recurrent neural networks proceedings.mlr.press · 확인 2026-11-01
  24. Mixed Precision Training openreview.net · 확인 2026-11-01
  25. A Study of BFLOAT16 for Deep Learning Training arxiv.org · 확인 2026-11-01
  26. The Implicit Bias of Gradient Descent on Separable Data jmlr.org · 확인 2026-11-01
  27. Sharp Minima Can Generalize For Deep Nets proceedings.mlr.press · 확인 2026-11-01
  28. Methode generale pour la resolution des systemes d'equations simultanees (AI Wiki 인용) gallica.bnf.fr · 확인 2026-10-17
  29. The Method of Steepest Descent for Non-linear Minimization Problems doi.org · 확인 2026-11-01