알고리즘·논문: 효율적 학습 – AdamW

ㅁ 효율적 학습

ㅇ 정의:
AdamW는 Adam 옵티마이저의 변형으로, 가중치 감쇠(weight decay)를 L2 정규화와 분리하여 적용하는 최적화 알고리즘이다. 주로 딥러닝 모델의 학습 안정성과 일반화 성능 향상을 위해 사용된다.

ㅇ 특징:
– Adam의 1차, 2차 모멘트 추정 방식을 그대로 사용하면서 weight decay를 별도의 항으로 적용
– 과적합 방지 및 학습 속도 안정화에 유리
– 학습률 스케줄러와 함께 사용할 때 성능 향상 효과가 큼
– Transformer 계열 모델 학습에서 표준처럼 사용됨

ㅇ 적합한 경우:
– 대규모 파라미터를 가진 모델 학습 시
– 과적합 우려가 있는 경우
– Adam 사용 시 일반화 성능이 낮게 나오는 경우

ㅇ 시험 함정:
– AdamW의 weight decay는 L2 regularization과 수식상 동일하다고 오해하기 쉬움 (AdamW는 gradient 업데이트와 분리 적용)
– AdamW가 항상 Adam보다 빠르다고 단정하면 틀림
– weight decay를 학습률에 곱해서 적용한다고 착각하기 쉬움

ㅇ 시험 대비 “패턴 보기” 예시:
O: “AdamW는 Adam에서 weight decay를 gradient 업데이트와 분리하여 적용한다.”
X: “AdamW는 Adam과 동일하게 weight decay를 L2 정규화 항으로만 적용한다.”
O: “AdamW는 Transformer 모델 학습에 널리 사용된다.”
X: “AdamW는 작은 데이터셋에서만 효과적이다.”

ㅁ 추가 학습 내용

AdamW는 weight decay를 gradient 업데이트와 분리하여 적용함으로써 Adam에서 L2 regularization이 학습률에 의존하는 문제를 해결한다.
시험에서는 Adam과 AdamW의 수식 차이, 특히 업데이트 식에서 weight decay 항이 적용되는 위치를 구체적으로 물을 수 있다.
PyTorch에서 AdamW는 torch.optim.AdamW로 구현되며, weight_decay 파라미터가 L2 정규화가 아닌 실제 weight decay로 작동한다는 점을 구분해야 한다.
학습률 스케줄링과 함께 사용할 경우 안정적인 학습과 일반화 성능 향상에 효과적이며, Transformer 기반 모델에서 사실상 표준으로 사용된다.
또한 AdamW는 파라미터 크기를 직접 제어하여 과적합을 방지하는 데 도움이 된다.

답글 남기기

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

*
*