Nombre optimal de couches dans un réseau neuronal?


13

Comment décider du nombre optimal de couches à créer lors de la mise en place d'un réseau neuronal (Feedforward, back propagation ou RNN)?

Réponses:


8

Il existe une technique appelée Pruningdans les réseaux de neurones, qui est utilisée uniquement dans ce même but.

L'élagage se fait sur le nombre de couches cachées. Le processus est très similaire au processus d'élagage des arbres de décision. Le processus d'élagage se fait comme suit:

  • Entraînez un grand réseau densément connecté avec un algorithme de formation standard
  • Examiner le réseau formé pour évaluer l'importance relative des poids
  • Supprimer le ou les poids les moins importants
  • recycler le réseau élagué
  • Répétez les étapes 2 à 4 jusqu'à ce que vous soyez satisfait

Cependant, il existe plusieurs méthodes optimisées pour l'élagage des réseaux de neurones, et c'est également un domaine de recherche très actif .


Une approche symétrique est la "recherche de grille" commune appliquée à l'architecture de réseau. Commencez petit (si vite) et essayez automatiquement des architectures plus grandes. Tout cela n'est que de la force brute, cependant ...
Eric Platon

@EricPlaton +1 pour la recherche dans la grille. Très pratique dans les algues ML hypertunantes. Mais n'est-ce pas très intensif en calcul?
Dawny33

1
Oui, c'est cher. Pourtant, lorsque nous pouvons commencer petit, les premières étapes peuvent aller assez vite et donner une meilleure idée de ce à quoi viser.
Eric Platon

@EricPlaton "Grid Search" mériterait une réponse séparée pour son propre :)
Dawny33

J'y ai pensé, mais il y aurait alors deux réponses alternatives et peut-être "tout aussi correctes" ... Je pensais que le mieux pour le lecteur était de compiler la réponse comme une seule.
Eric Platon

0

Vous pouvez jeter un oeil à l'optimisation de l'hyperparamètre bayésien comme méthode générale d'optimisation de la perte (ou quoi que ce soit) en fonction des hyperparamètres. Mais notez qu'en général, plus votre réseau est profond, mieux c'est, donc optimiser la perte en fonction du nombre de couches n'est pas une chose très amusante à faire.

La recherche dans la grille et un peu de bon sens (comme en témoignent de nombreux exemples) devraient être votre meilleur choix.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.