AI: 스케줄링/조기종료
ㅁ 스케줄링/조기종료
ㅇ 정의:
모델 학습 과정에서 학습률, 반복 횟수, 손실 변화 등을 제어하여 과적합을 방지하고 학습 효율을 높이는 기법들의 집합
ㅇ 특징:
– 학습 중간에 동적으로 파라미터를 조정하거나 학습을 중단
– 불필요한 연산 낭비를 줄이고 일반화 성능 향상
ㅇ 적합한 경우:
– 데이터셋이 작거나 과적합 가능성이 높은 경우
– 학습 시간이 제한된 경우
ㅇ 시험 함정:
– 모든 문제에서 조기종료가 성능을 높이는 것은 아님
– 스케줄링과 정규화 기법을 혼동할 수 있음
ㅇ 시험 대비 “패턴 보기” 예시:
O: “검증 손실이 개선되지 않으면 학습을 멈추는 기법은?”
X: “학습률을 줄이는 기법은 조기 종료이다”
================================
1. Early Stopping
ㅇ 정의:
검증 데이터셋의 성능이 일정 기간 향상되지 않으면 학습을 조기에 중단하는 기법
ㅇ 특징:
– 과적합 방지
– patience(대기 횟수) 파라미터로 민감도 조절
– 학습 시간 단축 가능
ㅇ 적합한 경우:
– 검증 성능이 일정 시점 이후 하락하는 경우
– 리소스 절약이 필요한 경우
ㅇ 시험 함정:
– patience를 너무 작게 설정하면 충분히 학습하지 못함
– 검증 데이터 선택이 잘못되면 효과가 떨어짐
ㅇ 시험 대비 “패턴 보기” 예시:
O: “검증 손실이 n번 연속 개선되지 않으면 학습을 멈춘다”
X: “훈련 손실이 증가하면 무조건 학습을 멈춘다”
================================
2. Learning Rate Scheduling
ㅇ 정의:
학습 진행 상황에 따라 학습률을 동적으로 조정하는 기법
ㅇ 특징:
– Step decay, Exponential decay, ReduceLROnPlateau 등 다양한 방식 존재
– 초기에는 큰 학습률로 빠르게 수렴, 후반에는 작은 학습률로 미세 조정
ㅇ 적합한 경우:
– 복잡한 손실 곡선에서 안정적인 수렴이 필요한 경우
– 초기 학습 속도와 최종 정확도를 모두 높이고 싶은 경우
ㅇ 시험 함정:
– 학습률을 너무 낮추면 수렴 속도가 지나치게 느려짐
– 스케줄링 시점과 조건을 잘못 설정하면 성능 저하
ㅇ 시험 대비 “패턴 보기” 예시:
O: “에폭이 진행됨에 따라 학습률을 점차 줄이는 기법”
X: “학습률을 일정하게 유지하는 것이 스케줄링이다”
================================
3. Batch Normalization
ㅇ 정의:
각 미니배치 단위로 입력 데이터를 정규화하여 학습 안정성과 속도를 향상시키는 기법
ㅇ 특징:
– 내부 공변량 변화(Internal Covariate Shift) 완화
– 학습률을 높게 설정 가능
– Dropout 등 다른 정규화 기법과 병행 가능
ㅇ 적합한 경우:
– 심층 신경망에서 학습이 불안정하거나 느린 경우
– 초기화에 민감한 모델
ㅇ 시험 함정:
– 배치 크기가 너무 작으면 정규화 통계가 불안정
– 추론 시에는 학습 시 계산된 이동 평균/분산 사용 필요
ㅇ 시험 대비 “패턴 보기” 예시:
O: “미니배치 단위로 평균과 분산을 조정하여 학습을 안정화한다”
X: “배치 정규화는 학습률 스케줄링의 한 종류이다”
ㅁ 추가 학습 내용
Early Stopping에서는 patience 외에 min_delta(최소 개선 폭) 설정이 중요하다. min_delta 값이 너무 작으면 손실이나 정확도의 미세한 변동에도 학습이 계속 진행되어 과적합 위험이 커질 수 있다.
Learning Rate Scheduling에서는 Warm-up 기법(초기 몇 에폭 동안 학습률을 점진적으로 증가시키는 방식), Cosine Annealing, Cyclical Learning Rate 등 최신 스케줄링 기법이 시험에 자주 등장한다.
Batch Normalization은 Fully Connected Layer뿐만 아니라 CNN, RNN에도 적용 가능하다. Layer Normalization, Instance Normalization, Group Normalization과의 차이점을 구분할 수 있어야 한다. 또한 Batch Normalization을 Dropout과 함께 사용할 경우에는 정규화 후 Dropout을 적용하는 순서가 중요하다는 점이 자주 출제된다.