Czy naukowcy wiedzą, co dzieje się w sztucznych sieciach neuronowych?


69

Czy naukowcy lub eksperci naukowi wiedzą z kuchni, co dzieje się w złożonej „głębokiej” sieci neuronowej z co najmniej milionami połączeń wyzwalanych w jednej chwili? Czy rozumieją za tym proces (np. Co dzieje się w środku i jak to dokładnie działa), czy jest to przedmiotem debaty?

Na przykład to badanie mówi:

Jednak nie ma jasnego zrozumienia, dlaczego osiągają tak dobre wyniki, ani w jaki sposób można je poprawić.

Czy to oznacza, że ​​naukowcy faktycznie nie wiedzą, jak działają złożone modele sieci splotowej?


dlaczego tak dobrze sobie radzą ” - tak naprawdę nie działają tak dobrze. Podobnie jak w przypadku większości nowych technologii, awarie nie są zgłaszane.
Tomáš Zato

Odpowiedzi:


51

Istnieje wiele podejść, które mają na celu uczynienie wyszkolonej sieci neuronowej bardziej zrozumiałą i mniej podobną do „czarnej skrzynki”, w szczególności sieci neuronowych splotowych , o których wspomniałeś.

Wizualizacja aktywacji i wag warstw

Wizualizacja aktywacji jest pierwszą oczywistą i bezpośrednią. W sieciach ReLU aktywacje zwykle zaczynają wyglądać na stosunkowo blobkie i gęste, ale w miarę postępu treningu aktywacje stają się coraz rzadsze (większość wartości wynosi zero) i są zlokalizowane. Czasami pokazuje to, na czym dokładnie koncentruje się dana warstwa, gdy widzi obraz.

Inną świetną pracą nad aktywacjami, o której chciałbym wspomnieć, jest deepvis, który pokazuje reakcję każdego neuronu na każdej warstwie, w tym warstwy puli i normalizacji. Oto jak to opisują :

Krótko mówiąc, zebraliśmy kilka różnych metod, które pozwalają „triangulować” to, czego nauczył się neuron, co może pomóc w lepszym zrozumieniu działania DNN.

Drugą wspólną strategią jest wizualizacja wag (filtrów). Zwykle są one najbardziej interpretowalne na pierwszej warstwie CONV, która patrzy bezpośrednio na dane surowego piksela, ale możliwe jest również pokazanie wagi filtrów głębiej w sieci. Na przykład pierwsza warstwa zwykle uczy się filtrów typu gabor, które w zasadzie wykrywają krawędzie i plamy.

filtry pierwszej warstwy

Eksperymenty z okluzją

Oto pomysł. Załóżmy, że ConvNet klasyfikuje obraz jako psa. Jak możemy być pewni, że tak naprawdę odbiera psa na obrazie, w przeciwieństwie do pewnych kontekstowych wskazówek z tła lub innych obiektów?

Jednym ze sposobów badania, z której części obrazu pochodzi prognoza przewidywania klasyfikacji, jest wykreślenie prawdopodobieństwa interesującej klasy (np. Klasa psa) jako funkcji położenia obiektu okludującego. Jeśli wykonamy iterację nad regionami obrazu, zastąpimy go wszystkimi zerami i sprawdzimy wynik klasyfikacji, możemy zbudować dwuwymiarową mapę cieplną tego, co najważniejsze dla sieci na danym obrazie. Podejście to zostało zastosowane w sieciach wizualizujących i rozumujących sieci konwergentne Matthew Zeilera (o których mowa w pytaniu):

eksperymenty z okluzją

Dekonwolucja

Innym podejściem jest synteza obrazu, który powoduje uruchomienie określonego neuronu, w zasadzie tego, czego neuron szuka. Chodzi o to, aby obliczyć gradient w odniesieniu do obrazu, zamiast zwykłego gradientu w odniesieniu do wag. Więc wybierz warstwę, ustaw gradient na zero, z wyjątkiem jednego dla jednego neuronu i cofnij się do obrazu.

Deconv faktycznie robi coś, co nazywa się propagacją wsteczną, aby uzyskać ładniejszy obraz, ale to tylko szczegół.

Podobne podejścia do innych sieci neuronowych

Bardzo polecam ten post Andreja Karpathy'ego , w którym dużo gra z Recurrent Neural Networks (RNN). W końcu stosuje podobną technikę, aby zobaczyć, czego faktycznie uczą się neurony:

Podświetlony na tym obrazie neuron wydaje się bardzo podekscytowany adresami URL i wyłącza się poza tymi adresami. LSTM prawdopodobnie używa tego neuronu do zapamiętania, czy znajduje się on w adresie URL, czy nie.

Wniosek

Wspomniałem tylko o niewielkiej części wyników w tej dziedzinie badań. Jest to dość aktywne i co roku pojawiają się nowe metody, które rzucają światło na wewnętrzną sieć neuronową.

Aby odpowiedzieć na twoje pytanie, zawsze jest coś, czego naukowcy jeszcze nie wiedzą, ale w wielu przypadkach mają dobry obraz (literacki) tego, co dzieje się w środku i mogą odpowiedzieć na wiele konkretnych pytań.

Dla mnie cytat z twojego pytania po prostu podkreśla znaczenie badań nie tylko poprawy dokładności, ale także wewnętrznej struktury sieci. Jak mówi Matt Zieler w tym wykładzie , czasami dobra wizualizacja może z kolei prowadzić do większej dokładności.


Czy wizualizacja to wiedza? Czy to tylko modne rozwiązanie ignorancji? Być może rozwój matematyczny jest obszarem najbardziej pozbawionym rygoru i wystarczalności.
FauChristian

1
@FauChristian Brakuje Ci tutaj sensu. Wagi i wszystkie operacje matematyczne w sieci neuronowej są dokładnie znane , podobnie jak kod asemblera. To nie wchodzi w rachubę. Wizualizacja pozwala zrozumieć, dlaczego zdarzają się pewne operacje, i prowadzi do dobrej wydajności. Jeszcze raz, podobnie jak klasyczne algorytmy informatyczne. Poza tym zachęcam do zapoznania się z pismem Zielera i innych, wspomnianym w odpowiedzi.
Maxim

1
Nie przegapiłem tych punktów, studiowałem je jako licencjat. W moim komentarzu byłem jednak leniwy. Siatka czarno-biała reprezentująca jądra jest interesująca tylko dlatego, że pokazuje nieco chaotyczną matrycę stanów jądra wykrywających faliste krawędzie, co wskazuje na potrzebę scharakteryzowania chaosu, aby go zrozumieć. Jaki jest ich rozkład wielkości, rozkład kątowy i rozkład skosu? Czy te rozkłady wskazują (a) nadmierne dopasowanie specyficzne dla niektórych zbiorów danych lub (b) ogólny wzorzec, który można zastąpić blokiem funkcjonalnym o większej wydajności obliczeniowej. ~~ Raz nie można odróżnić od obrazu.
FauChristian

1
Zgadza się, wszystkie te rozkłady (i wiele innych) nie są tutaj obliczane. To nie znaczy, że nie można lub nie należy ich obliczać. Nie oznacza to również, że interpretacja modelu nie ma nic wspólnego z wizualizacją. Jeszcze raz zachęcam do przeczytania „Wizualizacji i zrozumienia sieci splotowych” Zielera i innych, gdzie autorzy szczegółowo to omawiają.
Maxim,

Mamy to w laboratorium. Mój współpracownik przejrzał niektóre przykłady kodu. Spojrzę na to od strony statystyk. Dzięki.
FauChristian

27

To zależy od tego, co rozumiesz przez „wiedzieć, co się dzieje”.

Koncepcyjnie tak: ANN wykonuje regresję nieliniową. Rzeczywiste wyrażenie reprezentowane przez macierz wag / funkcje aktywacji ANN może zostać jawnie rozszerzone w formie symbolicznej (np. Zawierającej podwyrażenia, takie jak ).1/1+e1/1+e

Jeśli jednak przez „know” masz na myśli przewidywanie wyników pewnego określonego (czarnego pola) ANN , innymi sposobami, wówczas przeszkodą jest obecność chaosu w ANN, która ma wysoki stopień swobody .

Oto także kilka stosunkowo niedawnych prac Hod Lipsona nad zrozumieniem ANN za pomocą wizualizacji .


13

Krótka odpowiedź to nie .

Interpretowalność modeli jest hiperaktywnym i bardzo gorącym obszarem obecnych badań (pomyśl o świętym Graalu, czy czymś podobnym), który został ostatnio wysunięty między innymi ze względu na (często ogromny) sukces modeli głębokiego uczenia się w różnych zadaniach; modele te są obecnie tylko czarnymi skrzynkami i naturalnie nie czujemy się z tym dobrze ...

Oto kilka ogólnych (i najnowszych, od grudnia 2017 r.) Zasobów na ten temat:

I na bardziej praktycznym poziomie (kod itp.):

Ostatnio wzrosło zainteresowanie budowaniem bardziej teoretycznych podstaw do głębokiego uczenia sieci neuronowych. W tym kontekście wybitny pionier statystyk i detekcji kompresji David Donoho niedawno (jesień 2017 r.) Rozpoczął kurs w Stanford, Theories of Deep Learning (STATS 385) , z prawie wszystkimi materiałami dostępnymi online; jest wysoce zalecane ...

AKTUALIZACJE :


Cześć. To wydaje się być dobrą odpowiedzią, ale musisz to posprzątać i trochę się uporządkować. Pierwsze zasoby powinny być jak najbardziej pomocne i ogólne. Następnie możesz wymienić bardziej szczegółowe zasoby i dokumenty badawcze, IMHO. A później możesz wymienić np. Wątki na Twitterze lub cokolwiek innego.
nbro


8

Obawiam się, że nie mam pod ręką konkretnych cytatów, ale widziałem / słyszałem cytaty ekspertów takich jak Andrew Ng i Geoffrey Hinton, w których wyraźnie mówią, że tak naprawdę nie rozumiemy sieci neuronowych. Oznacza to, że możemy zrozumieć coś z jak oni działać (na przykład matematyki za propagacji tyłu), ale nie bardzo rozumiem , dlaczego one działają. To trochę subtelne rozróżnienie, ale chodzi o to, że nie, nie rozumiemy najgłębszych szczegółów tego, jak dokładnie przechodzisz od kilku ciężarów, na przykład do rozpoznania kota bawiącego się piłką.

Przynajmniej jeśli chodzi o rozpoznawanie obrazów, najlepszym wytłumaczeniem, jakie słyszałem, jest to, że kolejne warstwy sieci neuronowej uczą się bardziej wyrafinowanych funkcji, złożonych z bardziej szczegółowych cech z wcześniejszych poziomów. To znaczy, pierwsza warstwa może rozpoznać „krawędzie” lub „linie proste”. Następna warstwa może następnie nauczyć się kształtów geometrycznych, takich jak „pudełko” lub „trójkąt”, a następnie wyższa warstwa może nauczyć się „nosa” lub „oka” na podstawie tych wcześniejszych cech, a wtedy warstwa wyższego poziomu nadal uczy się „twarzy” wykonanej w górę od „oka”, „nosa”, „szczęki” itp. Ale nawet to, jak rozumiem, wciąż jest hipotetyczne i / lub nie jest do końca szczegółowo rozumiane.


2
Chciałbym przeczytać aktualne cytaty. Na najszerszym poziomie pojęciowym, dlaczego „są uniwersalnymi aproksymatorami funkcji wyszkolonymi do zmniejszania błędu w problemie regresji”.
NietzscheanAI,

Zobaczę, czy uda mi się je wyśledzić. Jestem prawie pewien, że cytat Geoffrey'a Hintona, o którym myślę, znajduje się w filmie .. albo z jego klasy Coursera, albo jakiegoś wideo, które ma na Youtube. Jeśli uda mi się go znaleźć,
zmienię

Nie zapomniałem Spróbuję je znaleźć, kiedy będę miał trochę wolnego czasu. Myślę, że przynajmniej jeden z tych, o których myślę, pochodzi z filmu, który jest częścią kursu Coursera.
Mindcrime

To badanie może pomóc umieścić te same nazwy: „Jednakże nie ma jasnego zrozumienia, dlaczego oni wykonać tak dobrze, albo jak można je poprawić.”
kenorb

4

Oto odpowiedź Carlosa E. Pereza na pytanie Czym jest teoria głębokiego uczenia się?

[...]

Podstawowa matematyka głębokiego uczenia się istnieje od kilku dziesięcioleci, jednak imponujące wyniki, które dziś widzimy, są konsekwencją znacznie szybszego sprzętu, większej ilości danych i stopniowych ulepszeń metod.

Głębokie uczenie się ogólnie można określić jako problem optymalizacji, w którym celem jest funkcja błędu modelu. Ten problem optymalizacji jest bardzo trudny do rozwiązania, biorąc pod uwagę, że przestrzeń parametrów modelu (tj. Masy sieci neuronowej) prowadzi do problemu w bardzo dużym wymiarze. Algorytm optymalizacji może zająć bardzo dużo czasu, aby zbadać tę przestrzeń. Ponadto istniało niepotwierdzone przekonanie, że problem nie był wypukły, a obliczenia na zawsze utknęłyby w lokalnych minimach.

[...]

Teoria, dlaczego maszyny faktycznie zbiegają się w atraktorze lub innymi słowy uczą się rozpoznawać złożone wzorce, jest wciąż nieznana.

Podsumowując: mamy kilka pomysłów, ale nie jesteśmy do końca pewni.


3

Czy naukowcy wiedzą, co dzieje się w sztucznych sieciach neuronowych?

TAK

Czy naukowcy lub eksperci naukowi wiedzą z kuchni, co dzieje się w złożonej „głębokiej” sieci neuronowej z co najmniej milionami połączeń wyzwalanych w jednej chwili?

Myślę, że „wiedzieć z kuchni” oznacza „wiedzieć szczegółowo”?

Pozwól, że dam ci szereg analogii:

  1. Czy inżynier samolotu wie z kuchni, co dzieje się w samolocie?
  2. Czy projektant układu scalonego dokładnie wie, co dzieje się z zaprojektowanym układem?
  3. Czy inżynier budownictwa wie wszystko o domu, który zbudował?

Diabeł tkwi w szczegółach, ale kluczowe jest tutaj, że chodzi o sztuczne struktury. Nie pojawiają się losowo. Potrzebujesz dużej wiedzy, aby uzyskać cokolwiek przydatnego. W przypadku sieci neuronowych powiedziałbym, że upłynęło około 40 lat od publikacji kluczowej idei (percepron Rosenblatt, 1957) do pierwszej aplikacji (US Postal Service, 1989). A stamtąd ponownie 13 lat aktywnego powrotu do naprawdę imponujących systemów (ImageNet 2012).

Bardzo dobrze wiemy, jak działa szkolenie . Ponieważ musi zostać zaimplementowany. Tak więc na bardzo małej strukturze wiemy to szczegółowo.

Pomyśl o komputerach. Projektanci układów doskonale wiedzą, jak działa ich układ. Ale prawdopodobnie będą mieli bardzo przybliżony pomysł na działanie systemu operacyjnego Linux.

Innym przykładem jest fizyka i chemia: fizyka opisuje podstawowe siły wszechświata. Czy to znaczy, że wiedzą wszystko o chemii? Do diabła nie! „Idealny” fizyk może wyjaśnić wszystko w chemii ... ale byłoby to prawie bezużyteczne. Potrzebowałby znacznie więcej informacji, nie byłby w stanie pominąć nieistotnych części. Po prostu dlatego, że za bardzo „powiększył” - rozważa szczegóły, które w praktyce nie są ani interesujące, ani ważne. Należy pamiętać, że wiedza fizyka nie jest błędna. Może można nawet wywnioskować z niej wiedzę chemika. Brakuje jednak tego „wysokiego poziomu” zrozumienia interakcji cząsteczek.

Kluczowym wglądem z tych dwóch przykładów są warstwy abstrakcji: Możesz budować złożoność z prostych struktur .

Co jeszcze?

Dobrze wiemy, co w zasadzie można osiągnąć dzięki projektowanym przez nas sieciom neuronowym :

  • Sieć neuronowa zaprojektowana do grania w Go - bez względu na to, jak wyrafinowana - nigdy nie będzie w stanie grać w szachy. Możesz oczywiście dodać do niej kolejną warstwę abstrakcji i łączyć rzeczy. Ale to podejście wymaga ludzi.
  • Sieć neuronowa zaprojektowana do odróżniania psów od kotów, które widziały tylko kałuże i koty perskie, prawdopodobnie sprawdzi się naprawdę źle, gdy będzie musiała zdecydować się na Yorkshire Terriera.

No i oczywiście mamy analityczne podejście do sieci neuronowych. Pracę magisterską napisałem o analizie i optymalizacji architektur sieci neuronowych splotowych . W tym kontekście LIME (lokalne interpretowalne objaśnienia agnostyczne modelu) jest miły:

wprowadź opis zdjęcia tutaj


1
Na większość z nich mają wpływ modele biologiczne. Mówiąc, że naukowcy zbudowali NN jako funkcję problemu, trudno w to uwierzyć ... Zwłaszcza, gdy nikt nie ma pojęcia, dlaczego konkretna architektura lub określony zestaw hiperparametrów działa dobrze dla dany problem ... Nie mówię o dokładnych hiperparametrach, ale żaden nie wydaje się mieć ogólnego pojęcia, jakie przybliżone hiperparametry mogą działać dla danego problemu (problem jest dobrze zdefiniowany). Więc żaden naukowiec nie wie, co się dzieje w środku NN.
DuttaA,

Pomyśl o początkujących inżynierach samochodowych / samolotach. Czy powiedziałbyś, że nie wiedzą, co dzieje się w ich samolocie / samochodzie, ponieważ ich nie zbudowali, ponieważ ich kształt nie był aerodynamiczny?
Martin Thoma,

1
Ofc ... Nie wiedząc czegoś z powodu braku technologii ... Czy jest coś innego niż niewiedza teoretyczna .. Wierzę, że była to technologia w przypadku samolotów .. Podczas gdy tutaj nie jesteśmy w stanie przetwarzać matematycznie ...
Więc

1

Chciałem tylko coś dodać:

zależy to od tego, co rozumiesz przez naukowca:

Jestem doktorantem elektrotechniki i widziałem, jak wielu badaczy pracuje z ANN w takich problemach jak regresja, kontrola prognozowania, kontrola adaptacyjna i problemy z klasyfikacją.

widać wyraźnie, że ich brak umiejętności kodowania jest poważną wadą, a tak naprawdę nie do końca rozumieją, co się dzieje w ANN, teraz nawet nie mówię o Deep , mają problemy ze zrozumieniem prostych rzeczy, takich jak ADALINE i ANFIS! słyszysz tylko, jak mówią: podaj dane, a dostosują się!


1
Chociaż prawdopodobnie masz rację pod względem koncepcyjnym, możesz zdobyć trochę głosów i być może konstruktywną pomoc, jeśli przepiszesz swoją odpowiedź, aby stała się obserwacją socjologiczną, a nie pedantyczną tyradą.
FauChristian
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.