머신러닝
Hyperparameter Tuning하이퍼파라미터 튜닝
하이퍼파라미터(hyperparameter)는 모델 학습 중 데이터로부터 자동으로 결정되는 가중치(파라미터)와 달리, 훈련을 시작하기 전에 사람이 직접 설정해야 하는 값들이다. 학습률, 배치 크기, 에포크 수, 은닉층의 수와 크기, 드롭아웃 비율, L2 정규화의 λ 값 등이 대표적이다. 하이퍼파라미터 튜닝은 이 값들의 최적 조합을 찾는 과정이다.
탐색 방법
아래 표는 대표적인 하이퍼파라미터 탐색 방법들을 비교한 것이다. 각 방법은 탐색 효율, 구현 복잡도, 병렬화 가능성이 서로 다르다. 탐색할 하이퍼파라미터 수가 적고 각각의 중요도를 미리 알고 있다면 그리드 탐색이 직관적이지만, 실제 딥러닝에서는 하이퍼파라미터 수가 많고 어느 것이 중요한지 불분명한 경우가 많아 랜덤 탐색이나 베이즈 최적화가 더 효율적이다.
| 방법 | 원리 | 장점 | 단점 |
|---|---|---|---|
| 그리드 탐색(Grid Search) | 모든 조합을 격자로 시도 | 철저, 재현 가능 | 조합 폭발적 증가 |
| 랜덤 탐색(Random Search) | 무작위 조합 샘플링 | 효율적, 중요 파라미터 탐색 | 보장 없음 |
| 베이즈 최적화(Bayesian Opt.) | 대리 모델로 유망 구간 탐색 | 적은 시도로 효율적 수렴 | 구현 복잡 |
| 진화 알고리즘(NAS 등) | 진화 전략으로 구조 탐색 | 아키텍처까지 최적화 | 높은 계산 비용 |
교차 검증과 탐색 공간
하이퍼파라미터 평가는 반드시 검증 데이터로 이루어져야 한다. 테스트 데이터로 반복 평가하면 결국 테스트 데이터에 맞춰 튜닝하는 결과가 되어 실제 일반화 성능을 과대평가하게 된다. k-폴드 교차 검증(k-fold cross-validation)은 훈련 데이터를 k개로 나누어 번갈아 검증셋으로 활용해 보다 안정적인 하이퍼파라미터 평가를 제공한다. 학습률 같은 파라미터는 로그 스케일로 탐색 공간을 설정하는 것이 효과적이다.