AI: 스케줄링/조기종료
ㅁ 스케줄링/조기종료
ㅇ 정의:
모델 학습 과정에서 학습률 조절, 조기 종료, 배치 정규화 등을 통해 과적합 방지와 학습 효율성을 높이는 기법.
ㅇ 특징:
– 학습 중 손실 감소 추세나 검증 정확도 변화를 모니터링하여 학습 중단 또는 파라미터 조정.
– 불필요한 연산을 줄이고 최적의 가중치 상태를 확보.
ㅇ 적합한 경우:
– 데이터셋이 작아 과적합 우려가 있는 경우.
– 학습 시간이 제한적인 경우.
ㅇ 시험 함정:
– 모든 경우에 무조건 성능 향상된다고 단정하는 오류.
– 학습률 스케줄링과 조기 종료를 혼동.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “검증 손실이 증가하면 학습을 중단하는 기법은 Early Stopping이다.”
X: “Early Stopping은 학습률을 점진적으로 감소시키는 기법이다.”
================================
1. Early Stopping
ㅇ 정의:
검증 데이터셋의 성능이 더 이상 개선되지 않고 오히려 악화되기 시작하면 학습을 조기에 종료하는 기법.
ㅇ 특징:
– 과적합을 방지하는 대표적인 방법.
– patience(허용 지연) 파라미터로 개선 없는 epoch 수를 설정.
ㅇ 적합한 경우:
– 검증 손실이 일정 기간 감소하지 않는 경우.
– 모델이 과적합 조짐을 보이는 경우.
ㅇ 시험 함정:
– 훈련 손실만 보고 판단하는 경우.
– patience=0이면 미세한 변동에도 즉시 종료될 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Early Stopping은 validation loss를 기준으로 학습을 중단한다.”
X: “Early Stopping은 training loss가 줄어들면 학습을 중단한다.”
================================
2. Learning Rate Scheduling
ㅇ 정의:
학습 진행에 따라 학습률(Learning Rate)을 점진적으로 감소시키거나 조절하는 기법.
ㅇ 특징:
– 초기에는 큰 학습률로 빠르게 수렴 유도.
– 후반에는 작은 학습률로 세밀한 최적화.
– Step decay, Exponential decay, Cosine annealing 등 다양한 스케줄 존재.
ㅇ 적합한 경우:
– 복잡한 손실 함수에서 안정적 수렴이 필요한 경우.
– 초기 빠른 학습과 후반 정밀 학습이 필요한 경우.
ㅇ 시험 함정:
– 학습률이 너무 작으면 학습이 멈춘 것처럼 보일 수 있음.
– 학습률 감소 시점과 감소폭 설정 오류.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Learning Rate Scheduling은 학습 후반에 작은 학습률로 세밀한 조정을 한다.”
X: “Learning Rate Scheduling은 학습 내내 일정한 학습률을 유지한다.”
================================
3. Batch Normalization
ㅇ 정의:
각 미니배치 단위로 입력 데이터를 정규화하여 학습 안정성과 속도를 향상시키는 기법.
ㅇ 특징:
– 내부 공변량 변화(Internal Covariate Shift) 완화.
– 학습률을 더 크게 설정 가능.
– Dropout 등의 규제 기법과 병행 가능.
ㅇ 적합한 경우:
– 심층 신경망에서 학습 속도와 안정성을 높이고 싶은 경우.
– 활성화 함수의 포화 문제를 줄이고 싶은 경우.
ㅇ 시험 함정:
– 배치 크기가 너무 작으면 통계량 추정이 불안정.
– 추론 시에는 학습된 평균과 분산을 사용해야 함.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Batch Normalization은 미니배치별 평균과 분산을 이용해 정규화한다.”
X: “Batch Normalization은 전체 데이터셋의 평균과 분산만으로 정규화한다.”
ㅁ 추가 학습 내용
Early Stopping과 Learning Rate Scheduling은 함께 사용 가능하며 상호 보완적으로 작용할 수 있다. Learning Rate Scheduling에는 Warmup 기법이 자주 쓰이는데, 이는 초기 학습률을 점진적으로 증가시킨 후 감소시키는 방식이다.
Batch Normalization은 Fully Connected Layer뿐 아니라 Convolution Layer에서도 사용 가능하다. Dropout과의 적용 순서는 성능에 영향을 줄 수 있으며, 일반적으로 Batch Normalization 후 Dropout을 적용한다.
Batch Normalization의 대안으로 Layer Normalization, Instance Normalization, Group Normalization이 있으며, 각각 적용 상황과 차이점이 존재하므로 구분할 수 있어야 한다.
Early Stopping에서는 검증 데이터 분리 비율과 모니터링 지표(accuracy, loss 등)의 선택이 성능에 영향을 미치므로 주의해야 한다.