Réseau neuronal sous forme de script - page 11

 

" changement du nombre de neurones dans les couches "

Nombre de neurones dans les couches

1. la même chose :

2. différents :

a) augmenter en nombre de couche en couche ;

b) diminuer d'une couche à l'autre.

c) le rapport d'augmentation (diminution) ?

 
Neutron писал (а) >>

Le produit du nombre d'entrées par la taille de l'échantillon d'apprentissage (nombre de modèles) doit être égal au carré des poids NS.

Je suis un peu effrayé par ce chiffre. S'agit-il d'un nombre minimum pour un fonctionnement normal ou d'un nombre optimal ?

En d'autres termes, si je donne un vecteur de 20 valeurs à l'entrée et que le nombre total de vecteurs est d'au moins 50000, cela signifie que le nombre de poids dans le réseau ne doit pas être inférieur à Sqrt(20*50000)=1000 ? N'est-ce pas ?

 

Une question légèrement reformulée par Andy_Kon.

J'ai vu des exemples de réseaux organisés selon le principe des ondes, par exemple 20-50-10-1 ou 20-40-1. C'est-à-dire qu'il y a une expansion du réseau au milieu. (le nombre de neurones de la couche cachée est plusieurs fois supérieur à celui de la couche d'entrée).

Après avoir testé mes maillages, j'en suis arrivé à la conclusion que plus il y a de couches cachées de neurones, plus l'apprentissage se fait en douceur et plus le résultat est étalé sur la sortie. Si par exemple 20-20-1, le réseau trouve une solution plus précise et produit des valeurs précises aux sorties.

Si par exemple des principes théoriques et pratiques du nombre optimal de neurones dans les couches cachées en fonction du nombre de neurones d'entrée.

Merci.

 
Andy_Kon писал (а) >>

" changement du nombre de neurones dans les couches "

Nombre de neurones dans les couches

1. la même chose :

2. différents :

a) augmenter en nombre de couche en couche ;

b) diminuer d'une couche à l'autre.

c) le rapport d'augmentation (diminution) ?

J'ai donné un lien vers un théorème, selon lequel une couche cachée est suffisante.

C'est pourquoi tous les problèmes énumérés disparaissent naturellement. Une autre chose est que si vous avez décidé de réduire la dimensionnalité des entrées en utilisant la méthode des composantes principales non linéaires ou en utilisant une NS hybride avec une couche compétitive... mais alors les questions doivent être appropriées aussi.

sergeev a écrit (a) >>

J'étais un peu intimidé par cette figure. Est-ce même le nombre minimum pour un fonctionnement normal ou l'optimum ?

Autrement dit, si je prends un vecteur de 20 valeurs et que le nombre total de vecteurs est d'au moins 50000, cela signifie que le réseau entier de poids ne devrait pas contenir moins de Sqrt(20*50000)=1000 ? C'est bien ça ?

Correct.

Voici un lien vers le livre d'Ezhov et Shumsky "Neurocomputing" où cette question est étudiée superficiellement (intelligiblement).

 
Andy_Kon писал (а) >>
Quelle est la dépendance de la dimensionnalité et de la "stratification" du réseau par rapport au nombre de patrons (patters) ?

1. La couche cachée doit être plus grande que la couche d'entrée d'au moins 1 élément, sinon les informations de la couche cachée seront compressées, ce qui n'aide en rien le résultat.

2. Tenez compte du nombre de paramètres à ajuster. Si le nombre de paramètres dépasse le nombre de modèles, vous risquez d'avoir un réseau surentraîné. Il doit y avoir d'autres modèles. Vous pouvez réduire la taille du réseau pendant que celui-ci est en cours d'apprentissage.

 
sergeev писал (а) >>

Une question légèrement reformulée par Andy_Kon.

J'ai vu des exemples de réseaux qui sont organisés en forme de vague, par exemple 20-50-10-1 ou 20-40-1. C'est-à-dire qu'il y a une expansion du réseau au milieu. (le nombre de neurones de la couche cachée est plusieurs fois supérieur à celui de la couche d'entrée).

Après avoir testé mes maillages, j'en suis arrivé à la conclusion que plus il y a de couches cachées de neurones, plus l'apprentissage se fait en douceur et plus le résultat est étalé sur la sortie. Si par exemple 20-20-1, le réseau trouve une solution plus précise et produit des valeurs précises aux sorties.

Si par exemple des principes théoriques et pratiques du nombre optimal de neurones dans les couches cachées en fonction du nombre de neurones d'entrée.

Merci.

Mieux encore, 20-21-1

 
TheXpert писал (а) >>

Ou mieux encore, 20-21-1

Au fait, j'ai aussi remarqué que la couche cachée ne fait pas du nombre de neurones un multiple de la couche d'entrée. >> Pourquoi ?

 
Neutron писал (а) >>

Eh bien, j'ai donné un lien vers le théorème qui dit qu'une couche cachée est suffisante.

Tous les problèmes susmentionnés disparaissent donc naturellement. Une autre chose est que si vous avez décidé de réduire la dimensionnalité des entrées en utilisant la méthode des composantes principales non linéaires ou d'utiliser une NS hybride avec une couche compétitive... mais alors les questions doivent être appropriées.

Néanmoins, de nombreux problèmes sont résolus par un perseptron à 5 couches, l'existence du théorème ne signifie pas qu'un perseptron à 3 couches est une panacée.


Qu'est-ce qui est le mieux : utiliser un réseau 5-6-6-2 ou remplacer le 5-25-2 par un réseau à trois couches ? Un nombre aussi important pourrait bien fonctionner pour une non-linéarité correcte.

Au fait, connaissez-vous l'architecture la plus convergente pour XORa ?

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

4 neurones moyen -- sigmoïdal

 
sergeev писал (а) >>

Au passage, j'ai également remarqué que le nombre de neurones de la couche cachée n'est pas un multiple de la couche d'entrée. >> Pourquoi ?

D'après mon expérience, plus l'entrée est proche, mieux c'est. 21 est optimal pour 20 entrées.

 
TheXpert писал (а) >>

Dans ma pratique, plus on est proche de l'entrée, mieux c'est, 21 -- optimum pour 20 entrées.


Hmmm... y a-t-il un moyen de résumer cet optimum ? Et je me pose aussi la question pour les 5 et 3 plis. Où est la théorie ?

Raison: