Öğrenme Oranı
Öğrenme hızının model eğitimi üzerindeki etkisini öğrenin. Nesne algılamada ve daha fazlasında SOTA performansına ulaşmak için Ultralytics için adım boyutunu nasıl optimize edeceğinizi keşfedin.
Öğrenme oranı,
optimizasyon sürecinde modelin attığı adımların büyüklüğünü belirleyen kritik bir
hiperparametre ayarlama yapılandırmasıdır. Sinir ağını eğitme bağlamında,
model bir veri grubunu her işlediğinde tahmin edilen hataya yanıt olarak modelin iç ağırlıklarının ne kadar güncelleneceğini kontrol eder
. Bunu, bir kişinin dağdan vadiye (hatanın en düşük noktası) doğru yürüdüğünü düşünün;
öğrenme oranı, adımlarının uzunluğunu belirler. Adımlar çok büyükse, vadiyi tamamen geçip
dibine ulaşamayabilirler. Adımlar çok küçükse, hedefe ulaşmak pratik olarak
çok uzun sürebilir.
Optimizasyonda "Goldilocks" İkilemi
Optimum öğrenme oranını bulmak, genellikle makine öğrenimi iş akışları içinde bir dengeleme eylemi olarak tanımlanır.
Amaç, modelin tahminleri ile gerçek durum arasındaki farkı ölçen
kayıp fonksiyonunu en aza indirmektir.
Bu süreç, kayıp manzarasını gezmek için
stokastik gradyan inişi (SGD)
veya Adam gibi
bir optimizasyon algoritmasına büyük ölçüde dayanır.
Bu algoritmalar, modelin öğrenme sürecinde
kayıp fonksiyonunu en aza indirgemek için
-
Öğrenme Hızı Çok Yüksek: Değer çok yüksek ayarlanırsa, modelin ağırlık güncellemeleri aşırı olacaktır.
Bu, modelin bir çözüme yakınsamayı başaramadığı ve
bunun yerine şiddetli bir şekilde salınım yaptığı veya sapma gösterdiği "aşırı sapma" fenomenine yol açabilir. Bu kararsızlık bazen
patlayan gradyan sorununu tetikleyerek
eğitim sürecini işe yaramaz hale getirebilir.
-
Öğrenme Hızı Çok Düşük: Tersine, aşırı küçük adım boyutu, modelin
minimum değere doğru dikkatli bir şekilde ilerlemesini sağlar, ancak
eğitim süreci çok yavaş hale geldiği için
yetersiz uyumlanma ile sonuçlanabilir. Model, yerel minimumda etkili bir şekilde takılabilir veya basit kalıpları öğrenmek için binlerce ekstra
dönem gerektirebilir, bu da hesaplama açısından kaynak israfına
neden olur. Araştırmacılar, farklı algoritmaların bu değerlerle nasıl etkileşime girdiğini anlamak için genellikle
PyTorch optimizasyonPyTorch başvururlar.
.
Gerçek Dünya Uygulamaları
Öğrenme hızı ayarlamalarının etkisi,
bilgisayar görme görevlerinin uygulandığı çeşitli yüksek riskli endüstrilerde belirgindir.
-
Otonom Sürüş Sistemleri: Otonom araçların geliştirilmesinde
mühendisler, yayaları ve trafik işaretlerini tanımak için nesne algılama modellerini eğitmek üzere geniş
veri kümeleri kullanır.
YOLO26 gibi önceden eğitilmiş bir modele transfer öğrenimi uygularken YOLO26 gibi önceden eğitilmiş bir modele
transfer öğrenimi uygularken, geliştiriciler genellikle ilk eğitim sırasında kullandıklarından çok daha küçük bir öğrenme
oranı kullanırlar. Bu "ince ayar", modelin sahip olduğu genel özellik
çıkarma yeteneklerini silmeden belirli sürüş ortamlarının (örneğin, karlı yollar ve çöl otoyolları) nüanslarını
öğrenmesini sağlar.
-
Tıbbi Tanı Görüntüleme:
MRG taramalarında tümörleri tespit etmek gibi
tıbbi görüntü analizlerinde hassasiyet çok önemlidir. Burada yüksek öğrenme oranı, modelin kötü huylu dokuyu iyi huylu dokudan ayıran
ince doku farklılıklarını atlama riskini yaratır. Uygulayıcılar genellikle "öğrenme oranı ısınması" adı verilen bir
teknik kullanır ve oranı sıfırdan hedef değere kademeli olarak artırarak
eğitimin ilk aşamalarını stabilize eder ve
agresif öğrenme başlamadan önce sinir ağı ağırlıklarının
kararlı bir yapıya yerleşmesini sağlar. Bu stratejiler hakkında daha fazla bilgiyi
Google Öğrenimi Hızlandırılmış Kursu'nda bulabilirsiniz.
İlgili Terimlerin Farklılaştırılması
Öğrenme hızını diğer eğitim parametrelerinden ayırmak önemlidir, çünkü bunlar genellikle
aynı yapılandırma dosyalarında yapılandırılır, ancak farklı amaçlara hizmet ederler:
-
Öğrenme Hızı ve Parti Boyutu: Öğrenme hızı güncellemenin büyüklüğünü kontrol ederken,
parti boyutu 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,
parti boyutunu artırırken, eğitim verimliliğini korumak için öğrenme hızını da artırmak gerekir. Bu kavram,
büyük parti eğitimi ile ilgili makalelerde incelenmiştir.
-
Öğrenme Hızı ve Azalma: Azalma, öğrenme hızının zaman içinde sistematik olarak
azaltıldığı bir stratejiyi ifade eder. Bir zamanlayıcı, her 30 döngüde hızı 10 kat azaltabilir. Bu, modelin
erken aşamada 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 standart bir özelliktir.
Ultralytics YOLO'da Öğrenme Hızını Ayarlama
Modern çerçeveleri kullanırken, başlangıç öğrenme oranını kolayca ayarlayabilirsiniz (lr0) ve son
öğrenme oranı kesri (lrf). Aşağıda, bunu
Ultralytics Platformu özel bir eğitim çalışması için uyumlu istemci.
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,
LR Finder (fast.ai tarafından popüler hale getirilen) gibi teknikler,
kayıp sapana kadar oranının katlanarak arttığı kısa bir deneme dönemi çalıştırarak en iyi başlangıç değerinin keşfini otomatikleştirebilir.
Bu hiperparametreyi ustaca kullanmak, genellikle AI projelerinizde
SOTA (State-of-the-Art) performansını ortaya çıkaran anahtardır.