IA… Mais c’est koi ?! (2)

Image illustrative
AI retro-engineering level 2

Allez on passe la seconde !

(si vous êtes toujours au point mort -> https://www.nonodamiens.fr/2021/01/30/ia-mais-cest-koi/)

On a vu que l’IA était en fait une formule de math que l’on modifie au cours d’un entrainement pour que ses résultats se rapprochent des résultats que l’on souhaite. Rentrons un peu plus en détail.

Tout d’abord il nous faut des données (exemple les tailles de moustaches et les poids de chats et de chiens) labelisées.

Moustaches Poids LABEL
12 cm3 kgChat
8 cm10 kgChien
Extrait des données

Les labels serviront à vérifier les résultats donnés par l’IA – formule de maths et les autres seront les valeurs données en entré à notre IA – formule de math. La formule doit également être constituée de paramètres qui pourront être modifiés pour changer les résultats dans le but encore une fois de se rapprocher de la réailité.

Je sens que j’en ai perdu certains…

On recommence par étapes :

  1. Je donne des données à ma formule de maths
  2. Elle fait un calcul et donne un résultat
  3. Je compare le résultat obtenu avec le label correspondant aux données
  4. Je modifie les paramètres de la formule en fonction de la différence constatée entre le résultat obtenu et celui attendu.
  5. Je recommence jusqu’à ce que je sois satisfait des résultats.

Alors ça va mieux ? C’est plus clair ? (du moins conceptuellement parlant)

Bon là on a pas beaucoup avancer depuis l’épisode 1… Il nous faut nous confronter aux maths !!!

Pas de panique, on va y aller lentement.

Tout d’abord il nous faut choisir une formule de math qui pourra marcher avec notre problème. Dans le premier épisode, nous avons représenté la formule sous la forme d’une courbe. Les courbes étant un peu trop compliquées à représenter mathématiquement pour nous, on va commencer par la courbe la plus simple : la droite. Notre IA ne sera pas très précise mais fonctionnera quand même.

Un peu de math

Quel est la formule d’une droite ?

y = ax + b

Pour ceux qui ne savent vraiment pas pourquoi on obtient des droites avec cette formule, une petite vidéo va aider.

Construire des droites en mathématique

Ok, on a notre formule. a et b sont nos paramètres que l’on peut modifier. x une des données d’entrée et y le résultat à exploiter pour créer la réponse.

Les étapes :

  1. On détermine au hasard des valeurs aux paramètres a et b (cela nous donne une droite au hasard)
  2. On calcul le y avec une de nos données que l’on a attribué à x
  3. On fait la différence entre y et la données qui nous reste et en fonction du signe du résultat on donne une réponse (« chat » ou « chien »)
  4. On compare avec le label correspondant à nos données.
  5. Si besoin, on modifie les paramètres a et b pour corriger la pente et la position de la droite.
  6. Et on recommence à partir de 2 (On attribue des paramètres au hasard qu’une seul fois !!)

Allez avec des petits dessins et un exemple concret ça sera plus clair ^^

Reprenons nos chats, chiens, poids et longueurs de moustaches. Générons des paramètres au hasard pour notre formule.

  1. Avec a = -2 et b = 10 la formule devient y = -2x + 10.
  2. Prenons un premier animal dont la taille des moustaches fait 3 cm et attribuons cette valeur à x
  3. y = -2*3 + 10 = 4
  4. Le poids de l’animal est de 5 kg. On compare avec le y (5 – 4 = 1 > 0)
  5. Quand le nombre obtenu est positif on décide que c’est un chien. C’est le cas ici.
  6. On compare avec le label des données. Zut c’était un chat.
  7. On modifie les paramètres un peu (faut pas aller trop vite) pour modifier la pente et la position de la droite pour se rapprocher du bon résultat. On peut mettre a = -1 et b = 5 pour obtenir le bon résultat (dans la réalité les modifications son généralement beaucoup plus fines mais là c’est pour l’exemple)
  8. On recommence avec d’autres données
  9. Une fois le taux de bonnes prédictions maximisé. On s’arrête et on sauvegarde notre formule pour de futurs prédictions sur des données fraiches non labélisées !
Graphique illustratif
Droite avec des paramètres fixés au hasard y = -1 * x + 10
Graphique illustratif
Droite avec les paramètres modifiés et optimisés y = 0.8 * x + 2
graphique illustrant la détection d'un chat par l'IA
Détection d’un chat

Voilà ! Ouf ! C’était un gros morceau. J’espère que ça devient de plus en plus clair dans vos petites têtes 😉

Bon nous n’avons fait qu’effleurer l’épiderme externe de l’IA mais la base est là ! Reste qu’il y a quelque chose qui n’est pas clair dans tout ça… Bah oui, ce n’est pas à nous de modifier les formules mais c’est au programme d’IA de manière automatique et autonome ! Comment il arrive à faire cet exploit ? Pour répondre à cette question il va nous falloir plonger encore plus loin dans les tréfonds des mathématiques… mais êtes-vous seulement prêt ?

A bientôt pour le prochain niveau !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.