Je sais qu'une architecture de réseau neuronal est principalement basée sur le problème lui-même et les types d'entrée / sortie, mais quand même - il y a toujours un "carré" quand on commence à en construire un. Donc, ma question est - étant donné un ensemble de données d'entrée de MxN (M est le nombre d'enregistrements, N est le nombre d'entités) et un C classes de sortie possibles - existe-t-il une règle empirique pour combien de couches / unités devrions-nous commencer?
neural-network
shakedzy
la source
la source
Réponses:
Cette question a reçu une réponse détaillée sur CrossValidated: comment choisir le nombre de couches et de nœuds cachés dans un réseau de neurones à action directe?
Cependant, permettez-moi d'ajouter mes propres deux cents:
Il n'y a pas de règle magique pour choisir la meilleure architecture de réseau neuronal, mais si vous pouvez trouver une architecture que quelqu'un a utilisée pour résoudre un problème similaire, c'est souvent un excellent point de départ.
Les meilleurs endroits à consulter sont des exemples officiels ou non officiels utilisant des bibliothèques de réseaux de neurones populaires telles que Keras, PyTorch ou Tensorflow, et des architectures décrites dans la littérature universitaire. keras / examples sur github est une excellente ressource.
Ces architectures ont probablement été choisies après de nombreux essais et erreurs, donc la plupart du travail aura été fait pour vous.
la source
J'ai lu un article explorant l'idée d'utiliser des réseaux de neurones pour concevoir d'autres réseaux de neurones, en explorant quelle configuration de nœuds et de couches était la plus efficace. Voici la page où vous pouvez télécharger un PDF https://arxiv.org/abs/1611.02120
la source
Suite à la réponse de @ Imran, j'ai trouvé ce document dans l'un des commentaires du post CrossValidated auquel il était lié. Outre une tentative de trouver la bonne architecture à l'aide de modèles génétiques (au lieu d'utiliser une règle empirique), la section 2.1 donne quelques limites théoriques au nombre d'unités cachées qui devraient être dans un système à une / deux couches cachées.
EDIT: J'ai testé ce théorème et découvert que l'utilisation de modèles génétiques est aussi bonne que la sélection d'une architecture aléatoire.
la source