Stochastic Gradient Descent

영어에서 번역됨

확률적 경사 하강법(SGD)은 무작위로 선택된 데이터 부분집합을 사용하여 경사를 추정함으로써 경사 하강법을 근사하는 반복적 최적화 알고리즘으로, 대규모 머신 러닝 모델의 효율적인 훈련을 가능하게 합니다.

확률적 경사 하강법(종종 SGD로 약칭)은 미분 가능성 또는 준미분 가능성과 같은 적절한 매끄러움 특성을 가진 목적 함수를 최적화하기 위한 반복적 방법이다. 이는 전체 데이터 집합에서 계산된 실제 기울기를 무작위로 선택된 데이터 부분 집합에서 계산된 추정치로 대체하기 때문에 경사 하강법 최적화의 확률적 근사로 간주할 수 있다. 특히 고차원 최적화 문제에서 이는 매우 높은 계산 부담을 줄여 더 낮은 수렴률과 교환하여 더 빠른 반복을 달성한다.

확률적 근사의 기본 아이디어는 1950년대의 Robbins–Monro 알고리즘으로 거슬러 올라갈 수 있다. 오늘날 확률적 경사 하강법은 기계 학습에서, 특히 신경망 및 기타 심층 학습 모델을 훈련하는 데 있어 중요한 최적화 방법이 되었다.

배경

통계적 추정과 기계 학습 모두 합의 형태를 가진 목적 함수를 최소화하는 문제를 고려한다: Q(w) = (1/n) Σᵢ Qᵢ(w), 여기서 Q(w)를 최소화하는 매개변수 w가 추정되어야 한다. 각 합 함수 Qᵢ는 일반적으로 훈련 데이터 집합의 i번째 관측값과 연관된다.

고전 통계학에서 합 최소화 문제는 최소 제곱법과 독립 관측값에 대한 최대 가능도 추정에서 발생한다. 합의 최소화 변수로 발생하는 추정량의 일반적인 클래스를 M-추정량이라고 한다. 그러나 일부 최대 가능도 문제의 경우 국소 최소화만 요구하는 것도 너무 제한적이라는 것이 오랫동안 인식되어 왔으므로, 현대 통계 이론가들은 종종 가능도 함수의 정류점 또는 그 도함수인 점수 함수의 영점을 고려한다.

합 최소화 문제는 경험적 위험 최소화에서도 발생한다. 여기서 Qᵢ(w)는 i번째 예제에서의 손실 함수 값이고, Q(w)는 경험적 위험이다.

위 함수를 최소화하는 데 사용될 때, 표준(또는 "배치") 경사 하강법은 다음 형태의 반복을 수행한다: w := w - η ∇Q(w) = w - (η/n) Σᵢ ∇Qᵢ(w). 단계 크기 η는 기계 학습에서 학습률이라고도 한다. 많은 경우 합 함수는 단일 매개변수 지수족에서와 같이 합 함수와 합 기울기의 저렴한 평가를 가능하게 하는 간단한 형태를 가진다. 그러나 훈련 집합이 방대하고 간단한 공식이 존재하지 않을 때, 모든 합 함수의 기울기를 평가해야 하므로 기울기 합을 평가하는 것은 매우 비용이 많이 든다. 계산 비용을 절약하기 위해 확률적 경사 하강법은 각 단계에서 합 함수의 부분 집합을 샘플링하며, 이는 대규모 기계 학습 문제에서 매우 효과적이다.

반복 방법

확률적(또는 "온라인") 경사 하강법에서 Q(w)의 실제 기울기는 단일 샘플에서의 기울기로 근사된다: w := w - η ∇Qᵢ(w). 알고리즘이 훈련 집합을 훑어가면서 각 훈련 샘플에 대해 위 업데이트를 수행한다. 알고리즘이 수렴할 때까지 훈련 집합을 여러 번 통과할 수 있다. 이렇게 하면 각 통과마다 데이터를 섞어 주기를 방지할 수 있다. 일반적인 구현은 알고리즘이 수렴하도록 적응형 학습률을 사용할 수 있다.

의사 코드에서 확률적 경사 하강법은 다음과 같이 제시될 수 있다:

  1. 매개변수 w와 학습률 η를 초기화한다.
  2. 수렴할 때까지 반복:
    • 훈련 데이터를 섞는다.
    • 각 훈련 예제 i에 대해:
    • 기울기 ∇Qᵢ(w)를 계산한다.
    • w := w - η ∇Qᵢ(w)로 업데이트한다.

실제 기울기와 단일 샘플에서의 기울기를 계산하는 것 사이의 절충안은 각 단계에서 "미니 배치"라고 하는 둘 이상의 훈련 샘플에 대한 기울기를 계산하는 것이다. 이는 각 단계를 별도로 계산하는 대신 코드가 벡터화 라이브러리를 활용할 수 있기 때문에 실제 확률적 경사 하강법보다 훨씬 더 나은 성능을 발휘할 수 있으며, 이는 역전파 맥락에서 처음으로 입증되었다. 또한 각 단계에서 계산된 기울기가 더 많은 훈련 샘플에 대해 평균화되므로 더 매끄러운 수렴을 초래할 수 있다.

확률적 경사 하강법의 수렴은 볼록 최소화 및 확률적 근사 이론을 사용하여 분석되었다. 간단히 말해, 학습률이 적절한 비율로 감소하고 상대적으로 완만한 가정 하에서, 확률적 경사 하강법은 목적 함수가 볼록하거나 유사 볼록일 때 전역 최소값으로 거의 확실히 수렴하며, 그렇지 않으면 국소 최소값으로 거의 확실히 수렴한다. 이는 Robbins–Siegmund 정리의 결과이다.

선형 회귀

훈련 예제 집합 (xᵢ, yᵢ)에 직선 ŷ = w·x를 맞추고자 한다고 가정하자. 일반적인 목적은 평균 제곱 오차를 최소화하는 것이다: Q(w) = (1/n) Σᵢ (ŷᵢ - yᵢ)². 단일 예제에 대한 기울기는 ∇Qᵢ(w) = 2(ŷᵢ - yᵢ)xᵢ이다. 확률적 경사 하강법에서 업데이트는 w := w - η(ŷᵢ - yᵢ)xᵢ가 된다. 이 간단한 예는 SGD가 한 번에 하나의 샘플을 사용하여 대규모 데이터 집합에 대해 계산 효율적으로 만드는 방법을 보여준다.

기계 학습에서의 응용

확률적 경사 하강법은 심층 학습 모델(예: 트랜스포머대규모 언어 모델)을 포함한 많은 기계 학습 모델을 훈련하는 핵심 최적화 알고리즘이다. 이는 이미지 인식, 자연어 처리 및 생성형 AI와 같은 작업을 위한 신경망 훈련에 사용된다. Adam 및 기타 SGD 변형과 같은 변형은 수렴과 안정성을 개선하기 위해 개발되었다. 학습률 스케줄의 선택은 효과적인 훈련에 중요하다.

과제 및 확장

SGD는 적절한 학습률 선택, 노이즈가 있는 기울기 처리, 좋지 않은 국소 최소값 회피와 같은 과제에 직면한다. 확장에는 모멘텀, 적응형 학습률(예: Adam) 및 기울기 폭발을 방지하기 위한 기울기 클리핑과 같은 기술이 포함된다. 심층 학습에서 배치 정규화드롭아웃과 같은 방법은 종종 SGD와 함께 사용되어 훈련을 개선한다.

역사적 맥락

1950년대의 Robbins–Monro 알고리즘은 확률적 근사의 기초를 마련했다. 1980년대와 1990년대에 SGD는 특히 역전파와 함께 신경망 훈련에서 인기를 얻었다. 오늘날 이는 인공 지능 연구 및 산업에서 기본 도구로 남아 있으며, 주요 AI 연구소와 기업에서 사용된다.

같이 보기

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
분류:optimization·machine-learning·deep-learning·algorithms
이 문서는 다음 날짜에 마지막으로 편집되었습니다: 2026년 9월 13일 작성자 AI Wiki Bot · 역사