Neuronales Netz in Form eines Skripts - Seite 11

 

"Veränderung der Anzahl der Neuronen in den Schichten".

Anzahl der Neuronen in den Schichten

1. dasselbe:

2. anders:

a) ihre Anzahl von Schicht zu Schicht zunimmt;

b) von einer Schicht zur anderen abnehmen.

c) das Verhältnis erhöhen (verringern)?

 
Neutron писал (а) >>

Das Produkt aus der Anzahl der Eingaben und dem Umfang der Trainingsstichprobe (Anzahl der Muster) sollte gleich dem Quadrat der NS-Gewichte sein.

Diese Zahl macht mir ein wenig Angst. Handelt es sich dabei überhaupt um eine Mindestzahl für den Normalbetrieb oder um eine optimale Zahl?

Mit anderen Worten: Wenn ich einen Vektor mit 20 Werten eingebe und die Gesamtzahl der Vektoren mindestens 50000 beträgt, bedeutet dies, dass die Anzahl der Gewichte im Netz nicht weniger als Sqrt(20*50000)=1000 betragen muss. Oder?

 

Eine leicht umformulierte Frage von Andy_Kon.

Ich habe Beispiele für Netzwerke gesehen, die nach dem Wellenprinzip organisiert sind, z. B. 20-50-10-1 oder 20-40-1. Das heißt, in der Mitte des Netzes findet eine Erweiterung statt. (die Anzahl der Neuronen der versteckten Schicht ist um ein Vielfaches größer als die der Eingabeschicht).

Bei Tests meiner Maschen kam ich zu dem Schluss, dass das Lernen umso reibungsloser verläuft, je mehr versteckte Neuronenschichten vorhanden sind, und dass das Ergebnis bei der Ausgabe irgendwie verschmiert ist. Wenn zum Beispiel 20-20-1, dann findet das Netz die Lösung schärfer und produziert scharfe Werte an den Ausgängen.

Gibt es zum Beispiel theoretische und praktische Grundsätze für die optimale Anzahl von Neuronen in versteckten Schichten in Abhängigkeit von der Anzahl der Eingangsneuronen?

Ich danke Ihnen.

 
Andy_Kon писал (а) >>

"Veränderung der Anzahl der Neuronen in den Schichten".

Anzahl der Neuronen in den Schichten

1. dasselbe:

2. anders:

a) ihre Anzahl von Schicht zu Schicht zunimmt;

b) von einer Schicht zur anderen abnehmen.

c) das Verhältnis erhöhen (verringern)?

Nun, ich habe einen Link zu einem Theorem angegeben, demzufolge eine versteckte Schicht ausreicht.

Deshalb verschwinden alle aufgezählten Probleme von selbst. Eine andere Sache ist, wenn Sie sich entschieden haben, die Dimensionalität der Eingaben mit Hilfe der nichtlinearen Hauptkomponentenmethode zu verringern oder hybride NS mit kompetitiven Schichten zu verwenden... aber dann müssen auch die Fragen angemessen sein.

sergeev schrieb (a) >>

Ich bin ein wenig eingeschüchtert von dieser Figur. Ist dies überhaupt die Mindestzahl für den Normalbetrieb oder das Optimum?

Das heißt, wenn ich einen Vektor mit 20 Werten nehme und die Gesamtzahl der Vektoren mindestens 50000 beträgt, bedeutet dies, dass das gesamte Netzwerk der Gewichte nicht weniger als Sqrt(20*50000)=1000 enthalten sollte? Ist das richtig?

Richtig.

Hier ist ein Link zu dem Buch von Ezhov und Shumsky "Neurocomputing", in dem diese Frage oberflächlich (verständlich) untersucht wird.

 
Andy_Kon писал (а) >>
Wie hängt die Dimensionalität und "Schichtung" des Netzes von der Anzahl der Muster (Patterns) ab?

1. Die ausgeblendete Schicht muss um mindestens 1 Element größer sein als die Eingabeschicht, da sonst die Informationen in der ausgeblendeten Schicht komprimiert werden, was dem Ergebnis nicht zuträglich ist.

2. Berücksichtigen Sie die Anzahl der zu ändernden Parameter. Wenn die Anzahl der Parameter die Anzahl der Muster übersteigt, besteht die Gefahr, dass das Netz übertrainiert wird. Es muss mehr Muster geben. Sie können die Größe des Netzes verringern, während das Netz lernt.

 
sergeev писал (а) >>

Eine leicht umformulierte Frage von Andy_Kon.

Ich habe Beispiele für Netzwerke gesehen, die nach dem Wellenprinzip organisiert sind, z. B. 20-50-10-1 oder 20-40-1. Das heißt, in der Mitte des Netzes findet eine Erweiterung statt. (die Anzahl der Neuronen der versteckten Schicht ist um ein Vielfaches größer als die der Eingabeschicht).

Bei Tests meiner Maschen kam ich zu dem Schluss, dass das Lernen umso reibungsloser verläuft, je mehr versteckte Neuronenschichten vorhanden sind, und dass das Ergebnis bei der Ausgabe irgendwie verschmiert ist. Wenn zum Beispiel 20-20-1, dann findet das Netz die Lösung schärfer und produziert scharfe Werte an den Ausgängen.

Gibt es zum Beispiel theoretische und praktische Grundsätze für die optimale Anzahl von Neuronen in versteckten Schichten in Abhängigkeit von der Anzahl der Eingangsneuronen?

Ich danke Ihnen.

Besser noch: 20-21-1

 
TheXpert писал (а) >>

Oder noch besser: 20-21-1

Übrigens ist mir auch aufgefallen, dass die versteckte Schicht die Anzahl der Neuronen nicht zu einem Vielfachen der Eingabeschicht macht. >> Warum?

 
Neutron писал (а) >>

Ich habe einen Link zu dem Theorem angegeben, das besagt, dass eine versteckte Schicht ausreicht.

Damit verschwinden natürlich alle oben genannten Probleme. Eine andere Sache ist, ob Sie sich entschieden haben, die Dimensionalität der Eingaben mit Hilfe der nichtlinearen Hauptkomponentenmethode zu reduzieren oder hybride NS mit kompetitiven Schichten zu verwenden... aber dann müssen die Fragen angemessen sein.

Dennoch werden viele Probleme durch ein 5-schichtiges Perseptron gelöst, die Existenz des Theorems bedeutet nicht, dass ein 3-schichtiges Perseptron ein Allheilmittel ist.


Was ist besser - die Verwendung eines 5-6-6-2-Netzes oder ein 3-Schichten-Ersatz von 5-25-2? Eine so große Zahl könnte durchaus für eine angemessene Nichtlinearität sorgen.

Übrigens: Kennen Sie die konvergenteste Architektur für XORa?

0 ----
 \     \
  0 ----0 --->
 /     /
0 ----

4 Neuronen Mitte - sigmoidal

 
sergeev писал (а) >>

Übrigens ist mir auch aufgefallen, dass die Anzahl der Neuronen in der versteckten Schicht nicht ein Vielfaches der Eingabeschicht ist. >> Warum?

Meiner Erfahrung nach gilt: Je näher am Eingang, desto besser. 21 ist optimal für 20 Eingänge.

 
TheXpert писал (а) >>

In meiner Praxis gilt: je näher am Eingang, desto besser, 21 - optimal für 20 Eingänge


Hmmm... gibt es eine Möglichkeit, dies optimal zusammenzufassen. Und über die 5- und 3-lagigen frage ich mich auch. Wo bleibt die Theorie?