발행일: 2024년 7월 23일
기고자: 이반 벨치크(Ivan Belcic), 콜 스트라이커(Cole Stryker)
초매개변수 조정은 머신 러닝 모델 학습에 사용할 최적의 초매개변수를 식별하고 선택하는 방법입니다. 초매개변수 조정이 올바르게 수행되면 머신 러닝 모델의 손실 함수를 최소화하며, 이는 모델 성능이 가능한 한 정확하게 학습된다는 것을 의미합니다.
초매개변수 조정은 실험적인 방법으로, 최적의 하이퍼파라미터 값을 찾을 때까지 반복할 때마다 다른 초매개변수 값을 테스트합니다. 초매개변수가 학습 프로세스를 제어하므로 이 프로세스는 모델의 성능에 매우 중요합니다. 신경망의 뉴런 수, 생성형 AI 모델의 학습 속도, 서포트 벡터 머신(support vector machine)의 커널 크기는 모두 초매개변수의 예입니다.
좋은 초매개변수 조정은 의도한 작업에 대한 메트릭에 따라 머신 러닝 모델에서 전반적으로 더 강력한 성능을 발휘한다는 것을 의미합니다. 이것이 바로 초매개변수 조정을 초매개변수 최적화라고도 하는 이유입니다.
데이터 과학에서 초매개변수와 모델 매개변수의 주요 차이점이라 하면, 모델은 수집하는 훈련 데이터 세트에서 매개변수를 학습하거나 추정하는 반면, 데이터 과학자는 학습 프로세스가 시작되기 전에 모델 알고리즘의 초매개변수를 정의한다는 것입니다. 모델은 작동하면서 매개변수를 계속 업데이트하는 반면, 모델의 초매개변수 최적 값은 미리 식별되고 설정됩니다.
초매개변수 조정은 모델의 구조, 학습 효율성 및 성능에 대한 토대를 마련하기 때문에 중요합니다. 최적의 초매개변수 구성은 실제 환경에서 강력한 모델 성능으로 이어집니다. 대규모 언어 모델 작업(LLMOps)은 계산 능력 요구 사항을 최소화하는 데 중점을 두고 좋은 조정의 효율성을 강조합니다.
초매개변수 조정의 목표는 편향-분산 상호 절충의 균형을 맞추는 것입니다. 편향은 모델의 예측과 현실 사이의 차이를 말합니다. 충분히 조정되지 않거나 충분히 적합하지 않은 모델은 데이터 포인트 간의 주요 관계를 식별하지 못하며 정확한 성능에 필요한 결론을 도출할 수 없습니다.
분산은 새로운 데이터에 대한 모델의 민감도를 의미합니다. 신뢰할 수 있는 모델은 학습 데이터에서 다른 데이터 세트로 마이그레이션할 때 일관된 결과를 제공해야 합니다. 그러나 분산 수준이 높은 모델은 너무 복잡하여 원래의 학습 데이터 세트에 과도하게 적합하고 새로운 데이터를 수용하는 데 어려움을 겪습니다.
편향이 낮은 모델은 정확하고, 분산이 낮은 모델은 일관성이 있습니다. 훌륭한 초매개변수 조정은 이 두 가지 모두를 최적화해 작업에 가장 적합한 모델을 만드는 동시에 학습 중에 컴퓨팅 리소스 효율성을 최대화합니다.
각 머신 러닝 알고리즘은 고유한 초매개변수 집합을 선호하며, 이를 항상 최대화할 필요는 없습니다. 경우에 따라 초매개변수를 조정할 때 더욱 보수적인 접근 방식을 취하는 것이 더 나은 성능으로 이어질 수 있습니다.
신경망은 인간의 뇌에서 영감을 받았으며 서로 신호를 보내는 상호 연결된 노드로 구성됩니다. 일반적으로 신경망 모델 학습을 위한 가장 일반적인 초매개변수는 다음과 같습니다.
학습률은 모델이 각 반복에서 매개변수를 조정하는 속도를 설정합니다. 이러한 조정을 단계라고 합니다. 학습률이 높으면 모델이 더 빠르게 조정되지만, 불안정한 성능과 데이터 드리프트의 위험이 있습니다. 반면 학습률이 낮으면 시간이 많이 걸리고 더 많은 데이터가 필요하지만, 데이터 과학자가 모델의 최소 손실을 정확히 찾아낼 가능성도 높아집니다. 경사하강 최적화는 설정된 학습률이 필요한 학습 메트릭의 한 예시입니다.
학습률 감소는 시간이 지남에 따라 네트워크의 학습률이 떨어지는 속도를 설정하여 모델이 더 빠르게 학습할 수 있도록 합니다. 알고리즘이 초기 활성화에서 이상적인 성능에 이르는 학습 과정을 수렴이라고 합니다.
배치(Batch) 크기는 매개변수를 업데이트하기 전에 모델이 계산할 샘플의 양을 설정합니다. 이는 컴퓨팅 효율성과 학습 프로세스의 정확성 모두에 상당한 영향을 미칩니다. 자체적으로, 배치 크기가 클수록 전체 성능이 저하되지만, 배치 크기와 함께 학습률을 조정하면 이러한 손실을 완화할 수 있습니다.
신경망의 숨겨진 계층의 수는 신경망의 깊이를 결정하며, 이는 복잡성과 학습 능력에 영향을 미칩니다. 계층 수가 적을수록 모델이 더 간단하고 빨라지지만, 딥 러닝 신경망과 같이 계층이 많을수록 입력 데이터를 더 잘 분류할 수 있습니다. 가능한 모든 조합에서 최적의 초매개변수 값을 식별하는 것은 속도와 정확성 간 상호 절충을 이루는 것입니다.
계층당 노드 또는 뉴런의 수는 모델의 폭을 설정합니다. 계층당 노드 또는 뉴런이 많을수록 모델의 폭이 넓어지고 데이터 포인트 간의 복잡한 관계를 더 잘 설명할 수 있습니다.
모멘텀은 모델이 과정을 반대로 하지 않고, 이전 반복과 동일한 방향으로 매개변수를 업데이트하는 정도를 말합니다. 대부분의 데이터 과학자는 모멘텀을 위해 낮은 초매개변수 값으로 시작한 다음, 학습 데이터를 수집하면서 모델이 올바른 방향을 유지하도록 필요에 따라 값을 상향 조정합니다.
에포크는 학습 과정에서 모델이 전체 학습 데이터 세트에 노출되는 횟수를 설정하는 초매개변수입니다. 노출이 많으면 성능이 향상될 수 있지만, 과적합의 위험이 있습니다.
활성화 기능은 모델에 비선형성을 도입하여 더 복잡한 데이터 세트를 처리할 수 있도록 합니다. 비선형 모델은 더 다양한 데이터를 일반화하고 조정할 수 있습니다.
서포트 벡터 머신(SVM)은 데이터 분류, 회귀 및 이상치 탐지에 특화된 머신 러닝 알고리즘입니다. 다음과 같은 자체적인 필수 초매개변수가 있습니다.
C는 모델이 데이터 분류자 역할을 할 때 허용 가능한 오차 범위와 결과적으로 발생하는 오차 수 간의 비율입니다. C 값이 낮을수록 더 높은 오차 허용 범위와 더 일반적인 성능을 제공하는 원활한 의사 결정 경계를 확립하지만, 데이터 분류가 잘못될 위험이 있습니다. 한편, C 값이 높을수록 더 정확한 훈련 결과를 얻을 수 있는 깔끔한 결정 경계가 만들어지지만, 과적합이 발생할 수 있습니다.
커널은 데이터 포인트 간 관계의 특성을 설정하고 그에 따라 그룹으로 분리하는 기능입니다. 사용된 커널에 따라 데이터 포인트는 서로 다른 관계를 나타내며, 이는 전체 SVM 모델 성능에 큰 영향을 미칠 수 있습니다. 선형, 다항식, 방사 기저 함수(RBF) 및 시그모이드(sigmoid )는 가장 일반적으로 사용되는 커널 중 일부입니다. 선형 커널은 더 간단하고 쉽게 분리할 수 있는 데이터에 가장 적합한 반면, 비선형 커널은 더 복잡한 데이터 세트에 더 적합합니다.
감마는 지원 벡터가 의사 결정 경계에 미치는 영향 수준을 설정합니다. 서포트 벡터는 초평면에 가장 가까운 데이터 포인트, 즉 데이터 그룹 사이의 경계입니다. 값이 높을수록 가까운 벡터에서 강한 영향을 발휘하고, 값이 낮을수록 멀리 있는 벡터의 영향을 제한합니다. 감마 값을 너무 높게 설정하면 과적합이 발생할 수 있고, 너무 낮으면 결정 경계가 흐려질 수 있습니다.
XGBoost는 '익스트림 그래디언트 부스팅(Extreme Gradient Boosting)'의 약자로, 더 정확한 결과를 위해 의사 결정 트리(decision tree)라고 하는 여러 약한 모델의 예측을 혼합하는 앙상블 알고리즘입니다. 그래디언트 부스티드(Gradient-boosted) 알고리즘은 다중 의사 결정 트리를 포함하는 또 다른 유형의 앙상블 알고리즘인 랜덤 포레스트(random forest) 모델보다 성능이 뛰어난 경향이 있습니다.
XGBoost의 가장 중요한 초매개변수는 다음과 같습니다.
learning_rate는 신경망에서 사용하는 학습률 초매개변수와 유사합니다. 이 기능은 각 훈련 라운드의 수정 수준을 제어합니다. 잠재적 값의 범위는 0에서 1까지이며 기본값은 0.3입니다.
n_estimators는 모델의 트리 수를 설정합니다. 이 초매개변수는 원래 XGBoost에서 num_boost_rounds로 알려져 있지만, 널리 쓰이는 Python API scikit-learn에서는 n_estimators라는 이름을 도입했습니다.
max_depth는 의사 결정 트리의 아키텍처를 결정하고 트리에서 각 리프(최종 분류기)까지의 노드의 최대 수를 설정합니다. 노드가 많을수록 더 미묘한 데이터 분류가 이루어지고, 트리가 작을수록 과적합을 쉽게 피할 수 있습니다.
min_child_weight는 새 트리를 생성하는 데 필요한 최소 가중치(전체 모델 학습 프로세스에서 지정된 클래스의 중요도)입니다. 최소 가중치가 낮을수록 더 많은 트리가 생성되지만, 과적합될 가능성이 있는 반면, 가중치가 높을수록 트리를 분할하는 데 더 많은 데이터가 필요하여 복잡성이 줄어듭니다.
subsample은 각 학습 라운드에서 사용되는 데이터 샘플의 비율을 설정하고, colsample_bytree는 트리 구성에 사용할 기능의 비율을 수정합니다.
초매개변수 조정은 초매개변수 그룹 또는 튜플(tuple)을 분석하고 예상 손실을 계산하는 목적 함수를 중심으로 이루어집니다. 최적의 초매개변수 조정은 선택한 메트릭에 따라 손실을 최소화합니다. 결과는 교차 검증을 통해 확인되며, 이는 특정 학습 인스턴스 외부의 다른 데이터 세트에 얼마나 가깝게 일반화되는지를 측정합니다.
데이터 과학자는 각각의 장단점이 있는 다양한 초매개변수 조정 방법을 사용할 수 있습니다. 초매개변수 조정은 수동으로 수행하거나 AutoML(자동화된 머신 러닝) 전략의 일부로 자동화할 수 있습니다.
그리드 검색은 포괄적이고 철저한 초매개변수 조정 방법입니다. 데이터 과학자가 각 초매개변수에 대해 가능한 모든 값을 설정한 후, 그리드 검색은 이러한 개별 초매개변수 값의 가능한 모든 구성에 대한 모델을 구성합니다. 이러한 모델은 각각 성능이 평가되고 서로 비교를 거쳐 최종적으로 학습을 위해 최상의 모델이 선택됩니다.
이러한 방식으로 그리드 검색은 올바른 순서가 발견될 때까지 모든 가능한 숫자 조합을 입력하는 무차별 암호 대입 방식과 유사합니다. 그리드 검색은 데이터 과학자가 초매개변수 공간에서 가능한 모든 구성을 고려할 수 있게 해 주지만, 비효율적이고 컴퓨팅 리소스를 많이 소모합니다.
무작위 검색은 데이터 과학자가 각 초매개변수에 대해 불연속 값 대신 통계적 분포를 제공한다는 점에서 그리드 검색과 다릅니다. 무작위 검색은 각 범위에서 샘플을 가져와 각 조합에 대한 모델을 구성합니다. 여러 번의 반복을 통해 최상의 모델을 찾을 때까지 모델을 서로 비교하여 평가합니다.
초매개변수 검색 공간에 큰 분포가 포함되어 있는 상황에서는 그리드 검색보다 무작위 검색이 선호되는데, 그리드 검색은 각각의 불연속 값을 테스트하는 데 너무 많은 노력이 필요하기 때문입니다. 무작위 검색 알고리즘은 훨씬 더 짧은 시간에 그리드 검색에 필적하는 결과를 반환할 수 있지만, 가장 최적의 초매개변수 구성을 발견한다는 보장은 없습니다.
베이지안 최적화는 테스트를 반복할 때마다 다음 샘플링 방법이 향상되는 순차 모델 기반 최적화(SMBO) 알고리즘입니다. 그리드 검색과 무작위 검색을 동시에 수행할 수 있지만, 각 테스트는 독립적으로 수행되므로 데이터 과학자는 학습한 내용을 후속 테스트에 제공할 수 없습니다.
이전 테스트를 기반으로 베이지안 최적화는 더 나은 결과를 제공할 가능성이 있는 새로운 초매개변수 값 집합을 확률적으로 선택합니다. 확률적 모델은 원래 목적 함수의 대리 함수라고 합니다. 대리 모델은 계산 효율적이기 때문에 일반적으로 목적 함수가 실행될 때마다 업데이트되고 개선됩니다.
대리 함수가 최적의 초매개변수를 더 잘 예측할수록 프로세스가 더 빨라지고 필요한 목적 함수 테스트가 줄어듭니다. 따라서 베이지안 최적화는 초매개변수 값의 부적합한 조합에 시간을 낭비하지 않기 때문에 다른 방법보다 훨씬 효율적입니다.
결과(이 경우 최상의 모델 성능)와 변수 집합 간의 관계를 통계적으로 결정하는 과정을 회귀 분석이라고 합니다. 가우스(Gaussian) 프로세스는 데이터 과학자들에게 인기 있는 SMBO 중 하나입니다.
2016년에 도입된 하이퍼밴드(ibm.com 외부 링크)는 긍정적인 구성에 더 많은 리소스를 할당하면서 강력한 결과를 제공하지 못하는 학습 구성의 사용을 줄임으로써 무작위 검색을 개선하도록 설계되었습니다.
이러한 '조기 중단'은 각 훈련 라운드가 끝날 때마다 가장 성능이 낮은 절반을 제거하여 구성 풀을 축소하는 프로세스인 연속적인 반감기를 통해 이루어집니다. 각 배치의 상위 50%는 최적의 초매개변수 구성이 하나 남을 때까지 다음 반복으로 넘어갑니다.
AI 빌더가 AI 모델을 학습, 검증, 조정 및 배포할 수 있는 차세대 엔터프라이즈 스튜디오를 지금 바로 이용할 수 있습니다.
watsonx 플랫폼에서 IBM 파운데이션 모델 라이브러리를 자세히 알아보고 자신 있게 비즈니스를 위한 생성형 AI를 확장하세요.
IBM Granite는 비즈니스를 위해 특별히 구축된 인공 지능(AI) 모델 제품군으로, 처음부터 AI 기반 애플리케이션의 신뢰성과 확장성을 보장하도록 설계되었습니다. 현재 오픈 소스 Granite 모델을 사용할 수 있습니다.