Focal Loss
Focal Loss'un derin öğrenmede 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, öncelikle ciddi sınıf dengesizliği sorununu ele almak için derin öğrenmede kullanılan özel bir amaç fonksiyonudur. Nesne algılama gibi birçok bilgisayarlı görü görevinde arka plan örneklerinin (negatif örneklerin) sayısı, ilgi duyulan nesnelerin (pozitif örneklerin) sayısını önemli ölçüde aşar. Yaygın olarak kullanılan Cross-Entropy Loss gibi standart yöntemler tüm hataları eşit değerlendirir; bu da modelin kolayca sınıflandırılabilen arka plan verilerinin muazzam hacmi karşısında çoğu zaman zorlanmasına neden olur. Focal Loss, bu kolay örneklerin ağırlığını azaltmak için standart kayıp hesaplamasını değiştirir ve optimizasyon algoritmasını öğrenme kapasitesini model performansı açısından kritik olan "zor" örneklere, yani nadir görülen ve sınıflandırılması güç nesnelere odaklamaya zorlar.
Odaklanma Mekanizması#
Focal Loss'un temel yeniliği, her örneğe uygulanan cezayı modelin güvenine göre dinamik olarak ölçeklendirebilmesidir. Tipik bir denetimli öğrenme senaryosunda algılayıcı, bir görüntüdeki binlerce aday konumu değerlendirebilir. Bu konumların çoğu nesne içermediğinden, standart bir kayıp fonksiyonu bu kolay negatiflerden gelen çok sayıda küçük hata sinyalini biriktirir ve bu sinyaller, az sayıdaki pozitif örnekten gelen değerli sinyali bastırabilir.
Focal Loss, doğru sınıfa duyulan güven arttıkça kaybın katkısını azaltan bir modülasyon faktörü sunar. Bu, model bir arka plan parçasının gerçekten arka plan olduğundan zaten %99 eminse, o parçanın kaybının neredeyse sıfıra indirilmesi anlamına gelir. Sonuç olarak model ağırlıkları öncelikle yanlış sınıflandırılmış örneklere veya modelin kararsız olduğu örneklere göre güncellenir. Bu hedefli yaklaşım, YOLO26 gibi yüksek performanslı tek aşamalı nesne algılayıcılarını eğitmek için gereklidir ve bu algılayıcıların karmaşık örnekleme aşamalarına ihtiyaç duymadan yüksek doğruluk elde etmesini sağlar.
Gerçek Dünya Uygulamaları#
Dengesiz eğitim verilerinin ele alınması, güvenlik ve hassasiyetin büyük önem taşıdığı ortamlarda sağlam AI sistemleri devreye almak için kritik öneme sahiptir.
- Sağlık Hizmetlerinde AI: Tıbbi görüntü analiz i gibi alanlarda patolojileri tespit etmek çoğu zaman 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 yerde "sağlıklı" tahmin ederek basit doğruluğu en üst düzeye çıkarabilir ve kritik tanıyı gözden kaçırabilir. Focal Loss, sistemin bol miktardaki sağlıklı dokudan gelen sinyali bastırmasını ve anomalilerin ince özelliklerini öğrenmeye öncelik vermesini sağlayarak hayat kurtaran tespitlerde geri çağırmayı iyileştirir.
- Otonom Araçlar: Sürücüsüz araçların algı sistemleri, yayalar veya bisikletliler gibi savunmasız yol kullanıcılarını binalar, yollar ve gökyüzünden oluşan karmaşık arka planlara karşı tespit etmelidir. Arka plan kolayca öğrenilebilirken küçük veya uzaktaki engeller önemli bir zorluk oluşturur. Focal Loss kullanılarak otomotivde AI uygulamaları, algı yığınının tespit edilmesi zor bu nesneleri göz ardı etmemesini ve tehlikeler görsel alanın yalnızca küçük bir bölümünü kapladığında bile güvenlik standartlarını korumasını sağlayabilir.
Ultralytics ile Uygulama#
ultralytics kitaplığı, en gelişmiş modelleri desteklemek için gelişmiş kayıp fonksiyonlarının optimize edilmiş uygulamalarını içerir. Ultralytics Platformu bu hiperparametreleri en iyi eğitim için otomatik olarak yapılandırırken geliştiriciler, özel araştırmalar için bu bileşenlere doğrudan da erişebilir.
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österir.
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}")İlgili Kavramlardan Farkı#
Focal Loss'un daha geniş hata ölçümü yaklaşımları içindeki yerini anlamak, belirli bilgisayarlı görü görevleri için doğru stratejiyi seçmene yardımcı olur.
- Focal Loss ve Çapraz Entropi Kaybı: Çapraz Entropi, tahminleri logaritmik hataya göre cezalandıran temel sınıflandırma ölçütüdür. Focal Loss, Çapraz Entropi'nin kesin bir uzantısıdır; odaklanma parametresi sıfıra ayarlanırsa matematiksel olarak standart Çapraz Entropi'ye geri döner. Temel fark, Focal Loss'un kolay negatif örneklerin ağırlığını otomatik olarak azaltabilmesidir; bu da onu COCO gibi dengesiz veri kümeleri için üstün kılar.
- Focal Loss ve IoU Loss: Focal Loss sınıflandırma (bir nesnenin ne olduğunu belirleme) için tasarlanırken IoU Loss konumlandırma (bir nesnenin nerede olduğunu belirleme) için kullanılır. Modern algılayıcılar, sınıf olasılıkları için Focal Loss'u ve sınırlayıcı kutu regresyonu için IoU tabanlı ölçütleri birleştiren bileşik bir kayıp fonksiyonu kullanır.
- Focal Loss ve Dice Loss: Dice Loss, başta görüntü segmentasyonu görevlerinde olmak üzere dengesizliği ele almak için kullanılan başka bir tekniktir. Focal Loss, güvene göre tek tek pikseller veya örnekler üzerinde çalışırken Dice Loss, tahmin edilen bölgeler ile gerçek bölgeler arasındaki örtüşmeyi küresel olarak optimize eder. Karmaşık segmentasyon iş akışlarında her ikisinin birlikte kullanıldığını görmek yaygındır.









