Jalue hat geschrieben: ↑Sa 05 Aug, 2023 13:31
Also, der "Hund Jalue" versteht die Sache so: Da gibt's die Black Box "Neuron" mit X Eingängen. Der Input aus dem Eingängen wird in der Black Box -qua einprogrammierten Erfahrungswerten- vermittels Bias und Gewichten so modifiziert, das ein wahrscheinlich korrekter, summierter Output dabei herauskommt.
Ich bin mir jetzt nicht ganz sicher, wie ich Dich verstehen soll. Die Eingabe wird jedenfalls an ein oder mehrere künstliche Neuronen weitergegeben und von ihnen wird jeweils aus den Eingaben eine gewichtete Summe als Ausgabe berechnet.
Jalue hat geschrieben: ↑Sa 05 Aug, 2023 13:31
Das wird nun an den nächsten Layer aus Neuronen weitergeleitet, in dem, so meine Vermutung, die Ergebnisse aus dem ersten Layer weiter summiert und fehlerkorrigiert werden. Je mehr Neuronen pro Layer und je mehr Layer insgesamt, desto präziser das Endergebnis und desto schneller der Prozess. So in etwa?
Ob ein oder mehrere Schichten muss man als Blackbox sehen, die vom Problem abhängt. Jedenfalls kann man nicht grundsätzlich sagen, dass viele Schichten und viele Neuronen immer bessere Ergebnisse liefern (im Extremfall werden überflüssige Neuronen durch entsprechende Null-Gewichte einfach ausgeblendet).
Man kann auch nicht grundsätzlich sagen, dass weitere Schichten ein Ergebnis verfeinern, so dass man z.B. schon nach der Hälfte der Schichten abbrechen könnte, um ein zwar ungenaueres aber doch in die richtige Richtung gehendes Ergebnis zu extrahieren.
Je nach Aufgabenstellung könnte sogar eine Schicht bestehend aus einem einzigen Perzeptron ausreichen (z.B. Nachbildung der booleschen NAND Funktion mittels Perzeptron).
Je mehr Neuronen und je mehr Schichten, desto länger dauert die Berechnung, denn es muss viel mehr multipliziert und aufsummiert werden. Bei großen Netzen kann man mitunter nicht so genau sagen, was in welchem Teil "passiert", d.h. inwieweit welcher Teil des Netzes zu welchem Teil der Entscheidungsfindung beiträgt. Das macht sie Sache unter Umständen problematisch, denn man kann die Korrektheit nicht so einfach beweisen, wie man es bei herkömmlicher Programmlogik kann. Auch weiß man nicht sicher, ob womöglich Trainingsdaten nicht doch irgendwo im Netz unverfälscht derart als Gewichte gespeichert werden, dass sie über geschickte Eingaben wieder herausgeholt werden können. Das lässt die Frage nach möglichen Urheberrechtsverletzungen aufkommen.
Jalue hat geschrieben: ↑Sa 05 Aug, 2023 13:31
Aber was mir bei all dem aber nicht klar ist: Wie kann so ein "neuronales Netzwerk"
eigenständig lernen? Denn das ist ja das eigentlich Neue daran oder?
Das neue ist, dass man die Gewichte im Netz mit Hilfe vieler Trainingsdaten algorithmisch bestimmen kann, man also nur die Struktur und Aktivierungsfunktionen vorgibt. Darüber hinaus muss man auch nicht verstehen, warum das fertige Netz funktioniert.
Eigenständig lernen kann ein einfaches feedforward Netz, wie wir es hier besprochen haben, jedoch nicht, d.h. bei seiner reinen Anwendung verändert es nicht automatisch seine Gewichte. Veränderungen dieser muss man schon explizit anstoßen/durchführen/umsetzen.
Es ist natürlich möglich ein auf neuronalen Netzen basierendes System zu bauen das sich weiter anpasst, um aus bekannt gewordenen Fehlern zu lernen oder sich anderweitig zu adaptieren (z.B. auf die Handschrift einer bestimmten Person, nachdem es zunächst anhand der Handschrift der Durchschnittsbevölkerung trainiert wurde).