Est-il possible d'obtenir un meilleur ANN en supprimant certaines connexions?

11

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?

SlimJim
la source

Réponses:

7

Oui c'est possible. Certaines personnes ont examiné ce problème en détail. Voici un vieux papier sur une méthode pour le faire: Dommages cérébraux optimaux

carlosdc
la source
Pourquoi détacher les nœuds est mieux que la régularisation? Je pensais qu'avec la régularisation, il n'était pas nécessaire de tailler les connexions - les connexions "inutiles" auront juste de très petits poids et c'est tout.
andreister
@andreister Je ne pense pas que ce soit mieux que la régularisation. Je pense que c'est une alternative (précoce) à la régularisation. C'est un papier très ancien, la régularisation est devenue courante en ML au milieu des années 90.
carlosdc
7

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.

  1. Castellano, G., Fanelli, AM (2000) 'Sélection de variables à l'aide de modèles de réseaux de neurones', Neuro-informatique (31)
  2. Ji C., Psaltis D. (1997) «Network Synthesis through Data-Driven Growth and Decay», Neural Networks Vol. 10, n ° 6, pp. 1133-1141
  3. Narasimha PL et al (2008) `` Une méthode intégrée de croissance et d'élagage pour la formation en réseau à action directe '', Neurocomputing (71), pp. 2831-2847
  4. Schuster, A. (2008) «Robust Arti fi cial Neural Network Architectures», International Journal of Computational Intelligence (4: 2), pp. 98-104
Graham Jones
la source
J'aimerais vraiment en savoir plus sur la partie «chercher à utiliser des algorithmes évolutifs pour concevoir, tailler et optimiser les architectures» de la réponse. Je vais peut-être poser une question à ce sujet!
Artem Kaznatcheev
6

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 .

jb.
la source
5

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.

Upul
la source