Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Equipment >> Robot industriel

Choisir le bon nombre de couches cachées et de nœuds dans un réseau de neurones

Cet article offre des directives basées sur des preuves pour configurer la partie cachée d'un perceptron multicouche.

Dans les articles précédents de cette série, nous avons couvert les réseaux Perceptron, les architectures multicouches et les implémentations Python pratiques. Avant de décider de la profondeur et de la largeur de vos couches cachées, vous pouvez vouloir revoir les articles fondamentaux listés ci-dessous.

  1. Comment effectuer une classification avec un réseau de neurones : qu'est-ce que le perceptron ?
  2. Comment utiliser un exemple simple de réseau de neurones perceptron pour classifier des données
  3. Comment entraîner un perceptron de base
  4. Comprendre l'entraînement simple de réseau de neurones
  5. Introduction à la théorie de l'entraînement pour réseaux de neurones
  6. Comprendre le taux d'apprentissage dans les réseaux de neurones
  7. Apprentissage automatique avancé avec le perceptron multicouche
  8. La fonction d'activation sigmoïde : activation dans les réseaux de neurones perceptron multicouches
  9. Comment entraîner un perceptron multicouche
  10. Comprendre les formules d'entraînement et la rétropropagation pour perceptrons multicouches
  11. Architecture de réseau de neurones pour une implémentation Python
  12. Comment créer un perceptron multicouche en Python
  13. Traitement du signal avec réseaux de neurones : validation dans la conception de réseaux de neurones
  14. Jeux de données d'entraînement pour réseaux de neurones : comment entraîner et valider un réseau de neurones Python
  15. Choisir le bon nombre de couches cachées et de nœuds dans un réseau de neurones

Rappel sur les couches cachées

Revenons sur les points clés concernant les nœuds cachés :

Le diagramme ci-dessous illustre la structure de base d'un perceptron multicouche.

Choisir le bon nombre de couches cachées et de nœuds dans un réseau de neurones

Combien de couches cachées ?

Il n'y a pas de réponse unique. Cependant, une seule couche cachée dote déjà un réseau d'un pouvoir expressif remarquable. Si la performance est insatisfaisante, envisagez d'ajuster le taux d'apprentissage, d'étendre les époques d'entraînement, ou d'enrichir le jeu de données avant d'ajouter de la profondeur.

Ajouter une seconde couche cachée augmente la complexité du code et le temps d'inférence, et peut exacerber le surapprentissage — surtout quand les données d'entraînement sont limitées.

Le surapprentissage survient quand le réseau mémorise les particularités du jeu d'entraînement au lieu d'apprendre une application généralisable. Le diagramme suivant visualise ce phénomène.

Choisir le bon nombre de couches cachées et de nœuds dans un réseau de neurones

Un réseau hautement paramétré peut « sur-réfléchir » un problème, produisant une solution qui performe bien sur les données d'entraînement mais mal sur des échantillons inédits. La figure suivante montre comment une capacité excessive peut nuire à la généralisation.

Choisir le bon nombre de couches cachées et de nœuds dans un réseau de neurones

Quand une couche cachée supplémentaire est-elle justifiée ? Le Dr Jeff Heaton, dans son livre complet sur l'entraînement des réseaux de neurones, note qu'une seule couche cachée peut approximer toute fonction continue entre espaces finis. L'ajout d'une seconde couche permet au réseau de représenter des frontières de décision avec une précision arbitraire, mais seulement quand la complexité du problème le justifie vraiment.

Combien de nœuds cachés ?

Choisir le bon nombre de nœuds par couche cachée est un équilibre entre expressivité et risque de surapprentissage. Bien que l'expérimentation soit essentielle, le Dr Heaton fournit trois heuristiques pratiques (p. 159) qui servent de point de départ solide. Basé sur l'expérience en traitement du signal, je suggère les directives suivantes :

  1. Si le réseau a un seul nœud de sortie et que l'application est relativement simple, définissez la dimensionalité cachée aux deux tiers de la dimensionalité d'entrée.
  2. S'il y a plusieurs sorties ou que la relation est complexe, utilisez une taille cachée égale à la somme des dimensions d'entrée et de sortie — en la gardant en dessous du double de la taille d'entrée.
  3. Pour des applications extrêmement complexes, définissez la taille cachée à un de moins que le double de la dimensionalité d'entrée.

Conclusion

En suivant ces principes, vous pouvez configurer et affiner systématiquement les couches cachées d'un perceptron multicouche pour obtenir une performance robuste. Dans notre prochain article, nous démontrerons comment ces règles se traduisent en code Python concret et évaluerons leur impact sur des jeux de données réels.

Robot industriel

  1. Qu'est-ce qu'une presse à genouillère ? Comment elle fonctionne et pourquoi elle importe
  2. Comment fonctionnent les presses à crémaillère et pignon : Guide pratique
  3. Le Moulage par Transfert Expliqué : Processus, Avantages et Variantes
  4. Comprendre les Transmissions Véhicules : Types, Fonctions et Fonctionnement
  5. Ajout de nœuds de biais à un perceptron multicouche en Python
  6. Optimiser la taille de la couche cachée pour améliorer la précision du réseau de neurones
  7. Entraîner des réseaux de neurones avec Excel : construction et validation d'un perceptron multicouche Python
  8. Comprendre les Embrayages Industriels : Définition, Fonctionnement et Applications
  9. Comment déterminer la puissance nécessaire pour votre pompe hydraulique