Focal Loss
Odak Kaybı'nın (Focal Loss) derin öğrenmedeki sınıf dengesizliğini nasıl çözdüğünü keşfet. Zor örneklere odaklanmak ve model doğruluğunu artırmak için bunu Ultralytics YOLO26 ile uygulamayı öğren.
Focal Loss, derin öğrenmede temel olarak ciddi sınıf dengesizliği sorununu ele almak için kullanılan özel bir amaç fonksiyonudur. Nesne tespiti gibi birçok bilgisayarlı görü görevinde, arka plan örneklerinin (negatif örnekler) sayısı, ilgilenilen nesnelerin (pozitif örnekler) sayısından önemli ölçüde fazladır. Yaygın olarak kullanılan Cross-Entropy Loss gibi standart yöntemler, tüm hatalara eşit davranır; bu da genellikle modelin, sınıflandırılması kolay arka plan verilerinin yoğunluğu altında ezilmesine neden olur. Focal Loss, standart kayıp hesaplamasını bu kolay örneklerin ağırlığını azaltacak şekilde değiştirerek, optimization algorithm yapısının öğrenme kapasitesini "zor" örneklere, yani model başarısı için kritik olan nadir ve sınıflandırılması güç nesnelere odaklamaya zorlar.
Link to this sectionOdaklanma Mekanizması#
Focal Loss'un temel yeniliği, her bir örneğe atanan cezayı modelin güven düzeyine bağlı olarak dinamik bir şekilde ölçeklendirebilmesinde yatar. Tipik bir supervised learning senaryosunda, bir dedektör görüntüdeki binlerce aday konumu değerlendirebilir. Bu konumların çoğu herhangi bir nesne içermediğinden, standart bir loss function, bu kolay negatiflerden birçok küçük hata sinyali biriktirir ve bu da az sayıdaki pozitif örnekten gelen değerli sinyali bastırabilir.
Focal Loss introduces a modulating factor that decays the loss contribution as the confidence in the correct class increases. This means that if a model is already 99% sure that a background patch is indeed background, the loss for that patch is reduced to near zero. Consequently, the model weights are updated primarily based on misclassified samples or those where the model is uncertain. This targeted approach is essential for training high-performance one-stage object detectors like YOLO26, allowing them to achieve high accuracy without requiring complex sampling stages.
Link to this sectionGerçek Dünya Uygulamaları#
Dengesiz training data verileriyle başa çıkmak, güvenliğin ve hassasiyetin en önemli olduğu ortamlarda sağlam yapay zeka sistemleri dağıtmak için kritiktir.
- AI in Healthcare: medical image analysis gibi alanlarda patolojileri tanımlamak, genellikle samanlıkta iğne aramaya benzer. Örneğin, küçük lezyonları arayan bir MRI taramasında, sağlıklı doku piksellerin %99'undan fazlasını oluşturabilir. Standart bir model, her yeri "sağlıklı" olarak tahmin ederek basit doğruluğu maksimize edebilir ve kritik teşhisi kaçırabilir. Focal Loss, sistemin bol miktardaki sağlıklı dokudan gelen sinyali bastırmasını ve anormalliklerin ince özelliklerini öğrenmeye öncelik vermesini sağlayarak, hayat kurtarıcı tespitler için recall değerini artırır.
- Autonomous Vehicles: Sürücüsüz araçlara yönelik algılama sistemleri; binalar, yollar ve gökyüzünden oluşan karmaşık arka planlarda yayalar veya bisikletliler gibi savunmasız yol kullanıcılarını tespit etmelidir. Arka plan kolayca öğrenilebilirken, küçük veya uzak engeller önemli bir zorluk oluşturur. Focal Loss kullanarak, AI in automotive uygulamaları, algılama yığınının bu tespit edilmesi zor nesneleri göz ardı etmemesini sağlayabilir ve tehlikeler görsel alanın yalnızca küçük bir kısmını kapladığında bile güvenlik standartlarını koruyabilir.
Link to this sectionUltralytics ile Uygulama#
ultralytics kütüphanesi, en son teknoloji modelleri desteklemek için gelişmiş kayıp fonksiyonlarının optimize edilmiş uygulamalarını içerir. Ultralytics Platform bu hiperparametreleri optimum eğitim için otomatik olarak yapılandırsa da, geliştiriciler özel araştırmalar için bu bileşenlere doğrudan erişebilirler.
Aşağıdaki örnek, ultralytics yardımcı paketini kullanarak Focal Loss'un nasıl başlatılacağını ve bir dizi tahmin için hatanın nasıl hesaplanacağını göstermektedir.
import torch
from ultralytics.utils.loss import FocalLoss
# Initialize Focal Loss.
# The 'gamma' parameter controls the focusing strength (higher = more focus on hard examples).
criterion = FocalLoss(gamma=1.5)
# Example: Model predictions (logits) and binary Ground Truth labels
# requires_grad=True simulates model outputs that need backpropagation
predictions = torch.tensor([[0.8], [-1.5], [0.1]], requires_grad=True)
targets = torch.tensor([[1.0], [0.0], [1.0]])
# Calculate the loss value
loss = criterion(predictions, targets)
print(f"Computed Focal Loss: {loss.item():.4f}")Link to this sectionİlgili Kavramlardan Ayrımı#
Focal Loss'un daha geniş hata ölçümü yelpazesinde nerede yer aldığını anlamak, belirli bilgisayarlı görü görevleri için doğru stratejiyi seçmeye yardımcı olur.
- Focal Loss vs. Cross-Entropy Loss: Cross-Entropy is the foundational metric for classification that penalizes predictions based on logarithmic error. Focal Loss is strictly an extension of Cross-Entropy; if the focusing parameter is set to zero, it mathematically reverts to standard Cross-Entropy. The key distinction is Focal Loss's ability to automatically down-weight easy negatives, making it superior for imbalanced datasets like COCO.
- Focal Loss vs. IoU Loss: Focal Loss sınıflandırma (bir nesnenin ne olduğunu belirleme) için tasarlanmışken, IoU Loss lokalizasyon (bir nesnenin nerede olduğunu belirleme) için kullanılır. Modern dedektörler, sınıf olasılıkları için Focal Loss'u ve bounding box regresyonu için IoU tabanlı metrikleri birleştiren bileşik bir kayıp fonksiyonu kullanır.
- Focal Loss vs. Dice Loss: Dice Loss, özellikle image segmentation görevlerinde dengesizliği yönetmek için kullanılan başka bir tekniktir. Focal Loss güven düzeyine dayalı olarak bireysel pikseller veya örnekler üzerinde çalışırken, Dice Loss tahmin edilen ve gerçek bölgeler arasındaki örtüşmeyi küresel olarak optimize eder. Karmaşık segmentation workflows içerisinde her ikisinin birlikte kullanıldığını görmek yaygındır.






