Wenn Sie einen Vektor x
ins Netz eingeben, wird das Netz eine Ausgabe geben, die von allen Gewichten abhängt (Vektor w
). Es würde einen Fehler zwischen der Ausgabe und der wahren Antwort geben. Der durchschnittliche Fehler (e
) ist eine Funktion des w
, sagen wir e = F(w)
.Angenommen, Sie in einer Schicht zweidimensionalen Netzwerk haben, dann wird das Bild von F
kann wie folgt aussehen:
Wenn wir über Ausbildung reden, sprechen wir eigentlich über die w
zu finden, die die minimal macht e
. Mit anderen Worten suchen wir das Minimum einer Funktion. Um zu trainieren ist zu suchen.
So stellen Sie in Frage, wie Sie die Methode zum Suchen auswählen. Mein Vorschlag wäre: Es hängt davon ab, wie die Oberfläche von F(w)
wie aussieht. Je wendiger es ist, desto eher sollte eine randomisierte Methode verwendet werden, da die einfache Methode, die auf dem Gradienten-Abstieg basiert, eine größere Chance hat, Sie durch ein lokales Minimum gefangen zu halten - so verlieren Sie die Chance, das globale Minimum zu finden. Auf der anderen Seite, wenn die Oberfläche von F(w)
wie eine große Grube aussieht, dann vergessen Sie den genetischen Algorithmus. Eine einfache Rückpropagation oder irgendetwas, das auf einem Gradientenabstieg basiert, wäre in diesem Fall sehr gut.
Sie können fragen, wie kann ich wissen, wie die Oberfläche wie aussehen? Das ist eine Erfahrungserfahrung. Oder Sie möchten zufällig eine Stichprobe von w
eingeben und F(w)
berechnen, um eine intuitive Ansicht der Oberfläche zu erhalten.