Ich bin völlig neu in neuronalen Netzen, aber sehr daran interessiert, sie zu verstehen. Der Einstieg ist jedoch gar nicht so einfach.
Könnte jemand ein gutes Buch oder eine andere Art von Ressource empfehlen? Gibt es ein Muss zu lesen?
Ich bin für jeden Tipp dankbar.
machine-learning
neural-networks
references
Claudio Albertin
quelle
quelle
Antworten:
Neuronale Netze gibt es schon seit einiger Zeit und sie haben sich im Laufe der Jahre dramatisch verändert. Wenn Sie nur im Web stöbern, entsteht möglicherweise der Eindruck, dass "neuronales Netzwerk" ein mit Backpropagation trainiertes mehrschichtiges Feedforward-Netzwerk ist. Oder Sie stoßen auf eines der Dutzenden selten verwendeter, bizarr benannter Modelle und kommen zu dem Schluss, dass neuronale Netze eher ein Zoo als ein Forschungsprojekt sind. Oder dass sie eine Neuheit sind. Oder...
Ich könnte weitermachen. Wenn Sie eine klare Erklärung wünschen, würde ich Geoffrey Hinton zuhören . Er ist schon immer dabei und (deshalb?) Leistet einen großartigen Job, indem er alle unterschiedlichen Modelle, an denen er gearbeitet hat, in eine zusammenhängende, intuitive (und manchmal theoretische) historische Erzählung zusammenfügt. Auf seiner Homepage befinden sich Links zu Vorlesungen von Google Tech Talks und Videolectures.net (zu RBMs und unter anderem Deep Learning ).
So wie ich es sehe, folgt ein historischer und pädagogischer Fahrplan zum Verständnis neuronaler Netze von ihrer Entstehung bis zum Stand der Technik:
quelle
Ich empfehle dringend, diese Vorlesungen anzuschauen und als Lesematerial zu verwenden . Diese Vorlesungen befassen sich allgemein mit maschinellem Lernen. Andrew Ng spricht ausführlich über neuronale Netze und ist bemüht, sie für Anfänger zugänglich zu machen.
quelle
Dies sind meiner Meinung nach sehr gute Bücher.
Die Bücher haben einige Ähnlichkeiten: Sie sind beide ungefähr 500 Seiten lang und seit 1995 ziemlich alt. Trotzdem sind sie sehr nützlich. Beide Bücher beginnen bei Null, indem sie erklären, was neuronale Netze sind. Sie bieten klare Erklärungen, gute Beispiele und gute Grafiken zum besseren Verständnis. Sie erklären detailliert die Probleme des Trainings neuronaler Netze in ihren vielen Formen und Möglichkeiten und was sie können und was nicht. Die beiden Bücher ergänzen sich sehr schön, denn was man mit einem Buch nicht herausfinden kann, findet man im anderen.
Rojas hat einen Abschnitt, der mir besonders gut gefällt, in dem es darum geht, eine Rückübertragung über viele Schichten in Matrixform zu implementieren. Es gibt auch einen schönen Abschnitt über Fuzzy-Logik und einen über Komplexitätstheorie. Aber dann hat Bischof viele andere schöne Abschnitte.
Rojas ist, würde ich sagen, am zugänglichsten. Bischof ist mathematischer und vielleicht anspruchsvoller. In beiden Büchern besteht die Mathematik hauptsächlich aus linearer Algebra und der Berechnung von Funktionen mehrerer Variablen (partielle Ableitungen usw.). Ohne Kenntnis dieser Themen würden Sie wahrscheinlich keines dieser Bücher sehr aufschlussreich finden.
Ich würde empfehlen, zuerst Rojas zu lesen.
Beide Bücher haben natürlich viel zu Algorithmen zu sagen, aber auch nicht viel zu spezifischen Implementierungen in Code.
Diese Bücher liefern für mich den Hintergrund, der einen Online-Kurs (wie Hinton's auf Coursera) verständlich macht. Die Bücher befassen sich auch mit viel mehr Details, als dies online möglich ist.
Ich hoffe das hilft und beantworte gerne alle Fragen zu den Büchern.
quelle
Wie andere Leute bereits betont haben, gibt es viele (gute) Online-Ressourcen, von denen ich einige persönlich gemacht habe:
Ich möchte darauf hinweisen, dass diese Expositionen größtenteils der klassischen Behandlung folgten, bei der Schichten (Summation und Nichtlinearität zusammen) die Grundeinheiten darstellen. Die populärere und flexiblere Behandlung, die in den meisten Bibliotheken wie Fackel-nn und Tensorflow implementiert ist, verwendet jetzt Berechnungsgraphen mit automatischer Differenzierung, um eine hohe Modularität zu erreichen. Konzeptionell ist es einfacher und befreiend. Ich kann den hervorragenden offenen Stanford CS231n-Kurs für diese Behandlung nur empfehlen .
Für eine rigorose, lerntheoretische Behandlung können Sie sich an die Neuronalen Netze von Anthony und Bartlett wenden.
quelle
Wenn Sie eine statistischere Behandlung wünschen, schauen Sie sich Brian Ripleys "Pattern Recognition and Neural Networks" an. Dieses Buch ist keine Einführung und setzt einen statistischen Hintergrund voraus.
http://www.stats.ox.ac.uk/~ripley/PRbook/
quelle
Ich habe eine Webanwendung erstellt, die Ihren Lernprozess im Bereich neuronaler Netze unterstützt.
https://blueneurons.ch/nn
Sie können mit den Einstellungen (Architektur, Aktivierungsfunktionen, Trainingseinstellungen) herumspielen und beobachten, wie sich die Einstellungen auf die Vorhersagen auswirken. Alle Datensätze haben vorkonfigurierte Werte, die übernommen werden können. Es ist auch möglich, eigene Datensätze zu erstellen.
Anweisungen und Erläuterungen zu den implementierten Elementen:
Benutzerhandbuch
quelle