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

Regularization

Düzenlileştirme, bir modelin gürültüyü ezberlemek yerine genelleme yapması için eğitim sırasında modeli kısıtlar. L1, L2, ağırlık çürümesi, dropout ve erken durdurma.

Düzenlileştirme, yeni verilerdeki hatayı azaltmayı amaçlayan modelin eğitilme biçimindeki herhangi bir değişikliktir; bu, eğitim verilerindeki hatası artsa bile geçerlidir. Modelin yeterli kapasiteye sahip olup gördüğü örneklerdeki gürültüyü ve tuhaflıkları ezberlediği aşırı öğrenmeye karşı koyar. Düzenlileştirme; büyük ağırlıkları cezalandırarak, gürültü ekleyerek, veriyi çeşitlendirerek veya eğitimi erken durdurarak modelin etkin karmaşıklığını sınırlar. Yanlılık-varyans açısından bakıldığında, varyanstaki daha büyük bir azalma karşılığında biraz ek yanlılığı kabul eder.

L1 ve L2 Cezaları#

Klasik biçimde, kayıp fonksiyonuna ağırlıklara yönelik bir ceza eklenir: toplam kayıp = veri kaybı + λ × ceza. L2 düzenlileştirme, ağırlıkların kareleri toplamını (Σw²) cezalandırır; bu da her ağırlığı büyüklüğüyle orantılı biçimde sıfıra yaklaştırır ve doğrusal modellerde ridge regresyonu olarak adlandırılır. L1 düzenlileştirme, ağırlık değerlerinin mutlak değerleri toplamını cezalandırır; sabit kuvveti birçok ağırlığı tam olarak sıfıra indirir. Bu nedenle, lasso olarak da bilinen L1 cezalı doğrusal regresyon, aynı zamanda özellik seçimi işlevi görür. Elastik ağ her ikisini birleştirir. scikit-learn'de alpha olarak adlandırılan ceza gücü λ bir hiperparametredir: çok küçük olursa model hâlâ aşırı öğrenir, çok büyük olursa yetersiz öğrenir. Sinüs dalgasından alınan 12 gürültülü noktaya uydurulmuş 9. derece bir polinom, her iki başarısızlık durumunu da gösterir:

import numpy as np
from sklearn.linear_model import Ridge
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import PolynomialFeatures

rng = np.random.default_rng(0)

# 12 noisy training points from a sine wave, plus clean test points
x_train = rng.uniform(0, 1, (12, 1))
y_train = np.sin(2 * np.pi * x_train[:, 0]) + rng.normal(0, 0.2, 12)
x_test = np.linspace(0, 1, 200)[:, None]
y_test = np.sin(2 * np.pi * x_test[:, 0])

# The same degree-9 polynomial, fit with a growing L2 penalty on its coefficients
for alpha in (0.0, 1e-4, 1e-2, 1.0):
    model = make_pipeline(PolynomialFeatures(9), Ridge(alpha=alpha)).fit(x_train, y_train)
    train_mse = np.mean((model.predict(x_train) - y_train) ** 2)
    test_mse = np.mean((model.predict(x_test) - y_test) ** 2)
    weight_norm = np.linalg.norm(model[-1].coef_)
    print(f"alpha {alpha:g}: train MSE {train_mse:.4f}, test MSE {test_mse:.4f}, |w| {weight_norm:.1f}")

Ceza olmadan polinom gürültüye göre kıvrılır: katsayı normu yaklaşık 425.000'e ulaşır, eğitim hatası 0,0148 ve test hatası 0,1859 olur. 0,0001 cezası katsayı normunu 20,8'e düşürür ve test hatasını on bir kat azaltarak 0,0170'a indirirken eğitim hatasını 0,0334'e yükseltir. Alfa 1 olduğunda ceza baskın hâle gelir ve model, 0,3998 test hatasıyla yetersiz öğrenir.

Sinir Ağlarında Ağırlık Azaltma ve Dropout#

Sinir ağlarında L2 düzenlileştirme genellikle ağırlık azaltma biçimini alır: her güncellemede her ağırlık, kendi değerinin küçük bir oranı kadar küçültülür. Standart stokastik gradyan inişi için ikisi eşdeğerdir. Adam gibi uyarlamalı eniyileyicilerde gradyana eklenen bir L2 terimi, Adam'ın parametre başına ölçeklendirmesine bölünür; bu nedenle büyük gradyanlara sahip ağırlıklar çok az düzenlileştirilir. Ayrıştırılmış ağırlık azaltma bunun yerine küçültmeyi doğrudan uygular ve ortaya çıkan AdamW eniyileyicisi, Transformer modellerinde standart tercihtir.

Dropout katmanı, her eğitim adımında her birimin çıktısını p olasılığıyla sıfırlar ve geriye kalan çıktıları 1/(1 − p) ile ölçeklendirir. Böylece ağ herhangi bir birime bağımlı olamaz ve etkili biçimde, ağırlıkları paylaşan çok sayıda seyreltilmiş alt ağı eğitir. Çıkarım sırasında tüm birimler etkin kalır. İlk deneylerde, gizli birimler için 0,5 düşürme olasılığının çok çeşitli ağ ve görevlerde ideale yakın olduğu görüldü.

Ultralytics YOLO eğitimi her ikisini de sunar: varsayılan değeri 0,0005 olan weight_decay, yalnızca evrişim ve doğrusal katman ağırlıklarına uygulanır; bias'ları ve normalleştirme katmanı parametrelerini atlar. Varsayılan değeri 0,0 olan dropout ise YOLO26 sınıflandırma modellerinin son doğrusal katmanından hemen önce etki eder.

from ultralytics import YOLO

# Önceden eğitilmiş bir YOLO26n sınıflandırma modelini yükle
model = YOLO("yolo26n-cls.pt")

# Sınıflandırma başlığında dropout ve daha güçlü ağırlık azaltma kullanarak eğit
results = model.train(data="mnist160", epochs=10, dropout=0.2, weight_decay=0.001)

Diğer Düzenlileştirme Teknikleri#

  • Veri artırma: Yansıtma, kırpma, ölçeklendirme, renk kaydırmaları ve mozaik, eğitim görüntülerinin çeşitliliğini artırır; böylece model her nesneyi ham veri kümesindekinden çok daha fazla koşulda görür.
  • Etiket yumuşatma: One-hot sınıflandırma hedeflerini biraz yumuşatılmış hedeflerle değiştirir; böylece model logitlerini aşırı güvenli değerlere itmekten vazgeçer.
  • Örtük düzenlileştirme: Küçük partilerle eğitimin gradyan gürültüsü ve parti normalleştirmenin partiden partiye değişen gürültüsü, açık bir terim olmaksızın düzenlileştirme sağlar.

Erken durdurma, eğitim süresini sınırlayarak düzenlileştirme yapar. Her epoch sonrasında modeli doğrulama verileri üzerinde puanlar ve sabır olarak adlandırılan belirli sayıda epoch boyunca puan iyileşmediğinde durur; o ana kadarki en iyi ağırlıkları korur:

  • Normalleştirme: Eğitimi hızlandırmak ve kararlı hâle getirmek için girdileri veya aktivasyonları yeniden ölçeklendirir. Parti normalleştirme yalnızca yan etki olarak düzenlileştirme sağlar.
  • Hiperparametre ayarlama: λ, dropout olasılığı ve sabır gibi düzenlileştirme ayarlarının yanı sıra diğer tüm hiperparametreler için uygun değerleri arar.
  • Model toplulukları: Bağımsız olarak eğitilmiş birkaç modelin tahminlerinin ortalamasını alarak varyansı azaltır. Dropout, tek bir ağ içinde böyle bir topluluğu yaklaşık olarak oluşturur: eğitim sırasında üstel sayıda seyreltilmiş alt ağdan örnekler alır ve test sırasında tüm birimler etkin durumdayken tam ağı çalıştırmak, tüm tahminlerin ortalamasını yaklaşık olarak verir.

Çö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