dimanche 24 novembre 2024

Comprendre le "Machine Learning" (ML) ...

Le Machine Learning (ML) fait référence à l'Intelligence Artificielle (IA), laquelle fait partie du "Carré d'As" de la Révolution Numérique (ou encore Digitale), avec le Big Data (BD), l'Internet des Objets (IoT) et le Cloud Computing (Cloud).

L'IA elle-même est un ensemble de technologies visant à créer des machines et des ordinateurs capables d'imiter des fonctions cognitives associées à l'intelligence humaine, tels que l'apprentissage, la résolution de problèmes, la reconnaissance de motifs, la capacité à visualiser et comprendre le langage parlé ou écrit et à y répondre, l'analyse de données, la formulation de recommandations, etc.

A cette fin, l'objectif principal est de développer des solutions informatiques qui puissent reproduire les capacités intellectuelles humaines, pour accomplir une variété de tâches de manière autonome ou semi-autonome. 

Les principales technologies sur lesquelles repose l’IA sont les suivantes:

  1. L'Apprentissage Automatique ou Machine Learning (ML): Cette technologie permet aux machines, en utilisant de puissants algorithmes (1), d'acquérir des connaissances et de s'améliorer à partir de grandes quantités de données, sans nécessiter une programmation explicite. Avec, à partir de ces connaissances acquises, la capabilité de générer automatiquement du texte, des images et d’autres contenus de haute qualité. D'où la référence à l'Intelligence Artificielle Générative (IAG). 
  2. Le Traitement du Langage Naturel (NLP): S'appuyant notamment sur son composant  LLMs (Large Language Models/Grands Modèles de Langage), il vise à permettre aux ordinateurs de comprendre, interpréter et générer du langage humain. Utilisant des algorithmes, des techniques de ML (Apprentissage Automatique) et des modèles statistiques, le NLP analyse la structure et la signification des mots, des phrases et des textes.
    S
    es applications incluent la reconnaissance vocale, la traduction automatique, la synthèse vocale, la réponse aux questions, l'analyse de sentiment et la génération de texte, facilitant l'interaction entre humains et machines via le langage naturel.
  3. La Vision par Ordinateur (VO): Elle permet aux ordinateurs de traiter et d'interpréter des images et des vidéos, de manière similaire à la vision humaine mais à une échelle plus rapide, grâce à des caméras, des données et des algorithmes. Il est ainsi possible d'identifier et d'extraire des informations visuelles, comme des objets, des formes, des couleurs et des mouvements. 
    L
    a VO est appliquée dans divers domaines, notamment la reconnaissance faciale, la détection d'objets, la surveillance, la réalité augmentée et la conduite autonome.
  4. Le Raisonnement Automatique (RA): Il vise à créer des solutions informatiques capables de raisonner, d'inférer et de tirer des conclusions logiques à partir de données et de connaissances préétablies, sans intervention humaine. Pour cela; le RA fait appel à la logique symbolique, le raisonnement probabiliste et les réseaux bayésiens (2). Il utilise également des algorithmes et des techniques de ML (Apprentissage Automatique) pour représenter et manipuler des connaissances, pour déduire de nouvelles informations à partir de ces connaissances, et pour prendre des décisions éclairées en fonction de ces informations. 
    L
    e RA est utilisé dans diverses applications de l'IA, comme la planification, la prise de décision, la résolution de problèmes et la vérification de théorèmes. Ce domaine en constante évolution est de plus en plus adopté dans de nombreux secteurs industriels et commerciaux, pour améliorer l'efficacité et la précision des processus décisionnels.
  5. La Robotique: Cette technologie vise à concevoir, construire et programmer des robots capables d'effectuer des tâches de manière autonome ou semi-autonome. Elle utilise des techniques d'IA comme la VO (Vision par Ordinateur), le NLP (Traitement du Langage Naturel), le RA (Raisonnement Automatique) et le ML (Apprentissage Automatique) pour permettre aux robots de percevoir, comprendre et interagir efficacement avec leur environnement. En constante évolution, la Robotique améliore l'efficacité, la précision et la sécurité des processus industriels et commerciaux.
    L
    es robots sont employés dans divers secteurs, dont notamment la fabrication, la logistique, la médecine, l'agriculture et la défense nationale. Les défis actuels incluent la conception de robots plus adaptatifs, la navigation autonome dans des environnements complexes, la manipulation d'objets et l'interaction homme-robot.

En combinant ces différentes technologies, l'IA ouvre la voie à un large éventail d'applications potentielles, allant de l'assistance à la prise de décision dans les entreprises jusqu'à l'automatisation des tâches routinières dans divers secteurs: Industrie, Commerce, Finance, Santé, Transport, Education, etc.

Cela étant posé, il est temps à présent d'aborder le sujet principal de cet article qui est le Machine Learning

I. Ce qu'est précisément le ML (Machine Learning)

Le ML (Machine Learning), ou AA (Apprentissage Automatique) en français, est donc un domaine de l'Intelligence Artificielle (IA) qui permet aux ordinateurs d'apprendre et de s'améliorer par eux-mêmes, à partir de l'expérience, sans être explicitement programmés. Il est basé sur la notion de Modèle IA, en l’occurrence Modèle ML (Modèle de Machine Learning ou d'Apprentissage Automatique).

Un Modèle ML, plutôt que de recourir à une programmation explicite, utilise un ensemble d'algorithmes et de paramètres internes pour analyser de vastes ensembles de données; cela afin d’identifier des "patterns" (3) et d’extraire des connaissances pour faire des prédictions et prendre des décisions éclairées de façon autonome. Cette phase d’analyse de données, en vue d’en extraire des informations pertinentes, est appelée Apprentissage ou Entrainement. Les données elles-mêmes sont appelées données d’entrainement; en règle générale, la performance du Modèle ML sera d’autant plus grande que leur volume sera important.

Concernant le rôle respectif des algorithmes et des paramètres:

  • Les algorithmes déterminent la façon dont le Modèle apprend à partir des données et comment il effectue des prédictions ou des classifications sur de nouvelles données. Il existe une grande variété d'algorithmes, chacun avec ses propres caractéristiques et méthodes d'apprentissage (voir paragraphe I.A).
  • Les paramètres d'apprentissage, quant à eux, sont les variables internes du modèle qui sont ajustées pendant le processus d'apprentissage. Ils permettent au Modèle d'adapter sa représentation interne aux données d'entraînement, de manière à minimiser l'erreur ou à optimiser une mesure de performance spécifique. 

Un Modèle ML sera toujours assigné à une tâche bien définie: reconnaissance d'image, traitement du langage naturel, recommandation de produits, détection de fraude, classification des e-mails en spam ou non spam, prédiction du marché, diagnostic médical, etc. Une fois l'apprentissage achevé, le Modèle pourra alors être déployé pour une mise en production, avec des données réelles.

Un Modèle ML s'appuie sur les notions de type d'apprentissage et de processus d'apprentissage (cf. figure ci-dessous):

A. Trois types d'apprentissage

Il existe trois types d'apprentissage en ML (Machine Learning) qui sont les suivants:

  • Apprentissage supervisé:
    • Le Modèle est entraîné sur un ensemble de données étiquetées, c'est-à-dire des données pour lesquelles on connaît la sortie attendue (valeur cible). L'objectif est de permettre au Modèle d'apprendre à prédire la sortie correspondant à de nouvelles données d'entrée.
    • Exemples d'utilisation: Reconnaissance vocale, classification d'images médicales, prédiction du taux d'attrition dans les entreprises, détection de fraude, etc.
  • Apprentissage non supervisé:
    • Le Modèle est entraîné sur un ensemble de données non étiquetées. c'est-à-dire des données pour lesquelles on ne connaît pas la sortie attendue. L'objectif est de permettre au Modèle de découvrir des structures ou des "patterns" dans les données, sans l'aide d'étiquettes ou d'aucune information préconçue. 
    • Exemples d'utilisation: Segmentation de marché (regroupement de clients en fonction de leur comportement d'achat), détection d'anomalies dans les réseaux, regroupement de documents similaires, etc. 
  • Apprentissage par renforcement:
    • Le Modèle est entraîné d'une façon qui ressemble à celle que les humains utilisent parfois, à savoir à tâtons. En fonction de chaque action prise, le Modèle reçoit un feedback sous forme de "récompense" ou de "pénalité". Il apprend ainsi à prendre des mesures qui conduisent aux résultats les plus favorables, au fil du temps, L'idée étant d'apprendre à prendre des décisions optimales pour maximiser les "récompenses" cumulées.
    • Exemples d'utilisation: Jeux vidéo ou Jeux de société (apprentissage de jeux complexes, à l'image de AlphaGo) - Robotique (contrôle de robots pour accomplir des tâches complexes) - Finance (optimisation de portefeuilles d'investissement).
B. Processus d’apprentissage

Le processus d’apprentissage (ou d’entrainement) d’un Modèle ML, par lequel des informations pertinentes sont extraites d'un ensemble de données d'entraînement, se déclinent en huit étapes (cf. figure ci-dessus):

  • Collecte de données - La première étape consiste à collecter un ensemble de données pertinent pour la tâche assignée au Modèle. Ces données peuvent être structurées (tableaux, bases de données) ou non structurées (images, texte).
  • Préparation des données - Les données collectées doivent ensuite être nettoyées et prétraitées, pour garantir leur qualité et leur cohérence. Cela peut impliquer de supprimer des doublons, de corriger des erreurs et de normaliser des valeurs. Tout cela dans le but d'adapter les données à l'entrée dans le Modèle d'apprentissage.
  • Choix du "moteur" d’apprentissage - Il existe deux choix possibles, se traduisant par une double déclinaison du ML:
    • Le premier, le plus fréquent, est celui d'algorithmes. On parle alors de Machine Learning Classique (MLC), première déclinaison du ML.
    • Le deuxième est celui de réseaux de neurones artificiels, notamment pour l'analyse de données très complexes et non structurées (images, sons, textes). On parle alors de Deep Learning (DL), ou Apprentissage en Profondeur (AP) en français (cf. section III plus bas, entièrement consacrée à ce sujet). C'est la deuxième déclinaison du ML.
    • On symbolise parfois cette double déclinaison sous la forme: (ML) = (MLC) + (DL).
    • Il existe de nombreux algorithmes MLC et de réseaux de neurones DL, chacun ayant ses propres forces et faiblesses. Le choix dépendra de la nature des données et de la tâche à accomplir.
  • Choix des paramètres d'apprentissage - Ce sont les variables internes du Modèle qui sont ajustées pendant le processus d'entraînement, pour minimiser l'erreur ou maximiser une certaine mesure de performance. Ils seront naturellement directement liés au "moteur" d'apprentissage retenu.
  • Entraînement du Modèle - L'algorithme est ensuite entraîné sur les données prétraitées. Cette étape permet au Modèle de découvrir des ‘patterns’ et de construire des modèles prédictifs.
  • Évaluation du Modèle - Une fois l'entraînement terminé, le Modèle est évalué sur un ensemble de données de test distinct de l'ensemble des données d'entraînement, pour mesurer ses performances et sa capacité à réagir à de nouvelles situations. 
  • Optimisation du Modèle -  L'ajustement des paramètres du Modèle pourra servir pour  améliorer sa performance.
  • Déploiement du Modèle - Si les performances du Modèle sont satisfaisantes, il peut être déployé en production pour effectuer la tâche pour laquelle il a été conçu. Cela sur de nouvelles données et en utilisant les paramètres optimisés pendant l'apprentissage.

Bien que ces étapes soient globalement applicables aux trois types d'apprentissage (supervisé, non supervisé, par renforcement), certains détails et techniques pourront varier en fonction du type choisi. 

C. Connaissances acquises lors de l'apprentissage d'un Modèle ML

Vo
ici quelques exemples d'informations pertinentes qu'un Modèle ML (MLC ou DL) peut acquérir, lors d'une analyse de données:

  • Corrélations et tendances:
    • Identification de liens cachés entre différentes variables, même si elles ne sont pas directement liées. Cela permet de découvrir des tendances et des modèles qui ne seraient pas visibles à l'œil nu.
    • Exemple d'utilisation: Découvrir qu'une augmentation de la température est corrélée à une augmentation des ventes de crème glacée.
  • Anomalies et points aberrants:
    • Détection de points de données qui s'écartent significativement de la norme. Cela peut être utile pour identifier des fraudes, des erreurs de saisie ou des événements rares.
    • Exemple d'utilisation: Détecter une transaction frauduleuse sur une carte de crédit en analysant le comportement d'achat habituel du client.
  • Structures et segments cachés:
    • Identification de groupes naturels de données qui partagent des caractéristiques communes. Cela permet de segmenter les données et de les analyser plus en profondeur.
    • Exemple d'utilisation: Identifier des catégories de clients en fonction de leur âge, de leur sexe et de leurs habitudes d'achat.
  • Importance des variables:
    • Identifier quelles variables sont les plus importantes pour expliquer une variable cible. Cela permet de se concentrer sur les facteurs les plus influents et d'améliorer la prise de décision.
    • Exemple d'utilisation: Déterminer que le prix est la variable la plus importante pour expliquer les ventes d'un produit.
  • Prédictions et estimations:
    • Prédiction de valeurs futures à partir de données historiques. Cela permet de prendre des décisions plus éclairées et de mieux gérer les risques.
    • Exemple d'utilisation: Prédire la demande pour un produit afin d'optimiser la gestion des stocks.

II. Algorithmes utilisés pour cela en MLC

Il existe une grande variété d'algorithmes d'apprentissage automatique, chacun ayant ses propres forces et faiblesses. Le choix dépendra de plusieurs facteurs, tels que :

  • Le type d'apprentissage: Supervisé, non supervisé ou par renforcement
  • La nature des données: Structurées ou non structurées
  • La tâche à accomplir: Classification, régression, clustering, etc.

Voici quelques-uns des algorithmes les plus populaires pour le MLC (l'aspect DL est couvert plus bas en section III)

  • Régression linéaire (apprentissage supervisé):
    • Fonction: La Régression Linéaire (tout comme la Régression Logistique évoquée au paragraphe suivant) est une méthode statistique utilisée pour modéliser la relation entre une variable dépendante (variable cible, celle que le modèle statistique a pour but de prédire ou d'expliquer) et une ou plusieurs variables indépendantes (celles utilisées pour prédire ou expliquer la variable dépendante; également appelées prédicteurs ou variables explicatives).
      La Régression Linéaire est utilisée lorsque la variable dépendante est continue, c'est-à-dire qu'elle peut prendre n'importe quelle valeur dans un certain intervalle (exemples: âge, taille, prix, température). Son objectif est de trouver la meilleure droite (ou plan dans le cas de plusieurs variables indépendantes) qui approche au mieux les points de données. La relation entre les variables est supposée être linéaire.
    • Exemple d'utilisation: Prédiction du prix (variable dépendante) d'une maison en fonction de ses caractéristiques (variables indépendantes): surface, nombre de chambres, piscine et autres facteurs - Prédiction de la pression artérielle en fonction de l'âge, du poids et d'autres facteurs - Prédiction de la température en fonction de la latitude, de la longitude et de l'altitude. 
  • Régression logistique (apprentissage supervisé):
    • Fonction: La Régression Logistique est utilisée lorsque la variable dépendante est binaire (0 ou 1, oui ou non). Elle modélise la relation entre une ou plusieurs variables indépendantes et la probabilité que la variable dépendante prenne la valeur 1 ou 0. Contrairement à la régression linéaire, la régression logistique utilise une fonction logistique pour modéliser la relation entre les variables indépendantes et la variable dépendante. Cette technique est couramment utilisée pour la classification binaire, comme la prédiction de l'issue d'un événement.
    • Exemples d'utilisation: Classer des e-mails en spam ou non spam (oui ou non) - Prédire si un patient développera (oui ou non) une maladie, en fonction de certains facteurs de risque (âge, poids, sexe, taux de cholestérol, etc.).
  • KNN/K-Nearest Neighbors (apprentissage supervisé):
    • Fonction: KNN (K-Nearest Neighbors) est une méthode d'apprentissage supervisé utilisée pour la classification et la régression. L'objectif est de prédire la valeur de sortie d'un nouvel exemple, en se basant sur les K exemples les plus proches de l'ensemble d'entraînement.
      Pour la classification, la valeur de sortie prédite est la classe majoritaire parmi les K exemples les plus proches.
      Pour la régression, la valeur de sortie prédite est la moyenne des valeurs de sortie des K exemples les plus proches.
    • Exemples d'utilisationClassification d'images - Reconnaissance de la parole - Recommandation de produits - Détection d'anomalies - Classification de textes - Prédiction de la qualité de l'air - Classification de clients - Classifications de films.
  • K-Means (apprentissage non supervisé): 
    • Fonction: K-Means est une méthode d'apprentissage non supervisé utilisée pour la classification de données non étiquetées. L'objectif est de partitionner un ensemble de données en K groupes distincts (appelés clusters), en fonction de leur similarité. Contrairement à la régression linéaire et à la régression logistique, il n'y a pas de variable de sortie (ou d'étiquette) associée à chaque exemple de données. Au lieu de cela, l'algorithme K-Means cherche à regrouper les données en fonction de leur similarité. 
    • Exemples d'utilisation: Segmentation de marché (classement des clients d'un site de commerce électronique en différents groupes basés sur leur comportement d'achat) - Analyse de données - Reconnaissance de formes.
  • Arbres de décision et Forêts aléatoires (apprentissage supervisé): 
    • Fonction: Prédire ou classifier en utilisant une série de règles de décision, basées sur les caractéristiques des données (4).
    • Exemples d'utilisation: Prédiction de l'issue d'une campagne publicitaire en ligne en utilisant un arbre de décision pour analyser divers facteurs tels que le budget, le ciblage démographique et le contenu de l'annonce - Diagnostic médical - Prévision de résiliation d'abonnement - Recommandation de produits - Analyse de crédit bancaire. 
  • Q-Learning (apprentissage par renforcement):  
    • FonctionLe Q-Learning est une méthode d'apprentissage par renforcement, utilisée pour trouver la politique optimale dans un environnement donné. Il s'agit d'une méthode de valeur itérative qui permet à un agent d'apprendre à prendre des décisions optimales, sur la base de "récompenses" et de "pénalités", en interagissant avec son environnement (5).
    • Exemples d'utilisation: Former un robot à se déplacer dans un environnement inconnu -  Contrôle de processus - Planification de trajectoires.
  • SVM/Support Vector Machine (apprentissage supervisé): 
    • Fonction: L'algorithme SVM (Support Vector Machine ou Machine à Vecteurs de Support) est une méthode d'apprentissage supervisé, pour la classification (laquelle consiste à prédire une catégorie ou une classe) et la régression (laquelle consiste à prédire une valeur numérique). Son principe de fonctionnement est basé sur la notion d'hyperplan à marge maximale (6).
    • Exemples d'utilisation: Classification des commentaires sur les réseaux sociaux (en positifs, neutres ou négatifs, en utilisant un SVM pour trouver l'hyperplan qui sépare au mieux les différents types de commentaires en fonction de leurs caractéristiques textuelles) - Soins de santé - Traitement du langage naturel - Traitement du signal - Reconnaissance vocale et d'images.
III. Concernant à présent le DL (Deep Learning)

Comme indiqué plus haut, le DL (Deep Learning) est un cas particulier du ML (Machine Learning) 
destiné au traitement de données très complexes et non structurées (images, sons, textes)
Un Modèle DL reste donc un Modèle ML et en conserve notamment toutes les caractéristiques (cf. figure ci-dessous), à savoir la même cinématique d'entraînement déclinée en huit étapes et les mêmes trois niveaux d'apprentissage. 

La seule différence, certes de taille, réside dans le fait que le "moteur principal" de l'apprentissage d'un Modèle DL utilise un Réseau de Neurones Artificiels (Artificial Neural Network ou ANN). Dans ce qui suit, dans un souci de simplification, nous utiliserons l'appellation "Réseau de Neurones" (Neural Network ou NN)

A. Ce qu'est un NN (Réseau de Neurones)

Un NN est un système informatique inspiré du fonctionnement du cerveau humain (7). Il est composé de plusieurs couches de neurones artificiels, interconnectés entre eux (cf. figure ci-dessous). Chacun de ces neurones artificiels est une unité de traitement d'information qui simule le fonctionnement des neurones biologiques dans le cerveau. A l'instar des neurones biologiques, les neurones artificiels reçoivent des signaux d'entrée, les traitent et produisent des signaux de sortie en fonction de leur état d'activation.
Ces NN sont organisés en couches de neurones successives (ensemble virtuel de milliers d’unités de traitement effectuant de petits calculs simples), de telle sorte que le résultat de la première couche nourrit la deuxième et ainsi de suite. De façon plus précise:
  • La couche d'entrée:
    Cette couche, la première du réseau, contient les neurones qui reçoivent les données du monde extérieur (textes, images, chiffres, sons, etc.). Chacun de ces neurones est associé à une caractéristique spécifique des données d'entrée. Par exemple, dans le cas de la reconnaissance d'images, chaque neurone pourrait représenter un pixel de l'image.
  • Les couches cachées:
    Ces couches sont situées entre la couche d'entrée et la couche de sortie. Dans une couche cachée, chaque neurone est connecté à tous les neurones de la couche précédente; il reçoit plusieurs valeurs d'entrée et génère une valeur de sortie (cf. détails dans paragraphe suivant). Ces couches cachées sont souvent responsables de la capacité du réseau à apprendre et à représenter des informations complexes et abstraites dans les données. Plus leur nombre est important, plus l'apprentissage est "profond".
  • La couche de sortie:
    Cette couche est la dernière couche du réseau de neurones et chacun de ses neurones produit une sortie finale du réseau. Le nombre de ces derniers dépend du problème spécifique que ce NN essaie de résoudre. Par exemple, dans une tâche de classification avec plusieurs classes, il y aura un neurone par classe et chaque neurone donnera la probabilité que l'entrée appartienne à cette classe.
B. Principe de fonctionnement d'un NN (Réseau de Neurones)
  • Quatre notions fondamentales: Poids, Biais, Classe et Fonctions d'activation:
    Ces quatre notions, à la base du fonctionnement des NN, sont les suivantes:
    • Poids (Weights): Chaque connexion (synapse) entre un neurone d'une couche et un neurone de la couche suivante a un poids associé, appelé poids synaptique. Ces poids déterminent la force et le type de connexion entre les neurones. Ils permettent surtout de pondérer les entrées d'un neurone cible. Plus le poids est élevé, plus la connexion est forte. Cela signifie que le signal transmis du neurone source vers le neurone cible aura une plus grande influence sur l'activation de ce dernier. Et inversément ... On peut imaginer les poids comme des boutons de réglage, permettant d'affiner la sortie du Modèle pour qu'elle corresponde au mieux aux données. Les poids sont ajustés pendant l'entraînement via Rétropropagation (cf. plus bas) ou par optimisation à l'aide d'algorithmes (8), l'objectif étant de leur trouver des valeurs qui minimisent la Fonction de perte (9).
    • Biais (Bias):
      Les biais sont des paramètres associés aux neurones eux-mêmes, pouvant être considérés eux-aussi comme de véritables boutons de réglage. Ils permettent de décaler la Fonction d'activation (cf. ci-dessous) et aident ainsi le Modèle DL à s'adapter aux données par ajout d'une flexibilité supplémentaire.

      Les biais sont également ajustés pendant l'entraînement pour minimiser la Fonction de perte, en utilisant les mêmes techniques que pour les poids.
    • Classe (Class) Utilisée dans des problèmes de classification, la classe fait référence aux catégories ou étiquettes que le Modèle doit associer à chaque entrée. Deux exemples: Classification d'images: Les classes pourraient être "chat", "chien", "oiseau", etc. Analyse de sentiments: Les classes pourraient être "positif", "négatif" ou "neutre".
    • Fonctions d'activation f(x): Les Fonctions d'activation introduisent de la non-linéarité dans le NN (Réseau de Neurones), permettant au Modèle de capturer des relations complexes dans les données. Elles participent au calcul de la sortie fournie par le neurone concerné (cf. paragraphe suivant), en transforment cette sortie linéaire en une sortie non-linéaire. Parmi les plus courantes, citons les suivantes:
      • Sigmoïdeσ(x)=11+ex
      • Tangente hyperbolique (Tanh): T
      • ReLU (Rectified Linear Unit)ReLU(x)=max(0,x)
      • Leaky ReLULeaky ReLU(x)=max(0.01x,x)
      • Softmax: Utilisée principalement dans la couche de sortie pour les problèmes de classification multi-classes.
Le choix d'une telle Fonction d'activation dépend de plusieurs facteurs, notamment de l'objectif du réseau, de la nature des données et de la tâche spécifique à accomplir (à noter qu'il sera toujours possible d'en changer d'une couche à l'autre). Voici par exemple les raisons qui conduiraient à choisir telle ou telle de celles précédemment mentionnées:

    • Sigmoide: Utilisée principalement dans la couche de sortie pour les problèmes de classification binaire. Elle produit des valeurs entre 0 et 1, ce qui est approprié pour interpréter des probabilités.
    • Tanh: Utilisée dans les couches cachées pour les tâches nécessitant des valeurs centrées autour de zéro. Elle produit des valeurs entre -1 et 1, ce qui peut être utile pour les RNN (cf. plus bas).
    • ReLU: Très couramment utilisée dans les couches cachées des NN pour les tâches de classification et de régression. Elle aide à résoudre le problème de la disparition du gradient (Vanishing Gradient Problem) et permet une convergence plus rapide.
    • Leaky ReLU: Une variante de ReLU qui permet une petite pente négative pour les valeurs négatives, ce qui peut aider à éviter le problème des neurones morts (Dying ReLU Problem). Utilisée dans les couches cachées pour des tâches similaires à ReLU.
    • Softmax: Utilisée dans la couche de sortie pour les problèmes de classification multi-classe (classification d'images et analyse de sentiments). Elle convertit un vecteur de scores en un vecteur de probabilités. 
  • Interaction de ces notions:
    Comme on vient de le voir, c
    haque neurone d'une couche reçoit les sorties "x" des "n" neurones de la couche précédente. Par ailleurs, chacune de ces sorties est transmise via un synapse bien spécifique, lui-même associé à un poids "w". Le neurone concerné reçoit donc en entrée "n" valeurs de "x" et "n" valeurs de "w", ce qui peut être représenté par les deux vecteurs X(x1,x2,…,xn) et W(w1,w2,…,wn).
    • Calcul de la sortie d'un neurone: Le neurone cible, qui reçoit les entrées représentées par ces deux vecteurs X et W, est lui-même associé à un biais "b". A partir de cela, il doit à son tour fournir une sortie "y". Celle-ci est calculée en appliquant une Fonction d'activation "f(x)", par exemple l'une de celles mentionnées ci-dessus, à la somme pondérée des entrées complétée par le biais. Ainsi donc, pour le neurone concerné, la sortie "y" est donnée par la formule: 
i=1nwixi+b

Soit encore y = f(X*W + b) où X*W représente le produit scalaire des vecteurs X et W. 

Cette sortie "y", appelée "valeur d'activation", généralement une valeur numérique située dans une plage de valeurs qui dépend de la Fonction d'activation utilisée. Soit pour les exemples de Fonctions d'activation cités: 

      • Sigmoïde(0,1)
      • Tanh(1,1)
      • ReLU[0,)
      • Leaky ReLU(,)
      • Softmax(0,1) pour chaque classe, avec la somme des sorties égale à 1.
L'interprétation des valeurs d'activation est cruciale pour comprendre comment un NN traite et transforme les données. En fonction de la position des neurones dans le réseau et de la tâche, les valeurs d'activation peuvent fournir des informations précieuses sur les caractéristiques extraites et les prédictions finales.

  • Interprétation en fonction de la position:
    • Couche d'entrée: Les neurones de la première couche (ou couche d'entrée) transforment les données brutes en caractéristiques initiales. Les valeurs d'activation ici reflètent les informations directement issues des entrées. Par exemple, dans un CNN (Réseau de Neurones Convolutif, cf. plus bas) pour la reconnaissance d'images, les neurones de la première couche peuvent détecter des bords ou des textures simples dans l'image.
    • Couches cachées: Au fur et à mesure que les données traversent les couches cachées, les neurones extraient des caractéristiques de plus en plus complexes. Les valeurs d'activation dans ces couches peuvent indiquer quelles caractéristiques ou combinaisons de caractéristiques sont les plus pertinentes pour la tâche. Par exemple, dans un CNN, les couches intermédiaires peuvent détecter des motifs plus complexes comme des formes géométriques ou des parties d'objets.
    • Couches de sortie: Dans la dernière couche, les valeurs d'activation peuvent représenter des probabilités (dans les cas de classification) ou des valeurs continues (dans les cas de régression). Par exemple, dans un réseau de classification binaire utilisant une Fonction d'activation Sigmoïde, une valeur proche de 1 indiquerait une forte probabilité pour une classe spécifique. De la même façon, dans un réseau de régression, les valeurs d'activation finales représentent directement les valeurs prédites, comme la température prédite ou le prix d'une maison.
  • Interprétation en fonction de la tâche:
    • Classification: Les activations des neurones de la couche finale sont souvent transformées en probabilités (comme avec la softmax) pour déterminer la classe prédite. Par exemple, dans un réseau de classification multi-classes, chaque neurone de la couche de sortie peut représenter la probabilité que l'entrée appartienne à une classe spécifique.
    • Régression: Les activations finales représentent directement les valeurs prédites. Par exemple, dans un modèle de régression pour prédire le prix des maisons, les valeurs d'activation de la couche de sortie seront les prix prédits. 
    • Détection d'objets: Les activations peuvent indiquer la présence et la localisation d'objets spécifiques dans une image. Par exemple, dans un réseau de détection d'objets comme YOLO (You Only Look Once), les activations finales peuvent inclure des informations sur la classe de l'objet, la confiance de la détection et les coordonnées de la boîte englobante.
  • Propagation Avant (Forward Propagation): La Propagation Avant est le processus fondamental dans un NN, où les données d'entrée sont transformées en sortie en passant par différentes couches du réseau. C'est comme une chaîne de montage où chaque couche ajoute sa propre transformation aux données. La cinématique est celle décrite précédemment (cf. paragraphe I.A): les données d'entrée sont fournies à la première couche du NN; pour chacune des couches suivantes, chaque neurone fournit une sortie (y = f (X*W + b)); la dernière couche quant à elle produit la sortie finale du NN.
    Exprimé autrement, la valeur d'activation produite par un neurone sera l'entrée pour les neurones de la couche suivante dans le NN concerné, permettant ainsi la propagation de l'information à travers les couches de ce réseau.

    Cette étape est cruciale car elle permet au NN de faire des prédictions basées sur ses paramètres actuels. Elle est généralement suivie de la Rétropropagation (cf. ci-dessous) pour affiner l'apprentissage. 
  • Rétropropagation (Backpropagation): La Rétropropagation est un algorithme fondamental utilisé pour entraîner les NN. Elle consiste à mettre à jour les poids et les biais de chaque neurone, depuis la dernière couche vers la première. Elle permet de calculer les Gradients (10) de la Fonction de perte par rapport aux poids et aux biais du réseau, ce qui est nécessaire pour ajuster ces paramètres afin de minimiser cette même Fonction de perte. La Rétropropagation fait appel à des notions de Mathématiques relativement poussées qui dépassent le cadre de cet article (cliquer ICI pour détails sur le sujet).
Ces différentes notions étant acquises, voyons à présent comment elles s'intègrent dans la phase d'apprentissage et l'exploitation d'un Modèle DL.
  • Phase d'apprentissage d'un Modèle DL: La phase d'apprentissage en DL (Deep Learning) se décline comme suit:
    1. Initialisation - Les paramètres du réseau (poids et biais) sont initialisés aléatoirement.
    2. Propagation avant - Les entrées passent à travers les différentes couches du réseau. Chaque neurone (de biais b) reçoit des entrées (vecteurs X et W) et produit la sortie y = f( X*W + b).
    3. Calcul de la perte - La sortie du réseau est comparée à la valeur attendue. Une Fonction de perte (comme par exemple "l'erreur quadratique moyenne") mesure l'écart entre les prédictions et la réalité.
    4. Rétropropagation - Le réseau calcule les gradients des poids par rapport à la perte, en utilisant la règle de la chaîne pour rétro-propager l'erreur depuis la sortie jusqu'aux couches intermédiaires.
    5. Mise à jour des paramètres - Les poids et les biais sont ajustés en utilisant une méthode d'optimisation (Algorithme de Descente de Gradient, Adam, RMSprop), pour réduire l'erreur.
    6. Itération - Les étapes 2-5 sont répétées sur plusieurs lots de données, affinant les paramètres à chaque passage pour améliorer la performance globale du Modèle.
  • Exploitation d'un Modèle DL:
    Une 
    fois le Modèle DL finalisé et mis en production, voici comment il fonctionne dans un environnement réel:
    1. Déploiement - Le Modèle est déployé sur un serveur ou un Cloud, prêt à traiter des requêtes en temps réel.  
    2. Prétraitement des données - Les données d'entrée (images, son, tableaux de chiffres, etc.) sont prétraitées pour correspondre au format attendu par le Modèle.
    3. Propagation avant - Les données d'entrée passent à travers les autres couches du réseau de neurones, et chacune de ces couches effectue des calculs basés sur les poids et les biais appris (cf. ci-dessus).
    4. Production de résultats - Le Modèle génère des résultats, comme des prédictions ou des classifications, qui sont ensuite utilisés par l'application.
    5. Surveillance - Les performances du Modèle sont constamment surveillées pour détecter toute dégradation de précision ou autres anomalies.
    6. Mise à jour continue - Le Modèle peut être mis à jour périodiquement avec de nouvelles données, pour améliorer ses performances et s'adapter aux changements.
L'exploitation d'un Modèle DL est donc, pour l'essentiel, un processus de surveillance et d'optimisation pour s'assurer que ce Modèle continue de bien fonctionner et de fournir des résultats précis.

C. Réseaux de Neurones (NN) utilisés pour le DL

Les plus utilisés sont les trois suivants: DNN (Deep Neural Network), CNN (Convolutional Neural Network) et RNN (Recurrent Neural Network). Bien que les trois soient souvent associés à l'apprentissage supervisé, ils peuvent également être appliqués à d'autres types d'apprentissage (non supervisé et par renforcement) en fonction de la nature des données disponibles et de la tâche à accomplir.

  • Réseaux de Neurones Profonds (DNN):
    • Fonction: Modélisation des relations complexes entre les variables d'entrée et de sortie, comme dans la reconnaissance d'images ou la prédiction de séquences.
      Les DNN sont souvent associés à l'apprentissage supervisé en raison de leur utilisation courante dans la classification, la régression et la prévision. 
      Ils peuvent être également utilisés pour des tâches d'apprentissage non supervisé telles que la réduction de dimensionalité, la détection d'anomalies et la segmentation d'images.
    • Exemple: Identification des chiffres écrits à la main en utilisant un DNN qui serait entraîné sur un ensemble de données de chiffres manuscrits, où chaque image serait représentée par une matrice de pixels. Le réseau apprendrait à reconnaître les motifs dans ces images et à prédire correctement le chiffre correspondant à chaque image.
  • Réseaux de Neurones Convolutifs (CNN):
    • Fonction: Un CNN est un NN spécialement conçu pour le traitement de données de type "grille" telles que les images: classification d'images, détection d'objets et segmentation d'images (principalement dans le domaine de la Vision par Ordinateur).
    • Exemple: Détection de visages dans des images en utilisant un CNN qui serait entraîné sur un ensemble de données contenant des images avec et sans visage. Le réseau apprendrait à extraire des caractéristiques importantes de ces images, telles que les bords et les textures; il pourrait ensuite utiliser ces caractéristiques pour distinguer les images avec des visages de celles sans visage. Une fois entraîné, le CNN pourrait être utilisé pour détecter automatiquement les visages dans de nouvelles images.
  • Réseaux de Neurones Récurrents (RNN):
    • Fonction: Un RNN est un NN plus particulièrement adapté à des tâches telles que le traitement du langage naturel ou NLP (notamment dans la traduction automatique, la génération de texte et le résumé automatique), la prédiction de séries chronologiques (en apprenant à partir des données historiques pour prédire les valeurs futures) et la reconnaissance vocale.
    • Exemple: Traduction automatique de phrases d'une langue à une autre, en utilisant un RNN qui serait entraîné sur un ensemble de données contenant des paires de phrases traduites. Le réseau apprendrait à prendre en compte le contexte de chaque mot dans la phrase source, pour générer une traduction appropriée dans la langue cible. Une fois entraîné, le RNN pourrait être utilisé pour traduire de nouvelles phrases automatiquement.

D. Quelle taille peut atteindre un NN (Réseau de Neurones) ?

Au vu de ce qui se passe avec le cerveau humain (7), on est en droit de se demander quelle taille (en terme de nombres de neurones et synapses) peut atteindre un NN. Cette question est complexe et il n'existe pas de réponse unique, car cela varie énormément en fonction de plusieurs critères:

  • La tâche à accomplir: Un réseau entraîné pour reconnaître des images de chats aura une architecture différente d'un réseau conçu pour traduire des langues.
  • La taille des données d'entraînement: Plus les données sont volumineuses et complexes, plus le réseau peut avoir besoin de neurones et de synapses pour apprendre des représentations efficaces.
  • L'architecture du réseau: Les réseaux de neurones convolutifs (CNN) ou récurrents (RNN) ont des structures très différentes et donc des nombres de paramètres variables.
  • La profondeur du réseau: Plus le réseau est profond, plus il a de couche; plus il y a de couches, plus il y a de neurones et de synapses.
On peut néanmoins dire qu'il existe trois "tailles" de NN, exprimées en nombres de neurones et de synapses:

  • Réseaux simples (petits réseaux): Quelques centaines ou milliers de neurones, quelques dizaines de milliers de synapses.
  • Réseaux plus complexes: Des dizaines de milliers à des millions de neurones, des millions à des milliards de synapses.
  • Réseaux massifs (très grands réseaux): Des centaines de millions à des milliards de neurones, des milliards à des milliers de milliards de synapses.
On exprime également la taille d'un NN par le nombre de paramètres (poids et biais) qu'il gère. On dit ainsi que GPT-3, un modèle de langage bien connu, possède 175 milliards de paramètres.

IV. Domaines d'utilisation du ML (Machine Learning)

Dans ce qui précède, bon nombre d'exemples d'utilisation du ML (MLC et DL) ont été cités. Ils montrent que le choix entre ces deux technologies dépend essentiellement de la nature du problème à résoudre et de la disponibilité des données.

Voici une petit récapitulatif, non exhaustif, des principaux domaines d'application de chacun d'entre eux:
  • Machine Learning Classique (MLC):
    • Classification:
      • Filtrage d'e-mails: Spam vs. non-spam (cliquer ICI pour détails). 
      • Détection de fraude: Transactions frauduleuses vs. légitimes  (cliquer ICI pour détails).
      • Reconnaissance d'image: Chat vs. chien (cliquer ICI pour détails). 
    • Régression:
      • Prédiction du prix d'une maison: Estimation de la valeur d'une propriété (cliquer ICI pour détails).
      • Prévision des ventes: Estimation du chiffre d'affaires futur (cliquer ICI pour détails).
      • Recommandation de produits: Suggestion d'articles susceptibles d'intéresser un client (cliquer ICI pour détails).
    • Clustering (11):
      • Segmentation de la clientèle: Grouper les clients en fonction de leurs caractéristiques (cliquer ICI pour détails).
      • Détection d'anomalie: Identifier les points de données qui s'écartent de la norme (cliquer ICI pour détails). 
  • Deep Learning (DL):
    • Vision par ordinateur:
      • Reconnaissance faciale: Identification des personnes (cliquer ICI pour détails). 
      • Détection d'objets: Identification d'objets dans une image (cliquer ICI pour détails).
      • Voiture autonome: Navigation et conduite autonome (cliquer ICI pour détails). 
    • Traitement du Langage Naturel:
      • Traduction automatique: Traduction de texte d'une langue à une autre (cliquer ICI pour détails).
      • Rédaction automatique: Génération de texte automatique (cliquer ICI pour détails).
      • Chatbot: Dialogue avec un ordinateur via un langage naturel (cliquer ICI pour détails).
    •  Réseaux de neurones profonds génératifs:
      • Création d'images: Génération d'images réalistes à partir de texte (cliquer ICI pour détails).
      • Musique générative: Création de musique originale (cliquer ICI pour détails).
      • Développement de médicaments: Conception de nouveaux médicaments (cliquer ICI pour détails).
Certains exemples nous sont très familiers, dans la mesure où nous en faisons un usage régulier. C'est ainsi que:
  • Le Machine Learning Classique (MLC) est utilisé par:
    • Google, dans son moteur de recherche Google, pour classer les pages Web par pertinence.
    •  Amazon, pour recommander des produits aux clients et pour détecter les fraudes.
  • Le Deep Learning (DL) est utilisé par:
    • Netflix, dans son système de recommandation Netflix, pour suggérer des films et des séries aux utilisateurs.
    • Google, pour traduire les langues, pour alimenter son moteur de recherche d'images et pour développer des voitures autonomes.
    • Facebook, pour reconnaître les visages et pour générer des descriptions automatiques de photos.
    • Tesla, pour sa voiture autonome.
V. Le Futur (et les défis) du ML

Le futur du Machine Learning (MLC et DL) promet d'être à la fois excitant et complexe. Cette technologie en constante évolution ouvre en effet a voie à une multitude de possibilités passionnantes. Voici quelques tendances à surveiller pour les années à venir:

  • Applications encore plus étendues:
    • MLC/DL dans tous les domaines: Le MLC et le DL seront intégrés dans de plus en plus de secteurs, de la Santé et la Finance à l'Agriculture et la Fabrication. On imagine déjà de plus en plus de diagnostics médicaux assistés par l'IA, des robots agricoles autonomes ou des chaînes de production optimisées grâce au DL.
    • MLC/DL plus accessible: Les outils et les ressources pour développer et utiliser le ML seront plus accessibles et faciles à utiliser, permettant à des personnes sans expertise technique de profiter de ses avantages.
    • MLC/DL plus spécialisé: Des Modèles MCL et DL de plus en plus spécialisés seront développés pour des tâches spécifiques, conduisant à des résultats plus précis et performants.
  • Défis et considérations éthiques:
    • Explicabilité et transparence: Les Modèles MLC et DL peuvent être complexes et difficiles à comprendre. Il faudra donc développer des méthodes pour expliquer comment les Modèles prennent des décisions, afin de garantir la confiance et la responsabilité.
    • Impact sur l'emploi: L'automatisation croissante grâce au ML pourrait entraîner des pertes d'emplois dans certains secteurs. Il faudra réfléchir à des solutions pour accompagner les employés dans la transition vers de nouveaux emplois.
    • Biais dans les données: Il conviendra d'éviter la présence de biais (12) dans les données d'apprentissage, pour garantir l'équité et la justice des algorithmes.
    • Éthique et respect de la vie privée: Il faudra éveiller à une utilisation responsable et éthique des technologies de MLC et de DL.
    • Sécurité et confidentialité: Deux aspects cruciaux du MLC et du DL. Il est essentiel de mettre en place des mesures adéquates pour garantir la sécurité des modèles et la protection des données.
    • Ressources informatiques: La formation de modèles ML complexes nécessite une puissance de calcul importante, ce qui peut constituer un obstacle pour certains.
    • Manque de talents: La demande croissante d’experts en ML nécessitera des initiatives de perfectionnement et de reconversion. 
  • Recherche et innovation continue:
    • Nouveaux algorithmes et architectures: La recherche en ML ne cesse d'évoluer, avec de nouveaux algorithmes et architectures plus performants et plus efficaces.
    • Calcul quantique: Le développement du calcul quantique pourrait révolutionner le MLC et le DL en permettant de traiter des volumes de données massifs encore plus rapidement.
    • Convergence avec d'autres technologies: Le MLC et le DL seront de plus en plus intégrés à d'autres technologies comme la Réalité Virtuelle, la Réalité Augmentée, l'Internet des Objets (IoT), le Big Data et la Blockchain (13).

VI. Conclusion

Le Machine Learning a révolutionné de nombreux domaines, de la Médecine à la Finance en passant par l'Industrie. Sa capacité à apprendre et à s'adapter à partir de données lui confère un potentiel immense pour résoudre des problèmes complexes et améliorer notre vie quotidienne.

Cependant, il est important de garder à l'esprit que le Machine Learning n'est pas une solution miracle. Il est crucial de bien définir les objectifs et de choisir les bons outils pour chaque cas d'usage. De plus, il conviendra toujours de s'assurer de la qualité des données (en prenant en compte les aspects sécurité et confidentialité) et de la robustesse des Modèles, pour garantir des résultats fiables et éthiques ...  
 

Nota Bene:

Le Prix Nobel de Physique 2024 a été décerné
au Britanno-Canadien John Hopfield et à l'Américain Geoffrey Hinton,
pour leurs travaux sur 
"l'Apprentissage Automatique basé sur
les Réseaux de Neurones Artificiels (Deep Learning)".


Le Prix Nobel de Chimie 2024 a été décerné
à l'Américain David Baker et au tandem formé
du Britannique Demis Hassabis et de l'Américain John Jumper
(tous deux employés 
de Google DeepMind)
pour leurs travaux sur "la prédiction de la structure des protéines
via 
l'Intelligence Artificielle (AI)".

 

Sources 

Comment fonctionne le Machine Learning ?

Cliquer ICI

Le Machine Learning expliqué simplement

Cliquer ICI

Qu'est-ce qu'un Réseau de Neurones ? 

Cliquer ICI

Top 10 Machine Learning Algorithms For Beginners: Supervised, and More

Cliquer ICI

Le Deep Learning

Cliquer ICI 

Quand la machine apprend - Yann Le Cun (Prix Turing 2018) - Odile Jacob

N/A

Machine Learning vs Deep Learning

Cliquer ICI

  
------------------------------------

(1) : Un algorithme, en Informatique, est une suite finie d'instructions ou d'opérations, codifiées et structurées en étapes, permettant de résoudre un problème spécifique ou de réaliser une tâche particulière. Chaque étape d'un algorithme doit être claire, précise et exécutable sur une machine. On peut comparer le tout à une "recette" décrivant méthodiquement comment réaliser une opération, que ce soit pour trier des données, effectuer des calculs ou traiter des informations.
Les algorithmes ont une importance fondamentale dans la mesure où ils permettent de structurer et d'automatiser des processus complexes. Ils sont utilisés dans une multitude de domaines, tels que la recherche d'informations, le tri de données, la compression de fichiers, la cryptographie, et bien d'autres. Ils sont essentiels pour le fonctionnement des logiciels et des systèmes informatiques modernes.
(2) Les Réseaux Bayésiens, également connus sous le nom de réseaux bayésiens probabilistes ou réseaux bayésiens graphiques, sont une technique utilisée en IA (Intelligence Artificielle) et en Statistiques pour modéliser des relations probabilistes entre différentes variables. Ces réseaux sont basés sur le théorème de Bayes, qui permet de calculer la probabilité conditionnelle d'un événement sachant la connaissance préalable d'autres événements. (3) : Les "patterns" (mot anglais signifiant "modèles" ou "schémas" en français) sont des structures ou des régularités récurrentes identifiables dans des données, des processus ou des phénomènes. Dans le cadre de l'IA et du ML, la détection de patterns est souvent au cœur des objectifs de modélisation et d'analyse des données. Il s'agit de structures répétitives ou d'associations significatives dans un ensemble de données, pouvant inclure des tendances, des corrélations, des anomalies ou des regroupements.. (4) : Les "Arbres de décision" et les "Forêts aléatoires" sont des méthodes d'Apprentissage Automatique (ML) utilisées pour la classification et la régression: 

  • Un "Arbre de décision" est une structure en forme d'arbre qui aide à prendre des décisions en fonction de certaines conditions. Il est composé de nœuds, de branches et de feuilles. Les nœuds représentent les questions ou les tests sur les données, les branches représentent les réponses possibles, et les feuilles représentent les décisions finales.
    Par exemple, comment prendre la décision s'il faut aller à la plage ou non ? Pour cela, on pourrait créer un arbre de décision avec des questions comme "Est-ce qu'il fait beau ?", "Est-ce que la température est supérieure à 25° C ?" et "Est-ce que la mer est calme ?". En fonction des réponses à ces questions, on prendrait alors une décision finale (aller à la plage ou non).
  • Une "Forêt aléatoire" est un groupe d'arbres de décision qui travaillent ensemble pour prendre une meilleure décision. Au lieu de compter sur un seul arbre, une forêt aléatoire combine les prédictions de plusieurs arbres pour obtenir une réponse plus précise et fiable.

(5) : Illustration du processus Q-Learning au moyen d'un exemple simple. Prenons le cas d'un robot qui doit apprendre à se déplacer dans un labyrinthe. Ce robot peut se déplacer dans quatre directions : haut, bas, gauche et droite. Chaque fois qu'il se déplace, il reçoit une récompense sous la forme: +1 point s'il se rapproche de la sortie, -1 point s'il s'en éloigne, 0 point s'il reste au même endroit. Le robot utilise alors une mémoire pour stocker la valeur de la récompense cumulée, appelée Q-Value, pour chaque direction dans chaque case du labyrinthe. Elle est mise à jour chaque fois que le robot se déplace et reçoit une récompense. Au début, la mémoire est vide (la Q-Value pour chaque direction est initialisée à 0). Le robot explore le labyrinthe en se déplaçant au hasard. Chaque fois qu'il se déplace, il met à jour la Q-Value de la direction qu'il a prise, en fonction de la récompense qu'il a reçue. Plus le robot explore le labyrinthe, plus sa mémoire se remplit. Finalement, le robot apprend à se déplacer dans le labyrinthe, en choisissant toujours la direction qui a la Q-Value la plus élevée.

Tel est le principe du Q-Learning ! (6) : Pour faciliter la compréhension de la finalité de l'algorithme SVM (Support Vector Machine), considérons un exemple simple de classification binaire en deux dimensions:

Supposons que nous ayons un ensemble de données composé de deux classes, représentées par des points oranges et bleus dans un plan en deux dimensions (cf. ci-contre), l'objectif est de trouver une "frontière" qui sépare au mieux ces deux classes.

Dans le SVM, cette "frontière" est appelée hyperplan séparateur (en deux dimensions, une droite). Celui-ci, représenté par la ligne noire en continu sur la figure ci-contre, est défini comme l'ensemble des points équidistants des points les plus proches des deux classes, appelés vecteurs de support et représentés par les points cerclés en noir (cf. figure ci-dessus).

La marge est la distance entre l'hyperplan séparateur et les vecteurs de support des deux classes; elle est représentée par les deux lignes noires en pointillées (cf. figure ci-dessus). L'objectif du SVM est donc de trouver l'hyperplan séparateur optimal, correspondant à la marge maximale entre les vecteurs de support des deux classes. 

Une fois cet hyperplan séparateur optimal (appelé aussi hyperplan à marge maximale) identifié, nous pouvons utiliser ce modèle pour prédire la classe d'un nouveau point dans le plan en deux dimensions. Si le nouveau point se trouve du côté "orange" de l'hyperplan séparateur optimal (où se trouvent les points oranges), il sera classé comme orange. Au contraire, s'il se trouve du côté "bleu" de l'hyperplan séparateur optimal (où se trouvent les points bleus), il sera classé comme bleu. 

Comme on peut aisément l'imaginer, cette identification de l'hyperplan séparateur optimal fait appel à une logique et à des équations mathématiques relativement complexes, dépassant le cadre de cet article (cliquer ICI pour en avoir une idée).
(7) Le cerveau humain est constitué d'un réseau d'environ 86 milliards de neurones (ou cellules nerveuses). Chaque neurone est connecté en moyenne à près de 2 000 autres par des connexions appelées synapses (soit environ 150 000 milliards de synapses).
(8) : Ces algorithmes sont cruciaux pour l'entraînement efficace des NN, permettant une convergence plus rapide et stable vers des solutions optimales. Les plus connus sont les suivants: Descente de Gradient, RMSprop (Root Mean Square Propagation) et Adam (Adaptive Moment Estimation).
(9) : La Fonction de perte, également appelée Fonction de coût, est une mesure de l'erreur entre les prédictions du modèle et les valeurs cibles réelles. Elle quantifie à quel point les prédictions du modèle sont éloignées des valeurs cibles et est utilisée pour guider l'optimisation des paramètres du modèle pendant l'entraînement. Différentes Fonctions de perte sont utilisées en fonction du type de problème (classification, régression, etc.).
(10) Le Gradient est un concept mathématique qui indique la direction et l'intensité de la variation la plus rapide d'une fonction. Il pointe vers la direction où la fonction augmente le plus rapidement et son intensité (ou magnitude) indique la vitesse à laquelle la fonction augmente dans cette direction. Il permet ainsi de de comprendre la variation de cette même fonction et de l'optimiser. 
(11) : Le Clustering est une technique d'apprentissage automatique qui consiste à regrouper des données similaires en ensembles homogènes appelés "clusters". Cette méthode est largement utilisée dans divers domaines, tels que l'analyse de données, la segmentation de marché et la recommandation de contenu. (12) : Les données utilisées pour entraîner un modèle d'apprentissage automatique peuvent être biaisées, ce qui peut entraîner un modèle biaisé. Par exemple, si un ensemble de données contient plus d'exemples d'hommes que de femmes, le modèle peut être plus susceptible de prédire des résultats pour les hommes. 
(13) : Le terme "Blockchain" désigne une technologie de stockage et de transmission d'informations, qui permet de créer un registre digital sécurisé et distribué. Cette technologie repose sur un réseau décentralisé de nœuds, qui partagent une copie de la "blockchain". Chaque fois qu'une transaction a lieu, elle est ajoutée à la "blockchain" et vérifiée par tous les nœuds du réseau. Cela garantit l'immuabilité et la transparence des données. Cette technologie est connue pour être utilisée dans le domaine des cryptomonnaies telles que le Bitcoin et l'Ethereum.