Bilim adamları yapay sinir ağlarının içinde neler olduğunu biliyor mu?


69

Bilim adamları veya araştırma uzmanları mutfaktan, karmaşık "derin" sinir ağının içinde neler olduğunu anında anında milyonlarca bağlantı kurarak biliyorlar mı? Bunun arkasındaki süreci anlıyorlar mı (örneğin, içinde neler olduğunu ve tam olarak nasıl çalıştığını) veya tartışma konusu mu?

Örneğin bu çalışma diyor ki:

Ancak, neden bu kadar iyi performans gösterdikleri ya da nasıl geliştirilebilecekleri konusunda net bir anlayış yoktur .

Bu, bilim adamlarının aslında karmaşık evri ağ modellerinin nasıl çalıştığını bilmedikleri anlamına mı geliyor?


" Neden bu kadar iyi performans gösteriyorlar? " Çoğu yeni teknolojide olduğu gibi, hatalar yeterince bildirilmemektedir.
Tomáš Zato

Yanıtlar:


51

Eğitimli bir sinir ağını daha anlaşılır hale getirmeyi ve daha az "kara kutu" gibi, özellikle de bahsettiğiniz evrişimli sinir ağları yapmayı amaçlayan birçok yaklaşım vardır .

Aktivasyonları ve katman ağırlıklarını görselleştirme

Aktivasyonlar görselleştirme , ilk açık ve anlaşılır olanıdır. ReLU ağları için, aktivasyonlar genellikle nispeten kanlı ve yoğun görünmeye başlar, ancak eğitim ilerledikçe aktivasyonlar daha seyrekleşir (çoğu değer sıfırdır) ve yerelleştirilir. Bu bazen, bir görüntü gördüğünde tam olarak belirli bir katmanın neye odaklandığını gösterir.

Bahsetmek istediğim aktiviteler üzerine yapılan bir başka harika çalışma da , her katmandaki havuzlama ve normalizasyon katmanları da dahil olmak üzere her nöronun reaksiyonunu gösteren deepvis . İşte nasıl açıkladıkları :

Kısacası, bir nöronun hangi özelliği öğrendiğini, DNN'lerin nasıl çalıştığını daha iyi anlamanıza yardımcı olacak “üçgenlemeyi” sağlayan birkaç farklı yöntem topladık.

İkinci ortak strateji ağırlıkları görselleştirmek (filtreler). Bunlar genellikle doğrudan ham piksel verisine bakan ilk CONV katmanında yorumlanabilir, ancak ağdaki daha derin filtre ağırlıklarını göstermek de mümkündür. Örneğin, ilk katman genellikle kenarları ve kabarcıkları temelde tespit eden gabor benzeri filtreleri öğrenir.

ilk katman filtreleri

Oklüzyon deneyleri

İşte fikir. ConvNet'in bir görüntüyü köpek olarak sınıflandırdığını varsayalım. Arka plandaki bazı bağlamsal ipuçlarının veya diğer çeşitli nesnelerin aksine, görüntüdeki köpeği gerçekten aldığından nasıl emin olabiliriz?

Görüntünün hangi bölümünün bir sınıflandırma tahmininin geldiğini araştırmanın bir yolu, ilgilenilen sınıfın (örneğin köpek sınıfı) bir tıkayıcı nesnenin pozisyonunun bir fonksiyonu olarak olasılığını çizmektir. Görüntünün bölgeleri üzerinde yinelenirsek, onu tüm sıfırlarla değiştirip sınıflandırma sonucunu kontrol edersek, belirli bir görüntüdeki ağ için en önemli olanın 2 boyutlu bir ısı haritası oluşturabiliriz. Bu yaklaşım Matthew Zeiler'in Konvolüsyonlu Ağları Görselleştirmesi ve Anlaması'nda (sorunuzda bahsettiğiniz) kullanılmıştır:

oklüzyon deneyleri

Dekonvolüsyon

Başka bir yaklaşım, temel olarak nöronun aradığı belirli bir nöronun ateşlenmesine neden olan bir görüntüyü sentezlemektir. Fikir, gradient ağırlık yerine normal gradient yerine görüntüye göre hesaplamaktır. Öyleyse bir katman seçersiniz, gradyanı, bir nöron için biri hariç olmak üzere görüntüye sıfır olacak şekilde ayarlayın.

Deconv aslında daha iyi görünen bir görüntü elde etmek için rehberli geri yayılım denilen bir şey yapar , ancak bu sadece bir ayrıntıdır.

Diğer sinir ağlarına benzer yaklaşımlar

Bu yazıyı , Tekrarlayan Sinir Ağları (RNN) ile çok oynadığı Andrej Karpathy tarafından şiddetle tavsiye ediyorum . Sonunda, nöronların gerçekte ne öğrendiklerini görmek için benzer bir teknik uygular:

Bu resimde vurgulanan nöron, URL’ler hakkında çok heyecanlanıyor ve URL’lerin dışına çıkıyor. LSTM, bir URL içinde olup olmadığını hatırlamak için bu nöronu kullanıyor olabilir.

Sonuç

Bu araştırma alanındaki sonuçların sadece küçük bir kısmını belirtmiştim. Oldukça aktif ve sinir ağına ışık tutan yeni yöntemler her yıl ortaya çıkan içsel işleyişe geçiyor.

Sorunuzu cevaplamak için, her zaman bilim insanlarının henüz bilmediği bir şey vardır, ancak çoğu durumda içeride neler olup bittiğine dair iyi bir resmi (edebi) vardır ve birçok özel soruyu cevaplayabilir.

Bana göre, sorunuzdan alıntı sadece doğruluk geliştirmenin değil ağın iç yapısının araştırılmasının önemini vurgulamaktadır. Matt Zieler'in bu konuşmasında söylediği gibi , bazen iyi bir görselleştirme, daha iyi bir doğruluk sağlayabilir.


Görselleştirmek, bilmek midir? Yoksa bu cehalet için son moda bir çözüm mü? Belki de matematiksel gelişme, en fazla titizlik ve yeterliliğe sahip alandır.
FauChristian

1
@FauChristian Buradaki noktayı kaçırıyorsunuz. Bir sinir ağı içindeki ağırlıklar ve tüm matematik işlemleri tıpkı montaj kodu gibi tam olarak bilinir . Bu söz konusu değil. Görselleştirme, bazı operasyonların neden gerçekleştiğini ve iyi performansa neden olduğunu anlamanızı sağlar . Bir kez daha, tıpkı klasik bilgisayar bilimi algoritmaları gibi. Ayrıca, makaleyi Zieler tarafından cevapta belirtildiği gibi saat 5'te okumanızı tavsiye ederim.
Maxim,

1
Bunları özledim, onları bir lisans öğrencisi olarak okudum. Benim yorumum olsa tembel oldu. Çekirdekleri temsil eden b & w ızgarası, sadece dalgalı kenar algılama çekirdeği durumlarının biraz kaotik bir matrisini göstermesi, ilginç bir şekilde kaosun onu anlamak için karakterize edilmesi gerektiğini gösterir. Boyut dağılımı, açısal dağılım ve çarpık dağılım nedir? Bu dağılımlar şunları gösteriyor mu: (a) Belirli veri setlerine özgü aşırı uygun veya (b) Daha yüksek hesaplama etkinliğine sahip işlevsel bir blokla değiştirilebilecek genel bir kalıp. ~~ Bir keresinde görselden söyleyemem.
FauChristian,

1
Doğru, bütün bu dağılımlar (ve diğerleri) burada hesaplanmaz. Onların anlamına gelmez olamaz ya olmamalı hesaplanabilir. Ayrıca, model yorumunun görselleştirme ile ilgisi olmadığı anlamına da gelmez. Bir kez daha, yazarların bu konuyu detaylı olarak tartıştıkları Zieler tarafından "Evrimsel Ağların Görselleştirilmesi ve Anlaşılması" konusunu okumanızı tavsiye ediyorum.
Maxim,

Bunu laboratuvarda yaptık. Arkadaşım bazı kod örneklerinden geçti. Buna istatistiklerden bir göz atacağım. Teşekkür.
FauChristian

27

"Neler olduğunu bilmek" ile ne kastettiğine bağlı.

Kavramsal olarak, evet: YSA doğrusal olmayan regresyon gerçekleştirir. Bir YSA'nın ağırlık matrisi / aktivasyon fonksiyonu / fonksiyonları ile temsil edilen gerçek ifade, sembolik biçimde açıkça genişletilebilir (örneğin 1/1 gibi alt ifadeler içerir ).1/1+e1/1+e

Bununla birlikte, eğer 'bilmek' ile , belirli bir (kara kutu) YSA'nın çıktısını, başka bir yöntemle tahmin etmeyi kastediyorsanız , engel, bir YSA'da yüksek serbestlik derecesine sahip kaosun varlığıdır .

Ayrıca, Hod Lipson'un görselleştirme yoluyla YSA'ları anlama konusundaki nispeten yeni çalışmaları .


13

Kısa cevap hayır .

Model yorumlanabilirliği , son zamanlarda en azından çeşitli görevlerdeki derin öğrenme modellerinin (genellikle muazzam) başarısından dolayı ileri sürülen ileri araştırmalar (kutsal kâse veya başka bir şey düşünün); bu modeller şu anda sadece kara kutular ve doğal olarak bundan rahatsızlık duyuyoruz ...

İşte konuyla ilgili bazı genel (ve Aralık 2017 itibariyle) kaynaklar:

Ve daha pratik bir düzeyde (kod vb.):

Son zamanlarda, derin öğrenme sinir ağları için daha teorik bir temel oluşturmaya başlamak için büyük bir ilgi artmıştır. Bu bağlamda, ünlü istatistikçi ve sıkıştırıcı algılama öncüsü David Donoho çok yakın bir zamanda (2017 sonbaharı) Stanford'da Derin Öğrenme Teorileri'nde (STATS 385) bir kurs sunmaya başladı ; şiddetle tavsiye edilir ...

GÜNCELLEME :


Selam. Bu iyi bir cevap gibi görünüyor, ama biraz temizlemeniz ve organize etmeniz gerekiyor. İlk kaynaklar en yararlı ve genel olmalıdır. O zaman daha spesifik kaynakları ve araştırma makalelerini listeleyebilirsiniz, IMHO. Ve daha sonra örneğin Twitter konularını veya her neyse listeleyebilirsiniz.
nbro


8

Korkarım belirli alıntıları elimde kullanmıyorum, ama Andrew Ng ve Geoffrey Hinton gibi uzmanların alıntılarını duydum / duydum, burada sinir ağlarını gerçekten anlamadığımızı açıkça söylüyorlar. Yani, nasıl çalıştıklarını (örneğin, arka yayılımın arkasındaki matematiği) anlıyoruz ama neden çalıştıklarını gerçekten anlamıyoruz . Bu, bir tür ince ayrım gibi, ancak sorun şu ki, hayır, topla oynamayı seven bir kediyi tanımak için, bir sürü ağırlıktan tam olarak nasıl geçeceğinizin en derin detaylarını anlamıyoruz.

En azından görüntü tanıma açısından duyduğum en iyi açıklama, sinir ağının art arda gelen katmanlarının daha önceki seviyelerden daha ayrıntılı özelliklerden oluşan daha karmaşık özellikler öğrenmesidir. Yani, ilk katman "kenarları" veya "düz çizgileri" tanıyabilir. Bir sonraki katman daha sonra "kutu" veya "üçgen" gibi geometrik şekilleri öğrenebilir ve daha sonra daha yüksek bir katman bu önceki özelliklere dayanarak "burun" veya "göz" ü öğrenebilir ve daha sonra daha yüksek bir katman hala "yüz" yapısını öğrenir "göz", "burun", "çene", vb. kadar. Ama bunu anladığım kadarıyla bile, hala varsayımsal ve / veya tam olarak anlaşılamamıştır.


2
Gerçek alıntıları okumak isterim. En geniş kavramsal düzeyde, neden "Bir regresyon problemindeki hatayı azaltmak için eğitilmiş Evrensel fonksiyon belirleyicileridir" nedenidir .
NietzscheanAI,

Onları izleyebilecek miyim bakalım. Geoffrey Hinton'dan almayı düşündüğüm teklifin bir videoda olduğuna eminim ... Coursera Sınıfından veya Youtube'daki bir videodan. Onu bulabilirsem cevabımı düzenlerim ve bağlantı
kurarım

Unutmadım. Biraz boş vaktim olduğunda onları bulmaya çalışacağım. Sanırım düşündüğümden en az birinin bir Coursera kursunun parçası olan bir videodan geldiğini düşünüyorum.
mindcrime

Bu çalışma aynı referansları ortaya koymaya yardımcı olabilir: 'Ancak neden bu kadar iyi performans gösterdikleri ya da nasıl geliştirilebileceği konusunda net bir anlayış yoktur'.
kenorb

4

İşte Carlos E. Perez'in sorusuna bir cevap. Derin öğrenmenin arkasındaki teori nedir?

[...]

Derin Öğrenmenin altında yatan matematik matematiği birkaç on yıldan beri var olmuştur, ancak bugün gördüğümüz etkileyici sonuçlar, çok daha hızlı donanımın, daha fazla veri ve yöntemlerde artan gelişmelerin bir sonucudur.

Genel olarak Derin Öğrenme, hedefin model hatasının bir fonksiyonu olduğu optimizasyon problemi olarak tanımlanabilir. Bu optimizasyon probleminin, modelin parametre uzayının (yani sinir ağının ağırlıkları) son derece yüksek boyutta bir soruna yol açtığını düşünmek çok zordur. Bir optimizasyon algoritması bu alanı keşfetmek için çok uzun zaman alabilir. Dahası, sorunun dışbükey olmadığı ve hesaplamanın sonsuza kadar yerel asgari düzeyde sıkışıp kalmayacağı konusunda doğrulanmamış bir inanç vardı.

[...]

Makinelerin gerçekte bir çekiciye yakınsamaları veya bir başka deyişle karmaşık kalıpları tanımayı öğrenmelerinin teorisi hala bilinmemektedir.

Özetle: Bazı fikirlerimiz var, fakat tam emin değiliz.


3

Bilim adamları yapay sinir ağlarının içinde neler olduğunu biliyor mu?

EVET

Bilim adamları veya araştırma uzmanları mutfaktan, karmaşık "derin" sinir ağının içinde neler olduğunu anında anında milyonlarca bağlantı kurarak biliyorlar mı?

Sanırım "mutfaktan tanımak", "detaylı olarak bilmek" anlamına mı geliyor?

Size bir dizi analoji vereyim:

  1. Bir uçak mühendisi mutfaktan uçağın içinde ne olduğunu biliyor mu?
  2. Bir yonga tasarımcısı, tasarladığı yongalarda ne olduğunu ayrıntılı olarak biliyor mu?
  3. Bir inşaat mühendisi inşa ettiği evle ilgili her şeyi biliyor mu?

Şeytan ayrıntıda açık, ama burada önemli bir nokta yapay yapılar hakkında olmasıdır. Rasgele görünmüyorlar. İşe yarar bir şey elde etmek için çok fazla bilgiye ihtiyacınız var. Yapay Sinir Ağları için, ana fikrin yayınlanmasından (Rosenblatt perceptron, 1957) ilk uygulamaya (ABD Posta Servisi, 1989) yaklaşık 40 yıl geçtiğini söyleyebilirim. Ve oradan yine gerçekten etkileyici sistemlere 13 yıl aktif araştırma (ImageNet 2012).

Süper iyi bildiğimiz şey eğitimin nasıl çalıştığı . Çünkü uygulanması gerekiyor. Yani çok küçük bir yapı üzerinde, onu detaylı olarak biliyoruz.

Bilgisayarları düşünün. Talaş tasarımcıları talaşların nasıl çalıştığını çok iyi biliyor. Ancak Linux işletim sisteminin nasıl çalıştığı hakkında çok kaba bir fikirleri olacaktır.

Diğer bir örnek ise fizik ve kimyadır: Fizik, evrenin ana kuvvetlerini tanımlar. Bu, kimya hakkında da her şeyi bildikleri anlamına mı geliyor? Cehennem hayır! "Mükemmel" bir fizikçi kimyadaki her şeyi açıklayabilir ... ama bu pek işe yaramaz olurdu. Daha fazla bilgiye ihtiyacı olacak, ilgisiz kısımları atlayamayacaktı. Sadece çok fazla "yakınlaştırdığı" için - pratikte ilginç olmayan ya da önemli olmayan ayrıntıları göz önünde bulunduruyor. Lütfen fizikçinin bilgisinin yanlış olmadığını unutmayın. Belki de kimyagerin bilgisini ondan çıkarabiliriz. Ancak bu "üst düzey" molekül etkileşimi anlayışı eksik.

Bu iki örnekten elde edilen ana fikir soyutlama katmanlarıdır: Karmaşıklığı basit yapılardan oluşturabilirsiniz .

Başka?

Tasarladığımız sinir ağları ile prensipte neyin başarılabilir olduğunu iyi biliyoruz :

  • Go oynamak için tasarlanmış bir sinir ağı - ne kadar sofistike olursa olsun - asla satranç oynayamaz bile. Elbette, etrafına başka bir soyutlama katmanı ekleyebilir ve şeyleri birleştirebilirsiniz. Ancak bu yaklaşımın insanlara ihtiyacı var.
  • Köpekleri sadece su birikintileri görmüş kedilerden ve Farsça kedilerden ayırt etmek için tasarlanmış bir sinir ağı muhtemelen Yorkshire Terrier'e karar vermek zorunda kaldığında çok kötü performans gösterecektir.

Ve tabii ki sinir ağları için analitik yaklaşımlarımız var. Konvensiyonel Sinir Ağı Mimarilerinin Analizi ve Optimizasyonu konulu yüksek lisans tezi yazdım . Bu bağlamda LIME (Yerel Yorumlanabilir Model-Agnostik Açıklamalar) güzel:

görüntü tanımını buraya girin


1
Birçoğu biyolojik modellerden etkilendi ... Bilim adamlarının NN'leri bir problemin fonksiyonu olarak inşa ettiklerini söylemek, inanılması güç ... Diyelim ki, hiç kimse belirli bir mimarinin veya belirli bir hiperparametrinin neden bu kadar iyi çalıştığını bilmiyor. verilen bir problem ... Kesin hiperparametrelerden bahsetmiyorum ama hiçbiri verilen hiperparametrelerin belirli bir problem için neyin işe yarayacağına dair genel bir düşünceye sahip görünmüyor (problem iyi tanımlanmış). Böylece hiçbir bilim insanı içinde neler olduğunu bilmiyor bir NN.
DuttaA

Erken gün otomobil / uçak mühendislerini düşünün. Uçaklarının / otomobillerinin içinde neler olup bittiğini bilmediklerini söyler misiniz?
Martin Thoma

1
Ofc ... Teknoloji eksikliği nedeniyle bir şey bilmemek ... Teorik olarak bilmemek farklı bir şey ... Uçaklar durumunda teknoloji olduğuna inanıyorum .. Burada matematiksel olarak işlem
yapamıyoruz ...

1

Sadece bir şeyler eklemek istedim:

bilim adamı tarafından ne demek istediğine bağlı:

Elektrik mühendisliği alanında doktora öğrencisiyim ve çok sayıda araştırmacının YSA ile regresyon, öngörü kontrolü, uyarlamalı kontrol ve sınıflandırma sorunları gibi konularda çalıştığını gördüm.

Kodlama becerilerindeki eksikliklerinin büyük bir dezavantaj olduğunu açıkça fark edebilirsiniz ve bir YSA içerisinde neler olup bittiğini gerçekten tam olarak anlamıyorlar, şimdi Deep hakkında konuşmuyorum bile , ADALINE ve ANFIS gibi basit şeyleri anlamakta zorlanıyorlar! tüm söylediklerini duydun: veriyi ver ve adapte olacak!


1
Her ne kadar muhtemelen kavramsal olarak haklı olsanız da, bazı oylamalara sahip olabilirsiniz ve muhtemelen bir serser tirad yerine sosyolojik bir gözlem olarak karşınıza çıkacak cevabınızı yeniden yazarsanız, muhtemelen yapıcı bir yardımda bulunabilirsiniz.
FauChristian
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.