Comment démarrer avec les réseaux de neurones

32

Je suis complètement nouveau dans les réseaux de neurones mais très intéressé à les comprendre. Cependant, ce n'est pas facile du tout de commencer.
Quelqu'un pourrait-il recommander un bon livre ou tout autre type de ressource? Y a-t-il une lecture obligatoire?
Je suis reconnaissant pour tout type de pourboire.

Claudio Albertin
la source
11
Il y a aussi un cours que Goeff Hinton enseigne via Coursera sur les réseaux de neurones et qui commence la semaine prochaine: coursera.org/course/neuralnets
Marc Shivers, le
Ce cours semble intéressant, mais d'après la vidéo et la page Web, je suppose qu'il n'est pas conçu comme une introduction.
Douglas Zare
@ DouglasZare: Je termine le cours de Hinton et, dans certaines régions, j'étais heureux d'avoir suivi le cours de ML par Andrew Ng.
Andrew
1
Oui, je l'ai pris aussi. C'était un bon parcours, sans introduction.
Douglas Zare
Blogs et tutoriels sur les réseaux neuronaux pour débutants learn-neural-networks.com
аиль Гафаров

Réponses:

33

Les réseaux de neurones existent depuis un certain temps et ils ont considérablement changé au fil des ans. Si vous vous contentez de naviguer sur le Web, vous risquez de penser que «réseau neuronal» désigne un réseau multiniveau à transmission directe formé à la rétro-propagation. Vous pouvez également rencontrer l’un des dizaines de modèles rarement utilisés, nommés de façon bizarre et conclure que les réseaux de neurones sont davantage un zoo qu’un projet de recherche. Ou qu'ils sont une nouveauté. Ou...

Je pourrais continuer. Si vous voulez une explication claire, j'écouterais Geoffrey Hinton . Il existe depuis toujours et (par conséquent?) Fait un excellent travail en mélangeant tous les modèles disparates sur lesquels il a travaillé en un récit historique cohérent, intuitif (et parfois théorique). Sur sa page d'accueil, il y a des liens vers les conférences Google Tech Talks et Videolectures.net qu'il a données (sur les RBM et Deep Learning , entre autres).

D'après ce que je vois, voici une feuille de route historique et pédagogique pour comprendre les réseaux de neurones, de leur création à leur état actuel:

  • Perceptrons
    • Facile à comprendre
    • Sévèrement limité
  • Multi-couche, formé par back-propogation
    • Beaucoup de ressources pour apprendre ces
    • Ne font généralement pas aussi bien que les SVM
  • Machines Boltzmann
    • Manière de penser intéressante sur la stabilité d'un réseau récurrent en termes "d'énergie"
    • Regardez les réseaux Hopfield si vous voulez un exemple facile à comprendre (mais pas très pratique) de réseaux récurrents avec "énergie".
    • Théoriquement intéressant, inutile en pratique (entraînement à la même vitesse que la dérive des continents)
  • Machines Boltzmann restreintes
    • Utile!
    • Construit à partir de la théorie des machines Boltzmann
    • Quelques bonnes introductions sur le web
  • Réseaux de croyances profondes
    • Autant que je sache, il s'agit d'une classe de RBM multicouches destinés à l'apprentissage semi-supervisé.
    • Quelques ressources
Stumpy Joe Pete
la source
1
Merci beaucoup pour cet aperçu et ces nombreuses ressources!
Claudio Albertin
2
Pas de problème. Bonne chance dans vos efforts de réseau de neurones.
Stumpy Joe Pete
8

Je recommande fortement de regarder ces conférences et de l'utiliser comme matériel de lecture . Andrew Ng aborde ces conférences sur l'apprentissage de la machine en général et parle longuement des réseaux de neurones et s'efforce de les rendre accessibles aux débutants.

Ivan
la source
Pourriez-vous indiquer les titres? Les liens pourraient disparaître à l'avenir ...
Richard Hardy
5

Ce sont, à mon avis, de très bons livres.

  • R. Rojas: Réseaux de neurones
  • CM Bishop: Réseaux de neurones pour la reconnaissance de formes

Les livres présentent certaines similitudes: ils ont tous deux environ 500 pages et ils sont assez anciens depuis 1995. Néanmoins, ils restent très utiles. Les deux livres commencent à partir de zéro en expliquant ce que sont les réseaux de neurones. Ils fournissent des explications claires, de bons exemples et de bons graphiques pour faciliter la compréhension. Ils expliquent en détail les problèmes de formation des réseaux de neurones, sous leurs nombreuses formes, et ce qu'ils peuvent et ne peuvent pas faire. Les deux livres se complètent très bien, car ce que l’on ne peut pas comprendre avec un livre, l’un tend à se retrouver dans l’autre.

Rojas a une section, que j'aime particulièrement, sur la mise en œuvre de la rétrodiffusion sur de nombreuses couches sous forme de matrice. Il contient également une section intéressante sur la logique floue et une autre sur la théorie de la complexité. Mais alors Bishop a beaucoup d'autres belles sections.

Rojas est, je dirais, le plus accessible. Bishop est plus mathématique et peut-être plus sophistiqué. Dans les deux livres, le calcul consiste principalement en algèbre linéaire et en calcul de fonctions à variables multiples (dérivées partielles, etc.). Sans aucune connaissance de ces sujets, vous ne trouverez probablement aucun de ces livres très éclairant.

Je recommanderais de lire Rojas en premier.

Évidemment, les deux livres ont beaucoup à dire sur les algorithmes, mais aucun ne dit beaucoup sur des implémentations spécifiques dans le code.

Pour moi, ces livres fournissent le contexte qui permet de comprendre un cours en ligne (comme celui de Hinton sur Coursera). Les livres couvrent également beaucoup plus de terrain et de manière beaucoup plus détaillée que ce qui peut être fait en ligne.

J'espère que cela aide et je suis heureux de répondre à vos questions sur les livres.

Old_Mortality
la source
3
Bienvenue sur le site @Old_Mortality. Pouvez-vous dire quelque chose à propos de ces livres? Qu'est-ce qui est bien chez eux? Sont-ils appropriés pour les personnes ayant un niveau de sophistication mathématique et / ou de codage? Lequel recommanderiez-vous l'OP lire en premier? Etc.
gung - Réintégrez Monica
1
Merci pour la suggestion. J'ai modifié ma réponse ci-dessus.
Old_Mortality
3

Comme d'autres personnes l'ont souligné, il existe de nombreuses (bonnes) ressources en ligne et j'en ai personnellement créé certaines:

  • Ng's Intro to ML class sur Coursera
  • La classe de réseaux de neurones de Hinton sur Coursera
  • Le didacticiel d'apprentissage profond de Ng
  • lire les chapitres pertinents dans le traitement parallèle initial distribué

Je tiens à attirer l’attention sur le fait que ces expositions suivent principalement le traitement classique où les couches (sommation et non-linéarité ensemble) constituent les unités de base. Le traitement le plus populaire et le plus flexible mis en œuvre dans la plupart des bibliothèques, telles que torch-nn et tensorflow, utilise désormais un graphe de calcul auto-différencié pour obtenir une grande modularité. Conceptuellement, c'est plus simple et plus libérateur. Je recommande fortement l'excellent cours ouvert Stanford CS231n pour ce traitement.

Pour un traitement rigoureux axé sur l’apprentissage théorique, vous pouvez consulter Neural Networks d’Anthony et Bartlett.

Faucon
la source
1

Si vous voulez un traitement d'un point de vue plus statistique, jetez un coup d'œil à "Pattern Recognition and Neural Networks" de Brian Ripley. Ce livre n'est pas une introduction et suppose des bases statistiques.

http://www.stats.ox.ac.uk/~ripley/PRbook/

kjetil b halvorsen
la source
0

J'ai créé une application Web qui prend en charge votre processus d'apprentissage dans le domaine des réseaux de neurones.

https://blueneurons.ch/nn

Vous pouvez jouer avec les paramètres (architecture, fonctions d'activation, paramètres d'entraînement) et observer leur incidence sur les prévisions. Tous les ensembles de données ont des valeurs préconfigurées pouvant être adoptées. Il est également possible de créer vos propres jeux de données.

Instructions et explications sur les éléments implémentés:

Mode d'emploi

Schlatter
la source