Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Learning Rate

Öğrenme oranı, eğitim sırasında yapılan her ağırlık güncellemesini ölçeklendirir. Değerlerin neden çok yüksek olduğunda sapmaya, çok düşük olduğunda duraklamaya yol açtığı; ayrıca ısınma, azaltma çizelgeleri ve ayarlama.

Öğrenme oranı, her eğitim adımında bir modelin ağırlıklarının ne kadar değişeceğini belirleyen hiperparametredir. Gradyan inişi, kayıp fonksiyonunun gradyanını hesaplar. Gradyan, kaybın en hızlı arttığı yönü gösterir; her ağırlık da w ← w − η × gradyan kuralına göre güncellenir. Burada η (eta), öğrenme oranıdır. Adım büyüklüğü de aynı kavram için kullanılan başka bir addır; kodda genellikle lr olarak adlandırılır. İyi seçilmiş bir oran, sinir ağının iyi bir çözüme hızla yakınsamasını sağlar; kötü seçilmiş bir oran ise eğitimin ıraksamasına veya ağır ilerlemesine yol açar. Bu nedenle Leslie Smith'in döngüsel öğrenme oranları makalesi, öğrenme oranını ayarlanması gereken en önemli hiperparametre olarak niteler derin ağlar için.

Çok Yüksek, Çok Düşük ve Tam Kararında#

Öğrenme oranı, hız ile kararlılık arasında denge kurar:

  • Çok yüksek: Her adım minimum noktayı aşar. Kayıp salınır, sıçrar veya NaN olana kadar artar; eğitim ıraksar.
  • Çok düşük: Her adım ağırlıkları neredeyse hiç değiştirmez. Kayıp yavaş düşer, yakınsama için çok daha fazla epoch gerekir ve sabit bütçeli bir çalıştırma yetersiz öğrenmeyle sona erer.
  • İyi seçilmiş: Kayıp düzenli biçimde düşer ve bir minimumun yakınında dengelenir.

Aşağıdaki PyTorch betiği, aynı başlangıç noktasından dört öğrenme oranı kullanarak w² kaybını en aza indirir:

import torch

# Minimize loss = w**2 (lowest at w = 0) from the same start with four learning rates
for lr in (0.01, 0.1, 0.9, 1.1):
    w = torch.tensor(5.0, requires_grad=True)
    optimizer = torch.optim.SGD([w], lr=lr)
    path = []
    for step in range(20):
        optimizer.zero_grad()
        loss = w**2
        loss.backward()
        optimizer.step()  # w = w - lr * gradient
        path.append(w.item())
    print(f"lr={lr}: first steps {[round(v, 2) for v in path[:3]]}, after 20 steps w={path[-1]:.3f}")

0.01'de ağırlık 20 adımda 5'ten yalnızca 3.338'e iner; 0.1'de ise 0.058'e ulaşır. 0.9'da işareti her adımda değişir (−4.0, 3.2, −2.56), ancak yine de 0.058'e yakınsar. 1.1'de ise her adım daha fazla aşar ve ağırlık 191.688'e çıkar. İkinci dereceden bir fonksiyonda gradyan inişi, yalnızca öğrenme oranı kaybın eğriliğinin, yani ikinci türevinin, 2'ye bölümünden küçük olduğunda kararlı kalır. w²'nin eğriliği 2 olduğundan buradaki sınır tam olarak 1.0'dır; 0.5 oranı minimuma tek adımda ulaşır. Gerçek bir ağda kaybın en keskin yönü aynı türden sınırı belirler. Bu nedenle bir model veya toplu iş boyutu için işe yarayan oran, başka birinde ıraksamaya neden olabilir.

Öğrenme Oranı Zamanlamaları#

Eğitimde başlangıçtan bitişe kadar tek bir oran nadiren kullanılır. Zamanlama, oranı zaman içinde değiştirir:

  • Isınma: Küçük bir oranla başlar ve ilk birkaç epoch veya yineleme boyunca oranı kademeli olarak artırır; böylece ilk yinelemelerdeki büyük ve düzensiz gradyanların eğitimi istikrarsızlaştırmasını önler.
  • Basamaklı azaltma: Oranı belirli epoch'larda veya doğrulama kaybı plato yaptığında, genellikle 10 gibi sabit bir katsayıya böler.
  • Doğrusal ve kosinüs azaltma: Oranı, küçük bir son değere doğru yumuşakça düşürür. Kosinüs tavlaması yarım kosinüs dalgasını izler; sıcak başlangıçlı yeniden başlatma varyantı ise her yeni döngünün başında oranı yeniden yüksek değere çıkarır.
  • Döngüsel ve tek döngülü politikalar: Eğitim sırasında oranı alt ve üst sınırlar arasında değiştir.

Büyük başlangıç adımları ağırlıkları hızla iyi bir bölgeye taşır; küçük son adımlar ise ağırlıkların etrafında zıplamak yerine minimum noktaya yerleşmesini sağlar. YOLO26 Ultralytics'te eğitim lr0 ile başlar, warmup_epochs boyunca (varsayılan olarak 3) ısınır ve doğrusal olarak lr0 * lrf değerine ya da cos_lr=True ile kosinüs eğrisi boyunca azalır. Varsayılan optimizer="auto" ile eğitici hem iyileştiriciyi hem de başlangıç oranını kendi seçer; 10.000 iterasyondan uzun çalıştırmalarda 0.01 değerinde MuSGD, diğer durumlarda ise sınıf sayısına göre ayarlanmış oranla AdamW kullanır. Bu nedenle lr0 yalnızca iyileştirici açıkça ayarlandığında geçerlidir:

from ultralytics import YOLO

# Önceden eğitilmiş bir YOLO26 nano modeli yükle
model = YOLO("yolo26n.pt")

# Açıkça bir iyileştirici belirtmek lr0'ın uygulanmasını sağlar; oran kosinüs boyunca lr0 * lrf değerine düşer
results = model.train(data="coco8.yaml", epochs=10, optimizer="SGD", lr0=0.01, lrf=0.01, cos_lr=True)

Başlangıç Değeri Seçme#

Yaygın başlangıç değerleri, momentumlu stokastik gradyan inişi (SGD) için 0.01 ile 0.1 arası ve Adam iyileştiricisi için 0.001'dir; bu değer Adam makalesinde önerilen varsayılan değerdir. Önceden eğitilmiş bir modeli ince ayarlarken, sıfırdan eğitime kıyasla daha küçük bir oran kullanılır; çünkü büyük adımlar, aktarımı öğrenmenin işe yaramasını sağlayan özelliklerin üzerine yazabilir.

Aynı döngüsel öğrenme oranları makalesindeki ve fastai'de öğrenme oranı bulucu olarak sunulan öğrenme oranı aralığı testi, kısa bir çalıştırmayla iyi bir değer bulur. Kayıp değerini kaydederken her mini yığından sonra oranı artırır; kullanışlı aralık, kaybın patlamaya başlamasından önce en hızlı düştüğü bölgedir.

  • Optimizasyon algoritması: Öğrenme oranını kullanan güncelleme kuralı. Adam gibi uyarlamalı iyileştiriciler, her ağırlığın adımını kendi gradyan geçmişine göre ölçeklendirir; ancak her adımı yine de tek bir genel öğrenme oranıyla çarpar.
  • Momentum: Önceki güncellemenin bir kısmını mevcut güncellemeye ekleyen ayrı bir hiperparametre; yolu yumuşatır ve tutarlı yönlerde etkin adım boyutunu artırır.
  • Ağırlık çürümesi: Ağırlıkları her adımda sıfıra doğru küçülten bir düzenlileştirme terimi; öğrenme oranı azalması ise adım boyutunu zaman içinde küçültür.
  • Yığın boyutu: Her gradyanın ortalamasının alındığı örnek sayısı. Daha büyük yığınlar daha az gürültülü gradyanlar üretir ve daha yüksek oranları tolere eder; doğrusal ölçekleme kuralı, yığın boyutu k kat arttığında öğrenme oranını da k ile çarpar.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla