Wie fange ich mit neuronalen Netzen an?

32

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.

Claudio Albertin
quelle
11
Es gibt auch einen Kurs, den Goeff Hinton über Coursera in Neuronalen Netzen unterrichtet, der nächste Woche beginnt: coursera.org/course/neuralnets
Marc Shivers
Dieser Kurs sieht interessant aus, aber von dem Video und der Webseite aus würde ich annehmen, dass er nicht als Einführung gedacht ist.
Douglas Zare
@DouglasZare: Ich beende den Kurs von Hinton und war zum Teil froh, dass ich den ML-Kurs von Andrew Ng zum ersten Mal belegt habe.
Andrew
1
Ja, ich habe es auch genommen. Es war ein großartiger Kurs und keine Einführung.
Douglas Zare
Blogs und Tutorials über neuronale Netze für Anfänger learn-neural-networks.com
Фаиль Гафаров

Antworten:

33

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:

  • Perceptrons
    • Einfach zu verstehen
    • Streng limitiert
  • Mehrschichtig, durch Rückübertragung trainiert
    • Viele Ressourcen , um diese zu lernen
    • Im Allgemeinen nicht so gut wie SVMs
  • Boltzmann-Maschinen
    • Interessante Denkweise über die Stabilität eines wiederkehrenden Netzwerks in Bezug auf "Energie"
    • Schauen Sie sich Hopfield-Netzwerke an, wenn Sie ein leicht verständliches (aber nicht sehr praktisches) Beispiel für wiederkehrende Netzwerke mit "Energie" suchen.
    • Theoretisch interessant, in der Praxis unbrauchbar (Training in etwa mit der gleichen Geschwindigkeit wie Kontinentalverschiebung)
  • Eingeschränkte Boltzmann-Maschinen
    • Sinnvoll!
    • Aufbauend auf der Theorie der Boltzmann-Maschinen
    • Einige gute Einführungen im Web
  • Deep Belief Networks
    • Soweit ich das beurteilen kann, handelt es sich hier um eine Klasse von mehrschichtigen RBMs für das teilüberwachte Lernen.
    • Einige Ressourcen
Stumpy Joe Pete
quelle
1
Vielen Dank für diesen Überblick und die vielen Ressourcen!
Claudio Albertin
2
Kein Problem. Viel Glück bei Ihren Bemühungen um ein neuronales Netz.
Stumpy Joe Pete
8

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.

Ivan
quelle
Könnten Sie die Titel angeben? Links könnten in Zukunft tot sein ...
Richard Hardy
5

Dies sind meiner Meinung nach sehr gute Bücher.

  • R. Rojas: Neuronale Netze
  • CM Bishop: Neuronale Netze zur Mustererkennung

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.

Old_Mortality
quelle
3
Willkommen auf der Site @Old_Mortality. Können Sie etwas über diese Bücher sagen? Was ist gut an ihnen? Sind sie für Leute geeignet, die ein gewisses Maß an mathematischer und / oder Codierungskompetenz besitzen? Welchen OP würdest du empfehlen lesen 1.? Etc.
Gung - wieder einzusetzen Monica
1
Vielen Dank für den Vorschlag. Ich habe meine Antwort oben bearbeitet.
Old_Mortality
3

Wie andere Leute bereits betont haben, gibt es viele (gute) Online-Ressourcen, von denen ich einige persönlich gemacht habe:

  • Ngs Einführung in die ML-Klasse auf Coursera
  • Hintons Neuronale Netze-Klasse auf Coursera
  • Ngs Deep-Learning-Tutorial
  • Lesen Sie die entsprechenden Kapitel in der ursprünglichen parallelen verteilten Verarbeitung

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.

Falke
quelle
1

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/

kjetil b halvorsen
quelle
0

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

Schlatter
quelle