Focal Loss'un nesne algılamada sınıf dengesizliğinin üstesinden nasıl geldiğini keşfedin - dengesiz veri kümelerinde doğruluğu artırmak için eğitimi zor örneklere odaklayın.
Odak Kaybı, makinede aşırı sınıf dengesizliği sorununu ele almak için tasarlanmış özel bir amaç fonksiyonudur öğrenme eğitimi, özellikle de bilgisayarla görme alanında. Birçok nesne algılama senaryosunda, nesne sayısı Arka plan örnekleri (negatifler), ilgilenilen nesnelerin (pozitifler) sayısını çok aşar. Standart kayıp fonksiyonları classify kolay olan bu arka plan örneklerinin çokluğu karşısında bunalır ve modelin daha zor, olumlu örnekleri öğrenir. Odak Kaybı, kaybı dinamik olarak ölçeklendirerek bu durumu hafifletir. Tahminin güvenirliği, kolay örnekleri etkili bir şekilde aşağı ağırlıklandırır ve modeli eğitimine odaklanmaya zorlar sert negatifler ve yanlış sınıflandırılmış nesneler üzerindeki çabalar.
Odak Kaybının arkasındaki birincil motivasyon gibi tek aşamalı nesne dedektörleri RetinaNet'in ilk sürümleri ve modern mimariler gibi Ultralytics YOLO11. Bu sistemlerde, dedektör bir görüntü ve binlerce aday konum üretir. Bir görüntünün çoğu genellikle arka plan olduğu için arka plan-nesne oranı genellikle 1000:1 veya daha yüksek olabilir.
Müdahale edilmediği takdirde, çok sayıda arka plan örneğinden kaynaklanan küçük hataların kümülatif etkisi sırasında gradyan güncellemelerine hakimdir. geriye yayılım. Bu neden olur basitçe önceliklendirmek için optimizasyon algoritması nüanslı özelliklerini öğrenmek yerine, genel hatayı en aza indirmek için her şeyi arka plan olarak sınıflandırmak gerçek nesneler. Odak Kaybı, modelin halihazırda sahip olduğu örneklerin cezasını azaltmak için standart kayıp eğrisini yeniden şekillendirir hakkında emin olmak, böylece Zorlu vakaları ayarlamak için model ağırlıkları.
Odak Kaybı standardın bir uzantısıdır İkili sınıflandırmada kullanılan Çapraz Entropi Kaybı. Bu doğru sınıfa olan güven arttıkça kayıp katkısını azaltan bir modülasyon faktörü getirmektedir. Bir model "kolay" bir örnekle karşılaştığında - örneğin doğru olarak tanımladığı açık bir gökyüzü parçası gibi yüksek olasılıkla arka plan - modüle edici faktör kaybı sıfıra yaklaştırır. Tersine, "zor" için Modelin tahmininin yanlış veya belirsiz olduğu örneklerde kayıp önemli olmaya devam etmektedir.
Bu davranış, genellikle gama olarak gösterilen bir odaklama parametresi tarafından kontrol edilir. Veri bilimciler bu parametreyi ayarlayarak kayıp fonksiyonunun iyi sınıflandırılmış örneklere ne kadar agresif bir şekilde ağırlık vereceğini ayarlayabilir. Bu, daha istikrarlı bir oldukça dengesiz eğitim verileri üzerinde eğitim, lider nadir sınıflar için daha yüksek doğruluk ve geri çağırma.
Dengesizlikle başa çıkma yeteneği, Focal Loss'u güvenlik açısından kritik ve yüksek hassasiyetli ortamlarda gerekli kılar.
Bu ultralytics kütüphanesi, Focal Loss'un kolayca entegre edilebilen sağlam bir uygulamasını sağlar
özel eğitim boru hatları. Aşağıdaki örnekte kayıp fonksiyonunun nasıl başlatılacağı ve
Tahmin logitleri ve temel gerçek etiketleri arasındaki hata.
import torch
from ultralytics.utils.loss import FocalLoss
# Initialize Focal Loss with a gamma of 1.5
criterion = FocalLoss(gamma=1.5)
# Example: Prediction logits (before activation) and Ground Truth labels (0 or 1)
preds = torch.tensor([[0.1], [2.5], [-1.0]], requires_grad=True)
targets = torch.tensor([[0.0], [1.0], [1.0]])
# Compute the loss
loss = criterion(preds, targets)
print(f"Focal Loss value: {loss.item():.4f}")
Odak Kaybını, kayıp fonksiyonu alanındaki ilgili terimlerden ayırmak faydalı olacaktır: