Quelles sont les bonnes ressources pour apprendre sur les réseaux de neurones artificiels? [fermé]

StackOverflow https://stackoverflow.com/questions/478947

  •  20-08-2019
  •  | 
  •  

Question

Les réseaux de neurones artificiels m'intéressent beaucoup, mais je cherche un endroit où commencer.

Quelles sont les ressources disponibles et qu'est-ce qu'un bon projet de démarrage?

Était-ce utile?

La solution

Voici quelques exemples de programmation Neural Net. 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 travaillé sur de la littérature.

Autres conseils

Tout d’abord, renoncez à la notion selon laquelle les réseaux de neurones artificiels n’ont rien à voir avec le cerveau, sauf pour une similarité passagère avec les réseaux de neurones biologiques. L'apprentissage de la biologie ne vous aidera pas à appliquer efficacement les réseaux de neurones; apprendre l'algèbre linéaire, le calcul et la théorie des probabilités. Familiarisez-vous avec l'idée de différenciation fondamentale des fonctions, la règle de la chaîne, les dérivées partielles (le gradient, le jacobien et le hessien) et la compréhension de la multiplication et de la diagonalisation de la matrice.

Vraiment, ce que vous faites lorsque vous formez un réseau, c'est d'optimiser une fonction multidimensionnelle volumineuse (minimisant la mesure de votre erreur par rapport à chacun des poids du réseau), de sorte qu'une étude des techniques d'optimisation numérique non linéaire peut s'avérer instructive. . Il s’agit d’un problème largement étudié avec une vaste base de littérature en dehors des réseaux de neurones et de nombreuses notes de cours en optimisation numérique sont disponibles sur le Web. Pour commencer, la plupart des gens utilisent une descente de gradient simple, mais cela peut être beaucoup plus lent et moins efficace méthodes nuancées comme

Une fois que vous avez compris les idées de base, vous pouvez commencer à expérimenter différents & "; écraser &"; fonctions dans votre couche cachée, en ajoutant divers types de régularisation et divers ajustements pour accélérer l’apprentissage. Voir ce document pour une liste complète des & Quot; meilleures pratiques & ";

L’un des meilleurs livres sur le sujet est le Neural Networks for Pattern de Chris Bishop. Reconnaissance . Il est assez vieux à ce stade, mais reste une excellente ressource. Vous pouvez souvent trouver des copies utilisées en ligne pour environ 30 $. Chapitre des réseaux de neurones de son livre le plus récent, Pattern Recognition and Machine Apprendre est également très complet. Pour un didacticiel particulièrement intéressant sur l'implémentation, consultez celui-ci sur CodeProject.com , qui implémente une sorte de réseau intelligent appelé réseau convolutionnel, qui contraint la connectivité de manière à le rendre très bon pour apprendre à classer les modèles visuels.

Les machines à vecteurs de support et autres méthodes du noyau sont devenues très populaires car vous pouvez les appliquer sans savoir ce que vous faites et obtenir souvent des résultats acceptables. Les réseaux de neurones, en revanche, sont d’énormes problèmes d’optimisation qui nécessitent un réglage minutieux, même s’ils sont toujours préférables pour de nombreux problèmes, notamment les problèmes à grande échelle dans des domaines tels que la vision par ordinateur.

Je recommande vivement cette excellente série d'Anoop Madhusudanan sur le Code Project .

Il vous explique les principes de base pour comprendre comment ils fonctionnent d'une manière simple à comprendre et vous explique comment utiliser sa brainnet bibliothèque pour créer la vôtre.

Les réseaux de neurones sont en quelque sorte en déclin de nos jours. Les machines à vecteurs de support et les méthodes du noyau conviennent mieux à plus de classes de problèmes qu'à la rétropropagation. Les réseaux de neurones et les algorithmes génétiques captivent l’imagination de personnes qui en savent peu sur l’apprentissage automatique moderne, mais qui ne sont pas à la pointe de la technologie.

Si vous souhaitez en savoir plus sur l'intelligence artificielle et l'apprentissage automatique, je vous recommande de lire le de Peter Norvig. Intelligence artificielle: une approche moderne . Il s’agit d’une vaste enquête sur l’intelligence artificielle et de nombreuses technologies modernes. Il passe également en revue l’histoire et les techniques plus anciennes et vous donnera une base plus complète sur les bases de l’IA et de l’apprentissage automatique.

Les réseaux de neurones sont assez faciles, cependant. Surtout si vous utilisez un algorithme génétique pour déterminer les poids, plutôt que la rétropropagation appropriée.

Je souscris à la recommandation dwf de réseaux de neurones pour la reconnaissance de formes de Chris Bishop. Bien que, ce n'est peut-être pas un texte de départ. Norvig ou un tutoriel en ligne (avec du code en Matlab!) Serait probablement une introduction plus douce.

Un bon projet de démarrage serait la reconnaissance optique de caractères (OCR). Vous pouvez numériser des pages de texte et insérer chaque caractère sur le réseau afin d'effectuer une classification. (Vous devrez bien sûr d'abord former le réseau!).

Raul Le livre de Rojas est un très bon début (il est également gratuit). En outre, le troisième édition du livre de Haykin , même s'il est volumineux, est très bien expliqué .

Je peux recommander par où ne pas commencer. J'ai acheté une Introduction aux réseaux de neurones de Kevin Gurney, qui a de bonnes critiques sur Amazon. et prétend être une & "introduction très accessible à l'un des sujets les plus importants de la science cognitive et informatique &"; Personnellement, je ne recommanderais pas ce livre comme début. Je ne peux en comprendre qu'environ 10%, mais c'est peut-être juste moi (l'anglais n'est pas ma langue maternelle). Je vais examiner d'autres options de ce fil.

http://www.ai-junkie.com/ann/evolved /nnt1.html est une introduction claire au perceptron multi-couches, bien qu’il ne décrit pas l’algorithme de rétropropagation

vous pouvez également consulter generation5.org, qui contient de nombreux articles sur l'intelligence artificielle en général et contient d'excellents textes sur le réseau de neurones

Si vous voulez bien dépenser de l'argent, Manuel sur la théorie du cerveau et les réseaux de neurones c'est très bien. Il contient 287 articles couvrant la recherche dans de nombreuses disciplines. Il commence par une introduction et une théorie, puis met en évidence les chemins à travers les articles pour mieux couvrir vos intérêts.

Comme pour un premier projet, les les cartes de Kohonen sont intéressantes pour catégorisation : recherchez des relations cachées dans votre collection de musique, construisez un robot intelligent ou résolvez le prix Netflix .

Je pense qu'un Wikipedia serait toujours un bon point de départ. Vous y trouverez des liens utiles vers des documentations et des projets utilisant également des réseaux de neurones.

Deux livres qui ont été utilisés pendant mon étude:

Cours d'introduction: Une introduction à l'informatique neurale d'Igor Aleksander et Helen Morton.

Cours avancé: Neurocomputing de Robert Hecht-Nielsen

J'ai trouvé les Notions fondamentales sur les réseaux de neurones de Fausett: simples et faciles à utiliser -get-into manuel d'introduction.

J'ai trouvé le manuel " Intelligence informatique " être incroyablement utile.

Programmation de l'intelligence collective en parle dans le contexte des algorithmes de recherche et de classement. En outre, dans le code disponible ici (au chapitre 4), les concepts abordés dans le livre sont illustrés. dans un exemple en Python.

Je suis d’accord avec les autres personnes qui ont déclaré que l’étude de la biologie n’était pas un bon point de départ… car il existe beaucoup d’informations non pertinentes en biologie. Vous n'avez pas besoin de comprendre le fonctionnement d'un neurone pour recréer ses fonctionnalités. Vous devez simplement simuler ses actions. Je recommande & "Comment créer un esprit &"; par Ray Kurzweil - il aborde l’aspect de la biologie pertinent pour les modèles informatiques (créer un neurone simulé en combinant plusieurs entrées et déclencher une fois le seuil atteint), mais ignore les éléments non pertinents tels que la façon dont le neurone ajoute les entrées de la souris. (Vous utiliserez simplement + et une inégalité pour comparer à un seuil, par exemple)

Je devrais également souligner que le livre ne traite pas vraiment de "créer un esprit" - il se concentre uniquement sur la reconnaissance des modèles hiérarchiques / le néocortex. Je crois que le thème général a été abordé depuis les années 1980. Il existe donc de nombreux livres anciens contenant probablement des formes légèrement datées de la même information. J'ai lu d'anciens documents affirmant que le système de vision, par exemple, est un outil de reconnaissance de motifs multicouche. Il soutient que cela s'applique à l'ensemble du néocortex. En outre, prenez ses «prévisions» avec un grain de sel - ses estimations matérielles sont probablement assez précises, mais je pense qu'il sous-estime la complexité des tâches simples (par exemple, conduire une voiture). Certes, il a vu beaucoup de progrès (et en a fait partie), mais je pense toujours qu'il est trop optimiste. Il y a une grande différence entre une voiture à intelligence artificielle capable de parcourir un kilomètre et demi avec succès dans 90% des cas, par rapport aux 99,9% et plus qu'un humain peut faire. Je ne m'attends pas à ce que l'IA me conduise vraiment pendant au moins 20 ans ... (je ne compte pas les voitures BMW qui doivent être "entraînées" sur le parcours actuel, car elles ne jouent pas vraiment de la même façon. jeu)

Si vous avez déjà une idée de base de ce qu'est l'IA et de la manière dont elle peut être modélisée, il vaut peut-être mieux passer à quelque chose de plus technique.

Si vous voulez en savoir plus rapidement sur les applications de certains concepts de réseaux neuronaux sur un simulateur réel, vous trouverez un excellent livre en ligne (maintenant un wiki) appelé "Neuroscience cognitive et computationnelle" à l'adresse http://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Main

Ce livre est utilisé dans les écoles comme manuel et présente différentes régions du cerveau, des neurones individuels au fonctionnement exécutif supérieur.

De plus, chaque section est complétée par des "projets" de devoirs déjà terminés pour vous. Il suffit de télécharger, de suivre les étapes et de simuler tout ce dont le chapitre parle. Le logiciel qu’ils utilisent, Emergent, est un peu sophistiqué mais incroyablement robuste: c’est le produit de plus de 10 ans de travail, je crois.

Je l’ai passé dans une classe de premier cycle ce semestre dernier et c’était génial. Vous guide à travers tout, étape par étape

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top