안정민 2024. 5. 6. 22:47

1. 하이퍼 파라미터 튜닝이란?

-하이퍼 파라미터 정의 : 학습 과정에서 컨트롤하는 파라미터 value, 모델이 학습하는 과정에서 표현하는 파라미터와는 구분되는 개념임을 잊지 말기, 하이퍼파라미터는 사람이 직접 설정하는 것

-하이퍼 파라미터 튜닝 정의 : 학습 알고리즘에 있어 가장 이상적인 하이퍼 파라미터 세트를 찾는 것

 

-하이퍼 파라미터 튜닝 방법

(1) Manual Search: 자동화 툴을 사용하지 않고 매뉴얼하게 실험할 하이퍼 파라미터 셋을 정하고 하나씩 바꿔가면서 테스트해 보는 방식

Grid Search

(2) Grid Search: 테스트 가능한 모든 하이퍼 파라미터 셋을 테스트해보면서 어떠 하이퍼파라미터 셋이 좋은지 기록, 가장 BruteForce한 방식

:위의 이미지를 보면 모든 셋을 검사하기 때문에 녹색의 눈금이 일정한 것을 볼 수 있음

Random Search

(3) Random Search: 탐색이 가능한 하이퍼 파라미터 영역에서 랜덤하게 하이퍼 파라미터 값을 가져와서 테스트해보는 방식

: 랜덤하게 값을 가지고 오기 때문에 위의 이미지를 보면 눈금이 불규칙한 것을 확인할 수 있음

Bayesian Optimization

(4) Bayesian optimization : 가장 최근에 자주 이용되는 방식이자 가장 옵티멀하게 효율적으로 탐색이 가능한 방법

:처음에는 랜덤하게 하이퍼 파라미터 선택을 해서 그 성능을 측정하고, 이전 성능을 히스토리를 검색해 이전 성능에서 좋은 결과를 얻었던 하이퍼파라미터를 집중 탐색하여 성능이 잘 나오는 구간의 하이퍼 파라미터의 구간을 탐색하는 방법

: 처음에는 랜덤 선택 -> 점점 정규분포값으로 수렴 -> 최고치에 가까운 값들을 집중적으로 탐구

 

 

 

2. Boosting Tree 하이퍼 파라미터

 

 

3. Optuna 소개

-Optuna : 오픈소스 하이퍼 파라미터 튜닝 프레임워크, 사용이 쉽

-주요 기능

: Eager search spaces -> 파이썬의 조건문, 반복문, 문법 등을 이용해 최적화된 하이처 파라미터를 찾는 것을 자동화

: State-of-the-art algorithm  -> 탐색에 가장 효과적인 방식 제공, 최신 모델과 알고리즘 제공해서 효율성 제고

: Easy parallelization -> 쉽게 병렬화가 가능, 대규모 하이퍼 파라미터 튜닝도 분산 머신을 통해 사용 가능

 

 

 

 

 

 

 

본 포스트의 학습 내용은 부스트클래스 <AI 엔지니어 기초 다지기 : 부스트캠프 AI Tech 준비과정> 강의 내용을 바탕으로 작성되었습니다.