Neuronales Netz trainieren.
-
Ich programmiere ein Multilayer Perceptron zur Gesichtserkennung und wollte wissen wie ich es am besten trainiere. Soll ich einen genetischen Algorithmus oder Backpropagation verwenden? Was ist schneller beim Lernen neuer Muster?
-
Hi. AFAIK gibt es, wenn man von ganz simplen Fällen absieht, keine allgemeinen "wissenschaftlich fundierten" Vorgehensweisen, was das Design von neuronalen Netzen und das Design der hierauf genutzten Lernverfahren betrifft. Es gibt da also keine allgemeine Antwort drauf: Ein Lernverfahren, das in einem Fall sehr gut sein kann, kann in einem anderen Fall wieder nicht so gut sein. ...und nur Du weißt, wie Du das neuronale Netz eigentlich genau ansetzt. Da sind also mehr Erfahrungswerte gefordert. Du musst durch entsprechende Experimente selbst herausfinden, wie du das neuronale Netz und die Trainingsmenge dimensionieren musst, damit kein Overfitting oder Underfitting auftritt und Du musst auch selbst durch entsprechende Experimente herausfinden, welche Lernalgorithmen in deinem Anwendungsfall am Schnellsten zum Erfolg führen und wie gut dann am Schluss das Ergebnis ist.
Mit anderen Worten: "Neuronale Netze sind was zum rumfrickeln!"
Experimentiere und sammle Erfahrung.
Allerdings wird es gerade bezüglich dieses Anwendungsgebiets jede Menge Literatur geben. Insofern ist es vielleicht sinnvoll, wenn Du recherchierst, inwiefern Du hier von den Erfahrungen anderer profitieren kannst.
(...kann auch sein, dass ich völlig falsch liege, oder dass meine Äußerungen hier auf veralteten Daten oder so basieren. Das sind hier mehr oder weniger "Informationen aus zweiter oder dritter Hand". Insofern kann es sein, dass ich Dinge falsch verstanden habe, falsch wiedergebe oder ähnliches. Aber dann wird mich hier sicher jemand korrigieren.)
-
Backpropagation ist eigentlich der Standardalgorithmus für MLP, daneben gibt es noch ein paar andere mit Modifikationen denen aber sozusagen der BP zugrunde liegt.
Da du ja so erpicht darauf bist das mit KNNs zu lösen bleibt die Frage ob ein MLP sinnvoll dafür eingesetzt werden kann oder ob es nicht andere Netzarten gibt die "besser" wären. D.h. du müsstest dir einen fertigen Simulator schnappen und mal rumprobieren, ich weiß jetzt nicht was der SNNS (Stuttgarter Neuronale Netze Simulator) alles so kann.
tt
-
TheTester schrieb:
ich weiß jetzt nicht was der SNNS (Stuttgarter Neuronale Netze Simulator) alles so kann.
Alles!
Hat aber die grauenhafteste GUI wo gibt.
:p
-
Echte Freaks brauchen keine GUI ;).
-
Janine schrieb:
Ich programmiere ein Multilayer Perceptron zur Gesichtserkennung und wollte wissen wie ich es am besten trainiere. Soll ich einen genetischen Algorithmus oder Backpropagation verwenden? Was ist schneller beim Lernen neuer Muster?
Kommt auf den Einsatzzweck an!
Das Filtern von klar zuordbaren Gesichtsmusstern
favorisiert wohl den rProp, weil er schneller ist.Das Filtern von veränderten Gesichtsmustern (Gesichtschirogie)
wird der GA wohl erfolgreicher sein.cu
P84