AI VIDEO BRIEFING
가중치 감쇠(Weight Decay)란? 과적합 막는 L2 정규화 원리와 AdamW 정리
신경망 과적합을 줄이는 가중치 감쇠(L2 정규화)의 작동 원리를 쉽게 정리했다. 손실 함수에 가중치 제곱 페널티를 더하는 방식, 정규화 강도 람다 조절, SGD와 AdamW의 차이, 실전 적용법까지 한눈에 살펴본다.

핵심 메시지
쉽게 이해하기
컴퓨터에서는 완벽해 보이던 모델이 현실에 투입되자마자 무너지는 일은 흔하다. 원인은 대개 과적합이다. 신경망은 표현력이 워낙 커서 데이터의 진짜 패턴 대신 무작위 잡음과 이상치, 특정 훈련 데이터만의 특이점까지 외워 버린다. 마치 모의고사의 정답만 통째로 암기하고 정작 과목은 이해하지 못한 학생과 같다.
가중치 감쇠는 이를 막는 정규화 기법이다. 학습 과정에 제약을 더해 극단적으로 큰 가중치를 억제한다. 손글씨 숫자 인식을 예로 들면, 정규화가 없는 모델은 한 사람의 필체에 과민하게 반응하는 들쭉날쭉한 함수를 학습하지만, 가중치 감쇠를 적용하면 더 매끄러운 함수로 '7'이나 '3'의 본질을 잡아낸다.
수학적으로는 기존 손실에 모든 가중치의 제곱을 더한 페널티 항을 붙인다. 이때 그리스 문자 람다(λ)가 정규화 강도를 조절하는 다이얼이다. 경사 하강법으로 갱신할 때, 한쪽은 예측을 개선하고 다른 한쪽(+λw)은 가중치를 0 쪽으로 조금씩 밀어낸다. 반복할수록 가중치가 계속 '감쇠'하기에 이런 이름이 붙었다.
오늘날 모델은 수백만~수조 개의 파라미터를 갖기에 과적합에 더욱 취약하고, 가중치 감쇠는 큰 규모에서 안정화 장치로 작동한다. 다만 전통적 Adam에 L2 정규화를 더하면 적응형 학습률 때문에 같은 효과가 나지 않아, 가중치 감쇠를 경사 갱신과 완전히 분리한 AdamW가 등장해 지금의 표준이 되었다.
실전에서는 람다 값을 그리드 서치나 베이지안 최적화로 튜닝하는 것이 관건이다. 코드는 의외로 간단해 PyTorch나 TensorFlow에서 옵티마이저에 weight_decay 인자 하나만 넘기면 된다. CIFAR-10 사례처럼, 가중치 감쇠를 쓰면 훈련 정확도는 약간 떨어져도 보지 못한 데이터에 대한 테스트 정확도는 눈에 띄게 올라간다.
주요 인사이트
- 가중치 감쇠의 목적은 훈련 오차를 줄이는 것이 아니다. 오히려 훈련 정확도를 조금 희생하고 일반화 성능을 얻는 거래다.
- 정규화는 데이터를 더 모으거나 데이터 증강을 하는 일의 대체재가 아니다. 서로 다른 일을 하므로 함께 써야 한다.
- 데이터가 아무리 많아도 현대 신경망은 용량이 커서 가중치를 제약하지 않으면 여전히 과적합할 수 있다.
- 단 한 줄의 코드(옵티마이저 인자 하나)로 얻는 성능 향상이 매우 크다는 점에서 비용 대비 효과가 뛰어나다.
자주 묻는 질문
가중치 감쇠와 L2 정규화는 같은 것인가?
전통적 확률적 경사 하강법(SGD)에서는 수학적으로 동등하다. 다만 Adam 같은 적응형 옵티마이저에서는 동작이 달라져, 가중치 감쇠를 분리한 AdamW가 더 일관된 정규화를 제공한다.
정규화 강도 람다는 어떻게 정하나?
람다가 너무 작으면 페널티가 약해 과적합이 남고, 너무 크면 모델이 지나치게 단순해져 과소적합한다. 그리드 서치나 베이지안 최적화 같은 하이퍼파라미터 튜닝으로 적절한 값을 찾는다.
데이터가 많으면 가중치 감쇠가 필요 없나?
그렇지 않다. 현대 신경망은 파라미터가 많아 표현력이 매우 크기 때문에, 데이터가 풍부해도 가중치를 제약하지 않으면 과적합할 수 있다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗