Können Sie bitte neuronale Netze in einfachen Worten anhand eines Beispiels erklären ?
Können Sie bitte neuronale Netze in einfachen Worten anhand eines Beispiels erklären ?
Antworten:
Ein neuronales Netzwerk ist eine Klasse von Computersystemen. Sie werden aus sehr einfachen Verarbeitungsknoten erstellt, die zu einem Netzwerk geformt sind. Sie sind inspiriert von der Art und Weise, wie biologische Systeme wie das Gehirn funktionieren, obwohl viele Größenordnungen derzeit weniger komplex sind.
Sie sind grundsätzlich Mustererkennungssysteme und eignen sich eher für Aufgaben, die im Hinblick auf die Mustererkennung beschrieben werden können. Sie werden "trainiert", indem sie mit Datensätzen mit bekannten Ergebnissen versorgt werden.
Stellen Sie sich als Beispiel vor, Sie versuchen, ein Netzwerk so zu trainieren, dass es eine 1 ausgibt, wenn es ein Bild einer Katze erhält, und eine 0, wenn es ein Bild sieht, das keine Katze ist. Sie würden das Netzwerk trainieren, indem Sie viele Bilder von Katzen durchlaufen und mithilfe eines Algorithmus die Netzwerkparameter optimieren, bis die richtige Antwort erfolgt. Die Parameter sind normalerweise eine Verstärkung für jeden Eingang und eine Gewichtung für jeden Knoten sowie die tatsächliche Struktur des Netzwerks (wie viele Knoten, in wie vielen Schichten, mit welchen Verbindungen).
Das Erkennen von Katzenbildern ist tatsächlich ein recht komplexes Problem und würde ein komplexes neuronales Netzwerk erfordern (möglicherweise beginnend mit einem Knoten pro Pixel). Ein üblicher Ausgangspunkt für das Experimentieren mit neuronalen Netzen besteht darin, einfache Logikgatter wie UND, ODER, NICHT usw. als neuronale Netze zu implementieren.
Neuronale Netze können ein sehr schneller Weg sein, um ein komplexes Ergebnis zu erzielen. Sie sind sehr interessant für die KI-Forschung, da sie ein Modell für das tierische Gehirn sind.
Einer der Hauptnachteile neuronaler Netze besteht darin, dass es sehr schwierig ist, sie rückzuentwickeln. Wenn Ihr Netzwerk entscheidet, dass ein bestimmtes Bild eines Elefanten tatsächlich eine Katze ist, können Sie das „Warum“ in keinem nützlichen Sinne wirklich bestimmen. Alles, was Sie wirklich tun können, ist zu versuchen, das Netzwerk weiter zu trainieren / zu optimieren.
Neuronale Netze werden in der Regel für gut begrenzte Aufgaben wie die Erkennung von Münzen / Banknoten in Verkaufsautomaten oder die Fehlererkennung in Produktionslinien verwendet.
Der beste Ausgangspunkt, wenn Sie interessiert sind, ist wahrscheinlich Google 'Perceptron', der Name für eines der frühesten neuronalen Netzwerkelemente.
Ich studiere künstliche Intelligenz in einem Masterstudiengang, und wir verwenden ziemlich oft neuronale Netze. Sie sind eigentlich sehr nützlich.
Ich denke, das Problem für neuronale Netze ist ihr Name. Dies verwirrt beide, was ein neuronales Netzwerk tatsächlich ist, und lässt einige Leute ihre Verdienste in Frage stellen, weil sie erwarten, dass sie sich wie Gehirne verhalten, wenn sie wirklich eine ausgefallene Art von Funktion sind.
Der beste Weg, ein neuronales Netz zu verstehen, besteht darin, über den Namen hinauszugehen. Betrachten Sie es nicht als Modell eines Gehirns ... es ist nicht ... dies war die Absicht in den 1960er Jahren, aber es ist 2011 und sie werden ständig für maschinelles Lernen und Klassifizierung verwendet.
Ein neuronales Netzwerk ist eigentlich nur eine mathematische Funktion. Sie geben einen Wertevektor ein, diese Werte werden mit anderen Werten multipliziert und ein Wert oder ein Wertevektor wird ausgegeben. Das ist alles was es ist .
Sie sind sehr nützlich in Problembereichen, in denen keine Funktion zum Annähern der angegebenen Merkmale (oder Eingaben) an ihre Ausgaben (Klassifizierung oder Regression) bekannt ist. Ein Beispiel wäre das Wetter - es gibt viele Merkmale des Wetters - Typ, Temperatur, Bewegung, Wolkendecke, vergangene Ereignisse usw. - aber niemand kann genau sagen, wie das Wetter in 2 Tagen berechnet wird. Ein neuronales Netzwerk ist eine Funktion, die so strukturiert ist, dass es einfach ist, ihre Parameter zu ändern, um die Wettervorhersage basierend auf Merkmalen zu approximieren.
Das ist die Sache ... es ist eine Funktion und hat eine schöne Struktur, die zum "Lernen" geeignet ist. Man würde die Wetterdaten der letzten fünf Jahre nehmen - einschließlich der Wettermerkmale und des Wetterzustands 2 Tage in der Zukunft für jeden Tag in den letzten fünf Jahren. Die Netzwerkgewichte (Multiplikationsfaktoren, die sich in den Kanten befinden) werden zufällig generiert und die Daten werden durchlaufen. Für jede Vorhersage gibt der NN falsche Werte aus. Unter Verwendung eines auf Kalkül basierenden Lernalgorithmus, wie z. B. Backpropogation, können die Ausgabefehlerwerte verwendet werden, um alle Gewichte im Netzwerk zu aktualisieren. Nachdem genügend Daten durchlaufen wurden, erreichen die Fehlerstufen einen niedrigsten Punkt (da steckt noch mehr dahinter, aber ich werde hier nicht darauf eingehen - das Wichtigste ist die Überanpassung). Ziel ist es, den Lernalgorithmus zu stoppen, wenn die Fehlerquote am besten ist. Das Netzwerk ist dann fixiert und an diesem Punkt ist esNur eine mathematische Funktion , die Eingabewerte wie jede alte Gleichung in Ausgabewerte abbildet. Sie geben neue Daten ein und vertrauen darauf, dass die Ausgabewerte eine gute Annäherung sind.
Für diejenigen, die behaupten, sie seien gescheitert: Sie sind es nicht. Sie sind in vielen Bereichen äußerst nützlich. Wie finden Forscher Ihrer Meinung nach Zusammenhänge zwischen Genen und Krankheiten? NNs sowie andere Lernalgorithmen werden in der Bioinformatik und anderen Bereichen verwendet. Es wurde gezeigt, dass sie extrem gute Ergebnisse liefern. Die NASA verwendet sie jetzt für Routinen von Raumstationen, beispielsweise zur Vorhersage der Batterielebensdauer. Einige Leute werden sagen, dass Support-Vektor-Maschinen usw. besser sind ... aber es gibt keine Beweise dafür, andere Algorithmen sind nur neuer.
Es ist wirklich schade, dass Menschen immer noch behaupten, dass neuronale Netze versagt haben, weil sie viel einfacher sind als das menschliche Gehirn - neuronale Netze werden nicht mehr zur Modellierung von Gehirnen verwendet -, das vor 50 Jahren war.
Es ist ein mathematisches Schema zum Erstellen einer Gleichung (unter Verwendung mehrerer numerischer Eingaben und Bereitstellung einer einzelnen numerischen Ausgabe) mit einstellbaren Koeffizientengewichten. Es gibt Algorithmen, mit denen die Koeffizienten angepasst werden können, damit sich die Gleichung den erwarteten Ausgaben annähert, wenn ein Trainingssatz aus Eingaben und erwarteten Ausgaben besteht.
Das einfachste Beispiel ist zusammen mit Grafiken auf Wikipedia verfügbar . Dieses Beispiel ist als XOR bekannt.
In einfachen Worten, wie Sie gefragt haben, ist Neural Network eine gescheiterte Idee, biologische neuronale Netze nachzuahmen. Es gab nie interessante Ergebnisse und wird es wahrscheinlich nie tun, weil:
(1) Es ist zu simpel im Vergleich zu dem, was Sie mit jeder Turing-vollständigen Programmiersprache tun können
(2) Es ist im Vergleich zu biologischen neuronalen Netzen zu simpel: Sie erwiesen sich als komplexer, als es zum Zeitpunkt der Erstellung der NN-Theorie angenommen wurde.
Jede Behauptung, dass neuronale Netze bei jeder Aufgabe, die in realen Anwendungen verwendet wird, erfolgreich sind, ist übertrieben.
Komm, stimme mich ab.