본문 바로가기
AI 및 Data Analysis/Deep Learning

[Optuna] Key Concepts and Descriptions

by doraemin_dev 2025. 3. 27.

🧠 Optuna란?

Optuna는 자동 하이퍼파라미터 튜닝을 위한 오픈소스 라이브러리입니다.


예를 들어…

모델을 학습할 때 이런 하이퍼파라미터들이 있어요:

학습률 (lr)
은닉층 크기 (n_hid)
드롭아웃 비율 (dropout)
에폭 수 (n_epochs)
weight decay 등등
이걸 사람이 손으로 하나씩 실험하는 건 너무 오래 걸리고 비효율적이죠.

 

🔧 그래서 Optuna는 이런 일을 자동화해 줍니다:

  • 시도할 파라미터 조합을 스마트하게 선택
  • 성능(AUC 등) 을 기준으로 가장 좋은 조합을 찾음
  • 내부적으로는 Bayesian optimization 기반 알고리즘 사용

즉, Optuna는:

"최고의 모델을 만들기 위해 하이퍼파라미터를 똑똑하게 조합해서 실험하는 자동화된 연구원"


🔁 과정 자세히 설명

  1. Optuna가 하이퍼파라미터 조합 A를 하나 제안합니다.
  2. 그 조합 A를 가지고 10개의 inner fold에서 학습 & 평가합니다.
  3. 그 10개 평가 결과의 평균 AUC를 "조합 A의 성능"으로 간주합니다.
  4. 이걸 30번 반복해서 조합 A, B, C, ..., Z를 실험합니다.
  5. 평균 AUC가 가장 높은 파라미터 조합 하나가 선택됩니다. ← 이게 최종 best param!
Trial 1 (lr=1e-3, dropout=0.3, ...) → Inner CV 평균 AUC = 0.84  
Trial 2 (lr=5e-3, dropout=0.5, ...) → Inner CV 평균 AUC = 0.79  
...
Trial 30 (...) → 평균 AUC = 0.88 ✅
→ 이 Trial의 파라미터가 최종 선택됨