Was sind einige gute Ressourcen, um etwas über künstliche neuronale Netze zu lernen? [geschlossen]

109

Ich interessiere mich wirklich für künstliche neuronale Netze, aber ich suche nach einem Ausgangspunkt.

Welche Ressourcen gibt es und was ist ein gutes Startprojekt?

cbrulak
quelle
Ich nehme an, künstliche neuronale Netze? Für welchen Bereich interessieren Sie sich (worauf würden Sie ihn anwenden: Handschrift, Klassifizierung, Logik)?
Voreingenommenheit
Ich denke, Logik: Ich habe über einen Roboter in einem Labyrinth oder so etwas nachgedacht und verschiedene Algorithmen ausprobiert, aber so, dass das Netzwerk entscheidet, welches das Beste ist usw.
cbrulak
3
Es gibt einen wirklich großartigen Kurs über Kurse von Geoffrey Hinton über neuronale Netze. Es beginnt mit den Grundlagen und endet mit modernsten Ansätzen und noch mehr.
Alfa
4
Der Kurs Maschinelles Lernen von Andrew Ng ist das, was ich für den Anfang empfehle, bevor ich den Kurs von Geoffrey Hinton mache, der sich mit fortgeschritteneren neuronalen Netzen und theoretischen Aspekten befasst.
gaborous

Antworten:

17

Hier sind einige Beispiele für die Neural Net-Programmierung. http://www.codeproject.com/KB/recipes/neural_dot_net.aspx

Sie können hier mit dem Lesen beginnen: http://web.archive.org/web/20071025010456/http://www.geocities.com/CapeCanaveral/Lab/3765/neural.html

Ich für meinen Teil habe einen Kurs darüber besucht und Literatur durchgearbeitet.

Friedrich
quelle
2
Geocities sind vor ein paar Tagen ausgefallen , aber es gibt eine archivierte Version unter web.archive.org/web/20071025010456/http://www.geocities.com/… (zumindest für den
Moment
33

Geben Sie zunächst alle Vorstellungen auf, dass künstliche neuronale Netze irgendetwas mit dem Gehirn zu tun haben, außer für eine vorübergehende Ähnlichkeit mit Netzen biologischer Neuronen. Das Erlernen der Biologie hilft Ihnen nicht dabei, neuronale Netze effektiv anzuwenden. Lernen linearer Algebra, Analysis und Wahrscheinlichkeitstheorie wird. Sie sollten sich zumindest mit der Idee der grundlegenden Differenzierung von Funktionen, der Kettenregel, partiellen Ableitungen (Gradient, Jacobi und Hessisch) und dem Verständnis der Matrixmultiplikation und -diagonalisierung vertraut machen.

Wenn Sie ein Netzwerk trainieren, optimieren Sie wirklich eine große, mehrdimensionale Funktion (Minimierung Ihres Fehlermaßes in Bezug auf jedes der Gewichte im Netzwerk). Daher kann sich eine Untersuchung von Techniken zur nichtlinearen numerischen Optimierung als lehrreich erweisen. Dies ist ein weit verbreitetes Problem mit einer großen Literaturbasis außerhalb neuronaler Netze, und im Internet sind zahlreiche Vorlesungsunterlagen zur numerischen Optimierung verfügbar. Zu Beginn verwenden die meisten Menschen einen einfachen Gradientenabstieg , der jedoch viel langsamer und weniger effektiv sein kann als nuanciertere Methoden wie

Sobald Sie die Grundideen festgelegt haben, können Sie mit verschiedenen "Squashing" -Funktionen in Ihrer verborgenen Ebene experimentieren und verschiedene Arten der Regularisierung sowie verschiedene Optimierungen hinzufügen, um das Lernen zu beschleunigen. In diesem Dokument finden Sie eine umfassende Liste der "Best Practices".

Eines der besten Bücher zu diesem Thema ist Chris Bishops Neuronale Netze zur Mustererkennung . Zu diesem Zeitpunkt ist es ziemlich alt, aber es ist immer noch eine ausgezeichnete Ressource, und Sie können gebrauchte Exemplare oft online für etwa 30 US-Dollar finden. Das Kapitel über neuronale Netze in seinem neueren Buch " Mustererkennung und maschinelles Lernen" ist ebenfalls ziemlich umfassend. Ein besonders gutes Tutorial zur Implementierung finden Sie in diesem auf CodeProject.com, das eine clevere Art von Netzwerk implementiert, das als Faltungsnetzwerk bezeichnet wird und die Konnektivität so einschränkt, dass das Erlernen der Klassifizierung visueller Muster sehr gut gelernt wird.

Support-Vektor-Maschinen und andere Kernel-Methoden sind sehr beliebt geworden, da Sie sie anwenden können, ohne zu wissen, was zum Teufel Sie tun, und häufig akzeptable Ergebnisse erzielen. Neuronale Netze hingegen sind große Optimierungsprobleme, die eine sorgfältige Abstimmung erfordern, obwohl sie für viele Probleme, insbesondere für Probleme im großen Maßstab in Bereichen wie Computer Vision, immer noch vorzuziehen sind.

dwf
quelle
Guter Punkt. Ein Neuron ist nur eine logistische Einheit, die aus der logistischen Regression stammt. Dann werden mehrphasige Mehrfachregressionseinheiten erstellt und als neuronale Netze bezeichnet, da sie wie neuronale Netze "aussehen". Es ist nicht vom Gehirn oder dergleichen inspiriert.
Ozgur
Es ist nicht wirklich richtig zu sagen, dass das Studium der tatsächlichen Neurowissenschaften für die Forschung auf diesem Gebiet nicht hilfreich wäre. Jeff Hawkins und seine Forschung versuchten, mehr Wissen über Neurobiologie in seine Arbeit an HTMs einzubeziehen. HTMs funktionieren ziemlich gut. Am Ende kann das Studium der Neurobiologie nützlich sein, wenn Sie neue Netzwerktopologien und Interaktionstechniken erforschen möchten, die tatsächliche biologische Beispiele nachahmen. Wenn Sie nur das verwenden möchten, was andere bereits erforscht haben, anstatt selbst zu forschen, dann ist die Erforschung der Neurowissenschaften möglicherweise sinnlos.
SmugDoodleBug
29

Ich kann diese exzellente Serie von Anoop Madhusudanan für Code Project nur empfehlen .

Er führt Sie durch die Grundlagen, um zu verstehen, wie sie auf leicht verständliche Weise funktionieren, und zeigt Ihnen, wie Sie mit seiner brainnetBibliothek Ihre eigenen erstellen können.

CodeAndCats
quelle
7
Wow cool. Sie können es auch von meinem Blog lesen, amazedsaint.blogspot.com/2008/01/…
amazedsaint
11

Neuronale Netze sind heutzutage eine Art Deklass. Support-Vektor-Maschinen und Kernel-Methoden eignen sich besser für mehr Problemklassen als für die Backpropagation. Neuronale Netze und genetische Algorithmen regen die Vorstellungskraft von Menschen an, die nicht viel über modernes maschinelles Lernen wissen, aber nicht auf dem neuesten Stand der Technik sind.

Wenn Sie mehr über KI und maschinelles Lernen erfahren möchten, empfehle ich Ihnen, Peter Norvigs Künstliche Intelligenz: Ein moderner Ansatz zu lesen . Es ist eine umfassende Übersicht über KI und viele moderne Technologien. Es geht auch auf die Geschichte und ältere Techniken ein und bietet Ihnen eine umfassendere Einführung in die Grundlagen der KI und des maschinellen Lernens.

Neuronale Netze sind jedoch ziemlich einfach. Vor allem, wenn Sie einen genetischen Algorithmus verwenden, um die Gewichte zu bestimmen, und nicht die richtige Backpropagation.

Chad Okere
quelle
1
Das neuronale Netzwerk besteht nicht nur aus Backpropagation; Es gibt Unmengen anderer Netzwerke - assoziative Speicher, Kohonen SOFMs, adaptive reseonanzbasierte Netzwerke usw. ... MLP und Backpropagation sind die beliebtesten Netzwerke, aber nicht die leistungsstärksten ...
lmsasu
3
"Neuronale Netze sind heutzutage eine Art Deklassierung" - nun, nicht mehr. Die "Deep Learning" -Techniken zum Trainieren von Multilayer-NN und Ad-hoc-Architektur-NN scheinen derzeit zu den heißesten Dingen in ML zu gehören. Nur ein Beispiel unter vielen, googleresearch.blogspot.co.uk/2015/03/…
John Donn
5

Ich stimme der Empfehlung von dwf zu Neuronalen Netzen zur Mustererkennung von Chris Bishop zu. Obwohl es vielleicht kein Startertext ist. Norvig oder ein Online-Tutorial (mit Code in Matlab!) Wäre wahrscheinlich eine sanftere Einführung.

Ein gutes Starterprojekt wäre OCR (Optical Character Recognition). Sie können Textseiten einscannen und jedes Zeichen durch das Netzwerk führen, um eine Klassifizierung durchzuführen. (Sie müssten natürlich zuerst das Netzwerk trainieren!).

Graveca
quelle
4

Ich kann empfehlen, wo ich nicht anfangen soll. Ich habe eine Einführung in neuronale Netze von Kevin Gurney gekauft, die gute Bewertungen bei Amazon hat und behauptet, eine "leicht zugängliche Einführung in eines der wichtigsten Themen der Kognitions- und Informatik" zu sein. Persönlich würde ich dieses Buch nicht als Anfang empfehlen. Ich kann nur ungefähr 10% davon verstehen, aber vielleicht bin ich es nur (Englisch ist nicht meine Muttersprache). Ich werde andere Optionen aus diesem Thread untersuchen.

Vincent
quelle
3

http://www.ai-junkie.com/ann/evolved/nnt1.html ist eine klare Einführung in das mehrschichtige Perzeptron, beschreibt jedoch nicht den Backpropagation-Algorithmus

Sie können auch einen Blick auf generation5.org werfen, der viele Artikel über KI im Allgemeinen enthält und einige großartige Texte über neuronale Netze enthält

user217299
quelle
2

Wenn es Ihnen nichts ausmacht, Geld auszugeben, ist das Handbuch für Gehirntheorie und neuronale Netze sehr gut. Es enthält 287 Artikel zur Forschung in vielen Disziplinen. Es beginnt mit einer Einführung und Theorie und zeigt dann Wege durch die Artikel auf, um Ihre Interessen bestmöglich abzudecken.

Für ein erstes Projekt sind Kohonen-Karten für die Kategorisierung interessant : Finden Sie versteckte Beziehungen in Ihrer Musiksammlung, bauen Sie einen intelligenten Roboter oder lösen Sie den Netflix-Preis .

Corbin März
quelle
1

Ich denke, ein guter Ausgangspunkt wäre immer Wikipedia . Dort finden Sie einige nützliche Links zu Dokumentationen und Projekten, die auch neuronale Netze verwenden.

Xn0vv3r
quelle
1

Ich fand Fausetts Grundlagen neuronaler Netze ein unkompliziertes und leicht zu erlernendes Einführungslehrbuch.

Chaos
quelle
1

Ich fand das Lehrbuch "Computational Intelligence" unglaublich hilfreich.

Bradley Powers
quelle
1

Die Programmierung von Collective Intelligence diskutiert dies im Zusammenhang mit Such- und Ranking-Algorithmen. In dem hier verfügbaren Code (in Kapitel 4) werden die im Buch diskutierten Konzepte in einem Python-Beispiel veranschaulicht.

Jamesaharvey
quelle
1

Ich stimme den anderen Leuten zu, die sagten, dass das Studium der Biologie kein guter Ausgangspunkt ist ... weil es in der Biologie viele irrelevante Informationen gibt. Sie müssen nicht verstehen, wie ein Neuron funktioniert, um seine Funktionalität wiederherzustellen - Sie müssen nur seine Aktionen simulieren. Ich empfehle "How To Create A Mind" von Ray Kurzweil - es geht um den Aspekt der Biologie, der für Rechenmodelle relevant ist (Erstellen eines simulierten Neurons durch Kombinieren mehrerer Eingaben und Feuern, sobald ein Schwellenwert erreicht ist), ignoriert jedoch die irrelevanten Dinge wie wie das Neuron tatsächlich die Eingaben des Hauses zusammenfügt. (Sie verwenden zum Beispiel nur + und eine Ungleichung, um sie mit einem Schwellenwert zu vergleichen.)

Ich sollte auch darauf hinweisen, dass es in dem Buch nicht wirklich darum geht, einen Geist zu erschaffen - es konzentriert sich nur auf die Erkennung von heirarchischen Mustern / den Neokortex. Ich glaube, das allgemeine Thema wurde seit den 1980er Jahren besprochen, daher gibt es viele ältere Bücher, die wahrscheinlich leicht datierte Formen derselben Information enthalten. Ich habe ältere Dokumente gelesen, aus denen hervorgeht, dass das Bildverarbeitungssystem beispielsweise ein mehrschichtiger Mustererkenner ist. Er macht geltend, dass dies für den gesamten Neokortex gilt. Nehmen Sie auch seine "Vorhersagen" mit einem Körnchen Salz - seine Hardware-Schätzungen sind wahrscheinlich ziemlich genau, aber ich denke, er unterschätzt, wie kompliziert einfache Aufgaben sein können (z. B. Autofahren). Zugegeben, er hat viele Fortschritte gesehen (und war Teil davon), aber ich denke immer noch, dass er zu optimistisch ist. Es gibt einen großen Unterschied zwischen einem KI-Auto, das 90% der Zeit eine Meile erfolgreich fahren kann, und 99,9 +%, die ein Mensch leisten kann. Ich erwarte nicht, dass eine KI mich mindestens 20 Jahre lang wirklich aus dem Verkehr zieht ... (Ich zähle keine BMW-Rennwagen, die auf dem tatsächlichen Kurs "trainiert" werden müssen, da sie nicht wirklich gleich spielen Spiel)

Wenn Sie bereits eine grundlegende Vorstellung davon haben, was KI ist und wie sie modelliert werden kann, ist es möglicherweise besser, zu etwas Technischerem zu springen.

Allen
quelle
0

Wenn Sie schnell etwas über die Anwendung einiger neuronaler Netzwerkkonzepte auf einem echten Simulator lernen möchten, finden Sie unter http://grey.colorado.edu/CompCogNeuro/index ein großartiges Online-Buch (jetzt Wiki) mit dem Titel "Computational Cognitive Neuroscience" . PHP / CCNBook / Main

Das Buch wird an Schulen als Lehrbuch verwendet und führt Sie durch viele verschiedene Gehirnbereiche, von einzelnen Neuronen bis hin zur Funktion von Führungskräften höherer Ordnung.

Darüber hinaus wird jeder Abschnitt um Hausaufgabenprojekte erweitert, die bereits für Sie erledigt sind. Laden Sie einfach herunter, befolgen Sie die Schritte und simulieren Sie alles, worüber in diesem Kapitel gesprochen wurde. Die Software, die sie verwenden, Emergent, ist ein wenig finnicky, aber unglaublich robust: Sie ist das Produkt von mehr als 10 Jahren Arbeit, glaube ich.

Ich habe es im vergangenen Semester in einer Grundschulklasse durchgemacht, und es war großartig. Führt Sie Schritt für Schritt durch alles

Varun Singh
quelle