Bir sinir ağının ne yaptığını görselleştirmek / anlamak?


37

Yapay sinir ağları genellikle karmaşık yapıları nedeniyle "kara kutular" olarak ele alınır. Bu, ideal değildir, çünkü bir modelin şirket içinde nasıl çalıştığını sezgisel bir şekilde kavramak faydalıdır. Eğitimli bir sinir ağının nasıl çalıştığını görselleştirme yöntemleri nelerdir? Alternatif olarak, ağın kolayca sindirilebilir tanımlarını nasıl çıkarabiliriz (örn. Bu gizli düğüm öncelikle bu girdilerle çalışıyor)?

Öncelikle iki ileri beslemeli ağla ilgileniyorum ancak daha derin ağlar için de çözümler duymak istiyorum. Giriş verileri, doğada görsel veya görsel olmayabilir.


1
İşte güzel bir örnek: playground.tensorflow.org
nobar

Yanıtlar:


12

Yapay sinir ağları bazen "farklılaştırılabilir fonksiyon tahmin ediciler" olarak adlandırılır. Yani yapabileceğiniz şey, ilişkilerinin ne olduğunu görmek için herhangi bir birimi diğer birime göre farklılaştırmaktır.

Bununla birlikte ağın hatasının belirli bir girişe ne kadar hassas olduğunu kontrol edebilirsiniz.

Ardından, "alıcı alanlar" adı verilen ve sadece gizli bir birime giden bağlantıların görselleştirilmesi olan bir şey var. Bu, örneğin görüntü verileri için belirli birimlerin ne yaptığını anlamayı kolaylaştırır. Bu daha yüksek seviyelerde de yapılabilir. Derin Ağın Üst Düzey Özelliklerini Görselleştirme bölümüne bakın .


13

Tek bir özelliğin her değerini rastgele çarparak ve genel zindelik fonksiyonunuzun nasıl bozulduğunu kaydederek özellik önemini tahmin edin.

Bu nedenle, ilk özelliğiniz sürekli olarak değerliyse ve ölçeklendirilirse , ilk özellik için her eğitim örneğinin değerine ekleyebilirsiniz . Sonra ne kadar azaldığını araştırın. Bu, bir özelliği eğitim verilerinizden hariç tutar, ancak özelliği tam anlamıyla silmekten daha iyi çapraz etkileşimlerle ilgilenir.x1,i[0,1]rand(0,1)0.5R2

Ardından özelliklerinizi zindelik fonksiyonunun bozulmasına göre sıralayın ve güzel bir çubuk grafik yapın. En azından en önemli özelliklerden bazıları, sorun alanı hakkındaki bilginiz göz önüne alındığında, bir bağırsak kontrolünden geçmelidir. Bu da beklemeyeceğiniz bilgilendirici özelliklerden hoş bir şekilde şaşırmanıza izin veriyor.

Bu tür özellik önem testi, sinir ağları ve büyük CART toplulukları dahil tüm kara kutu modelleri için çalışır. Tecrübelerime göre, özellik önemi, bir modelin gerçekte ne yaptığını anlamadaki ilk adımdır.


1
Cevap için teşekkürler; Bu aslında yaptığım bir şey ve onu çok yararlı buluyorum. Bu soruda ağın içine kara kutu olarak bakmak yerine daha fazla görünen bir şey arıyorum.
rm999


1

2011 Sonbaharında ücretsiz çevrimiçi Makine Öğrenimi kursuna Andrew Ng tarafından verilen Standford'dan başladım ve yüz detektörü olan bir sinir ağını görselleştirdik. Çıktı genel bir yüzdü. Bütünlük için bundan bahsetmek istiyorum, ancak bu tür bir uygulamadan bahsetmediniz, bu yüzden ayrıntıları kazmayacağım. :)


Üniversite Stanford. İnternette Andrew Ng kursunu bulabilirim. Dick DeVeaux’un sinir ağları hakkında bir konuşma yaptığını duydum. bu sadece başka bir liner olmayan sınıflayıcı türüdür ve eğer şema perspektifinden bakmak yerine, cebirsel olarak ne yaptıklarını yazarak en iyi anlaşılırlar. Umarım bu hakkı hatırlıyorum.
Michael Chernick

De Veaux ve Ungar, Sinir ağlarına kısa bir giriş 1997: "Sinir ağları bugünlerde her yerde gözüküyor ve en azından reklamlarında, istatistiklerin tüm telaşı olmadan yapabilecekleri her şeyi yapabiliyorlar ve başka bir şey yapmadan zahmete giriyorlar bir yazılım parçası satın al. "
denis

0

Aşağıda belirtilen yöntem bu linkten alınmıştır, daha fazla bilgi için siteyi ziyaret ediniz.

Rastgele bir görüntüyle başlayın, yani, piksellere keyfi olarak değerler sağlayın. "Daha sonra, bu resim ile bir ileri geçiş yapmak x aktivasyon hesaplamak için ağa giriş olarak A_i (x) neden olduğu , x bir nöron de i yerde ağının ortasında. Daha sonra bir geri geçirme (backprop gerçekleştirmek) do degrade hesaplamak için A_i (x) ağ daha önce aktivasyon ile ilgili olarak. biz gradyan ile bırakılır geri hattın sonunda ∂a_i (x) / ∂X veya her bir pikselin rengini değiştirmek için nasıl nöron i'nin aktivasyonunu arttırır Resimde tam o gradyanın küçük bir kısmını αα ekleyerek yaparız:

x ← x + α⋅∂a_i (x) / ∂x

Söz konusu nöronun yüksek aktivasyonuna neden olan x 'imgesini alana kadar bunu tekrar tekrar yapmaya devam ediyoruz. ”

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.