1. Hyperparameter Optimization
HPO(Hyperparameter Optimization)
- 하이퍼파라미터 최적화
- Hyperparameter vs Parameter
- Hyperparameter
- 모델 학습 과정의 디자인에 반영되는 값
- 학습 시작 전 미리 설정되는 구성 변수
- 직접 조절 가능한 변수
- Parameter
- 모델 내부에서 결정되는 변수
- 데이터로부터 학습되고 조정되는 값
- 직접 조절 불가능한 변수
- Hyperparameter
- HPO가 필요한 이유
- 모델 성능 향상
- 적절한 하이퍼파라미터 선택은 모델 성능에 큰 영향 미침
- 학습 시간 감소
- 효율적인 하이퍼파라미터 조정을 통해 학습 시간과 계산 자원이 감소할 수 있음
- 모델 일반화
- 잘 최적화된 하이퍼파라미터는 실제 데이터에 일반화될 수 있도록 도와 Overfitting을 줄일 수 있음
- 잘 최적화된 하이퍼파라미터는 실제 데이터에 일반화될 수 있도록 도와 Overfitting을 줄일 수 있음
- 모델 성능 향상
Hyperparameter Tune Method
- Hyperparameter search
- 주어진 데이터에 대해, 어떤 하이퍼파라미터 조합에서 성능이 좋은지 찾기 → “직접 실험하며”

- 주어진 데이터에 대해, 어떤 하이퍼파라미터 조합에서 성능이 좋은지 찾기 → “직접 실험하며”
- Grid Search
- 모든 하이퍼파라미터 조합을 대상으로 모델 학습 및 평가 → 가장 우수한 성능조합 탐색
- 가능한 모든 하이퍼파라미터 조합 탐색 → 모든 하이퍼파라미터를 찾는데 유용
- 모든 조합을 탐색하기 때문에 계산량이 매우 높아질 수 있음

- 모든 하이퍼파라미터 조합을 대상으로 모델 학습 및 평가 → 가장 우수한 성능조합 탐색
- Random Search
- 가능한 하이퍼파라미터의 값들 중, 무작위로 선택하여 모델을 평가하는 방식
- 시간적으로 효율적인 탐색 가능
- 랜덤으로 탐색을 진행하는 만큼, 최적해를 찾을 확률은 Grid Search에 비해 낮음

- 가능한 하이퍼파라미터의 값들 중, 무작위로 선택하여 모델을 평가하는 방식
- Bayesian Search
- 하이퍼파라미터↔모델 성능 간 관계성을 고려한 최적의 하이퍼파라미터 조합을 찾는 방법
- Iteration을 돌면서, 하이퍼파라미터에 따른 모델성능에 대한 함수 추정 → Hyperparameter 탐색

- Iteration을 돌면서, 하이퍼파라미터에 따른 모델성능에 대한 함수 추정 → Hyperparameter 탐색
- 하이퍼파라미터↔모델 성능 간 관계성을 고려한 최적의 하이퍼파라미터 조합을 찾는 방법
2. HPO Tools
WandB Sweep
- 소개
- WandB의 "Sweep" 기능 → 하이퍼파라미터 튜닝 및 결과 시각화(자동 온라인 기록)

- WandB의 "Sweep" 기능 → 하이퍼파라미터 튜닝 및 결과 시각화(자동 온라인 기록)
Optuna
- 소개
- ML 모델의 하이퍼파라미터 최적화를 위해 만들어진 오픈소스 프레임워크
- WandB의 Sweep과 거의 유사한 기능 제공
- 웹 보다는, notebook 상에서 visualization을 하는 데에 초점
- Hyperparameter만 최적화할 수 있을 뿐 아니라, 모델도 함께 Optimization 대상으로 설정할 수 있음
chat_bubble 댓글남기기
댓글남기기