Backgound

L'apprentissage automatique

December 2, 2021
10+ min

La technologie HD Rain repose sur le constat suivant : le signal électromagnétique des satellites de télévision est affaibli lorsqu'il rencontre sur son passage des gouttes de pluie. Dans un précédent article nous avions expliqué que l'origine physique de cette atténuation était la diffusion de Mie.

De ce constat est né la démarche d'analyser les ondes émises par les satellites géostationnaires afin d'en déduire une information spatialisée (cartes de pluie) à haute résolution spatiale et temporelle. Avant d'y parvenir de nombreuses difficultés techniques sont à surmonter. Nous aurons l'occasion d'y revenir ultérieurement.

L'un des premiers objectifs, une fois les capteurs fonctionnels, est d'être en mesure d'analyser le signal reçu, d'en déduire les périodes pluvieuses puis d'apporter une quantification aussi précise que possible. La détection des périodes pluvieuses doit se faire en temps réel et sur l'ensemble des capteurs. D'ailleurs, notre réseau continue d'augmenter avec notre : déploiement de 1000 capteurs sur l'arc méditerranéen. Il est nécessaire de réaliser automatiquement la détection des périodes pluvieuses via des algorithmes adaptés.

Principe de l'apprentissage automatique

L'apprentissage automatique est une branche de l'intelligence artificielle où le modèle mis en place va apprendre de lui-même une règle générale.

L'apprentissage automatique diffère de l'algorithmie classique. Dans le second cas on met en place un algorithme qui suit un certain nombre d'instructions explicitement et préalablement définies par l'utilisateur. Alors que dans le premier cas, le modèle va apprendre de lui-même les règles à suivre pour réaliser une tâche. Un nombre important de données sont en général nécessaires pour entraîner un modèle et obtenir des résultats probants.

On peut différencier algorithmie et apprentissage automatique par analogie avec l'apprentissage d'une nouvelle langue. L'apprentissage de sa langue maternelle par un nouveau-né se fait sans apprendre ni même comprendre les règles de grammaire ou la conjugaison, mais à partir de l'incalculable quantité d'informations qu'il peut assimiler en écoutant parler autour de lui. Cela correspond à l'apprentissage automatique. Un peu plus tard il aura la chance d'étudier une langue étrangère en apprenant les règles qui la régissent. Cela correspond davantage à l'algorithmie.

Étude d'un problème élémentaire

Pour illustrer nos propos, prenons l'exemple d'une grande entreprise dont on connait les salaires et les années d'expériences de chaque employé. Ces informations sont représentées sur le graphe de la figure 1.

Figure 1

On observe très clairement une corrélation entre le salaire et les années d'expériences. Plus un employé a d'années d'expériences et plus son salaire augmente. De plus, on peut penser que l'augmentation est linéaire car les points semblent se répartir selon une droite. Un modèle de machine learning permet de trouver la relation entre le salaire et les années d'expérience à partir des données dont nous disposons. Ces données s'appellent les données d'entraînement puisqu'elles permettent d'entraîner le modèle. En l'occurrence, le modèle en question s'appelle une régression linéaire.

La relation étant linéaire, on cherche donc à expliquer la répartition des données d'entraînement à l'aide d'une droite. Une droite est caractérisée par deux paramètres : sa pente 𝑎 et son ordonnée à l'origine 𝑏. Ce qui donne l'équation 𝑦 = 𝑎 × 𝑥 + 𝑏 où 𝑦 représente le salaire et 𝑥 le nombre d'années d'expérience. La régression linéaire nous donne, parmi l'infinité de choix possibles, la "meilleure" droite, celle qui se rapproche le mieux des données. Pour comparer les performances d'une droite par rapport à une autre, on définit une fonction de coût ou encore fonction d'erreur. Cette dernière exprime la différence entre les valeurs estimées par le modèle et les valeurs réelles. La "meilleure" droite est celle qui minimise la fonction d'erreur.

En testant aléatoirement un grand nombre de droites, on a très peu de chance de tomber sur le bon modèle par hasard. En revanche, tester intelligemment en affinant la recherche en fonction des précédents résultats permet d'aboutir au résultat escompté. En quelque sorte, si augmenter la valeur de 𝑎 avait permis de diminuer la fonction d'erreur on continue sinon on essaye de la diminuer. De manière imagée, deviner un nombre très grand sera possible en un temps raisonnable si on dispose d'informations du type "c'est plus / c'est moins" et qu'on parvient à les utiliser judicieusement.

En réalité la régression linéaire est une méthode de résolution directe, c'est-à-dire que les paramètres 𝑎 et 𝑏 sont directement déterminés par le calcul sans tâtonnement. Cependant l'explication de la fonction de coût que l'on cherche à minimiser à partir de son évolution selon les variations des paramètres faites précédemment correspond au principe général de résolution de modèles plus complexes.

Lorsque l'on choisit comme fonction de coût l'erreur quadratique moyenne (voir Annexe 1 : L'erreur quadratique moyenne), comme cela est couramment fait dans ce genre de problèmes, on obtient 𝑎 = 3  et 𝑏 = 35

Figure 2

Généralisation et surapprentissage

Une fois le modèle entraîné, l'objectif n'est pas de faire des prédictions sur des données que l'on connaît déjà (celles qui ont permis d'entraîner le modèle) mais de faire des prédictions sur de nouvelles données. Imaginons qu'une nouvelle personne avec 22 ans d'expériences soit recrutée, on peut estimer que son salaire sera approximativement de 𝑦 = 3 ∗ 22 + 35 = 101 k€

Dès lors, obtenir un modèle qui explique bien la relation dans les données d'entraînement n'est pas un objectif mais seulement un moyen pour parvenir à extraire la règle générale et espérer faire des prédictions précises sur des nouvelles données. Il faut donc éviter de coller parfaitement aux données d'entraînement au risque de se retrouver dans l'incapacité de généraliser, c'est ce qu'on appelle le surapprentissage. De la même manière, un étudiant s'entraînera à passer un examen à partir d'anciens sujets. Son objectif n'est pas de les apprendre par coeur (surapprentissage) mais d'en déduire des idées générales pour pouvoir les appliquer sur un nouveau sujet, le seul qui compte.

En reprenant l'exemple précédent avec moins de données et en faisant une régression polynomiale au lieu d'une régression linéaire, on obtient le modèle de la figure 3. On se rapproche davantage des données mais on perd beaucoup en généralisation.

Figure 3

La régression polynomiale explique mieux les données que la régression linéaire, pourtant le modèle est moins bon puisqu'il n'explique pas le lien entre les données contrairement à la régression linéaire.

Modèles plus complexes

Le machine learning permet de résoudre des problèmes bien plus complexes où la relation n'est pas aussi simple qu'une droite ou un polynôme, où il a bien plus qu'une variable en entrée (dans notre exemple les années d'expériences) et où l'on trouve parfois davantage de variables en sortie (dans notre exemple le salaire).

Parmi les exemples courants :

  • La voiture autonome est pilotée par un modèle qui reçoit en entrée une vidéo (succession d'images) en temps réel qu'il doit analyser pour prendre la bonne décision (accélérer, freiner, tourner à gauche, à droite). La quantité d'informations à traiter devient alors gigantesque, une seule image étant représentée par plusieurs millions de chiffres.
  • Le chatbot reçoit des mots en entrée auxquels il doit retourner d'autres mots afin de permettre un échange cohérent et utile à l'utilisateur.
  • La suggestion de contenus sur YouTube analyse le comportement de l'utilisateur (vidéos regardées, likées, dislikées, commentaires, etc.) pour suggérer d'autres contenus censés l'intéresser.

De manière générale, on distingue les variables d'entrée (ou input) que l'on note en général 𝑥 et les variables de sortie (ou output) que l'on note en général 𝑦. Un modèle n'est rien d'autre qu'une certaine fonction ⨍, à déterminer, qui permet d'associer une sortie 𝑦 à une entrée 𝑥. Dans notre exemple on avait ⨍(𝑥) = 3 × 𝑥 + 35

L'élaboration d'un modèle se déroule alors en deux phases :

  • L'apprentissage où l'on a 𝑁 données sous la forme input / output (𝑥𝑖, 𝑦𝑖). On cherche la fonction ⨍ de sorte que ⨍(𝑥𝑖) soit la plus proche possible de la valeur attendue, à savoir 𝑦𝑖. Pour cela on compare ⨍(𝑥𝑖) à 𝑦𝑖 à l'aide d'une fonction de coût. Tout l'objectif de l'apprentissage est de déterminer les paramètres de la fonction ⨍ qui minimise la fonction de coût, autrement dit qui explique le mieux les données d'entraînement.
  • L'utilisation du modèle. S'il a été correctement entraîné, il permet la généralisation. Pour une nouvelle valeur donnée 𝑥, on utilise la fonction ⨍ déterminée pendant la phase d'entraînement pour avoir une estimation de la valeur 𝑦 que l'on ignore : 𝑦𝑝𝑟𝑒𝑑 = ⨍(𝑥)

En résumé

L'apprentissage automatique est une forme d'intelligence artificielle où les règles permettant de réaliser une certaine tâche sont extraites des données lors de la phase d'apprentissage. Le principe est opposé à l'algorithmie où les règles sont préalablement et explicitement définies par son concepteur.

Dans un problème de machine learning, le modèle est entraîné afin d'expliquer au mieux les données d'entraînement. Pour quantifier l'explicabilité du modèle au regard des données d'entraînement, on a recours à une fonction de coût qui représente l'écart entre les prédictions faites par le modèle (en cours d'entraînement) et les valeurs réelles. La phase d'entraînement a donc pour objectif de minimiser cette fonction de coût.

Pour autant minimiser les erreurs entre les prédictions faîtes par le modèle et les valeurs réelles sur les données d'entraînement n'est pas un objectif en soit mais un moyen censé amener à l'élaboration d'un modèle capable de généraliser sur de nouvelles données.

Annexes

Annexe 1 : L'erreur quadratique moyenne

L'erreur quadratique moyenne (ou mean squared error en anglais ou encore MSE) est une des nombreuses fonctions de coût couramment utilisée. Elle calcule la moyenne des écarts au carré entre les valeurs réelles 𝑦𝑖 et les prédictions ŷ𝑖. Les écarts au carré permettent de pénaliser plus lourdement les grosses erreurs que les petites erreurs. Autrement dit, on favorise les modèles aux nombreuses petites erreurs à ceux qui en feront plus rarement mais plus importantes.