Question

Je ne suis pas un mathématicien. J'apprécie un bon casse-tête mathématique, mais j'avoue de tout mon cœur mes faiblesses. Cela dit, je me suis toujours intéressé aux réseaux de neurones et, bien que je les comprenne suffisamment pour les mettre en œuvre de toutes pièces, je me heurte à un mur lorsque je dois comprendre tout concept pour lequel je ne peux que trouver des preuves mathématiques. Où est le guide du programmeur sur les réseaux de neurones, utilisant le code au lieu de la formule pour expliquer les raisonnements pratiques?

Était-ce utile?

La solution

Une autre alternative est une explication non mathématique, non programmable. Le livre Blondie24: Jouer au bord de l'IA contient une très bonne explication de neural réseaux. Il s'agit d'une IA de jeu de dames développée par l'auteur. Ce n'est pas complètement sans références de programmation, mais cela explique très bien le fonctionnement des algorithmes sans entrer dans le code de la solution.

Autres conseils

Malheureusement, je ne sais pas s'il existe un seul bon "source pour programmeurs". cela vous donnera tous les concepts. J'ai aimé les Systèmes neuronaux et adaptatifs: principes de base via des simulations .

La meilleure façon d'avoir la "compréhension du programmeur" des réseaux de neurones n’est pas tant d’examiner le code, mais bien le problème et les bons résultats. Donc, si vous ne voulez pas regarder les mathématiques, je vous recommande de regarder un problème donné. Par exemple, considérons le problème XOR comme un exemple de la raison pour laquelle vous avez besoin de fonctions d’activation non linéaires, du nombre de variables et de leurs valeurs possibles pour comprendre pourquoi un réseau de neurones doit avoir une certaine taille et une certaine topologie pour être efficace, et divisez vos données en régimes de train / tests et faites des études pour voir pourquoi le surajustement est dangereux. Examinez le code avec les données.

Je vous recommande également de ne pas trop vous accrocher, mais de continuer à lire. Certaines pratiques dans les réseaux à feed-forward deviennent plus claires lorsque vous voyez leur généralisation dans des réseaux de neurones récurrents et constructifs. Je recommande également d'aller plus loin: réseaux bayésiens, cartes cognitives floues, SOM, machines Boltzman, recuit simulé et apprentissage par renforcement ont tous des intuitions.

Est-ce que cela sert à répondre à votre question?

Vous avez besoin d'un peu de compréhension de la part de Pascal ou de Delphi mais cette présentation de ThinkQuest est très utile du point de vue de la programmation. Cela explique également certaines des difficultés et pourquoi les mathématiques semblent un peu intimidantes. (Je ne suis pas non plus un mathématicien.)

J'étais assez intéressé par ce genre de chose il y a quelque temps (je le suis toujours pour la plupart) et à la recherche de visites sommaires que je peux suivre assez rapidement.

J'espère que ça aide un peu au moins.

J'ai personnellement utilisé:

Recettes de réseaux neuronaux pratiques en C ++

http://www.amazon.com/Practical-Neural-Network-Network-Recipes -C / dp / 0124790402 / ref = pd_bxgy_b_img_b / 179-4083507-8029219

À mon avis, l'auteur n'utilise pas pleinement les fonctionnalités plus puissantes du C ++. Dans de nombreux cas, il se lit davantage comme du C traditionnel avec des classes. Le livre est également un peu daté maintenant.

TOUJOURS - si vous avez besoin d’explications sur les algorithmes et les techniques utilisés dans les réseaux de neurones, expliquées d’une manière compréhensible pour un profane intelligent, afin que vous puissiez partir et essayer ces choses par vous-même, alors je vous donnerais certainement ce livre. un essai. Il n’ya pas beaucoup de regard au nombril, c’est ce qui m’a plu.

Il explique en détail tout ce dont vous avez besoin pour programmer un réseau de neurones - comment comparer la sortie réelle à celle souhaitée afin d'obtenir un signal d'erreur, puis utiliser ce signal d'erreur avec des algorithmes de propagation inverse pour modifier points forts de la connexion de liaison réseau, en effectuant cette opération de manière itérative afin que le réseau de neurones «apprenne» progressivement la tâche.

J'ai écrit un article avec presque exactement ce titre. Cet article décrit comment les données sont représentées sur un réseau de neurones, ainsi que d’autres méthodes d’apprentissage automatique, telles que les machines à vecteurs de support.

http://www.heatonresearch.com/content/ introduction non-mathématique-utilisant-réseaux-neuronaux

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