Votre panier est vide.
Le présent article correspond à la partie 2 du thème “Intelligence artificielle et mathématiques”. Pour votre compréhension, je vous recommande de revoir la première partie au préalable.
Dans l’article précédent, j’ai illustré le modèle neuronal avec une couche d’entrée, une série de couches cachées et une couche de sortie.
Comment alimenter le modèle avec une entité classifiable et comment interpréter les informations de sortie?
Supposons que nous ayons un modèle entraîné pour reconnaître les images de chats et que nous voulons utiliser ce modèle pour classer l’image de la figure 1 comme un chat ou non.
Figure 1:
Image “chat1.jpg”
La figure 1 présente plusieurs caractéristiques:
Selon ce qui précède, les informations bit à bit de l’image peuvent être visualisées comme suit:
Figure 2. Informations numériques du fichier “chat1.jpg”.
À des fins d’illustration, l’image a été réduite à 5X5 pixels.
Comme on peut le voir, le premier pixel (en haut à gauche) a trois couches (255, 238, 44), correspondant respectivement aux valeurs de composition rouge, verte et bleue.
Ensuite, si l’image a 30×30 pixels, la taille du fichier sera de (30 X 30 X 3 = 2 700 octets) un octet par pixel par couche.
Pour utiliser cette image dans le modèle, il est nécessaire de “vectoriser” au préalable les informations, c’est-à-dire de convertir le tableau d’origine (30X30X3) en vecteur de colonne (2700X1). Voir la figure 3.
Figure 3. Informations vectorielles numérisées du fichier “chat1.jpg”.
Les 2 700 octets obtenus correspondent à la couche d’entrée du modèle (entrée hier), voir figure 4.
Figure 4. Informations sur la couche d’entrée (couche d’entrée). Comparez les valeurs indiquées avec les informations contenues dans les figures 1 et 2.
Le nombre de paramètres entre les couches de nœuds est défini comme le produit des nœuds des deux couches à joindre. Ainsi, pour réunir tous les nœuds de la couche d’entrée avec la première couche masquée, 6 X 2 700 = 16 200 paramètres sont requis, etc.
Ni la figure 4 ni la théorie expliquée ne comprennent certains paramètres supplémentaires par couche, qui spécifient le “bias”. Ils sont omis uniquement à des fins d’explication générale des performances de classification.
Avec la couche d’entrée alimentée et les paramètres précédemment définis, il est alors possible de calculer d’abord les valeurs de la couche cachée 1, puis de la couche cachée 2 et enfin de la couche de sortie, opération appelée “forward propagation”.
Cependant, la couche de sortie ne possède qu’un seul noeud (Figure 4). Ce nœud représente la sortie générale du modèle, une valeur unique qui doit représenter la classification obtenue.
Une fois sa valeur calculée, il faut la transformer en une valeur comprise entre zéro et un, grâce à un traitement mathématique appelé “fonction d’activation”.
La conversion de la sortie en une valeur comprise entre zéro et un implique que ladite valeur est transformée en une probabilité, si supérieure à 0,5, indiquant que l’image a été classée comme “chat”, si inférieure ou égale à 0,5 comme “non chat” .
La limite de classification est subjective et, dans certains cas, elle peut atteindre des valeurs supérieures à 0,5, dans d’autres à des valeurs plus faibles.
Imaginez que ce que vous classifiez ne sont pas des images de chats mais des images de tumeurs cutanées, classées malignes.
Dans ce cas, un faux positif classant une image comme une tumeur maligne, en réalité une tumeur bénigne, a des implications trop fortes pour le patient, de sorte qu’il peut être décidé de spécifier la limite vers 0,6 ou similaire.
Combien de couches cachées le modèle doit-il avoir? Combien de nœuds dans chaque couche? C’est ce que le Data Scientist doit définir. En général, quatre à six couches cachées, 200 à 300 nœuds par couche, sont courantes pour obtenir des résultats avec une probabilité d’erreur inférieure à 5% dans la classification.
Plusieurs concepts devraient être clairs en ce moment de lecture:
En général, le modèle est entraîné avec des images dont la classification est connue et repose sur un ensemble de paramètres sélectionnés de manière aléatoire. Sur la base du résultat de la classification de l’ensemble “Training Images”, il est possible de calculer l’erreur de classification. Avec cette erreur, un algorithme est généré qui recalcule les paramètres en nouvelles valeurs, la Back propagation, de sorte que dans une seconde analyse, une meilleure approximation (erreur mineure) de la classification soit obtenue.
Cette opération est répétée 10 000 fois ou plus jusqu’à ce qu’une marge d’erreur adéquate soit obtenue.
Une fois le modèle formé, vous pouvez tester la qualité de votre empreinte avec des images de test. De cette façon, si tout se passe bien, vous avez un modèle correctement entraîné.
Et qu’est-ce que tout cet apprentissage automatique a à voir avec la nature, l’objet central de mes articles?
Comprendre le fonctionnement des réseaux de neurones nous permet d’aborder les problèmes inhérents à la vie:
Avec l’article suivant, dernier du sujet, j’espère soulever ces préoccupations, pas les réponses, dans le réseau neuronal de votre cerveau.