Hyperparameter Tuning
Hiperparametre ayarı, doğrulama performansını en üst düzeye çıkaran eğitim ayarlarını bulur. Izgara, rastgele, Bayesçi ve evrimsel aramayı karşılaştırır.
Hiperparametre ayarı, bir makine öğrenimi modelinin ayrılmış verilerde en iyi performansı göstermesini sağlayan eğitim ayarlarını arama sürecidir. Hiperparametreler eğitim başlamadan önce sabitlenir; eğitim sırasında verilerden öğrenilen model ağırlıklarından farklıdır. Her aday yapılandırmanın puanlanması için bir model eğitilip doğrulama verilerinde değerlendirilmelidir. Bu nedenle ayar arama, model oluşturmanın en yoğun hesaplama gerektiren adımlarından biridir ve iyi bir arama stratejisi seçmek, aranacak değerleri seçmek kadar önemlidir.
Yaygın Hiperparametreler#
Bilgisayarlı görüde derin öğrenme kapsamında en sık ayarlanması gereken ayarlar birkaç gruba ayrılır:
- Optimizasyon: Öğrenme oranı ve çizelgesi, momentum, ağırlık çürümesi ve SGD ya da Adam optimize edicisi gibi optimize edici seçimi. Öğrenme oranı genellikle en büyük etkiye sahiptir ve logaritmik ölçekte aranır.
- Eğitim süresi ve gruplama: Epoch sayısı, ısınma süresi ve yığın boyutu.
- Veri artırma: Çevirme, ölçekleme, renk kaydırma ve mozaik gibi her dönüşümün olasılığı ve şiddeti.
- Kayıp ağırlıkları: Bir algılayıcıdaki kutu ve sınıflandırma kayıpları gibi bileşik bir kayıp fonksiyonunun terimlerini dengeleyen katsayılar.
Arama Yöntemleri#
Uygulayıcılar olası yapılandırmalar alanında birkaç stratejiyle gezinir:
- Izgara araması: Sabit bir değer listesinin tüm kombinasyonlarını eğitir. Basit ve kapsamlıdır, ancak eklenen her hiperparametreyle maliyeti katlanır.
- Rastgele arama: İzin verilen aralıklardan rastgele yapılandırmalar örnekler. Bergstra ve Bengio, yalnızca birkaç hiperparametrenin belirli bir problemde büyük önem taşıması ve rastgele örneklemenin her hiperparametre için daha fazla farklı değer denemesi sayesinde, bu yöntemin çok daha az hesaplama kullanarak ızgara araması kadar iyi veya daha iyi modeller bulduğunu gösterdi.
- Bayesçi optimizasyon: Puanın hiperparametrelere bağlılığını temsil eden vekil bir model oluşturur ve iyileşme olasılığının en yüksek göründüğü noktada sonraki denemeyi seçer. Optuna gibi kitaplıklar bu yaklaşımı varsayılan olarak kullanır.
- Erken sonlandırma yöntemleri: Hyperband ve ardışık yarılama, çok sayıda yapılandırmayı küçük bir bütçeyle başlatır ve daha fazla epoch'u yalnızca en umut verici yapılandırmalara ayırır.
- Evrimsel algoritmalar: Her yapılandırmayı bir genom olarak ele alır ve seçim ile mutasyon yoluyla yapılandırma popülasyonunu geliştirir.
Evrimsel Arama#
Evrimsel arama, arama alanı için bir modele ihtiyaç duymadığından ve her deneme için yalnızca bir uygunluk puanı kullandığından, birbiriyle etkileşen çok sayıda hiperparametre içeren eğitim çalışmaları için uygundur. Her turda şimdiye kadar bulunan en iyi yapılandırmalardan biri alınır, değerlerinin bazıları mutasyona uğratılır, sonuçla eğitim yapılır ve iyi puan alırsa yeni yapılandırma havuza eklenir.
Ultralytics ayarlayıcısı, YOLO eğitimi için bu döngüyü çalıştırır: her yinelemede en yüksek uygunluk puanına sahip dokuz sonuç arasından bir ebeveyn seçer, öğrenme oranı, kayıp katsayıları ve veri artırmayı kapsayan en fazla 26 hiperparametrenin yaklaşık yarısını mutasyona uğratır ve algılama için uygunluğu mAP50-95 olarak puanlar. Resmî YOLO26 kontrol noktalarının COCO aşaması hiperparametreleri bu evrimsel aramayla bulundu.
from ultralytics import YOLO
# Önceden eğitilmiş bir YOLO26n modeli yükle
model = YOLO("yolo26n.pt")
# Arama alanı: ayarlanacak her hiperparametre için sınırlar (min, max)
search_space = {"lr0": (1e-5, 1e-2), "degrees": (0.0, 45.0)}
# 30 yinelemenin her biri yeni mutasyona uğratılmış değerlerle 10 epoch boyunca eğitim yapar
model.tune(data="coco8.yaml", epochs=10, iterations=30, space=search_space, plots=False, save=False, val=False)Çalışma, bir uygunluk-yineleme grafiği olan best_hyperparameters.yaml dosyasını ve en iyi yinelemenin ağırlıklarını tune dizinine yazar. Optimize edici belirtilmediğinde model.tune(), AdamW ile eğitim yapar; çünkü varsayılan optimizer="auto", ayarlanan lr0 değerini geçersiz kılar.
Hiperparametre Ayarı ve Benzer Terimler#
- Model eğitimi: Eğitim, sabit bir hiperparametre kümesi için ağırlıkları geri yayılım yoluyla öğrenir. Ayarlama ise eğitimi birçok kez çalıştıran ve sonuçları karşılaştıran dış döngüdür.
- İnce ayar: Adları benzer olsa da ince ayar, önceden eğitilmiş bir modelin ağırlıklarını yeni verilerle eğitmeye devam eder. Daha düşük öğrenme oranı ve dondurulmuş katman sayısı gibi ayarlanması gereken kendi hiperparametreleri vardır.
- Sinir ağı mimarisi araması (NAS): Eğitim ayarları yerine katman türleri ve genişlikleri gibi ağ yapısını arar.
- Otomatik makine öğrenimi (AutoML): Model seçimi ve veri ön işleme dâhil daha geniş işlem hattını otomatikleştirir; hiperparametre ayarı da bu sürecin bir bileşenidir.
- Doğrulama kümesine aşırı uyum: Aynı doğrulama bölmesinde puanlanan yüzlerce ayar denemesi, şans eseri o bölmeye uygun ayarları seçebilir. Bu nedenle nihai sonuçlar, ayarlama sırasında hiç kullanılmamış ayrı bir test kümesinde alınmalıdır.










