ML

Hyperparameter Optimization

술임 2023. 1. 31. 12:08

머신러닝의 파라미터

1. 학습 알고리즘이 최적화하는 모델 내부 파라미터

e.g. 엣지 가중치, 가중치 행렬

2. 모델 외부에서 모델의 동작 조정하는 하이퍼 파라미터

e.g. 은닉층 갯수, CNN 마스크 크기/보폭, 활성함수 파라미터, 학습률, 모멘텀

모델 선택 : CNN, DMLP 중 어떤 것을 사용할지 결정
하이퍼 매개변수 최적화 : CNN으로 결정 시 층수, 마스크 크기, 학습률 등을 결정

 

하이퍼파라미터

- 하이퍼 파라미터는 학습 시작 전에 미리 설정

--> 너무 크게 설정하면 오버슈팅으로 수렴 불가 / 작게 설정하면 느리게 수렴

- 파라미터 조합은 검증 집합으로 수행

- 하이퍼 파라미터 선택 시 표준 문헌이 제시하는 기본값 참조

--> 현실에서는 최적값에 여러 개의 값 또는 범위가 제시되어 주어진 문제와 데이터에 맞는 값을 찾아내는 하이퍼 파라미터 최적화 해결해야 함

e.g. 

  • batch_size
  • training epochs
  • optimization algorithms
  • learning rate
  • momentum
  • activation functions
  • dropout regularization
  • hidden layer의 neuron 갯수
  • etc.

 

Grid Search & Random Search

- 범위는 수동으로 설정함

--> 파라미터에 따라 간격 설정 시 로그 스케일을 사용해야 함

- 하이퍼파라미터 최적화 관점에서는 가로축 파라미터가 세로축보다 중요함

--> grid search(격자 탐색)는 가로축을 비껴가는 경우가 존재함

- 최근에는 하이퍼파라미터의 그래디언트를 활용하는 기법, 밴딧 문제로 공식화, Radial Basis Function, 스펙트럴 기법 등이 등장

 

Grid Search

- 각각의 파라미터를 일정한 간격으로 나눈 다음 교차점에 해당하는 값을 사용

Random Search

- 난수를 이용해서 파라미터 조합을 생성

- grid search에서는 모든 파라미터가 동등하다고 전제를하는데, random search에서는 상대적으로 중요한 파라미터에 대해 탐색을 더 수행함

- grid search에 비해서 시간을 덜 소모함

 

Bayesian Methods

- 이전 탐색 결과를 반영해서 통계 모델을 만들고 그를 바탕으로 다음 탐색 방향을 효과적으로 정함

--> 하이퍼파라미터 튜닝의 성능을 높임

 

 

 

 

'ML' 카테고리의 다른 글

군집화  (0) 2023.07.25
Optimization - 2차 미분  (0) 2023.02.13
Regularization Method  (0) 2023.01.30
Regularization  (1) 2023.01.18
Batch Normalization  (0) 2023.01.18