Je me demandais s'il était possible, dans certaines circonstances, que les ANN fonctionnent mieux si vous supprimez certaines connexions sur celles-ci, par exemple:
Construire un ANN en prenant deux ANN et A en B multicouches en parallèle (mêmes nœuds d'entrée et de sortie) en ajoutant quelques connexions de "communication" entre les couches cachées de A et B?
Pourrait-on obtenir de meilleurs résultats de généralisation?
Est-ce que cela est utilisé dans la pratique ou utilise-t-on toujours des réseaux multicouches entièrement connectés?
classification
neural-networks
SlimJim
la source
la source
En règle générale, les réseaux petits et / ou clairsemés se généralisent mieux. Vous pouvez laisser votre algorithme de formation éliminer les connexions inutiles au sein d'un réseau de taille fixe en appliquant une certaine forme de décroissance de poids, ou vous pouvez appliquer un algorithme qui vise à optimiser l'architecture / la topologie du réseau lui-même en supprimant les entrées inutiles, les nœuds cachés ou les connexions.
Jetez un œil à ces références pour trouver des idées et des points de départ pour des recherches plus approfondies, ou examinez l'utilisation d'algorithmes évolutifs pour concevoir, tailler et optimiser des architectures.
la source
Dans la plupart des cas, si vous supprimez les connexions inutiles, vous obtiendrez un meilleur réseau. Il est facile de surentraîner (suréquiper) le réseau --- auquel cas il fonctionnera mal sur l'ensemble de données de validation.
L'élagage des connexions inutiles réduira très probablement la probabilité de surentraînement. Veuillez consulter: http://en.wikipedia.org/wiki/Overfitting .
la source
Oui c'est possible. Nous pouvons considérer, la connexion entre les unités de calcul, le nombre de couches cachées, les unités par couche cachée, etc. en tant qu'hyper-paramètres. Il est possible de trouver des valeurs optimales pour ces paramètres en réalisant une série d'expériences.
Par exemple:
Vous pouvez diviser votre ensemble de données comme suit: ensemble de formation 60% des données, validation croisée 20% des données, test 20% des données,
Ensuite, entraînez votre NN en utilisant un ensemble de données de formation et un paramètre de réglage en utilisant un ensemble de données de validation croisée.
Enfin, vous pouvez utiliser votre ensemble de données de test pour évaluer les performances de votre NN.
la source