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.
machine-learning
neural-networks
references
Claudio Albertin
la source
la source
Réponses:
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:
la source
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.
la source
Ce sont, à mon avis, de très bons livres.
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.
la source
Comme d'autres personnes l'ont souligné, il existe de nombreuses (bonnes) ressources en ligne et j'en ai personnellement créé certaines:
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.
la source
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/
la source
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
la source