배치 경사 하강법
IT 위키
배치 경사 하강법(Batch Gradient Descent)은 머신러닝 및 딥러닝 모델에서 손실 함수를 최소화하기 위해 전체 훈련 데이터를 사용해 한 번에 기울기를 계산하고 파라미터를 갱신하는 최적화 방법이다.
개요[편집 | 원본 편집]
배치 경사 하강법은 경사 하강법의 가장 기본적인 형태로, 전체 훈련 데이터를 대상으로 손실 함수의 그래디언트를 계산한 후 이를 바탕으로 파라미터를 갱신한다. 이 방식은 기울기 추정이 정밀하고 학습 경로가 안정적이라는 장점이 있다.
작동 방식[편집 | 원본 편집]
학습 데이터가 N개 있을 때, 각 반복에서 다음과 같은 절차를 따른다.
- 전체 N개의 데이터를 이용해 손실 함수의 기울기를 계산한다.
- 계산된 평균 그래디언트를 사용해 모델의 파라미터를 업데이트한다.
- 이 과정을 여러 에포크(epoch) 동안 반복한다.
특징[편집 | 원본 편집]
- 기울기 계산이 전체 데이터를 기반으로 이루어지므로, 각 업데이트는 정확하고 수렴 경로가 매끄럽다.
- 모든 데이터를 메모리에 적재해야 하므로, 데이터셋이 클 경우 메모리 사용량과 계산 비용이 매우 크다.
- 대규모 데이터셋에서는 속도가 느려 학습 효율이 낮아질 수 있다.
장점과 단점[편집 | 원본 편집]
- 장점
- 손실 함수의 최솟값을 향해 안정적으로 수렴할 수 있다.
- 기울기 계산이 정확하여 진동 없이 수렴하는 경향이 있다.
- 단점
- 데이터셋이 클수록 연산량과 메모리 사용량이 증가한다.
- 실시간 학습이나 온라인 학습에는 적합하지 않다.
- 작은 배치에 비해 일반화 성능이 낮을 수 있다.
비교[편집 | 원본 편집]
다른 경사 하강법들과의 주요 차이점은 다음과 같다.
- 확률적 경사 하강법(SGD)은 하나의 샘플로 매 반복마다 파라미터를 갱신한다.
- 미니배치 경사 하강법은 소규모 데이터 묶음(미니배치)을 사용하여 균형을 맞춘 방식이다.
- 배치 경사 하강법은 수렴은 안정적이나, 연산 비용이 크고 유연성이 떨어진다.
같이 보기[편집 | 원본 편집]
참고 문헌[편집 | 원본 편집]
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, 《Deep Learning》, MIT Press
- Aurélien Géron, 《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow》, O'Reilly Media