ML_ 하이퍼파라미터 튜닝

조천룡·2023년 7월 16일
0

Machine Learning

목록 보기
8/26
post-thumbnail

하이퍼파라미터 튜닝

기계 학습 모델을 훈련 중인 경우, 각 데이터 세트와 모델에는 일종의 변수인 다양한 하이퍼파라미터 세트가 필요합니다. 이를 결정하는 유일한 방법은 여러 실험을 통해 하이퍼파라미터 세트를 선택하고 모델을 통해 실행하는 것입니다. 이를 하이퍼파라미터 튜닝이라고 합니다.

본질적으로, 다양한 하이퍼파라미터 세트를 사용하여 모델을 순차적으로 훈련합니다. 이 프로세스는 수동으로 수행하거나 여러 자동화된 하이퍼파라미터 튜닝 방법 중 하나를 선택할 수 있습니다.

어떤 방법을 사용하든 실험 결과를 추적해야 합니다. 최상의 결과를 제공하는 하이퍼파라미터 세트를 결정하려면 손실 함수와 같은 어떤 형태의 통계 분석을 적용해야 합니다. 하이퍼파라미터 튜닝은 중요하고 계산 집약적인 프로세스입니다.

하이퍼파라미터

하이퍼파라미터는 데이터 과학자가 기계 학습 모델 훈련을 관리하는 데 사용하는 외부 구성 변수입니다. 때때로 모델 하이퍼파라미터라고 부르며, 하이퍼파라미터는 모델을 훈련하기 전에 수동으로 설정됩니다. 하이퍼파라미터는 파라미터와는 다르며, 데이터 과학자에 의해 설정되는 것이 아닌 학습 프로세스 중에 자동으로 파생되는 내부 파라미터입니다.

하이퍼파라미터의 예로는 신경망의 노드 및 계층 수와 의사 결정 트리의 분기 수가 있습니다. 하이퍼파라미터는 모델 아키텍처, 학습 속도 및 모델 복잡성과 같은 주요 기능을 결정합니다.

하이퍼파라미터 식별

올바른 하이퍼파라미터 세트를 선택하는 것은 모델 성능과 정확성 측면에서 중요합니다. 안타깝게도 하이퍼파라미터가 가장 잘 작동하는 설정된 규칙이나 최적 또는 기본값은 없습니다. 최적의 하이퍼파라미터 세트를 찾으려면 실험해야 합니다. 이 활동을 속칭 하이퍼파라미터 튜닝 또는 하이퍼파라미터 최적화라고 합니다.

하이퍼파라미터 튜닝의 중요성

하이퍼파라미터는 모델 구조, 기능 및 성능을 직접 제어합니다. 하이퍼파라미터 튜닝을 사용하면 데이터 과학자가 최적의 결과를 위해 모델 성능을 조정할 수 있습니다. 이 프로세스는 기계 학습의 필수적인 부분이며, 성공을 위해서는 적절한 하이퍼파라미터 값을 선택하는 것이 중요합니다.

예를 들어 모델의 학습 속도를 하이퍼파라미터로 사용한다고 가정합니다. 값이 너무 높으면 모델이 차선의 결과로 너무 빨리 수렴할 수 있습니다. 반면에 비율이 너무 낮으면 훈련이 너무 오래 걸리고 결과가 수렴되지 않을 수 있습니다. 하이퍼파라미터를 적절하고 균형 있게 선택하면 정확한 모델과 우수한 모델 성능을 얻을 수 있습니다.

하이퍼파라미터 튜닝의 작동

앞서 언급했듯이, 하이퍼파라미터 튜닝은 수동 또는 자동으로 수행할 수 있습니다. 수동 튜닝은 느리고 지루할 수 있지만 하이퍼파라미터 가중치가 모델에 미치는 영향을 더 잘 이해할 수 있다는 이점이 있습니다. 하지만 대부분의 인스턴스에서는 일반적으로 잘 알려진 하이퍼파라미터 학습 알고리즘 중 하나를 사용할 것입니다.

하이퍼파라미터 튜닝의 프로세스는 반복적이며 파라미터와 값의 다양한 조합을 시도합니다. 일반적으로 정확도와 같은 대상 변수를 기본 지표로 정의하는 것으로 시작하며, 이 변수를 최대화하거나 최소화합니다. 모델이 데이터의 한 부분에만 치중하지 않도록 교차 검증 기법을 사용하는 것이 좋습니다.

하이퍼파라미터 튜닝 기법 종류

수많은 하이퍼파라미터 튜닝 알고리즘이 존재하지만, 가장 일반적으로 사용되는 유형은 베이지안 최적화(Bayesian optimization), 그리드 서치(grid search) 및 랜덤 서치(randomized search)입니다.

베이지안 최적화 (Bayesian optimization)
베이지안 최적화(Bayesian optimization)는 베이즈 정리(Bayes’ theorem)에 기반한 기법이며, 현재 지식과 관련된 이벤트가 발생할 확률을 설명합니다. 하이퍼파라미터 최적화에 적용될 경우, 알고리즘은 특정 지표를 최적화하는 하이퍼파라미터 세트에서 확률 모델을 빌드합니다. 회귀 분석을 사용하여 최상의 하이퍼파라미터 세트를 반복적으로 선택합니다.

그리드 서치 (Grid search)
그리드 서치(Grid search)를 통해, 하이퍼파라미터 목록과 성능 지표를 지정하면 알고리즘이 가능한 모든 조합을 통해 작동하여 가장 적합한 것을 결정합니다. 그리드 서치(Grid search)는 훌륭하게 작동하지만 상대적으로 지루하고 계산 집약적입니다. 많은 수의 하이퍼파라미터가 있는 경우 특히 그러합니다.

랜덤 서치 (Random search)
그리드 서치(Grid search)와 유사한 원리를 기반으로 하지만 랜덤 서치(Random search)는 각 반복에서 무작위로 하이퍼파라미터 그룹을 선택합니다. 상대적으로 적은 수의 하이퍼파라미터가 주로 모델 결과를 결정할 때 훌륭하게 작동합니다.

하이퍼파라미터의 예시

일부 하이퍼파라미터는 일반적이지만, 실제로는 알고리즘이 특정 하이퍼파라미터 세트를 사용한다는 것을 알 수 있습니다. 예를 들어 Amazon SageMaker가 이미지 분류 하이퍼파라미터를 사용하는 방법과 SageMaker가 XGBoost 알고리즘 하이퍼파라미터를 사용하는 방법을 알아볼 수 있습니다.

다음은 일반적인 하이퍼파라미터의 몇 가지 예시입니다.

  • 학습 속도는 알고리즘이 추정치를 업데이트하는 속도입니다.
  • 학습 속도 저하는 학습 속도를 높이기 위해 시간이 지남에 따라 학습 속도가 점진적으로 감소하는 것입니다.
  • 가속도는 이전 단계와 관련하여 다음 단계의 방향입니다.
  • 신경망 노드는 각 숨겨진 레이어의 노드 수를 나타냅니다.
  • 신경망 레이어는 신경망의 숨겨진 레이어 수를 나타냅니다.
  • 미니 배치 크기는 훈련 데이터 배치 크기입니다.
  • Epochs는 훈련 중에 전체 훈련 데이터 세트가 네트워크에 표시되는 횟수입니다.
  • Eta는 과적합을 방지하기 위한 단계 크기 축소입니다.
profile
10√2 Data

0개의 댓글