Hard Negative Mining
Bilgisayarlı görüde karmaşık negatif örnekleri tespit ederek ve YOLO model eğitimini geliştirerek zor negatif madenciliğinin yanıltıcı pozitifleri nasıl azalttığını öğren.
Hard negative mining, bir modelin olağandışı şekilde ikna edici bulduğu negatif örnekleri belirleyen ve öğrenme sırasında bunlara daha fazla önem veren bir eğitim verisi stratejisidir. Negatif bir örnek hedef sınıfa ait değildir, buna karşılık bir hard negative, yüksek bir skor, yanlış tespit veya yakın bir embedding üretecek kadar pozitife benzer. Modele defalarca kolay arka plan örnekleri göstermek yerine bu kafa karıştırıcı durumlara odaklanarak, hard negative mining karar sınırlarını keskinleştirebilir ve yanlış pozitifleri azaltabilir.
Hard Negative Mining Nasıl Çalışır?#
Süreç genellikle temsilî training data üzerinde eğitilmiş bir temel model ile başlar. Model daha sonra etiketlenmemiş üretim görselleri, yalnızca negatif sahneler veya her eğitim partisindeki örnekler gibi daha büyük bir aday havuzunu değerlendirir. Negatif olmalarına rağmen yüksek pozitif skorlar alan adaylar, inceleme ve gelecekteki eğitim için seçilir.
“Hard” olarak nitelendirilen şey göreve bağlıdır:
- object detection işleminde, bir arka plan bölgesi, dedektör onu hedef bir nesne olarak karıştırırsa zordur.
- Sınıflandırmada bu, hedef sınıf için yüksek güven atanmış yanlış sınıf örneğidir.
- Erişim veya metrik öğrenmede bu, gömme uzayında sorguya yakın sıralanmış ilgisiz bir öğedir. Google’ın negative sampling for recommendation models hakkındaki rehberi, hard negative'leri gradyanı güçlü bir şekilde etkileyen yüksek skorlu negatif öğeler olarak tanımlar.
- Üçlü (triplet) öğrenmede negatif, eşleşen pozitifine kıyasla çapa (anchor) çok yakın görünür. PyTorch TripletMarginLoss documentation, göreceli benzerliği öğrenmek için kullanılan çapa-pozitif-negatif yapısını açıklar.
Madencilik, büyük bir veri seti üzerinde periyodik olarak bir model çalıştırılarak offline olarak gerçekleşebilir veya mevcut mini partiden zor negatifler seçilerek online olarak yapılabilir. Bir Keras hard negative mining layer, aday logitlerine dayalı sorgu başına seçim örneği sağlar.
Hard Negative'ler Neden Önemlidir?#
Negatif örneklerin çoğu kolaydır: boş bir gökyüzünün bir forklift dedektörünün kafasını karıştırması olası değildir. Model bu tür örnekleri doğru bir şekilde sınıflandırdıktan sonra, çok az faydalı öğrenme sinyali sağlarlar. Hard negative'ler, modelin yanlış anladığı kesin görsel veya semantik özellikleri ortaya çıkarır.
precision değerini yanlış alarmlar azalttığında özellikle değerlidirler. Hassasiyet-duyarlılık analizi scikit-learn precision-recall guide tarafından gösterildiği gibi, yeniden eğitimin geri çağrılmada kabul edilemez bir düşüşe neden olmadan yanlış pozitifleri gerçekten azaltıp azaltmadığını belirlemeye yardımcı olur.
Hard negative mining ilgili tekniklerden farklıdır:
- Negative sampling, tüm negatiflerin yönetilebilir bir alt kümesini seçer; hard negative mining ise en kafa karıştırıcı olanlara öncelik verir.
- Active learning genellikle olası pozitifler de dahil olmak üzere insan etiketlemesi için belirsiz örnekleri seçer. Hard negative mining özellikle modele meydan okuyan doğrulanmış negatifleri hedefler.
- Focal loss, kayıp fonksiyonu içinde örneklerin nasıl ağırlıklandırıldığını değiştirirken, madencilik hangi örneklerin seçildiğini veya vurgulandığını değiştirir.
- Class rebalancing, eşit olmayan sınıf sıklıklarını ele alır. Google’ın class-imbalanced dataset guidance konusu, alt örnekleme ve ağırlıklandırmayı kapsar, ancak sık görülen negatifler mutlaka zor negatifler değildir.
- Data augmentation mevcut örneklerin varyasyonlarını oluşturur; bilinmeyen bir üretim hatası modunu güvenilir bir şekilde sunamaz.
Gerçek Dünya Uygulamaları#
Depo güvenliği tespiti: Varsayalım ki bir forklift dedektörü palet krikolarını, raf yansımalarını ve makaslı platformları defalarca forklift olarak tanımlıyor. Bu yanlış pozitifler gereksiz uyarıları tetikleyebilir ve operatör güvenini azaltabilir. Mühendisler bu sahneleri forklift açıklamaları olmadan negatif görüntüler olarak toplayabilir, bunları veri setine ekleyebilir ve dedektörü hedefi benzer ekipmanlardan ayırt etmek için yeniden eğitebilir.
Görsel ürün arama: Bir müşteri belirli bir siyah koşu ayakkabısı arar, ancak erişim sistemi farklı ürün serilerinden görsel olarak benzer ayakkabıları çok yüksek sıralar. Eşleşmeyen bu ürünler hard negative haline gelir. Bunlara karşı eğitim, embedding modelinin taban şekli, logo yerleşimi ve malzeme gibi ince farklılıkları korumasını teşvik eder. Keras Siamese network example, çapa, pozitif ve negatif görüntülerin benzerlik öğrenmesini nasıl desteklediğini gösterir.
Pratik Madencilik İş Akışı#
Güvenilir bir iş akışı yinelemelidir:
- Temsilî validasyon ve üretim verileri üzerinde tahminler çalıştırın.
- Ultralytics validation mode ve bir confusion matrix kullanarak yüksek güvenli yanlış pozitifleri ve sınıf karışıklığı kalıplarını inceleyin.
- Her adayın gerçekten negatif olduğunu doğrulayın; yanlış etiketler modele gerçek nesneleri bastırmayı öğretebilir.
- İlgili örnekleri bulun, kopyaları kaldırın ve çeşitli arka planları, bakış açılarını ve koşulları koruyun.
- Yeniden eğitin, ardından computer vision model testing workflow kullanarak hem tam test seti hem de özel bir hard negative dilimi üzerindeki performansları karşılaştırın.
Ultralytics Explorer similarity search, bilinen bir yanlış pozitife benzeyen görüntüleri ortaya çıkarmaya yardımcı olabilir:
from ultralytics import Explorer
# Build an embedding index for the example dataset
explorer = Explorer(data="coco128.yaml", model="yolo26n.pt")
explorer.create_embeddings_table()
# Retrieve visually similar candidates for human review
candidates = explorer.get_similar(
img="https://ultralytics.com/images/bus.jpg",
limit=12,
)
print(candidates.head())Yalnızca benzerlik, bir adayın hard negative olduğunu kanıtlamaz; bir incelemecinin temel gerçeklik (ground-truth) etiketini doğrulaması gerekir. Ekipler aday görüntüleri düzenlemek, bunları etiketlemek veya düzeltmek, güncellenmiş modeller eğitmek ve dağıtımları izlemek için Ultralytics Platform kullanabilir.
Yalnızca mutlak anlamda en zor örnekleri seçmekten kaçının. Bazıları yanlış etiketlenmiş, belirsiz veya eğitimi istikrarsızlaştıran aşırı aykırı değerler olabilir. Kolay, orta derecede zor ve hard negative'lerin dengeli bir karışımı, genellikle mevcut sınırının nerede başarısız olduğunu modele öğretirken geniş kapsamı korur.






