Adapter le réseau neuronal

8

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?

Ebbe M. Pedersen
la source

Réponses:

5

C'est à peu près un problème ouvert soumis à des recherches en cours avec différentes stratégies et heuristiques différentes connues. Un mot clé est " architecture de réseau neuronal ". La stratégie la plus élémentaire consiste à parcourir différentes topologies de réseau et à se recycler pour chacune d'elles. Une autre stratégie consiste à commencer par un réseau relativement plus important et à tailler les connexions qui ont un faible poids et à se recycler et à rechercher des améliorations; il y a quelques années, cela a été appelé «lésions cérébrales» dans au moins un article [2]. Voici quelques exemples de références. Il y en a bien d'autres. Il est également possible d'utiliser des algorithmes de type GA pour déterminer la structure du réseau [3]. Voici une partie du résumé de [1]:

L'utilisation des ANN nécessite des décisions critiques de la part de l'utilisateur, ce qui peut affecter la précision de la classification résultante. Dans cette étude, la détermination de la structure optimale du réseau, qui est l'un des attributs les plus importants d'un réseau, est étudiée. La structure du réseau a un effet direct sur le temps de formation et la précision de la classification. Bien qu'il y ait une discussion dans la littérature de l'impact de la structure du réseau sur les performances du réseau, il n'y a pas de méthode ou d'approche certaine pour déterminer la meilleure structure. Les recherches sur la relation entre la structure du réseau et la précision de la classification sont rapportées ici, à l'aide d'une trousse d'outils MATLAB pour profiter de la visualisation scientifique.

[1] Déterminer la structure optimale des réseaux de neurones artificiels par Taskin Kavzoglu

[2] Dommages cérébraux optimaux Le Cun, Denker, Solla

[3] Trouver une architecture de réseau neuronal optimale à l'aide d'algorithmes génétiques Britos et al

vzn
la source
1
+1 Merci vzn. Je suppose que les «dommages cérébraux» vous feraient réfléchir plus vite :) Peut-être que s'ils étaient combinés avec des mutations aléatoires (en ajoutant de nouveaux neurones), puis en répétant avec de nouveaux «dommages cérébraux», cela pourrait donner quelque chose. Quoi qu'il en soit - impatient d'enquêter sur les liens que vous avez fournis.
Ebbe M. Pedersen