Blog

Part 4 : Qu’appelle t-on apprentissage automatique

Cet article fait partie d’une série d’articles qui vous permettra de comprendre étape par étape comment fonctionne l’intelligence artificielle et plus particulièrement les réseaux de neurones.

Je vous invite à lire, si vous ne l’avez pas déjà fait, les articles précédents :

Part 1 : Les réseaux de neurones artificielles

Part 2 : Comment fonctionne le Perceptron

Part 3 : Comment les réseaux de neurones prennent des décisions


Supposez que nous souhaitions apprendre à un réseau de neurones à résoudre un problème précis. Par exemple, pour reconnaître un objet ou un animal dans une image, les valeurs d’entrées (inputs) du réseau pourraient correspondrent aux pixels bruts d’une image afin d’apprendre à ce réseau de reconnaître l’objet en analysant/scannant chaque pixel.

Et nous souhaitons que le réseau apprenne les poids (weights) et les seuils (biases) de manière à ce que la valeur de sortie (output) du réseau catégorise correctement l’image et reconnaisse précisément son contenu.

 

La magie du machine learning

En réalité, lorsqu’un enfant, par exemple apprend à reconnaitre un chien, il compare les chiens qu’il a déjà vu avec celui qu’il a en face de lui. si il dit « Chien » et que ses parents approuve, alors bingo, il comprend qu’il a bien compris et est satisfait de sa réponse.

Si l’on fait l’analogie avec un réseau de neurones, celui-ci compare durant son entrainement, ce qu’il croit avoir reconnu (comme un enfant qui dit chien) et la réponse attendue (fournie par le jeu d’entrainement – training set en anglais, qui en plus de montrer une image de chien vient avec la réponse).

Il va calculer sa marge d’erreur en soustrayant mathématiquement (nous étudierons le détail mathématique plus tard dans un prochain article) sa réponse devinée, de la valeur attendue (fournie par le jeu d’entrainement). Ainsi, le delta entre les deux obtenu va lui permettre de modifier légèrement certains poids (weights) et certains seuils (bias) dans le réseau.

Ce qu’il se passe est, en réalité, que ce petit changement causera également un petit changement dans la valeur de sortie du réseau et influe ainsi sur le prochain résultat obtenu afin qu’il tende vers le bon résultat attendu. Comme nous le verrons dans un moment, cette propriété rend l’apprentissage possible étape par étape, un petit pas à la fois. Plus le réseau analysera d’échantillons d’entrainement plus il sera capable de minimiser ce delta et deviner la bonne réponse.

 

Voici ce que nous souhaitons :

Capture d’écran 2018-04-08 à 21.17.13

Si un petit changement dans un poids (weight) ou seuil (bias) cause seulement un petit changement (delta) dans la valeur de sortie du réseau (output), alors cela signifie que nous pouvons orienter les choix notre réseau afin qu’il se comporte comme de la manière que nous souhaitons.

Par exemple, supposez que le réseau classifie par erreur un chien en chat. Nous pouvons influencer ce réseau et découvrir comment un léger changement des paramètres (poids et seuils (weights and biases)) permettra au réseau d’être plus près de choisir un chat plutôt qu’un chien dans certains cas. Cette micro étape doit être ensuite répéter, en changeant encore et encore les paramètres afin de sortir de meilleures valeurs de sortie (output). Le réseau serait alors en train d’apprendre.

L’important est que le réseau puisse déterminer à chaque modification de paramètre si ces modifications auront un impact positif sur la valeur de sortie (output) ou un impact négatif. Si c’est négatif, alors le changement de valeur des poids (weights) et des seuils (biases) n’est pas bon et il ne sera donc pas enregistré et propagé dans le réseau.

 

Conclusion

L’objectif étant, vous l’avez compris, d’obtenir le maximum d’impact positif sur la réponse jusqu’à ce que l’intégralité ou presque des résultats avec des jeux de données différents soient terminés. On considère alors que l’apprentissage est terminé.

Pour cela, on utilise des données qu’on appelle, d’ailleurs, des données de tests à partir d’un dataset divisé en 3 parties.

Il ne faut d’ailleurs pas hésiter à mettre dans le dataset des images pièges pour apprendre au réseau à déjouer les faux-semblants.

chienchat

 

Dans la prochaine partie de cette série “Part 5”, nous parlerons du concept de fonction d’activation d’un neurone.

Je vous invite à lire, si vous ne l’avez pas déjà fait, les articles précédents :

Part 1 : Les réseaux de neurones artificielles

Part 2 : Comment fonctionne le Perceptron

Part 3 : Comment les réseaux de neurones prennent des décisions

Comments are closed, but <a href="https://rocketbootstrapper.com/fr/apprentissage-automatique/trackback/" title="Trackback URL for this post">trackbacks</a> and pingbacks are open.