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?
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?
Antworten:
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.
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.
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 brainnet
Bibliothek Ihre eigenen erstellen können.
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.
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!).
Raul Rojas 'Buch ist ein sehr guter Anfang (es ist auch kostenlos). Auch Haykins Buch 3. Auflage , obwohl von großem Umfang, ist sehr gut erklärt.
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.
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
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 .
Zwei Bücher, die während meines Studiums verwendet wurden:
Einführungskurs: Eine Einführung in Neural Computing von Igor Aleksander und Helen Morton.
Fortgeschrittenenkurs: Neurocomputing von Robert Hecht-Nielsen
Ich fand Fausetts Grundlagen neuronaler Netze ein unkompliziertes und leicht zu erlernendes Einführungslehrbuch.
Ich fand das Lehrbuch "Computational Intelligence" unglaublich hilfreich.
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.
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.
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