하이퍼파라미터 튜닝이란 무엇인가요?

기계 학습 모델을 훈련 중인 경우, 각 데이터 세트와 모델에는 일종의 변수인 다양한 하이퍼파라미터 세트가 필요합니다. 이를 결정하는 유일한 방법은 여러 실험을 통해 하이퍼파라미터 세트를 선택하고 모델을 통해 실행하는 것입니다. 이를 하이퍼파라미터 튜닝이라고 합니다. 본질적으로, 다양한 하이퍼파라미터 세트를 사용하여 모델을 순차적으로 훈련합니다. 이 프로세스는 수동으로 수행하거나 여러 자동화된 하이퍼파라미터 튜닝 방법 중 하나를 선택할 수 있습니다.

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

하이퍼파라미터란 무엇인가요?

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

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

하이퍼파라미터를 어떻게 식별하나요?

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

하이퍼파라미터 튜닝이 중요한 이유는 무엇인가요?

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

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

하이퍼파라미터 튜닝은 어떻게 작동하나요?

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

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

하이퍼파라미터 튜닝 기법에는 어떤 것이 있나요?

수많은 하이퍼파라미터 튜닝 알고리즘이 존재하지만, 가장 일반적으로 사용되는 유형은 베이지안 최적화(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는 과적합을 방지하기 위한 단계 크기 축소입니다.

AWS가 하이퍼파라미터 튜닝에 어떻게 도움이 될 수 있나요?

Amazon Web Services(AWS)에서는 자동 모델 튜닝을 수행할 수 있는 완전 관리형 기계 학습(ML) 플랫폼인 Amazon SageMaker를 제공합니다. Amazon SageMaker 자동 모델 튜닝은 데이터 세트에서 여러 훈련 작업을 실행하여 ML 모델의 최상의 버전을 찾습니다. 지정된 알고리즘과 하이퍼파라미터 범위를 사용합니다.

SageMaker는 베이지안 검색 이론(Bayesian search theory)을 기반으로 최단 시간에 최상의 모델을 찾도록 설계된 지능형 버전의 하이퍼파라미터 튜닝 방법을 제공합니다. 무작위 검색으로 시작하지만 하이퍼파라미터 값과 관련하여 모델이 어떻게 작동하는지 학습합니다. 자세한 내용은 SageMaker에서 하이퍼파라미터 튜닝이 작동하는 방법을 참조하세요.

SageMaker 자동 모델 튜닝은 새로운 검색 전략인 하이퍼밴드(Hyperband)도 지원합니다. 하이퍼밴드(Hyperband)는 컴퓨터 비전 관련 문제를 해결하는 딥 신경망 등의 대규모 모델에서 베이지안 검색(Bayesian search)에 비해 최대 3배 더 빠르게 최적의 하이퍼파라미터 세트를 찾을 수 있는 새로운 검색 전략입니다.

SageMaker로 자동 모델 튜닝을 수행하는 방법을 참조할 수도 있습니다. 내장된 SageMaker 알고리즘, 사용자 지정 알고리즘 및 SageMaker 사전 구축된 컨테이너로 SageMaker 하이퍼파라미터 튜닝 모델을 사용할 수 있습니다. 웹페이지에서 하이퍼파라미터 최적화를 수행하는 방법을 배우는 데 도움이 되는 포괄적인 자체 학습 자습서 및 연습을 제공합니다.

SageMaker는 쉽게 시작할 수 있습니다. 무료 AWS 계정을 생성하기만 하면 됩니다. AWS 프리 티어를 통해, 지불을 시작하기 전에 SageMaker의 2개월 무료 평가판이 제공됩니다.

AWS 활용 다음 단계

제품 관련 추가 리소스 확인
기계 학습 서비스 확인하기 
무료 계정에 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다.

가입 
콘솔에서 구축 시작

AWS Management Console에서 구축을 시작하세요.

로그인