Kodun gerçekten sorduğu soru

Eşya Bul’un açık kaynak doğrulayıcısı, ilan başlığı veya kategori etiketinden olası ürün grupları çıkarır. Buzdolabı için bütün ürünü anlatan olumlu bir metin ile raf, motor, kulp ve tamir gibi alternatifleri modele birlikte verir. İncelenen sürüm, CLIP ViT-B/32 kullanır ve görsel için üretilen skorları aday metinler üzerinde softmax işleminden geçirir.

Buradaki soru “Bu satıcı dürüst mü?” değildir. “Bu fotoğraf seçtiğimiz açıklamalardan hangisine daha çok benziyor?” sorusudur. Buzdolabı başlıklı bir yedek parçayı ayıklamak için faydalı bir başlangıç olabilir. Çalışır durum, sahiplik, güncellik, teslimat ve ödeme güvenliği ise bu girdilerin gözleyemediği ayrı özelliklerdir.

Yüzdeye benzeyen sayı neden yanıltır?

Kod, olumlu adayın skoru 0,85 üstündeyse ilanı çıktı listesine alır. Sayının confidence_score alanına yazılması, yüzde 85 doğruluk elde edildiği anlamına gelmez. Softmax paydası, verilen aday metinlerin toplamına bağlıdır. Adayları değiştirince aynı fotoğrafın sayısı da değişebilir; model yeniden eğitilmemiş olsa bile karar sınırı hareket eder.

Aşağıdaki küçük hesap yalnız bu normalleştirme davranışını gösterir. Gerçek bir CLIP çıktısı veya Eşya Bul ölçümü değildir. Aynı olumlu logit korunurken karşılaştırmaya eklenen güçlü bir alternatif, olumlu adayın payını düşürür. Bu yüzden bir eşik ancak sabit bir aday kümesi ve etiketlenmiş örneklerle değerlendirilince operasyonel anlam kazanır.

from math import exp

def positive_share(logits):
    top = max(logits)
    weights = [exp(value - top) for value in logits]
    return weights[0] / sum(weights)

print(round(positive_share([4, 1, 0]), 3))     # 0.936
print(round(positive_share([4, 1, 0, 4]), 3))  # 0.484

Bu uygulamaya özgü üç kör nokta

İlk kör nokta, aday seçiminin başlık ve önceki etiketlerden etkilenmesidir. Yanlış kategori, modele yanlış karşılaştırma sorusunu sorabilir. İkincisi, tek bir görselin ilanı temsil etmesidir: aynı ilandaki diğer fotoğraflar veya açıklamadaki hasar bilgisi bu fonksiyonda birlikte değerlendirilmez. Üçüncüsü, görsel indirme hatası ile olumsuz sınıflandırmanın sonuç listesinde aynı yokluğa dönüşmesidir.

Bu nedenle kaybolan ilan sayısı tek başına filtre başarısı değildir. Erişilemeyen fotoğraf, sınıfı bulunamayan başlık ve düşük skor ayrı sonuç nedenleri olmalıdır. OpenAI model kartı da CLIP’in kullanım bağlamına özgü sınanmasını ve kategori seçiminin etkisini vurgular. İngilizce dışı kullanım ile ince ayrımlarda ayrıca sınırlamalar belirtir.

Ölçümden önce etiketleme sözleşmesini yaz

İlk deney için hedefi daraltmak gerekir: “Fotoğraf bütün bir buzdolabını mı, yoksa yedek parçayı mı gösteriyor?” sorusunu değerlendirin. “İlan güvenli mi?” gibi daha geniş bir etiketi aynı deneyin sonucu olarak sunmayın. İnsanların kararsız kalabileceği kolaj, ekran görüntüsü ve kapalı ambalaj örneklerini ayrıca tutun. Bu, modelin zorlandığı koşulları görünür kılar.

Her insan etiketiyle birlikte değerlendirme gerekçesini de kaydedin. Örneğin bir fotoğraf hem bütün cihazı hem çıkarılmış bir parçayı gösteriyorsa, iki değerlendiricinin neden ayrıldığını görmek aday metinleri geliştirmenize yardımcı olur. Anlaşmazlığı saklamak yerine ayrı bir hata inceleme listesine taşımak, sonraki deneyin hangi soruyu çözmesi gerektiğini belirler.

Örnek grubuİnsan etiketiKontrol amacı
Bütün ürünEşleşiyorİyi ilanların yanlış elenmesi
Parça veya tamir afişiEşleşmiyorYanlış kabul
Kolaj veya belirsiz görselKararsızZor örneklerin davranışı
İndirilemeyen dosyaTeknik hataModel hatasıyla ağ hatasını ayırma

Eşiği sonuçlara göre seç

Örnekleri geliştirme ve ayrı değerlendirme kümelerine ayırın; aynı ilanın yakın kopyalarını iki tarafa dağıtmayın. Birkaç eşik için yanlış kabul ve yanlış ret sayılarını kategori bazında raporlayın. Kullanıcı çok sayıda ilanı kendisi inceleyecekse iyi ilanı kaçırmak, otomatik karar verilecekse yanlış kabul etmek daha maliyetli olabilir. Eşik bu kullanım kararını yansıtmalıdır.

Bu yazı yeni bir benchmark sonucu açıklamıyor. İncelenen koddan çıkarılabilecek dürüst ürün ifadesi “görsel kategori uyumuna göre ön filtreleme”dir. Güvenilirlik iddiasını daraltmak ürünü küçültmez; kullanıcının modelin hangi konuda yardım ettiğini ve hangi kararı kendisinin vermesi gerektiğini anlamasını sağlar.

Kaynaklar