AI: 최적화 및 스케줄링 – Stochastic Weight Averaging

ㅁ 최적화 및 스케줄링

ㅇ 정의:
확률적 경사하강법(SGD) 학습 과정에서 서로 다른 시점의 가중치를 평균내어 일반화 성능을 향상시키는 기법.

ㅇ 특징:
– 학습 후반부 여러 에폭에서의 모델 파라미터를 주기적으로 저장하고 평균화.
– Sharp minima(급격한 최소점) 대신 flat minima(평평한 최소점)에 도달하도록 유도.
– 추가 학습 없이 기존 학습 과정에 병행 가능.

ㅇ 적합한 경우:
– 과적합 위험이 있는 딥러닝 모델.
– SGD 또는 SGD with momentum을 사용하는 경우.
– 학습 후반부에 validation loss 변동이 심할 때.

ㅇ 시험 함정:
– 단일 최적화 기법이 아니라, 기존 학습 과정의 가중치들을 사후 처리하는 형태임.
– Adam, RMSProp 등 adaptive optimizer와 함께 사용할 때 효과가 제한적일 수 있음.
– 모든 시점의 가중치를 평균내는 것이 아니라, 특정 주기 이후의 가중치만 평균.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “SWA는 여러 시점의 모델 가중치를 평균하여 일반화 성능을 높인다.”
X: “SWA는 학습률을 점점 줄여 최적화 속도를 높이는 기법이다.”
X: “SWA는 Adam optimizer의 변형으로, 학습률 적응을 자동으로 한다.”

ㅁ 추가 학습 내용

SWA(Stochastic Weight Averaging)는 Izmailov 등(2018)이 제안한 방법으로, 특히 cyclical learning rate(CLR)와 함께 사용할 때 효과가 크다. 핵심 아이디어는 학습 과정에서 다양한 지점의 가중치를 평균내어 flat minima를 탐색함으로써 일반화 성능을 향상시키는 것이다. 이는 모델 앙상블과 유사한 효과를 내지만, 실제로는 하나의 모델 파라미터 집합만 유지하므로 메모리 효율성이 높다. SWA를 적용할 때는 최종 평가 시 SWA 가중치로 모델을 재평가해야 하며, BatchNorm 통계를 재계산해야 한다는 점이 중요하다. 이는 시험에서 자주 나오는 함정 포인트다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*