Wissen Wissenschaftler oder Forschungsexperten aus der Küche, was in einem komplexen "tiefen" neuronalen Netzwerk mit mindestens Millionen von Verbindungen geschieht, die gleichzeitig ausgelöst werden? Verstehen sie den Prozess dahinter (z. B. was im Inneren passiert und wie es genau funktioniert) oder ist es ein Thema der Debatte?
Zum Beispiel sagt diese Studie :
Es gibt jedoch kein klares Verständnis dafür, warum sie so gut abschneiden oder wie sie verbessert werden könnten.
Bedeutet dies, dass Wissenschaftler nicht wissen, wie komplexe Faltungsnetzwerkmodelle funktionieren?
Antworten:
Es gibt viele Ansätze, die darauf abzielen, ein trainiertes neuronales Netzwerk interpretierbarer und weniger wie eine "Black Box" zu machen, insbesondere die von Ihnen erwähnten faltungsbezogenen neuronalen Netzwerke .
Visualisierung der Aktivierungen und Ebenengewichte
Die Visualisierung der Aktivierungen ist die erste offensichtliche und unkomplizierte. Bei ReLU-Netzwerken sehen die Aktivierungen normalerweise relativ blob und dicht aus, aber im Verlauf des Trainings werden die Aktivierungen in der Regel spärlicher (die meisten Werte sind Null) und lokalisiert. Dies zeigt manchmal, worauf genau eine bestimmte Ebene fokussiert ist, wenn sie ein Bild sieht.
Eine weitere großartige Arbeit zu Aktivierungen, die ich erwähnen möchte , ist Deepvis , die die Reaktion jedes Neurons auf jeder Schicht zeigt, einschließlich Pooling- und Normalisierungsschichten. So beschreiben sie es :
Die zweite gängige Strategie ist die Visualisierung der Gewichte (Filter). Diese sind in der Regel auf der ersten CONV-Ebene am besten interpretierbar, die direkt auf die Rohpixeldaten blickt. Es ist jedoch auch möglich, die Filtergewichte tiefer im Netzwerk anzuzeigen. Beispielsweise lernt die erste Ebene normalerweise Gabor-ähnliche Filter, die im Grunde genommen Kanten und Blobs erkennen.
Okklusionsexperimente
Hier ist die Idee. Angenommen, ein ConvNet klassifiziert ein Bild als Hund. Wie können wir sicher sein, dass es tatsächlich den Hund im Bild erfasst, im Gegensatz zu einigen kontextuellen Hinweisen aus dem Hintergrund oder einem anderen sonstigen Objekt?
Eine Möglichkeit zu untersuchen, von welchem Teil des Bildes eine Klassifizierungsvorhersage stammt, besteht darin, die Wahrscheinlichkeit der interessierenden Klasse (z. B. Hundeklasse) als Funktion der Position eines Okkluderobjekts aufzuzeichnen. Wenn wir über Bereiche des Bildes iterieren, es durch alle Nullen ersetzen und das Klassifizierungsergebnis überprüfen, können wir eine zweidimensionale Wärmekarte der für das Netzwerk wichtigsten Elemente eines bestimmten Bildes erstellen. Dieser Ansatz wurde in Matthew Zeilers Visualizing and Understanding Convolutional Networks verwendet (auf den Sie in Ihrer Frage verweisen):
Entfaltung
Ein anderer Ansatz besteht darin, ein Bild zu synthetisieren, das ein bestimmtes Neuron zum Feuern bringt, im Grunde das, wonach das Neuron sucht. Die Idee ist, den Gradienten in Bezug auf das Bild anstelle des üblichen Gradienten in Bezug auf die Gewichte zu berechnen. Also wählst du eine Ebene aus und stellst den Farbverlauf auf Null ein, bis auf eins für ein Neuron und Backprop zum Bild.
Deconv führt tatsächlich eine so genannte geführte Backpropagation durch , um ein besser aussehendes Bild zu erhalten, aber es ist nur ein Detail.
Ähnliche Ansätze zu anderen neuronalen Netzen
Sehr zu empfehlen ist dieser Beitrag von Andrej Karpathy , in dem er viel mit Recurrent Neural Networks (RNN) zusammenarbeitet. Am Ende wendet er eine ähnliche Technik an, um zu sehen, was die Neuronen tatsächlich lernen:
Fazit
Ich habe nur einen kleinen Bruchteil der Ergebnisse in diesem Forschungsbereich erwähnt. Es ist ziemlich aktiv und jedes Jahr tauchen neue Methoden auf, die Licht in das Innere des neuronalen Netzwerks bringen.
Um Ihre Frage zu beantworten, gibt es immer etwas, das Wissenschaftler noch nicht wissen, aber in vielen Fällen haben sie ein gutes (literarisches) Bild davon, was im Inneren vor sich geht, und können viele bestimmte Fragen beantworten.
Für mich unterstreicht das Zitat aus Ihrer Frage einfach die Wichtigkeit der Forschung, nicht nur die Genauigkeit zu verbessern, sondern auch die innere Struktur des Netzwerks. Wie Matt Zieler in diesem Vortrag ausführt, kann eine gute Visualisierung manchmal zu einer besseren Genauigkeit führen.
quelle
Es kommt darauf an, was Sie unter "wissen, was passiert" verstehen.
Konzeptionell ja: ANN führt nichtlineare Regression durch. Der tatsächliche Ausdruck, der durch die Gewichtsmatrix / Aktivierungsfunktion (en) einer ANN dargestellt wird, kann explizit in symbolischer Form erweitert werden (z. B. mit Unterausdrücken wie ).1/1+e1/1+e…
Wenn Sie jedoch mit "wissen" meinen, dass Sie die Ausgabe eines bestimmten (Black-Box-) ANN auf andere Weise vorhersagen , dann ist das Hindernis das Vorhandensein von Chaos in einem ANN mit hohen Freiheitsgraden .
Hier ist auch eine relativ neue Arbeit von Hod Lipson zum Verständnis von ANNs durch Visualisierung .
quelle
Kurze Antwort ist nein .
Die Interpretierbarkeit von Modellen ist ein hyperaktiver und heißer Bereich der aktuellen Forschung (denken Sie an den Heiligen Gral oder so), der in letzter Zeit nicht zuletzt aufgrund des (oft enormen) Erfolgs von Deep-Learning-Modellen bei verschiedenen Aufgaben vorangebracht wurde. Diese Modelle sind derzeit nur Black Boxes, und wir fühlen uns natürlich unwohl dabei ...
Hier sind einige allgemeine (und aktuelle, Stand Dezember 2017) Ressourcen zu diesem Thema:
Ein kürzlich veröffentlichter Artikel in Science (Juli 2017) bietet einen schönen Überblick über den aktuellen Stand und die aktuellen Forschungsergebnisse: Wie KI-Detektive die Black Box des Deep-Learning aufbrechen (keine In-Text-Links, aber das Durchsuchen von Namen und Begriffen zahlt sich aus).
DARPA selbst führt derzeit ein Programm zur erklärbaren künstlichen Intelligenz (XAI) durch.
In NIPS 2016 gab es einen Workshop zum interpretierbaren maschinellen Lernen für komplexe Systeme sowie ein ICML-Tutorial 2017 zum interpretierbaren maschinellen Lernen von Been Kim von Google Brain.
Und auf einer praktischeren Ebene (Code usw.):
Das What-If-Tool von Google, eine brandneue (September 2018) Funktion der Open-Source-TensorBoard-Webanwendung, mit der Benutzer ein ML-Modell analysieren können, ohne Code zu schreiben ( Projektseite , Blogpost ).
Die Layer-weise Relevanz-Propagation (LRP) Toolbox für neuronale Netze ( Papier , Projektseite , Code , TF Slim Wrapper )
FairML: Prüfung von Black-Box-Vorhersagemodellen von Cloudera Fast Forward Labs ( Blogbeitrag , Artikel , Code )
LIME: Local Interpretable Model-Agnostic Explanations ( Papier , Code , Blog-Post , R-Port )
Ein kürzlich veröffentlichter Artikel (November 2017) von Geoff Hinton über das Destillieren eines neuronalen Netzwerks in einen weichen Entscheidungsbaum mit einer unabhängigen PyTorch-Implementierung
SHAP: ein einheitliches Konzept für Interpretieren von Modellvorhersagen ( Papier , Autoren Python Code , R - Paket )
Interpretierbare Faltungs-Neuronale Netze ( Papier , Autorencode )
Lucid, eine Sammlung von Infrastrukturen und Tools zur Erforschung der Interpretierbarkeit neuronaler Netze durch Google ( Code ; Artikel: Feature Visualization , The Building Blocks of Interpretability )
Transparecy-by-Design (TbD) -Netzwerke ( Papier , Code , Demo )
SVCCA: Singular Vector kanonische Korrelationsanalyse für Deep Learning Dynamics und Interpretierbarkeit ( Papier , Code , Google Blog - Post )
TCAV: Testen mit Concept Activation Vectors ( ICML 2018-Papier , Tensorflow-Code )
Grad-CAM: Visuelle Erklärungen aus Deep Networks über gradientenbasierte Lokalisierung ( Papier , Autoren- Torch-Code , Tensorflow-Code , PyTorch-Code , Keras- Beispielnotizbuch )
Network Dissection: Quantifizierung der Interpretierbarkeit tiefer visueller Darstellungen durch MIT CSAIL ( Projektseite , Caffe-Code , PyTorch-Portierung )
GAN-Dissektion: Visualisieren und Verstehen generativer kontradiktorischer Netzwerke, von MIT CSAIL ( Projektseite , mit Links zu Papier und Code)
Erklären, wie man das Problem behebt: Ein Framework zur Interpretation und Korrektur von DNN Object Detector-Vorhersagen ( Papier , Code )
In letzter Zeit gab es ein starkes Interesse daran, eine theoretischere Grundlage für das Erlernen von neuronalen Netzen zu schaffen. In diesem Zusammenhang hat der renommierte Statistiker und Pionier der Drucksensoren, David Donoho, vor kurzem (Herbst 2017) begonnen, einen Kurs bei Stanford, Theories of Deep Learning (STATS 385) , mit fast allen online verfügbaren Materialien anzubieten . es ist sehr zu empfehlen ...
UPDATES :
quelle
Sie sind sich nicht sicher, ob Sie danach suchen, aber google extrahierte Bilder aus Netzwerken, als sie mit weißem Rauschen gefüttert wurden.
Siehe Inceptionism: Ein tieferer Einblick in neuronale Netze (Google Research Blog) .
Diese Art repräsentiert, was das Netzwerk weiß.
quelle
Ich fürchte, ich habe die spezifischen Zitate nicht zur Hand, aber ich habe Zitate von Experten wie Andrew Ng und Geoffrey Hinton gesehen / gehört, in denen sie klar sagen, dass wir neuronale Netze nicht wirklich verstehen. Das heißt, wir etwas von der verstehen , wie sie (zum Beispiel die Mathematik hinter Ausbreitung zurück) arbeiten , aber wir nicht wirklich verstehen , warum sie funktionieren. Es ist eine subtile Unterscheidung, aber der springende Punkt ist, dass wir nicht die tiefsten Details verstehen, wie genau Sie von einem Haufen Gewichte abkommen, um beispielsweise eine Katze zu erkennen, die mit einem Ball spielt.
Zumindest in Bezug auf die Bilderkennung ist die beste Erklärung, die ich gehört habe, dass aufeinanderfolgende Schichten eines neuronalen Netzwerks komplexere Merkmale lernen, die sich aus den detaillierteren Merkmalen früherer Ebenen zusammensetzen. Das heißt, die erste Schicht erkennt möglicherweise "Kanten" oder "gerade Linien". Die nächste Ebene kann dann geometrische Formen wie "Kästchen" oder "Dreieck" lernen, und dann kann eine höhere Ebene "Nase" oder "Auge" lernen, basierend auf diesen früheren Merkmalen, und dann lernt eine höhere Ebene immer noch "Gesicht" von "Auge", "Nase", "Kiefer" usw. Aber selbst das ist, wie ich es verstehe, immer noch hypothetisch und / oder nicht im Detail verstanden.
quelle
Hier ist eine Antwort von Carlos E. Perez auf die Frage Was steckt hinter der Theorie des tiefen Lernens?
Fazit: Wir haben einige Ideen, sind uns aber nicht ganz sicher.
quelle
JA
Ich denke, "aus der Küche wissen" bedeutet "im Detail wissen"?
Lassen Sie mich Ihnen eine Reihe von Analogien geben:
Der Teufel steckt im Detail, aber ein entscheidender Punkt ist, dass es sich um künstliche Strukturen handelt. Sie erscheinen nicht zufällig. Sie brauchen viel Wissen, um etwas Nützliches zu bekommen. Für neuronale Netze würde ich sagen, dass es ungefähr 40 Jahre von der Veröffentlichung der Schlüsselidee (Rosenblatt perceptron, 1957) bis zur ersten Anwendung (US Postal Service, 1989) gedauert hat. Und von da an wieder 13 Jahre aktive Forschung zu wirklich beeindruckenden Systemen (ImageNet 2012).
Was wir super gut wissen, ist wie das Training funktioniert . Weil es umgesetzt werden muss. Auf einer sehr kleinen Struktur wissen wir es im Detail.
Denken Sie an Computer. Die Chipdesigner wissen sehr gut, wie ihr Chip funktioniert. Aber sie werden wahrscheinlich nur eine sehr grobe Vorstellung davon haben, wie das Linux-Betriebssystem funktioniert.
Ein weiteres Beispiel ist Physik und Chemie: Die Physik beschreibt die Kernkräfte des Universums. Bedeutet das, dass sie auch alles über Chemie wissen? Auf keinen Fall! Ein "perfekter" Physiker kann alles in der Chemie erklären ... aber es wäre so ziemlich nutzlos. Er würde viel mehr Informationen brauchen, nicht in der Lage sein, die irrelevanten Teile zu überspringen. Einfach, weil er zu stark "hineingezoomt" hat - hält Details für in der Praxis weder interessant noch wichtig. Bitte beachten Sie, dass die Kenntnisse des Physikers nicht falsch sind. Vielleicht könnte man daraus sogar das Wissen des Chemikers ableiten. Dieses "übergeordnete" Verständnis der Molekülwechselwirkung fehlt jedoch.
Die wichtigsten Erkenntnisse aus diesen beiden Beispielen sind Abstraktionsebenen: Sie können Komplexität aus einfachen Strukturen aufbauen .
Was sonst?
Wir wissen genau, was im Prinzip mit den von uns entworfenen neuronalen Netzen erreichbar ist :
Oh, und natürlich haben wir analytische Ansätze für neuronale Netze. Ich habe meine Masterarbeit über die Analyse und Optimierung von Faltungsarchitekturen neuronaler Netze geschrieben . In diesem Zusammenhang ist LIME (Local Interpretable Model-Agnostic Explanations) hilfreich :
quelle
Ich wollte nur etwas hinzufügen:
es hängt davon ab, was Sie mit Wissenschaftler meinen:
Ich bin Doktorandin in Elektrotechnik und habe gesehen, dass so viele Forscher mit ANN in Problemen wie Regression, Vorhersagekontrolle, adaptiver Kontrolle und Klassifikationsproblemen arbeiten.
Sie können deutlich feststellen, dass ihre mangelnden Codierungsfähigkeiten ein großer Nachteil sind und sie nicht wirklich verstehen, was in einem ANN vor sich geht. Jetzt spreche ich nicht einmal über Deep , sie haben Mühe, einfache Dinge wie ADALINEs und ANFIS zu verstehen! Alles, was Sie hören, ist: Geben Sie ihm Daten und es wird sich anpassen!
quelle