AI 모델 개발: 최적화 기법 – SGD
ㅁ 최적화 기법
ㅇ 정의:
경사하강법(Gradient Descent)의 일종으로, 전체 데이터가 아닌 무작위로 선택된 일부 데이터(미니배치 또는 샘플)만을 사용하여 매개변수를 갱신하는 알고리즘.
ㅇ 특징:
– 계산 속도가 빠르고 메모리 사용량이 적음.
– 데이터가 클수록 효율적.
– 매개변수 갱신 시 노이즈가 포함되어 지역 최적점에서 탈출 가능.
– 학습 곡선이 불안정할 수 있음.
ㅇ 적합한 경우:
– 대규모 데이터셋 학습.
– 온라인 학습 환경.
– 빠른 근사 해를 원할 때.
ㅇ 시험 함정:
– ‘SGD는 항상 전역 최적해를 보장한다’ → X (비볼록 문제에서는 보장 안 됨)
– ‘SGD는 전체 데이터를 매번 사용한다’ → X (일부 데이터만 사용)
– ‘SGD는 배치 크기가 1일 때만 가능하다’ → X (미니배치 SGD도 존재)
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “SGD는 일부 데이터 샘플을 사용하여 매개변수를 갱신한다.”
– X: “SGD는 전체 데이터셋을 한 번에 사용하여 갱신한다.”
– O: “SGD는 대규모 데이터셋에서 계산 효율이 높다.”
– X: “SGD는 항상 전역 최적해를 찾는다.”
ㅁ 추가 학습 내용
SGD의 변형 기법은 시험에서 자주 등장하며, 대표적으로 모멘텀(Momentum), 네스테로프 가속 경사(Nesterov Accelerated Gradient, NAG), RMSProp, Adam 등이 있다.
이들 기법의 주요 장점은 학습 속도 개선, 진동 완화, 적응적 학습률 조정이다.
SGD의 주요 하이퍼파라미터에는 학습률(learning rate), 배치 크기(batch size), 에폭 수(epoch)가 있으며, 이들의 조정은 모델 성능에 큰 영향을 미친다.
학습률 감소(Learning Rate Decay) 기법은 학습이 진행됨에 따라 학습률을 점진적으로 줄여 더 안정적인 수렴을 유도한다.
데이터 셔플링은 학습 과정에서 데이터 순서로 인한 편향을 줄이기 위해 필요하다.
수렴 속도와 일반화 성능 간에는 트레이드오프가 존재한다. 빠른 수렴이 항상 좋은 일반화 성능을 보장하지 않으며, 적절한 균형이 필요하다.
SGD와 Batch Gradient Descent, Mini-batch Gradient Descent의 차이점은 다음과 같다.
방식:
– Batch Gradient Descent: 전체 데이터셋을 사용해 한 번의 업데이트 수행
– Stochastic Gradient Descent(SGD): 데이터 한 샘플마다 업데이트 수행
– Mini-batch Gradient Descent: 소규모 배치 단위로 업데이트 수행
장단점:
– Batch: 안정적 수렴, 계산량 큼
– SGD: 빠른 업데이트, 잡음 큼, 진동 가능
– Mini-batch: 계산 효율성과 수렴 안정성의 균형