머신러닝에서 하이퍼파라미터 튜닝(hyperparameter tuning), 또는 하이퍼파라미터 최적화(hyperparameter optimization)는 학습 알고리즘에 대한 최적의 하이퍼파라미터 집합을 선택하는 문제이다. 하이퍼파라미터는 학습 과정을 제어하는 값으로, 훈련이 시작되기 전에 설정되어야 하는 반면, 모델 파라미터는 훈련 중에 학습된다. 목표는 주어진 데이터셋에서 사전 정의된 손실 함수를 최소화하는 최적의 모델을 산출하는 하이퍼파라미터 집합을 결정하는 것이다. 목적 함수는 하이퍼파라미터 집합을 입력으로 받아 관련 손실을 반환하며, 교차 검증(cross-validation)은 일반화 성능을 추정하고 선택 과정을 안내하는 데 자주 사용된다.
하이퍼파라미터 튜닝은 모델 훈련과는 구별된다. 훈련은 Stochastic Gradient Descent Variants나 Adam (Optimizer)와 같은 최적화 알고리즘을 사용하여 내부 가중치를 조정하는 반면, 튜닝은 더 높은 수준에서 작동하여 Learning Rate Scheduling, Neural network의 레이어 수, Dropout의 강도와 같은 요소의 값을 설정한다. 효과적인 튜닝은 우수한 성능을 달성하는 데 필수적이며, 잘못 선택된 하이퍼파라미터는 훈련 데이터의 품질이나 모델 아키텍처의 정교함과 무관하게 과소적합(underfitting) 또는 과대적합(overfitting)을 초래할 수 있다.
그리드 검색
하이퍼파라미터 최적화의 전통적인 방법은 그리드 검색(grid search), 또는 파라미터 스윕(parameter sweep)으로, 하이퍼파라미터 공간의 수동으로 지정된 하위 집합을 철저히 검색한다. 그리드 검색 알고리즘은 일반적으로 훈련 세트에 대한 교차 검증 또는 홀드아웃 검증 세트에 대한 평가로 측정되는 성능 지표에 의해 안내된다. 파라미터 공간은 실수 값 또는 무한 값을 포함할 수 있으므로, 수동 경계와 이산화가 필요한 경우가 많다.
예를 들어, RBF 커널을 가진 전형적인 소프트 마진 서포트 벡터 머신(SVM)은 정규화 상수 C와 커널 하이퍼파라미터 γ라는 최소 두 개의 하이퍼파라미터를 가진다. 둘 다 연속적이므로, 그리드 검색은 각각에 대해 C ∈ {10, 100, 1000} 및 γ ∈ {0.1, 0.2, 0.5, 1.0}과 같은 유한한 값 집합을 선택한다. 그런 다음 데카르트 곱의 각 쌍 (C, γ)으로 SVM을 훈련하고 성능을 평가한다. 그리드 검색은 차원의 저주(curse of dimensionality)에 시달리지만, 하이퍼파라미터 설정이 독립적이므로 종종 병렬화가 매우 용이하다(embarrassingly parallel).
무작위 검색
무작위 검색(random search)은 하이퍼파라미터 조합을 무작위로 선택하여 철저한 열거를 대체한다. 이산, 연속 및 혼합 공간에 적용할 수 있다. 그리드 검색에 비해 무작위 검색의 이점은 연속 하이퍼파라미터에 대해 훨씬 더 많은 값을 탐색할 수 있다는 것이다. 특히 소수의 하이퍼파라미터만이 최종 성능에 크게 영향을 미치는 경우, 즉 낮은 내재 차원성(low intrinsic dimensionality) 상황에서 그리드 검색보다 우수할 수 있다. 무작위 검색은 또한 병렬화가 용이하며, 샘플링 분포를 지정하여 사전 지식을 포함할 수 있다. 단순함에도 불구하고, 새로운 하이퍼파라미터 최적화 방법을 비교하기 위한 중요한 기준선으로 남아 있다.
베이지안 최적화
베이지안 최적화(Bayesian optimization)는 잡음이 있는 블랙박스 함수를 위한 전역 최적화 방법이다. 하이퍼파라미터 튜닝에 적용하면, 하이퍼파미터 값을 검증 세트에서 평가된 목적 함수에 매핑하는 함수의 확률적 모델을 구축한다. 현재 모델을 기반으로 유망한 구성을 반복적으로 평가하고 모델을 업데이트함으로써, 베이지안 최적화는 함수와 그 최적점의 위치에 대한 정보를 드러내는 관찰을 수집하는 것을 목표로 한다. 이는 불확실성이 있는 하이퍼파라미터를 탐색하는 탐험(exploration)과 최적점 근처로 예상되는 하이퍼파라미터를 활용하는 착취(exploitation) 사이의 균형을 유지한다. 실제로 베이지안 최적화는 실험을 실행하기 전에 품질을 추론할 수 있는 능력 덕분에 그리드 검색이나 무작위 검색보다 더 적은 평가로 더 나은 결과를 얻는 경우가 많다.
경사 기반 최적화
특정 학습 알고리즘의 경우, 하이퍼파라미터에 대한 기울기를 계산하고 경사 하강법을 사용하여 최적화하는 것이 가능하다. 이러한 기법의 첫 사용은 신경망에 초점을 맞췄으며, 이후 서포트 벡터 머신 및 로지스틱 회귀와 같은 모델로 확장되었다. 한 가지 접근 방식은 자동 미분(automatic differentiation)을 사용하여 반복 최적화 알고리즘의 단계를 미분한다. 최근 연구는 음함수 정리(implicit function theorem)를 사용하여 하이퍼그라디언트(hypergradient)를 계산하고 역 헤세 행렬의 안정적인 근사를 제안하며, 상수 메모리로 수백만 개의 하이퍼파라미터를 처리할 수 있다.
또 다른 접근 방식은 최적 대응 함수(best response function)를 근사하는 하이퍼네트워크(hypernetwork)를 훈련하는 것으로, 이산 하이퍼파라미터를 처리할 수 있다. 자체 튜닝 네트워크(self-tuning network)는 하이퍼네트워크에 대한 메모리 효율적인 표현을 선택하여 메모리 효율적인 버전을 제공한다. 최근에는 Δ-STN이 하이퍼네트워크를 재매개변수화하여 훈련 속도를 높이고 최적 대응 야코비안(best-response Jacobian)의 근사를 개선했다. 경사 기반 방법은 연속 완화(continuous relaxation)를 채택하여 이산 하이퍼파라미터도 최적화할 수 있으며, 이는 신경 아키텍처 검색(neural architecture search)에서 광범위하게 사용된다.
경사 기반 최적화
특정 학습 알고리즘의 경우, 하이퍼파라미터에 대한 경사를 계산하고 경사 하강법을 사용하여 최적화하는 것이 가능하다. 이러한 기법의 첫 사용은 신경망에 초점을 맞추었으며, 이후 서포트 벡터 머신 및 로지스틱 회귀와 같은 모델로 확장되었다. 한 가지 접근 방식은 자동 미분을 사용하여 반복 최적화 알고리즘의 단계를 미분하는 것이다. 더 최근 연구는 음함수 정리를 사용하여 하이퍼그라디언트(hypergradient)를 계산하고 역 헤세 행렬의 안정적인 근사를 제안하며, 상수 메모리로 수백만 개의 하이퍼파라미터를 처리할 수 있다.
또 다른 접근 방식은 하이퍼네트워크(hypernetwork)를 훈련하여 최적 대응 함수(best response function)를 근사하는 것으로, 이산 하이퍼파라미터를 처리할 수 있다. 자체 튜닝 네트워크(Self-tuning networks)는 하이퍼네트워크의 메모리 효율적인 버전으로, 하이퍼네트워크에 대한 압축된 표현을 선택하여 구현된다. 최근에는 Δ-STN이 훈련 속도를 높이고 최적 대응 근사를 개선하기 위해 하이퍼네트워크를 재매개변수화하였다. 경사 기반 방법은 또한 신경 아키텍처 검색에서 광범위하게 사용되는 연속 완화(continuous relaxation)를 채택하여 이산 하이퍼파라미터를 최적화할 수 있다.
진화 최적화
진화 최적화(evolutionary optimization)는 진화 알고리즘을 사용하여 하이퍼파라미터 공간을 탐색하는, 잡음이 있는 블랙박스 함수를 위한 전역 최적화 방법론이다. 생물학적 진화에서 영감을 받은 과정을 따른다: 무작위 솔루션(일반적으로 100개 이상의 하이퍼파라미터 튜플)으로 초기 모집단을 만들고, 적합도(예: 10겹 교차 검증 정확도)를 평가하며, 적합도로 순위를 매긴 후 선택, 교차, 돌연변이를 통해 새 모집단을 생성한다. 이 반복 과정은 중지 기준이 충족될 때까지 계속된다. 진화 방법은 강건하며 복잡하고 비미분 가능한 탐색 공간을 처리할 수 있어, 머신러닝 모델을 포함한 다양한 모델의 튜닝에 적합하며, 딥러닝 및 대규모 언어 모델에도 사용된다.
실용적 고려 사항
하이퍼파라미터 튜닝은 Artificial intelligence 시스템 개발에서 중요한 단계이다. 방법 선택은 계산 예산, 하이퍼파라미터 공간의 차원, 모델의 특성에 따라 달라진다. Generative AI에서 사용되는 Transformer (architecture)와 같은 비용이 많이 드는 모델의 경우, 샘플 효율성 때문에 베이지안 최적화가 종종 선호된다. 더 간단한 모델이거나 병렬 자원이 풍부한 경우에는 무작위 검색이나 그리드 검색으로 충분할 수 있다. 튜닝을 위한 도구와 프레임워크는 널리 사용 가능하며, Batch Normalization과 통합되는 방법을 포함한 더 효율적인 방법에 대한 연구가 계속되고 있다.
실용적 고려 사항
하이퍼파라미터 튜닝은 Artificial intelligence 시스템 개발에서 중요한 단계이다. 방법 선택은 계산 예산, 하이퍼파라미터 공간의 차원, 모델의 특성에 따라 달라진다. 비용이 많이 드는 모델의 경우 베이지안 최적화가 표본 효율성 때문에 선호된다. 트랜스포머와 같은 대규모 모델은 학습률, 배치 크기, 정규화 강도와 같은 하이퍼파라미터에 매우 민감하여, 이를 최적화하는 것이 성능에 큰 영향을 미친다. 컴퓨팅 리소스가 제한된 상황에서는 무작위 검색이나 그리드 검색이 여전히 실용적인 선택이 될 수 있다. 하이퍼파라미터 튜닝 도구는 다양한 머신러닝 프레임워크에 통합되어 있으며, 방법 선택은 종종 사용 가능한 계산 자원, 하이퍼파라미터 공간의 차원, 시간 제약에 따라 달라진다. 진행 중인 연구는 특히 대규모 모델과 분산 컴퓨팅 환경에서 튜닝의 효율성을 개선하는 것을 목표로 한다.
진화 최적화
진화 최적화(evolutionary optimization)는 잡음이 있는 블랙박스 함수의 전역 최적화 방법론으로, 하이퍼파라미터 공간을 탐색하기 위해 사용된다. 이는 생물학적 진화에서 영감을 받은 과정을 따른다: 초기 모집단(보통 100개 이상의 하이퍼파라미터 튜플)을 생성하고, 적합도(예: 10-폴 교차 검증)를 평가한 후, 선택, 교차, 돌연변이를 통해 새로운 모집단을 만든다. 이 과정은 정지 기준이 충족될 때까지 반복된다. 진화 방법은 강건하며 이산 및 연속 하이퍼파라미터를 모두 처리할 수 있어, 경사 기반 방법이 적용되지 않는 복잡한 검색 공간에 적합하다. 그러나 목적 함수에 대한 평가 횟수가 많아질 수 있어 계산 비용이 많이 들 수 있으며, 이는 특히 훈련 비용이 높은 대규모 모델에서 문제가 된다. 그럼에도 불구하고 진화 전략은 특히 Deep learning 모델의 하이퍼파라미터 튜닝에서 여전히 활발한 연구 분야이다.
경사 기반 최적화
특정 학습 알고리즘의 경우 하이퍼파라미터에 대한 기울기를 계산하고 경사 하강법을 사용하여 최적화하는 것이 가능하다. 이러한 기법의 첫 사용은 신경망에 초점을 맞추었으며, 이후 서포트 벡터 머신 및 로지스틱 회귀와 같은 모델로 확장되었다. 한 가지 접근 방식은 자동 미분(automatic differentiation)을 사용하여 반복 최적화 알고리즘의 단계를 미분하는 것이다. 더 최근의 연구는 음함수 정리(implicit function theorem)를 사용하여 하이퍼그라디언트(hypergradient)를 계산하고 역 헤시안의 안정적인 근사를 제안하여 수백만 개의 하이퍼파라미터를 상수 메모리로 확장할 수 있게 한다.
또 다른 접근 방식은 최적 대응 함수(best response function)를 근사하는 하이퍼네트워크(hypernetwork)를 훈련하는 것으로, 이는 이산 하이퍼파라미터를 처리할 수 있다. 자체 튜닝 네트워크(self-tuning network)는 최적 대응 함수에 대한 압축된 표현을 선택하여 메모리 효율성을 개선한다. 더 최근에는 Δ-STN이 훈련 속도를 높이고 최적 대응 근사를 개선하기 위해 재매개변수화를 도입했다. 경사 기반 방법은 종종 뛰어난 샘플 효율성을 보이지만, 목적 함수의 평활성에 대한 가정이 필요하며 최적화 과정이 까다로울 수 있다.
진화 최적화 및 기타 방법
진화 최적화(evolutionary optimization)는 진화 알고리즘을 사용하여 하이퍼파라미터 공간을 탐색한다. 유전 알고리즘(genetic algorithms)은 특히 인기 있는 접근 방식으로, 하이퍼파라미터 구성의 모집단을 유지하고 선택, 교차, 돌연변이 연산을 통해 세대를 거듭하며 진화시킨다. 진화적 방법은 강건하고 이산 및 연속 하이퍼파라미터를 모두 처리할 수 있으며, 목적 함수의 기울기를 요구하지 않는다. 이들은 특히 검색 공간이 크고 함수가 매끄럽지 않거나 노이즈가 있을 때 유용하다. 그러나 함수 평가 횟수가 많아져 그리드 검색이나 베이지안 최적화보다 계산 비용이 더 많이 들 수 있다.
실용적 고려 사항
하이퍼파라미터 튜닝은 Machine learning 모델을 개발하는 데 있어 중요한 단계이다. 방법의 선택은 계산 예산, 하이퍼파라미터 공간의 차원, 모델의 특성에 따라 달라진다. 비용이 많이 드는 모델의 경우 bayesian optimization이 종종 더 효율적이며, 병렬 자원이 풍부할 때는 무작위 검색이나 그리드 검색이 선호될 수 있다. 튜닝 프로세스는 종종 사전 지식과 경험적 규칙에 의해 안내되며, 자동화된 방법은 수동 튜닝에 비해 시간을 절약하고 성능을 향상시킬 수 있다. 또한, 하이퍼파라미터 튜닝은 과대적합을 방지하고 모델이 보이지 않는 데이터에 잘 일반화되도록 하는 데 중요하다.