J'ai à quelques reprises formé des réseaux de neurones (réseaux de rétropropagation) avec des ensembles de données assez compliqués (positions de backgammon et OCR). En faisant cela, il semble qu'une grande partie du travail implique d'essayer différentes configurations des réseaux, afin de trouver la configuration optimale pour l'apprentissage. Il y a souvent un compromis entre les petits réseaux qui sont plus rapides à utiliser / apprendre et les plus grands réseaux, qui peuvent représenter plus de connaissances.
Je me demande alors s'il serait possible de créer des réseaux à la fois rapides et volumineux. Je pense que sur un réseau où chaque neurone n'est pas entièrement connecté, il devrait être plus rapide à calculer que les réseaux avec une connexion complète sur toutes les couches. Ce pourrait être l'entraînement qui a détecté que certaines entrées ne sont pas nécessaires à certains neurones, et donc supprimer ces connexions. De la même manière, la formation pourrait également impliquer l'ajout de nouveaux neurones si certains neurones semblent "surchargés".
Est-ce quelque chose qui a été testé avec succès? Existe-t-il des classes de réseaux avec ce type de comportement?