Comment choisir le nombre de couches cachées et les nœuds de réseau de neurones?
Quel est le nombre de couches cachées dans un réseau de neurones de type perceptron multicouche faire à la manière de réseau de neurones se comporte? Même question pour le nombre de nœuds dans les couches cachées?
Disons que je veux utiliser un réseau de neurones pour les écrits à la main de la reconnaissance de caractères. Dans ce cas, j'ai mis des pixels de la couleur de valeurs d'intensité que les nœuds d'entrée, et les classes de caractères comme des nœuds de sortie.
Comment puis-je choisir le nombre de couches cachées et les nœuds pour résoudre un tel problème?
- Juste pour faire savoir par où commencer, vous savez ce que vous avez besoin d'une couche cachée pour? En passant, je ne pense pas que vous pouvez obtenir une réponse parfaite à cette question
- Ce que je comprends de couches cachées permet généralement à des relations plus complexes.. je suis conscient qu'il pourrait y avoir pas de réponse parfaite, mais que dois-je rechercher lors de la décision sur le nombre de couches/nœuds?
- Vous devez commencer par comprendre pourquoi vous avez encore besoin de couches cachées (XOR).
- Combien de couches cachées dois-je utiliser? Combien d'unités cachées dois-je utiliser?
- Doublons possibles: [qu'est-Ce que les critères de choix du nombre de couches cachées et les nœuds dans la couche cachée?][1] [Estimation du nombre de neurones et le nombre de couches d'un réseau de neurones artificiels][2] [1]: stackoverflow.com/questions/10565868/... [2]: stackoverflow.com/questions/3345079/...
- Double Possible de multi-layer perceptron (MLP) l'architecture: les critères de choix du nombre de couches cachées et de la taille de la couche cachée?
- Double Possible de Rôle de Biais dans les Réseaux de Neurones
Vous devez vous connecter pour publier un commentaire.
Remarque: la réponse était correcte au moment où elle a été faite, mais est depuis devenu obsolète.
Il est rare d'avoir plus de deux couches cachées dans un réseau de neurones. Le nombre de couches n'est généralement pas un paramètre de votre réseau, vous aurez à vous soucier de la.
Bengio, Y. & LeCun, Y., 2007. Mise à l'échelle des algorithmes d'apprentissage vers l'IA. À grande Échelle du Noyau Machines, (1), pp. 1-41.
L'article cité est une bonne référence pour l'apprentissage au sujet de l'effet de réseau profondeur, les progrès récents dans l'enseignement de la profondeur des réseaux et la profondeur de l'apprentissage en général.
attentuation
problèmes, des modèles tels que la propagation de l'formés perceptron multicouche ont des problèmes avec le trop grand nombre de couches. Si vous allez avoir beaucoup de couches cachées, vous voulez regarder dans l'apprentissage en profondeur qui peuvent répondre à cette question.La réponse générale est pour la cueillette hyperparameters est de les valider. Maintenez une partie des données, de former des réseaux avec des configurations différentes, et d'utiliser celui qui effectue le meilleur sur le lieu défini.
La plupart des problèmes que j'ai vu ont été résolus avec 1-2 couches cachées. Il est prouvé que les Scm avec une seule couche cachée sont fonction universelle approximators (Hornik et. al.). Plus de couches cachées peut rendre le problème plus facile ou plus difficile. Vous avez généralement à essayer différentes topologies. J'ai entendu dire que vous ne pouvez pas ajouter un nombre quelconque de couches cachées si vous souhaitez former votre MLP avec backprop parce que le gradient sera devenu trop petit dans les premières couches (je n'ai pas de référence à ce sujet). Mais il y a certaines applications où les gens utilisés jusqu'à neuf couches. Peut-être vous êtes intéressé par un problème de norme de référence qui est résolu par différents classificateurs et MLP topologies.
Outre le fait que la validation croisée sur les différentes configurations de modèles(no. de couches cachées OU des neurones par couche) vous conduira à choisir la meilleure configuration.
Une approche de la formation est un modèle, aussi grand et profond que possible et d'utiliser abandon de régularisation à désactiver certains neurones et de réduire surajustement.
la référence à cette approche peut être considérée dans le présent document.
https://www.cs.toronto.edu/~hinton/afslb/JMLRdropout.pdf
Toutes les réponses ci-dessus sont, bien sûr, correct mais juste pour ajouter un peu plus d'idées:
Quelques règles générales sont les suivantes basé sur ce livre: 'l'Approximation Nombre de neurones de la couche Cachée dans Plusieurs Couche Cachée réseaux neuronaux rétropropagateurs Architecture" par Saurabh Karsoliya.
En général:
Gardez toujours à l'esprit que vous avez besoin d'explorer et d'essayer un grand nombre de différentes combinaisons. Aussi, à l'aide de
GridSearch
, vous pourrez trouver le "meilleur modèle et les paramètres".E. g. nous pouvons faire un GridSearch afin de déterminer le "meilleur" de la taille de la couche cachée.