오늘은 기계 학습 모델에서 하이퍼파라미터를 조정할 수 있는 오픈 소스 라이브러리인 Optuna를 소개하고자 한다.
이전에 사용했던 GridSearchCV 패키지는 시간이 너무 오래걸리고 하이퍼파라미터 값을 직접 지정해야한다는 단점이 존재한다. Optuna도 파라미터 값을 지정해주어야 하는 것은 맞지만, 조금 더 포괄적인 값을 입력하면 범위 내에서 자동탐색을 통해 최적의 하이퍼파라미터를 도출해준다는 점에서 큰 장점을 가진다.
최적화 메커니즘
Optuna의 핵심 기능은 '효율적인 하이퍼파라미터 최적화'에 있다.
최적화 과정은 크게 2가지 메커니즘으로 이루어진다.
- 트리 기반의 구조화된 파라미터 최적화 (TPE)
- 프루닝 메커니즘
트리 기반의 구조화된 파라미터 최적화(TPE)는 베이지안 최적화의 일종으로, 이전의 평가 결과를 기반으로 하여 하이퍼파라미터의 새로운 셋을 제안한다. 기존의 랜덤 or 격자(grid) 검색 방법보다 효율적으로 공간을 탐색한다. TPE는 모델의 성능을 가장 잘 향상시킬 것으로 예상되는 하이퍼파라미터의 조합에 더 많은 자원을 할당한다.
프루닝 메커니즘은 계산 자원의 낭비를 줄이기 위해 비효율적인 시도를 조기에 중단시키는 기술이다. 예를 들어, 특정 하이퍼파라미터 셋으로 훈련 중인 모델이 중간 평가에서 기대치에 미치지 못할 경우, 추가적인 훈련 없이 해당 트라이얼을 중단시킨다. 이는 전체 최적화 프로세스의 속도를 높이고 불필요한 계산 자원의 소모를 방지한다.
이러한 방식으로 사용자가 목적 함수를 정의하기만 하면, Optuna가 자동으로 최적의 하이퍼파라미터를 탐색하고 평가한다.
GridSearchCV vs RandomSearchCV vs Optuna
특성/도구 | GridSearchCV | RandomSearchCV | Optuna |
검색 방식 | 격자 검색 | 랜덤 검색 | 트리 기반의 구조화된 파라미터 최적화 |
최적화 속도 | 느림 | 중간 | 빠름 |
자원 활용 효율 | 낮음 | 중간 | 높음 |
프루닝 기능 | 없음 | 없음 | 있음 |
사용자 정의 최적화 | 제한적 | 유연함 | 매우 유연함 |
시각화 도구 | 기본적인 시각화 지원 | 기본적인 시각화 지원 | 시각화 도구 제공 |
Code Review
아래 링크를 참조해주세요.
https://github.com/BARAM1NG/Deep_Learning_Hub/tree/main/Optimization
Reference
https://github.com/optuna/optuna
GitHub - optuna/optuna: A hyperparameter optimization framework
A hyperparameter optimization framework. Contribute to optuna/optuna development by creating an account on GitHub.
github.com
Optuna - A hyperparameter optimization framework
Optuna is an automatic hyperparameter optimization software framework, particularly designed for machine learning. It features an imperative, define-by-run style user API.
optuna.org
https://hyunicecream.tistory.com/75
[머신러닝] Optuna 모델 최적화 - 하이퍼파라미터 튜닝 사용법
하이퍼파라미터 튜닝 방법 중 하나인 Optuna에 대해 소개하고자 합니다. Optuna에 대한 설명 및 기존의 GridSearchCV, RandomSearchCV와 어떤점이 다른지 알아보겠습니다. 1. Optuna란 무엇인가?Optuna는 기계
hyunicecream.tistory.com
'Analytics' 카테고리의 다른 글
[ML/DL] CNN (Convolutional Neural Network) (0) | 2025.01.26 |
---|---|
[ML/DL] Precision & Recall Trade-off (1) | 2024.10.19 |
[RecSys] Matrix Factorization (3) | 2024.10.15 |
[ML/DL] ResNet (feat: Skip-Connection) (1) | 2024.10.04 |
[RecSys] 추천시스템 전반적 개요 정리 (3) | 2024.09.29 |