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.
Ce que les ressources sont là, et qu'est ce qu'un bon projet de départ?
- Je suis en supposant que, réseaux de neurones artificiels? Quelle est la zone qui vous intéresse (ce qui serait de l'appliquer à: écriture, classement, logique)?
- Je suppose que, de la logique: je pensais à un robot dans un labyrinthe ou quelque chose comme ça et d'essayer différents algorithmes, mais de faire en sorte que le réseau serait de décider qui est le meilleur, etc.
- Il y a un très bon cours sur coursera de Geoffrey Hinton sur les réseaux de neurones. Il commence avec les bases et se termine avec l'état de l'art des approches et même plus.
- Le cours l'Apprentissage de la Machine par Andrew Ng c'est ce que je vous recommande pour commencer, avant de faire le cours de Geoffrey Hinton, qui s'attaque à plus avancées de réseaux de neurones et les aspects théoriques.
Vous devez vous connecter pour publier un commentaire.
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.
Premier de tous, donner toutes les notions 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 la 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. Voir ce document pour une liste complète des "meilleures pratiques".
L'un des meilleurs livres sur le sujet est Chris Bishop Réseaux de Neurones pour la Reconnaissance de motifs. 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.
Je recommande vivement cette excellente série par Anoop Madhusudanan sur Projet De Code.
Il vous emmène à travers les notions de base à la compréhension de la façon dont ils fonctionnent dans un facile à comprendre et vous montre comment utiliser son
brainnet
bibliothèque pour créer votre propre.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 élèves des classes de problèmes, alors les. 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 l'IA et l'apprentissage machine, je recommande la lecture de Peter Norvig de Intelligence Artificielle: Une Approche Moderne De La. 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 principes de base de l'IA et de l'Apprentissage 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 la bonne les.
J'deuxième 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!).
Raul Rojas livre est un très bon début (c'est gratuit). Aussi, Haykin du livre de la 3ème édition, bien que de grand volume, est très bien expliqué.
Que je peux recommander, où de ne pas commencer. J'ai acheté Une Introduction aux Réseaux de Neurones par Kevin Gurney qui a de bonnes critiques sur Amazon et prétend être un "très accessible introduction à l'un des sujets les plus importants dans cognitives et sciences de l'informatique". Personnellement, je ne recommanderais pas ce livre comme un début. Je peux comprendre seulement d'environ 10%, mais peut-être que c'est juste moi, (l'anglais n'est pas ma langue maternelle). Je vais chercher d'autres options de ce fil.
http://www.ai-junkie.com/ann/evolved/nnt1.html est une introduction claire à multi-couches de type perceptron, bien qu'il ne décrit pas la les algorithme
vous pouvez également jeter un oeil à generation5.org qui fournit un grand nombre d'articles au sujet de l'IA en général, et quelques grands textes sur un réseau de neurones
Si cela ne vous dérange pas de dépenser de l'argent, Le Manuel de la Théorie du Cerveau et des Réseaux de Neurones est très bon. Il contient 287 articles traitant de la recherche dans de nombreuses disciplines. Il commence par une introduction à la théorie et les faits saillants des chemins à travers les articles pour mieux couvrir vos intérêts.
Que pour un premier projet, Cartes de Kohonen sont intéressants pour la catégorisation: trouver les relations cachées dans votre collection de musique, construire une smart robot, ou de résoudre les Netflix prix.
Je pense un bon point de départ serait toujours Wikipédia. Vous y trouverez quelques liens utiles pour les documentations et les projets qui utilisent des réseaux de neurones, trop.
Deux livres qui, lorsqu'il est utilisé au cours de mon étude:
Séances d'introduction de cours: Une introduction aux Neurones de Calcul par Igor Alexandre et Hélène Morton.
Cours avancé: Neurocomputing par Robert Hecht-Nielsen
J'ai trouvé Fausett de Les fondamentaux des Réseaux de Neurones un simple et facile-à-obtenir-en introduction manuel.
J'ai trouvé le manuel "Computational Intelligence" pour être incroyablement utile.
La Programmation De L'Intelligence Collective discute de cela dans le contexte de la Recherche et des algorithmes de Classement. Aussi, dans le code de ici (ch.4), les concepts abordés dans le livre sont illustrées dans un exemple Python.
Je suis d'accord avec les autres personnes qui a dit que l'étude de la biologie n'est pas un bon point de départ... parce que theres beaucoup de pertinence de l'info dans la biologie. Vous n'avez pas besoin de comprendre le fonctionnement d'un neurone fonctionne à recréer sa fonctionnalité - vous seulement besoin de simuler ses actions. Je vous conseille d' "Comment Créer Un Esprit" par Ray Kurzweil, il va à l'aspect de la biologie qui est pertinent pour les modèles de calcul, (création d'un simualted neurone par la combinaison de plusieurs facteurs et de tir une fois qu'un seuil est atteint), mais ignore la irrelvant des choses comme comment le neurone ajoute réellement thouse intrants combinés. (Vous aurez juste à utiliser + et une inégalité à comparer à un seuil, par exemple)
Je dois également souligner que le livre n'est pas vraiment à propos de "créer un esprit" - il ne met l'accent que sur hiérarchique de reconnaissance de formes /le néocortex. Le thème général a été parlé depuis les années 1980, je crois, donc il ya beaucoup de vieux livres, qui contiennent probablement légèrement daté formes de la même information. J'ai lu les anciens documents indiquant que le système de vision, par exemple, est un multi couches motif de reconnaissance. Il fait valoir que cela s'applique à l'ensemble du néocortex. Aussi, prendre ses "prédictions" avec un grain de sel, son matériel estimations sont probablement assez précis, mais je pense qu'il sous-estime le degré de complexité des tâches simples peuvent être (ex: conduire une voiture). Accordé, il a vu beaucoup de progrès (et fait partie de certaines d'entre elles) mais je pense qu'il est plus optimiste. Il y a une grande différence entre une IA voiture étant en mesure de conduire un mile de succès de 90% du temps, comparativement à 99,9+% qu'un humain peut faire. Je n'en attends pas de l'IA pour être vraiment à la conduite de moi pour au moins 20 ans... (je ne compte pas les Bmw suivre les voitures qui ont besoin d'être "formés" sur le cours, qu'ils ne sont pas vraiment le même jeu)
Si vous avez déjà une idée de base de ce que l'IA est et comment il peut être modelé, vous pourriez être mieux de passer à quelque chose de plus technique.
Si vous voulez faire apprendre rapidement sur les demandes de certains neurones du réseau de concepts sur un vrai simulateur, il y a un grand livre en ligne (maintenant wiki) appelé "Computational Neuroscience Cognitive" au http://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Main
Le livre est utilisé dans les écoles comme un manuel, et vous emmène à travers beaucoup de différentes zones du cerveau, des neurones tout le chemin à l'ordre supérieur du fonctionnement exécutif.
En outre, chaque section est augmentée avec les devoirs "projets" qui sont déjà bas pour vous. Il suffit de télécharger, suivez les étapes, et de simuler tout ce que le chapitre parlé. Le logiciel qu'ils utilisent, Émergente, est un peu compliqué, mais incroyablement robuste: ses le produit de plus de 10 ans de travail je crois.
Je suis allé à travers elle dans le premier cycle de la classe de ce semestre passé, et c'était génial. Vous guide à travers tout étape par étape