- Near,
Bonjour, ou plutôt bonsoir,
Je m’intéresse depuis pas mal de temps au deep learning et tout ce qui est du style des Neural Network et compagnie.
Recemment j’ai décider de me lancer en python et de créer mon propre réseau de neurones assez basique du type feed forward (le plus simple de tous). J’ai lu pas mal d’article et j’ai vu pas mal de vidéos à ce propos et j’ai commencé à élaborer un résaux simpliste sans phase d’apprentissage (pour le moment). Jusque là tout fonctionnait parfaitement et j’ai très bien compris le principe de fonctionnement de tout ce bazard.
La phase suivante était logiquement l’implémentation de la notion d’apprentissage du réseau de neurone. Comme mon réseau de neurone est basique, je devais implémenter un apprentissage basique lui aussi en utilisant le "backward propagation".
Mais malgré les nombreux articles que j’ai pu lire à ce sujet, je n’ai toujours pas compris comment ça fonctionne en détail et n’y la manière de l’implémenter. Ca parle beaucoup de dériver de fonctions et ca ne devrait pas trop me poser de problème (j’ai eu mon Bac S), mais il y a toujours quelque chose qui m’échappe. Les équations que l’on me montre me paraissent toujours incompréhensible et je ne comprends pas à quoi elles correspondent au niveau du code.
De ce que j’ai compris:
-
On donne des données à analysé au réseau de neurones tout en sachant le résultat attendu.
-
On compare les résultats obtenus et les résultats attendu afin d’en retirer une " marge d’erreur"
-
Cette marge d’erreur nous permet de modifier la valeur de certaines connexions entre neurones afin d’ajuster les résultats en prenant la dérivé de la fonction du neurone pour savoir si l’on doit augmenter ou diminuer la valeur de la connexion
Mais c’est au nivaux des calculs que j’ai un peu de mal, il y a trop de dérivées et ça m’embrouille un peu. Est ce que quelqu’un aurait l’amabilité de m’expliquer plus en détail la partie apprentissage des réseaux de neurones ou quelques articles de plus à me montrer ou même un code assez simplifié ?
C’est en particulier la partie Gradient que j’ai du mal à saisir.
(Cette série de vidéos est pas mal pour comprendre, mais au risque de me répéter je n’ai pas compris la partie math)