Softmax çıktı neden Derin Öğrenme modelleri için iyi bir belirsizlik ölçütü değildir?


22

Bir süredir Konvolutional Sinir Ağları (CNN) ile çalışıyorum, çoğunlukla semantik segmentasyon / örnek segmentasyonu için görüntü verileri üzerinde. Belirli bir sınıf için piksel başına aktivasyonların ne kadar yüksek olduğunu görmek için genellikle ağ çıkışının softmax değerini bir "ısı haritası" olarak görselleştirdim. Düşük aktivasyonları "belirsiz" / "belirsiz" ve yüksek aktivasyonları "belirli" / "kendine güvenen" tahminler olarak yorumladım. Temel olarak bu, softmax çıktısının ( içindeki değerler ) modelin bir olasılık veya (un) kesinlik ölçüsü olarak yorumlanması anlamına gelir .(0,1)

( Örn Ben ettik CNN dolayısıyla CNN nesnesinin bu tür tahmin etme konusunda "belirsiz" olmak, tespit etmek için zor olan pikselleri üzerinden ortalaması düşük SoftMax aktivasyon ile bir nesne / alan yorumlanır. )

Benim düşünceme göre bu genellikle işe yaradı ve eğitim sonuçlarına "belirsiz" alanların ek örneklerinin eklenmesi bunlar üzerinde daha iyi sonuçlar verdi. Ancak şimdi sık sık farklı taraflardan softmax çıktısını (un) kesinlik ölçüsü olarak kullanmanın / yorumlamanın iyi bir fikir olmadığını ve genellikle cesaretin kırıldığını duydum. Neden?


EDIT: Ben burada sordum ne netleştirmek için bu soruya cevap şimdiye kadar benim görüşlerini ayrıntılı olarak ele alacağım. Ancak aşağıdaki argümanların hiçbiri bana açıklık getirmedi ** neden genellikle kötü bir fikirdir **, meslektaşları, amirleri tarafından tekrar tekrar söylendiğim ve ayrıca burada "1.5" bölümünde belirtildiği gibi

Sınıflandırma modellerinde, boru hattının sonunda elde edilen olasılık vektörü (softmax çıktı) genellikle hatalı olarak model güveni olarak yorumlanır

veya burada "Arkaplan" bölümünde :

Her ne kadar evrişimli bir sinir ağının son softmax tabakası tarafından verilen değerleri güven skorları olarak yorumlamak cazip gelse de, bunu çok fazla okumamaya dikkat etmeliyiz.


Yukarıdaki kaynaklar, softmax çıktısının belirsizlik ölçüsü olarak kullanılmasının kötü olmasının nedeni:

gerçek bir görüntünün algılanamayan bozulmaları, derin bir ağın softmax çıktısını keyfi değerlere dönüştürebilir

Bu, softmax çıktısının "algılanamayan bozulmalara" dayanıklı olmadığı ve dolayısıyla çıktısının olasılık olarak kullanılamayacağı anlamına gelir.

Başka bir makale "softmax çıktı = güven" fikrini alıyor ve bu sezgi ağları ile kolayca kandırılabileceğini ve "tanınmayan görüntüler için yüksek güvenilir çıktılar" üretebileceğini savunuyor.

(...) belirli bir sınıfa karşılık gelen bölge (girdi alanında), o sınıftaki eğitim örnekleri tarafından işgal edilen o bölgedeki alandan çok daha büyük olabilir. Bunun sonucu, bir görüntünün bir sınıfa atanan bölgede yer alması ve dolayısıyla, eğitim setinde o sınıfta doğal olarak oluşan görüntülerden uzak olmakla birlikte, softmax çıktısında büyük bir tepe ile sınıflandırılabilmesidir.

Bu, eğitim verilerinden uzak olan verilerin asla yüksek bir güven elde etmemesi gerektiği anlamına gelir, çünkü model bundan emin olamaz (daha önce hiç görmediği gibi).

Bununla birlikte: Bu genellikle NN'lerin bir bütün olarak genelleme özelliklerini sorgulamıyor mu? Yani, softmax kaybı olan NN'lerin (1) "algılanamayan pertürbasyonlar" veya (2) eğitim verilerinden uzak olan, örneğin tanınmayan görüntüler gibi giriş veri örneklerine iyi bir şekilde genelleme yapmadıkları.

Bu akıl yürütmeyi takiben hala anlamadım, pratikte eğitim verisine (yani çoğu "gerçek" uygulama) karşı soyut ve yapay olarak değiştirilmemiş verilerle, softmax çıktısını "sözde olasılık" olarak yorumlamak neden kötüdür fikir. Sonuçta, doğru olmasa bile, modelimin ne hakkında emin olduğunu iyi gösteriyorlar (bu durumda modelimi düzeltmem gerekiyor). Model belirsizliği her zaman bir "sadece" bir yaklaşım değil midir?


4
(-,)(0,1)

2
(0,1)(0,1)

Ben bunu nasıl ifade gibi: "Sonuçta, onlar doğru olmasa bile (bu durumda benim modeli düzeltmek gerekir) benim modeli emin ne iyi temsil gibi görünüyor."
HeyWatchThis

Yanıtlar:


14

Bu soru mevcut cevaplardan daha kesin olarak cevaplanabilir. Öngörülen olasılıklar (bir sinir ağının softmax katmanının çıktısı) ve gerçek olasılıkları (güven kavramını temsil eden) arasındaki sapmanın düzeltilmesi, kalibrasyon veya güvenilirlik eğrileri olarak bilinir.

Birçok derin sinir ağındaki sorun, tahmin için iyi performans gösterme eğiliminde olmalarına rağmen, bir softmax tabakasının çıktısı tarafından üretilen tahmini tahmin edilen olasılıklarının gerçek olasılıklar olarak güvenilir bir şekilde kullanılamamasıdır (her etiket için bir güven olarak). Uygulamada, çok yüksek olma eğilimindedirler - sinir ağları tahminlerine 'çok güvenir'.

Chuan Go ve diğ. al., Kilian Weinberger ile birlikte çalışarak, bu makalede sinir ağlarının tahmini olasılıklarını kalibre etmek için etkili bir çözüm geliştirdi: https://arxiv.org/pdf/1706.04599.pdf

Bu makale aynı zamanda, tahmin edilen olasılıklar doğru şekilde kalibre edildiğinde güven önlemleri olarak nasıl yorumlanabileceğini de açıklamaktadır.


1
Teşekkür ederim @cgnorthcutt, İnsanların bundan defalarca bahsettiklerini duydum ve o zamandan beri bu makaleyi arıyorlar, gerçekten güzel referans
Théophile Pace

Güzel teşekkürler. İlgilenenler için özetin (kağıt yerine) bir bağlantısı: arxiv.org/abs/1706.04599
Waylon Flinn

3

ML'de softmax olarak adlandırılan, multinomial lojistik denklem ile aynı denkleme sahiptir . İkincisi olasılıkları hesaplamak için kullanılabilir. Uygulamada, ipotekler için rakip riskler çerçevesindeki temerrüt olasılıklarının tahmininde yaygın olarak kullanılmaktadır, örneğin bkz. Bu makalede 4 .

Bu nedenle, sezginizin tamamen işaretli olmadığını söyleyebilirim. Bununla birlikte, yukarıdaki ipotek modelleme örneğinde bağımlı değişken, kredi temerrütlerinin olasılık metriğidir. Bir ipotek havuzunuz var ve temerrüt sayısını gözlemleyin. Tek bir ipotek mevcut veya varsayılan olabilir, temerrüt olasılığı gözlenemez. Sadece ayrık olayları gözlemliyoruz. Ancak olasılıkları modelliyoruz.

Bunun makine öğrenmesinden farkı nedir? Değişir. Bunu mortgage temerrütlerine uygulamaya karar verebilirdim, o zaman hiç de farklı olmazdı. Diğer yandan farklı uygulamalarda bu işe yaramayabilir. Olasılığı örneğimdeki gibi açıkça modellemiyorsanız, model çıktınız olasılığı uygun şekilde göstermeyebilir.


Cevap için teşekkürler. Öyleyse bu şu şekilde kayboluyor: Bazı durumlarda aslında geçerli bir yaklaşım olurdu, ancak genellikle iyi bir fikir değildir, çünkü sağlam değildir ve belirli bir görevde uygulanabilir olup olmadığını (kolayca) bilmez mi?
Honeybear

"Sağlam" gibi terimler etrafında isabet etmeyeceğim, çünkü istatistiklerde çok özel bir anlamı var, ama benim argümanımın özünü aldın. Özellikle olasılıkları modelliyorsanız, bir noktada softmax denklemini kullanabilirsiniz ve çıktıyı bir olasılık olarak yorumlamak sorun olmaz. Genelde softmax çıkışı olasılığa karşılık gelmez.
Aksakal

1

Softmax 'olasılık' 0-1'i mevcut sınıflar arasında dağıtır. Incertitude ifade etmez, bir PDF işlevi değildir. Eğer körlüğü ifade etmek istiyorsanız, bayes sinir ağlarına bakmalısınız. Şu makaleye bir göz atın: Derin Öğrenmede Belirsizlik Oldukça yakın zamanda gerçekleşen bazı olasılık çerçeveleri:

Zoubin Ghahramani (Cambridge Üniversitesi) tarafından yapılan ilginç açılış konuşması

Bu makaleye bir göz atın: Karışım Yoğunluğu Ağları :

Sanırım bunu uygulayabilir ve CONVNET'e son katman olarak ekleyebilirsiniz. Eğer uygularsanız paylaşmanın umursadığını unutmayın ;-) İyi şanslar


1

Kağıt olarak bir Bayes Yaklaşım olarak Eksikliği: Derin in Learning Temsil Modeli Belirsizlik , Yarin Gal ve Zoubin Ghahramani aşağıdakileri iddia

Sınıflandırmada, boru hattının sonunda elde edilen öngörücü olasılıklar ( softmax çıktı ) çoğu zaman hatalı olarak model güveni olarak yorumlanır. Bir model, yüksek bir softmax çıktı ile bile tahminlerinde belirsiz olabilir (şek. 1). Bir fonksiyonun bir nokta tahmininin (düz çizgi 1a) bir softmax (düz çizgi 1b) içinden geçirilmesi , eğitim verilerinden uzak noktalar için haksız yüksek güvenle ekstrapolasyonlar ile sonuçlanır .x* örneğin olasılık 1 ile sınıf 1 olarak sınıflandırılır.

İşte şekil 1.

resim açıklamasını buraya girin

Dolayısıyla, softmax'ın çıktılarını model belirsizliği veya güveni olarak yorumlarsak, model nokta için son derece kendinden emindir. x*söz konusu bölgede herhangi bir eğitim verisi gözlenmese de, bu yanıltıcı olabilir, çünkü o bölgedeki gerçek işlev öğrenilenden (düz siyah çizgi) tamamen farklı olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.