Neuronale Netze. Fragen an die Experten. - Seite 19

 

Es ist ein "kleines" Problem aufgetreten.

Wenn wir dasselbe Netz mit denselben Trainingsbeispielen (TS) füttern, aber vor dem Training mit zufälligen Gewichten initialisieren,

dann kann das Netz jedes Mal anders trainieren, mit unterschiedlichen Ergebnissen für dieselbe Testprobe.

Die FANN-Bibliothek wird verwendet.

Sie wollten wissen, wie sich Statistik 6 in einer ähnlichen Situation verhalten würde?

Und hier führen Netze mit der gleichen Architektur zu unterschiedlichen Ergebnissen.

Zur Veranschaulichung habe ich zwei Netze mit maximal unterschiedlichen Ergebnissen gewählt. Sie können sehen, dass ihre Leistung genau das Gegenteil ist.


Die Grafiken der Aktivierungsschwellen bestätigen, dass diese beiden Netzwerke auf demselben OP völlig unterschiedlich trainiert wurden.

(Die vollständigen Ergebnisse für alle Netze und Daten für alle Stichproben sind beigefügt)


...............................................

Gibt es Vorschläge, wie man Stabilität im Lernprozess des neuronalen Netzes erreichen kann?

 
lasso:

Ein "kleines" Problem ist aufgetaucht.....

das Netz kann jedes Mal anders trainiert werden, mit unterschiedlichen Ergebnissen bei der gleichen Testprobe....

Können Sie mir sagen, wie ich beim Training eines neuronalen Netzes Stabilität erreichen kann?


Es ist also eine Frage der Fragen) Viele Methoden werden für das Training von NS verwendet, aber alle unterscheiden sich verständlicherweise von direkter roher Gewalt. Und alle haben einen wesentlichen Nachteil gemeinsam: die Lähmung oder das Steckenbleiben in einem lokalen Extremum. Es gibt keine allgemeingültige Lösung, außer der Erhöhung der Qualität des Lernmechanismus/-algorithmus und der Erhöhung der Lernzeit (der Anzahl der Epochen des Lernens). Und in jedem Fall wird es anders gelöst.
 
lasso:

Können Sie mir sagen, wie man Stabilität im Lernprozess eines neuronalen Netzes erreicht?

GAs verwenden.
 
lasso:


Können Sie mir sagen, wie man Stabilität im Lernprozess eines neuronalen Netzes erreicht?


SVM.

Beispiel für zwei Klassen:

Mögliche Teilungsflächen.... MLP BP wird einen von beiden finden und stoppen .....

Wie bei SVM:

Dieser Mod wird immer eine einzige Teilungsebene finden ....

Oder GA wie oben vorgeschlagen....

Viel Glück ....

 
Figar0:

Es geht also um Fragen) Viele Methoden werden für das NS-Training verwendet, aber alle unterscheiden sich aus offensichtlichen Gründen von direkter roher Gewalt. Und sie alle haben einen wesentlichen Nachteil gemeinsam: Lähmung oder Feststecken in einem lokalen Extremum. Es gibt keine allgemeingültige Lösung, außer der Erhöhung der Qualität des Lernmechanismus/-algorithmus und der Erhöhung der Lernzeit (der Anzahl der Epochen des Lernens). Und in jedem Fall wird es anders gelöst.

Wenn es darum geht, in einem lokalen Extremum stecken zu bleiben, dann denke ich, dass in diesem Fall die Ergebnisse alle "gut" sein sollten und sich nur in einem bestimmten Bereich unterscheiden - "besser", "schlechter"...

Aber keine drastische Veränderung der Testergebnisse! Verstehen Sie das?

Hier sind die Ergebnisse der Läufe während des 1-monatigen Testzeitraums:

-9337

+5060

+14522

+7325

+12724

-3475

+10924

-9337

+5060

-3475

-9337

-3475

................................

Hier raten die ausländischen Genossinnen und Genossen zur Anwendung der Netzwerkausschüsse

aber ich glaube nicht, dass dies die beste Lösung ist...

Insbesondere möchte ich daran erinnern, dass die im Problem vorgeschlagenen OP-Daten mit linearen Methoden recht leicht zu trennen sind,

Und ist es unmöglich, eine einfache und stabile Lösung in Form von NS zu finden.

 

Ich verstehe das mit dem GA nicht, was gilt für die Suche nach?

...............

Das heißt, GA nicht zusätzlich zu den NS, sondern anstelle von ihnen anwenden?

 
lasso:

Ich verstehe das mit dem GA nicht, was gilt für die Suche nach?

...............

Das heißt, GA nicht zusätzlich zu den NS, sondern anstelle von ihnen anzuwenden?


GAs können NS-Gewichte aufgreifen, und alles kann als Fitnessfunktion verwendet werden... Sie können nach EMA GA suchen, soweit ich mich erinnere...
Aber um ehrlich zu sein, verstehe ich nicht, wie dieses GA Ihnen helfen soll, es kann auch an verschiedenen Stellen aufhören... genau wie der NS...

Und im Allgemeinen ist es, ehrlich gesagt, ein normales Phänomen, solange sie sich nicht zu sehr unterscheiden...

 
lasso:

Wenn es darum geht, in einem lokalen Extremum stecken zu bleiben, dann denke ich, dass in diesem Fall die Ergebnisse alle "gut" sein sollten und sich nur in einem bestimmten Bereich unterscheiden - "besser", "schlechter"...

Aber keine drastische Veränderung der Testergebnisse! Verstehen Sie?


Hier ist es wahrscheinlich, dass das Netz nicht über-, sondern untertrainiert ist. Der Grund dafür ist offenbar eine nicht ausreichend gute Architektur.

Obwohl es zu Übertraining kommen kann - wenn die Netzstruktur übermäßig redundant ist und die anfängliche Initialisierung zufällig ist, kann das Netz jedes Mal an verschiedenen Extremen hängen bleiben, daher die starken Unterschiede in den Ergebnissen

 
alsu:

Hier ist es wahrscheinlich, dass das Netz nicht über- sondern untertrainiert ist. Der Grund dafür scheint ein Mangel an Qualitätsarchitektur zu sein.

Obwohl es zu Übertraining kommen kann - wenn die Netzstruktur übermäßig redundant ist und die anfängliche Initialisierung zufällig ist, kann das Netz jedes Mal an verschiedenen Extremen hängen bleiben, daher die starken Unterschiede in den Ergebnissen

Welche Daten oder Ergebnisse müssen Sie vorlegen, damit Sie konkret feststellen können, wo das Problem liegt?
 

Noch eine Sache. Ich bin beunruhigt über die "Enge" des Spektrums der derzeitigen Netzausgänge. Zur Klarstellung:

-- das MLP-Netz ist 1-7-1

-- Die Eingaben in das Netz sind gleichmäßig im Bereich [0;1] verteilt, die Ausgaben in den Trainingsbeispielen sind 1 und -1.

Wenn nach dem Training der gesamte Bereich der Eingabewerte durch das Netz geleitet wird, sehen wir, dass die Ausgänge des Netzes in einem sehr engen Bereich liegen. Zum Beispiel:

opt_max_act=-0.50401336 opt_min_act=-0.50973881 step=0.0000286272901034

oder sogar so

opt_max_real=-0.99997914 opt_min_real=-0.99999908 step=0.00000010

.............................

Ist das richtig oder nicht?