Jedes beispielhafte neuronale Netzwerk zur Bilderkennung, über das ich gelesen habe, erzeugt eine einfache "Ja" - oder "Nein" -Antwort. Ein Ausgangsknoten entspricht "Ja, dies ist ein menschliches Gesicht" und einer entspricht "Nein, dies ist kein menschliches Gesicht".
Ich verstehe, dass dies zur Vereinfachung der Erklärung wahrscheinlich ist, aber ich frage mich, wie ein solches neuronales Netzwerk so programmiert werden könnte, dass es eine spezifischere Ausgabe liefert. Nehmen wir zum Beispiel an, ich habe Tiere klassifiziert. Anstatt "Tier" oder "Kein Tier" zu sagen, möchte ich Antworten wie "Hund", "Fisch", "Vogel", "Schlange" usw., wobei ein letzter Ausgangsknoten "Kein Tier / Ich" ist erkenne das nicht ".
Ich bin mir sicher, dass dies möglich sein muss, aber ich habe Probleme zu verstehen, wie. Es scheint, als ob aufgrund des Trainingsalgorithmus der Rückausbreitung von Fehlern, wenn Sie einen Ausgangsknoten trainieren (dh "Dies ist ein Hund") und die Gewichte der Neuronen geändert werden, dann der ideale Zustand für einen anderen Ausgangsknoten, den Sie zuvor hatten trainiert (dh "Dies ist ein Vogel") beginnt abzuweichen und umgekehrt. Das Training des Netzwerks zum Erkennen einer Kategorie würde also jedes Training sabotieren, das für eine andere Kategorie durchgeführt wird, und uns auf ein einfaches "Ja" - oder "Nein" -Design beschränken.
Macht dies einen solchen Erkenner unmöglich? Oder verstehe ich den Algorithmus falsch? Die einzigen zwei Dinge, an die ich denken kann, sind:
Entweder könnten wir ein neuronales Netzwerk für jede Sache trainieren, die wir klassifizieren möchten, und diese irgendwie verwenden, um ein größeres Supernetzwerk aufzubauen (zum Beispiel ein Netzwerk für "Hund", ein Netzwerk für "Vogel" usw., das wir irgendwie haben addieren, um das Supernetzwerk für "Tiere" zu schaffen); oder,
Erstellen Sie eine lächerlich komplizierte Trainingsmethode, die unglaublich fortgeschrittene Mathematik erfordert und irgendwie einen idealen Neuronengewichtszustand für alle möglichen Ausgaben erzeugt (mit anderen Worten
insert math magic here
).
(Randnotiz 1: Ich betrachte mehrschichtige Perzeptrone speziell als eine Art neuronales Netzwerk.)
(Randnotiz 2: Für die erste "mögliche Lösung" mit Aufzählungszeichen ist es nicht gut genug, jedes spezifische neuronale Netzwerk zu haben und es zu durchlaufen, bis wir eine "Ja" -Antwort erhalten. Ich weiß, dass dies ziemlich einfach gemacht werden kann, aber das ist einfach funktional Programmieren statt maschinelles Lernen. Ich möchte wissen, ob es möglich ist, ein neuronales Netzwerk zu haben, um die Informationen einzuspeisen und die entsprechende Antwort zu erhalten.)