Learning Rate
Öğrenme hızının (learning rate) model eğitimini nasıl etkilediğini öğren. Nesne algılama ve daha fazlasında SOTA performansa ulaşmak için Ultralytics YOLO26'da adım boyutunu nasıl optimize edeceğini keşfet.
Öğrenme oranı (learning rate), bir modelin optimizasyon süreci boyunca attığı adım boyutunu belirleyen kritik bir hyperparameter tuning yapılandırmasıdır. Bir sinir ağını eğitme bağlamında, modelin verilerin bir yığınını her işleyişinde tahmin edilen hataya yanıt olarak dahili ağırlıklarının ne kadar güncelleneceğini kontrol eder. Bunu, bir vadiye (en düşük hata noktasına) doğru dağdan aşağı yürüyen bir kişi olarak düşünebilirsiniz; öğrenme oranı, adımlarının uzunluğunu dikte eder. Adım çok büyükse, vadinin tamamen üzerinden adım atıp dibi kaçırabilirler. Adım çok küçükse, varış noktasına ulaşmak pratik olmayacak kadar uzun sürebilir.
Optimizasyonda "Altın Oran" İkilemi#
Optimal öğrenme oranını bulmak, genellikle machine learning iş akışlarında bir denge unsuru olarak tanımlanır. Buradaki amaç, modelin tahminleri ile gerçek yerdeki karşılığı arasındaki farkı ölçen loss function değerini en aza indirmektir. Bu süreç, kayıp manzarasında gezinmek için stochastic gradient descent (SGD) veya Adam optimizer gibi bir optimization algorithm algoritmasına büyük ölçüde güvenir.
- Çok Yüksek Öğrenme Oranı: Değer çok yüksek ayarlanırsa, modelin ağırlık güncellemeleri sert olacaktır. Bu durum, modelin bir çözüme yakınsamada başarısız olup bunun yerine vahşi bir şekilde salınım yaptığı veya saptığı "aşırı aşım" (overshooting) fenomenine yol açabilir. Bu kararsızlık bazen bir exploding gradient problemini tetikleyerek eğitim sürecini işe yaramaz hale getirebilir.
- Çok Düşük Öğrenme Oranı: Aksine, son derece küçük bir adım boyutu, modelin minimuma doğru dikkatli bir şekilde hareket etmesini sağlar, ancak eğitim süreci son derece yavaş hale geldiği için underfitting ile sonuçlanabilir. Model etkili bir şekilde yerel bir minimumda sıkışıp kalabilir veya basit örüntüleri öğrenmek için binlerce ekstra epochs harcayarak hesaplama kaynaklarını boşa harcayabilir. Araştırmacılar, farklı algoritmaların bu değerlerle nasıl etkileşime girdiğini anlamak için genellikle PyTorch documentation on optimization kaynağına başvururlar.
Gerçek Dünya Uygulamaları#
Öğrenme oranı ayarlamalarının etkisi, computer vision tasks uygulamalarının konuşlandırıldığı çeşitli yüksek riskli endüstrilerde açıkça görülmektedir.
-
Otonom Sürüş Sistemleri: autonomous vehicles geliştirme sürecinde mühendisler, yayaları ve trafik işaretlerini tanımlamak üzere object detection modellerini eğitmek için devasa veri setleri kullanırlar. YOLO26 gibi önceden eğitilmiş bir modele transfer learning uygularken, geliştiriciler genellikle ilk eğitim sırasında kullanacaklarından çok daha küçük bir öğrenme oranı kullanırlar. Bu "ince ayar" (fine-tuning), modelin halihazırda sahip olduğu genel özellik çıkarma yeteneklerini ortadan kaldırmadan belirli sürüş ortamlarının (örn. karlı yollar ve çöl otoyolları) nüanslarını öğrenmesini sağlar.
-
medical image analysis alanında, MR taramalarında tümörlerin tespit edilmesi gibi durumlarda, hassasiyet son derece önemlidir. Burada yüksek bir öğrenme oranı, modelin kötü huylu dokuyu iyi huylu dokudan ayırt eden ince doku farklarını atlama riskini doğurur. Uygulayıcılar genellikle eğitimin erken aşamalarını istikrara kavuşturmak için oranı sıfırdan hedef bir değere kademeli olarak artıran "öğrenme oranı ısınması" (learning rate warmup) adı verilen bir teknik kullanırlar ve agresif öğrenme başlamadan önce neural network ağırlıklarının kararlı bir yapıya kavuşmasını sağlarlar. Bu stratejiler hakkında daha fazla bilgiyi Google Machine Learning Crash Course içinde okuyabilirsiniz.
İlgili Terimleri Ayırt Etme#
Öğrenme hızını diğer eğitim parametrelerinden ayırmak önemlidir, çünkü bunlar genellikle aynı yapılandırma dosyalarında ayarlanırlar ancak farklı amaçlara hizmet ederler:
- Öğrenme Oranı ve Yığın Boyutu: Öğrenme oranı güncellemeyen büyüklüğü kontrol ederken, batch size bir güncelleme gerçekleşmeden önce işlenen eğitim örneklerinin sayısını belirler. İkisi arasında güçlü bir ilişki vardır; genellikle yığın boyutu artırıldığında, eğitim verimliliğini korumak için öğrenme oranını da artırmak gerekir; bu, large-batch training hakkındaki makalelerde incelenen bir kavramdır.
- Öğrenme Oranı ve Azalma (Decay): Azalma, öğrenme oranının zaman içinde sistematik olarak azaltıldığı bir stratejiyi ifade eder. Bir zamanlayıcı, her 30 epoch'ta bir oranı 10 kat düşürebilir. Bu, modelin erken aşamalarda büyük kavramsal sıçramalar yapmasına ve ardından eğitimin sonuna doğru daha küçük adımlarla doğruluğunu iyileştirmesine yardımcı olur. Bu, Ultralytics Python package içinde yer alan standart bir özelliktir.
Ultralytics YOLO'da Öğrenme Hızını Ayarlama#
Modern çerçeveleri kullanırken, ilk öğrenme oranını (lr0) ve nihai öğrenme oranı fraksiyonunu (lrf) kolayca ayarlayabilirsiniz. Aşağıda, özel bir eğitim çalıştırması için Ultralytics Platform uyumlu istemciyi kullanarak bunun nasıl yapılandırılacağına dair bir örnek verilmiştir.
from ultralytics import YOLO
# Load the YOLO26 model (latest state-of-the-art architecture)
model = YOLO("yolo26n.pt")
# Train the model with a custom initial learning rate
# lr0=0.01 sets the initial rate
# lrf=0.01 sets the final learning rate to (lr0 * lrf)
results = model.train(data="coco8.yaml", epochs=10, lr0=0.01, lrf=0.01)İleri düzey kullanıcılar için, (fast.ai tarafından popülerleştirilen) LR Finder gibi teknikler, kayıp sapana kadar oranın katlanarak artırıldığı kısa bir deneme epoch'u çalıştırarak en iyi başlangıç değerinin bulunmasını esasen otomatikleştirebilir. Bu hiperparametrede ustalaşmak, genellikle yapay zeka projelerinizde SOTA (State-of-the-Art) performansının kilidini açmanın anahtarıdır.






