Hiperparametre Nedir?
Hiperparametre, bir makine öğrenimi modelinin eğitim sürecini dışarıdan yöneten ve eğitim başlamadan önce belirlenmesi gereken yapılandırma değişkenidir. Öğrenme hızı (learning rate), katman sayısı, gizli birim sayısı, batch boyutu, dropout oranı ve regularizasyon katsayısı birer hiperparametredir. Model parametrelerinden temel farkı şudur: parametreler (ağırlıklar, bias değerleri) eğitim sırasında gradyan inişiyle otomatik olarak güncellenir; hiperparametreler ise öğrenme algoritmasının dışındadır ve araştırmacı ya da otomatik bir arama süreci tarafından belirlenir. Yanlış ayarlanmış bir hiperparametre yetersiz öğrenmeye (underfitting) veya eğitim verisini ezberlemeye (overfitting) yol açar. Bu nedenle hiperparametre optimizasyonu (HPO), başarılı model geliştirmenin ayrılmaz parçasıdır.
En Kritik Hiperparametreler
Öğrenme Hızı (Learning Rate)
En etkili hiperparametre; çok yüksek → ıraksar, çok düşük → çok yavaş. Tipik aralık: 1e-5 ila 1e-1; warmup + decay ile dinamik ayar
Batch Boyutu
Her gradient güncellemesinde kullanılan örnek sayısı; büyük batch → stabil gradyan; küçük batch → gürültülü ama düzenleyici etki
Epoch Sayısı
Eğitim setinin kaç kez tam geçildiği; erken durdurma (early stopping) ile validation loss'a göre otomatik tespit edilir
Dropout Oranı
Eğitim sırasında rastgele sıfırlanan nöron oranı (0.1-0.5); overfitting'e karşı güçlü düzenleme aracı
Regularizasyon (L1/L2)
Ağırlıkları küçük tutmaya zorlayan ceza terimi; L1 seyreklik, L2 dengeli küçülme; lambda katsayısı hiperparametredir
Hiperparametre Arama Stratejileri
- check_circle Grid Search: Tüm kombinasyonları sistematik dene; küçük uzaylarda garantili ama boyut arttıkça hesaplama patlar
- check_circle Random Search: Belirlenen dağılımdan rastgele örnekle; Grid Search'ten sıklıkla daha verimli; Bergstra & Bengio (2012) ampirik üstünlüğünü kanıtladı
- check_circle Bayesian Optimization: Geçmiş denemeleri öğrenip en umut verici bölgeyi hedef alır; Gaussian Process veya TPE kullanır; Optuna bu yaklaşımı uygular
- check_circle Hyperband / ASHA: Kötü performanslı denemeleri erken keser, kaynakları umut verici olanlara aktarır; büyük ölçekli aramalarda tercih edilir
- check_circle Population Based Training (PBT): Google DeepMind'ın yaklaşımı; paralel ajan popülasyonu arasında hiperparametreleri evrimsel olarak geliştirir
Popüler HPO Araçları
- check_circle Optuna: Python tabanlı, TPE algoritması; dashboard, dağıtık arama, PyTorch/TF entegrasyonu; açık kaynak en popüler seçim
- check_circle Ray Tune: Dağıtık HPO; Hyperband, PBT ve Bayesian desteği; büyük ölçekli bulut aramaları için
- check_circle Weights & Biases Sweeps: W&B ile entegre; YAML tabanlı arama konfigürasyonu; takım paylaşımı ve görselleştirme
- check_circle Keras Tuner: Keras modelleri için; RandomSearch, BayesianOptimization, Hyperband stratejileri
- check_circle scikit-learn GridSearchCV: Klasik ML için standart; çapraz doğrulamayla birleşik arama
Büyük Modellerde Hiperparametre Transferi
Büyük modellerde hiperparametre aramak son derece pahalıdır: GPT-3 (175B) için tek eğitim ~4.6 milyon dolar maliyetindeydi. Bu sorunu çözmek için μP (Maximal Update Parametrization) yöntemi küçük ölçekte bulunan optimal öğrenme hızını doğrudan büyük modele aktarmayı mümkün kılar. Neural Architecture Search (NAS) ise hangi mimarinin kullanılacağını da hiperparametre gibi optimize eder; DARTS ve EfficientNet bu yöntemle bulunmuştur. Pratikte çoğu takım literatürdeki paylaşılmış değerlerden (learning rate için 3e-4 'Karpathy sabiti' gibi) başlar ve küçük bir arama ile rafine eder.
Sık Sorulan Sorular
- check_circle Hiperparametre ile parametre arasındaki fark nedir? Parametreler (ağırlıklar, bias) eğitim sırasında gradyan inişiyle öğrenilir; hiperparametreler eğitim başlamadan önce belirlenir ve öğrenme algoritması tarafından güncellenmez.
- check_circle Hangi hiperparametre en önemlidir? Öğrenme hızı genellikle en kritiktir; yanlış ayarlanırsa diğer hiperparametreler ne kadar iyi olursa olsun model başarısız olabilir.
- check_circle Random Search neden Grid Search'ten daha iyi olabilir? Bazı hiperparametreler sonucu çok az etkiler; Random Search bu önemsiz boyutlara eşit kaynak ayırmaz, önemli boyutları daha geniş keşfeder.
- check_circle Bayesian Optimization ne zaman kullanılır? Her denemenin maliyetli olduğu durumlarda; az sayıda denemede iyi hiperparametre bulmak için tercih edilir.
- check_circle Learning rate scheduler ne işe yarar? Eğitim boyunca öğrenme hızını dinamik olarak değiştirir; sabit orana göre genellikle daha iyi yakınsama sağlar.