최적화 기법: SGD
ㅁ 최적화 기법
ㅇ 정의:
최적화 기법은 머신러닝 모델의 성능을 극대화하기 위해 손실 함수를 최소화하는 알고리즘을 설계하고 적용하는 방법론이다.
ㅇ 특징:
– 학습 속도와 정확도에 직접적인 영향을 미침.
– 다양한 기법이 존재하며, 데이터 특성과 모델 구조에 따라 적합한 기법을 선택해야 함.
– 과적합 방지와 일반화 성능 향상을 위해 정규화 기법과 함께 사용되기도 함.
ㅇ 적합한 경우:
– 대규모 데이터셋에서 모델 학습 시간을 단축하고자 할 때.
– 특정 손실 함수의 기울기를 효과적으로 탐색해야 할 때.
ㅇ 시험 함정:
– 최적화 기법이 모든 데이터와 모델에 동일하게 적용될 것으로 오해하는 경우.
– 학습률 설정이 잘못되어 발산하거나 수렴 속도가 느려지는 문제를 간과하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
O: 최적화 기법은 모델의 손실 함수를 최소화하는 데 사용된다.
X: 모든 최적화 기법은 기본적으로 동일한 결과를 제공한다.
================================
1. SGD
ㅇ 정의:
확률적 경사 하강법(Stochastic Gradient Descent)은 전체 데이터셋이 아닌 무작위로 선택된 소규모 데이터 배치를 사용하여 모델의 손실 함수를 최소화하는 기법이다.
ㅇ 특징:
– 계산 효율성이 뛰어나 대규모 데이터셋에 적합함.
– 손실 함수의 진동 현상이 발생할 수 있어 학습률 조정이 중요함.
– 미니배치 크기와 학습률에 따라 성능이 크게 달라질 수 있음.
ㅇ 적합한 경우:
– 대규모 데이터셋에서 빠른 학습을 요구하는 경우.
– 메모리 제약이 있는 환경에서 모델을 학습시켜야 하는 경우.
ㅇ 시험 함정:
– SGD가 항상 더 빠르고 정확하다고 생각하는 오류.
– 손실 함수의 진동을 무시하고 학습률 조정을 소홀히 하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
O: SGD는 데이터 배치를 무작위로 선택하여 손실 함수를 최소화한다.
X: SGD는 항상 모든 데이터셋에서 가장 적합한 최적화 기법이다.
ㅁ 추가 학습 내용
SGD의 변형 기법과 학습률 스케줄링에 대한 주요 내용을 정리합니다.
1. **모멘텀(Momentum)**:
– 목적: SGD의 단점을 보완하여 진동을 줄이고 더 빠르게 수렴하도록 돕는 기법.
– 특징:
– 이전 기울기의 방향을 일정 비율로 유지하여 관성을 부여함.
– 현재 기울기와 이전 기울기의 가중치를 조합하여 업데이트.
– 진동을 줄이고 최적화 경로를 더 안정적으로 만듦.
– 주요 장점:
– 경사면에서 빠르게 이동하면서도 목표 지점 근처에서 안정적으로 수렴.
2. **Adam**:
– 목적: 학습률 조정과 모멘텀의 장점을 결합한 최적화 알고리즘.
– 특징:
– 기울기의 1차 모멘트(평균)와 2차 모멘트(분산)을 동시에 계산.
– 학습률을 각 파라미터별로 적응적으로 조정.
– 초기 단계에서 빠르게 학습하면서도 후반부에 안정적으로 수렴.
– 주요 장점:
– 학습률 조정이 자동으로 이루어져 별도의 튜닝이 필요하지 않음.
– 다양한 문제에 대해 안정적인 성능을 보임.
3. **RMSProp**:
– 목적: 학습률을 적응적으로 조정하여 SGD의 단점을 보완.
– 특징:
– 기울기의 제곱값을 지수적으로 이동 평균하여 학습률을 조정.
– 학습률이 큰 기울기 방향에서는 감소하고 작은 기울기 방향에서는 증가.
– 비등방성 문제를 해결하여 더 빠르게 수렴.
– 주요 장점:
– 학습률을 자동으로 조정해주는 기능으로 최적화 효율을 높임.
4. **학습률 스케줄링**:
– 목적: 학습률을 동적으로 조정하여 최적화 효율을 극대화.
– 주요 방법:
– **고정 학습률**: 일정한 학습률을 유지.
– **단계적 감소**: 일정 단계마다 학습률을 감소시킴.
– **지수적 감소**: 학습률을 점진적으로 감소시킴.
– **사이클릭 학습률**: 학습률을 주기적으로 증가 및 감소시킴.
– 주요 역할:
– 초기에는 빠르게 학습하고 후반부에는 안정적으로 수렴하도록 도움.
– 과적합을 방지하거나 더 좋은 최적화 결과를 얻는 데 기여.
이 내용을 통해 최적화 알고리즘의 동작 원리와 각 기법의 차이점을 이해하고, 시험 대비에 활용할 수 있습니다.