10. Le deep learning, Quand l'élève peut dépasser le maître ?

Un réseau pour les réaliser toutes :

Ces algorithmes très particulier dont l'origine viens de la volonté de reproduire le fonctionnement de la communication entre des neurones bien vivant ce démarque aussi bien par la complexité d'interprétation des modèles prédictif que par leur capacité à résoudre tout type de problématique. Vous avez envie d'un robot qui fait le ménage tout seul ? Deep learning, vous avez envie de trier et augmenter la résolution de vos photos de vacances ? Deep learning. Créer des nouveaux tableau unique au monde ? Trouver de nouveaux médicament ? battre les meilleurs joueur du monde aux échec sans savoir jouer ou comprendre le jeux ?
DEEP LEARNING. 

C'est bien souvent de cette technologie dont on parle lorsque l'on met en avant les prouesses de l'intelligence artificiel. Mais quand est t'il des fait ? Comment est ce que cela fonctionne et quel sont les limites ? Nous allons tenter d'explorer cela ensemble dans le monde du Gradient. 


Qu'est ce qu'un neurone :

Un neurone pour commencer en terme biologique n'est finalement qu'une boite qui reçoit un signal et le répète après l'avoir traité. Hé bien dans notre cas c'est très similaire. Cette information traité nous est alors renvoyé sous la forme de réponse à notre tâche, notre demande.

un seul neurone

Le langage des neurones :

Seulement un seul neurone seul ne peut pas réellement achevé de grande choses. Mais quand est t'il lorsque nous en connectons plusieurs ? Hé bien le premier neurone traite de l'information et renvoie l'information traité aux autres qui profite alors de son expérience pour compléter l'analyse. Ainsi deux neurones valent toujours mieux qu'un (enfin en théorie). C'est finalement un peut comme des interactions entre les employés d'une entreprise chacun possédant ses propre connaissance et tentant de l'apporter aux suivants. Ainsi petit à petit même la plus ardu des tâches devient facile. Car tout ses employés compétant travaillent main dans la main pour l'achever. Mais comment rendre ces employés compétant. Car même pour un large réseau de neurones, si aucun ne sait résoudre la tâche alors leur nombre importe peut finalement, comment les former ?

plusieurs neurones interconnecté


Apprendre de ses erreurs :

En fait pour ce faire, il faut commencer par raisonner ainsi, comment notre taux d'erreur varie selon les variations des paramètres du modèle. Ces paramètres étant représentés comme des poids et des biais, deux valeurs à ajuster aux fur et à mesure des calculs. Nous obtenons une large chaine de montagne ou plutôt de vague, qui nous indique à quel point notre erreur augmente ou baisse selon notre modèle. Dés lors nous nageons littéralement dans le courant en cherchant le point le plus bas.
Ainsi les choses se simplifie beaucoup, en effet il nous suffit de calculer aux niveau de chaque neurone la variation et le sens de variation du neurone selon notre erreur, et notre paramètre. Puis nous n'avons plus qu'as finaliser cette étape en surfant notre vague, cela s'appelle la Back Propagation ce qui est l'action de parcourir le modèle dans le sens inverse afin d'obtenir tout les sens de variations des neurones puis de les mettre à jour. avec la simple fonction suivante :

Valeur du paramètre future  =  Valeur du paramètre actuel - le taux d'apprentissage * le sens de variation

avec un taux d'apprentissage suffisamment bas pour que notre surfe glisse bien sur les vagues, mais suffisamment haut pour ne pas rester bloquer entre de petites vaguelette nous empêchant alors d'explorer d'autres horizon. Cela nous permet donc de minimiser l'erreur étape après étape, incroyable non ? et moi qui pensé que les surfeurs n'était que des sportifs souhaitant se faire peur 

Tout type de données :

Avec cette algorithme nommé la descente de gradient et une grande quantité de neurone, tout devient alors possible, en effet à partir du moment ou vous pouvez interpréter d'une manière ou d'une autre le taux d'erreur alors de même vous pouvez à partir de données chercher la meilleur solution.

Limite ?

Hé bien comme nous l'avons vue, ces neurones bien que très performant  ne comprennent pas tout à fait ce qu'il réalise ainsi que pourquoi. Il ne font que reproduire le résultat de leur apprentissage. Bien que certain réseaux sont désormais très bluffant, voir même capable d'une certaine forme d'intelligence, le concept derrière ce qu'ils ont apprit reste encoder dans leur réseaux et ce dernier étant incroyablement complexe lorsque le réseaux s'élargie rend notre compréhension des résultats très limité. Mais bon qui n'as pas envie d'un robot capable de danser la macarelle en interprétant la version Bowie de Johnnie ?

Pour conclure, effrayant ou formidable, je dirais que c'est à chacun son avis car la réponse ne se trouvera pas dans les textes aujourd'hui sans oublier que l'un n'empêche pas l'autre.

liens vers un code python du gradient descent pour les plus curieux.

de même je recommande les vidéos de Machine learnia sur youtube pour ceux souhaitant une introduction plus profonde à certain de ces concepts. 

et voici un joué pour vous si vous souhaité essayer ou visualiser le fonctionnement de cette outil : ici

Bonne journée.

Commentaires

Enregistrer un commentaire

Posts les plus consultés de ce blog

8. L'arbre de décision - les avantages et les inconvénients

1. Data dans le Marketing - Introduction