109 votes

Quelles sont les bonnes ressources pour l'apprentissage de Réseaux de Neurones Artificiels?

Je suis vraiment intéressé par les Réseaux de Neurones Artificiels, mais je suis à la recherche d'un endroit pour commencer.

Quelles sont les ressources là-bas et qu'est ce qu'un bon projet de départ?

33voto

dwf Points 2011

Tout d'abord, renoncer à toute notion que les réseaux de neurones artificiels ont rien à voir avec le cerveau, mais pour le passage d'une similitude de réseaux de neurones biologiques. Biologie de l'apprentissage ne sera pas vous aider à appliquer efficacement les réseaux de neurones; l'apprentissage de l'algèbre linéaire, calcul différentiel, et la théorie de la volonté. Vous devriez à tout le moins, assurez-vous familier avec l'idée de base de la différenciation des fonctions, la chaîne de la règle, dérivées partielles (le gradient, la Jacobienne et Hessienne), et la compréhension de la matrice de la multiplication et de la diagonalisation.

Vraiment ce que vous faites lorsque vous vous entraînez un réseau est l'optimisation d'un large et multidimensionnel de la fonction (minimisation de l'erreur de mesure à l'égard de chacun des poids dans le réseau), et afin qu'une enquête de techniques non-linéaire d'optimisation numérique peut s'avérer instructive. C'est largement un problème étudié avec une grande base de la littérature à l'extérieur des réseaux de neurones, et il y a beaucoup de notes de cours en optimisation numérique disponible sur le web. Pour commencer, la plupart des gens utilisent simple descente de gradient, mais cela peut être beaucoup plus lent et moins efficace que le plus nuancée des méthodes comme

Une fois que vous avez les idées de base vers le bas, vous pouvez commencer à expérimenter avec différents "écraser" les fonctions de votre couche cachée, l'ajout de divers types de régularisation et divers ajustements à faire l'apprentissage d'aller plus vite. Consultez ce document pour une liste complète des "meilleures pratiques".

L'un des meilleurs livres sur le sujet est Chris Évêque de Réseaux de Neurones pour la Reconnaissance des formes. Il est assez vieux à ce stade, mais il est encore une excellente ressource, et vous pouvez souvent trouver utilisé des copies en ligne pour environ $30. Le réseau de neurones chapitre dans son plus récent livre, la Reconnaissance des formes et l'Apprentissage de la Machine, est également très complet. Pour une particulièrement bonne mise en œuvre centrée sur le tutoriel, voir celui-ci sur CodeProject.com qui met en œuvre un savant sorte de réseau appelé un convolutifs réseau, ce qui limite la connectivité de telle sorte qu'il est très bon à l'apprentissage de classer les motifs visuels.

Machines à vecteurs de Support et d'autres méthodes du noyau sont devenus très populaires parce que vous pouvez les appliquer sans savoir ce que l'enfer que vous faites et souvent obtenir des résultats acceptables. Les réseaux de neurones, d'autre part, sont d'énormes problèmes d'optimisation qui nécessitent un réglage minutieux, bien qu'ils soient toujours préférable pour beaucoup de problèmes, en particulier à grande échelle des problèmes dans des domaines tels que la vision par ordinateur.

29voto

Ben Daniel Points 2570

J'avais recommandons vivement cette excellente série par Anoop Madhusudanan sur le Projet de Code.

Il vous emmène à travers les notions de base à la compréhension de la façon dont ils fonctionnent dans un faciles à comprendre et vous montre comment utiliser son brainnet bibliothèque pour créer votre propre.

17voto

Friedrich Points 4058

Voici quelques exemple de réseau Neuronal de la programmation. http://www.codeproject.com/KB/recipes/neural_dot_net.aspx

vous pouvez commencer à lire ici: http://web.archive.org/web/20071025010456/http://www.geocities.com/CapeCanaveral/Lab/3765/neural.html

Pour ma part, j'ai visité un cours à ce sujet et a travaillé par le biais de la littérature.

11voto

Chad Okere Points 3181

Les Réseaux de neurones sont des sortes de declasse ces jours-ci. Machines à Vecteurs de Support et méthodes du noyau sont mieux pour les plus classes de problèmes puis de nouveau de propagation. Réseaux de neurones et des algorithmes génétiques capturer l'imagination des gens qui ne savent pas beaucoup au sujet de machines modernes d'apprentissage, mais ils ne sont pas de l'état de l'art.

Si vous voulez en savoir plus sur IA/apprentissage de la Machine, je recommande l'achat et la lecture de Peter Norvig de l' Intelligence Artificielle: Une Approche Moderne. C'est d'une large enquête auprès de l'IA et beaucoup de la technologie moderne. Il va au cours de l'histoire et des techniques plus anciennes aussi, et vous donnera une vue plus complète de mise à la terre dans les fondements de l'IA/Apprentissage de la Machine.

Les réseaux de neurones sont assez facile, cependant. Surtout si vous utilisez un algorithme génétique pour déterminer le poids, plutôt que de bon retour de propagation.

5voto

graveca Points 564

Je seconde dwfde la recommandation de Réseaux de Neurones pour la Reconnaissance des formes par Chris Évêque. Quoique, c'est peut-être pas un starter de texte. Norvig ou un tutoriel en ligne (avec le code en Matlab!) serait probablement un plus doux introduction.

Une bonne base de départ du projet serait de l'OCR (Reconnaissance Optique de Caractères). Vous pouvez numériser des pages de texte et de les nourrir de chaque personnage à travers le réseau afin d'effectuer la classification. (Vous pouvez former le réseau d'abord, bien sûr!).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X