Qu'est-ce que l'apprentissage automatique ?

L'apprentissage automatique est un type de programme informatique capable d'apprendre à effectuer des tâches sans instructions précises.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définir l'apprentissage automatique
  • Expliquer le fonctionnement de l'apprentissage automatique
  • Faire la différence entre les modèles et les algorithmes d'apprentissage automatique

Copier le lien de l'article

Qu'est-ce que l'apprentissage automatique ?

L'apprentissage automatique fait référence à un type d'algorithme statistique capable d'apprendre sans instructions précises. Cela lui permet d'effectuer certaines tâches, telles que l'identification de logiques, en dégageant des généralités à partir d'exemples. L'apprentissage automatique fait partie de l'intelligence artificielle (IA), qui désigne la capacité d'un ordinateur à reproduire l'activité cognitive humaine.

Les utilisations de l'apprentissage automatique sont nombreuses et variées, elles comprennent notamment :

  • Identification des courriers indésirables
  • Détecter l’activité des bots
  • Recommandation de contenus aux utilisateurs sur les plateformes de diffusion en continu et les applications de médias sociaux
  • Fourniture de résultats dans les de recherche
  • Reconnaissance de la voix et de l'image
  • Chatbots et traduction linguistique
  • Recherche médicale

Apprentissage automatique ou IA

L'apprentissage automatique et l'IA ne font pas exactement référence à la même chose ; l'apprentissage automatique est plutôt une discipline relevant de l'IA. Mais l'IA ne se limite pas à l'apprentissage automatique, elle peut également inclure toute une série d'autres capacités.

Comment fonctionne l'apprentissage automatique ?

L'apprentissage automatique fonctionne selon un principe d'entrées et de sorties. Un algorithme d'apprentissage automatique reçoit des données (entrée) qu'il utilise pour produire un résultat (sortie). Un modèle d'apprentissage automatique "apprend" quel type de résultats produire, et ce par le biais de trois méthodes principales :

1. Apprentissage supervisé

Pour le type de programme d'apprentissage automatique le plus élémentaire, le programmeur crée un ensemble d'exemples d'entrées et de sorties correctes. L'algorithme d'apprentissage automatique tente de dégager des généralités à partir de ces exemples de sorte que, lorsqu'il est alimenté par une entrée, il peut produire la sortie souhaitée.

Imaginez un chef ayant à sa disposition une cuisine pleine d'ingrédients (l'input) et un menu avec un grand nombre d'exemples de plats cuisinés à mettre au menu (l'output). En combinant les ingrédients de différentes manières et en comparant le produit fini aux exemples de plats cuisinés, le chef peut finir par concevoir les recettes nécessaires à la création des plats du menu. De même, l'apprentissage supervisé permet à un algorithme d'apprendre à produire les bons résultats sans instructions programmées (ni recette).

2. Apprentissage non supervisé

L'apprentissage non supervisé consiste à fournir des données brutes à un algorithme d'apprentissage automatique plus avancé. Il identifie ensuite des logiques de manière autonome. Il agit un peu comme un chef cuisinier tellement compétent qu'il lui suffit de regarder un menu pour trouver la recette permettant de préparer ces plats.

3. Apprentissage par renforcement

Dans ce type d'apprentissage, l'algorithme d'apprentissage automatique est entraîné à partir de retours d'expérience. Il existe des « bonnes » sorties et des « mauvaises » sorties et l'apprentissage s'entraîne au fil du temps à éviter les mauvaises sorties.

L'apprentissage par renforcement est un processus qui repose sur des séries d'essais et d'erreurs. Imaginez que le chef n'ait pas de menu au départ, mais que tout ce qu'il cuisine soit évalué par un critique gastronomique. Le chef finit par être en mesure de dresser une liste de plats que le critique gastronomique aime, après avoir éliminé tous les éléments qu'il n'aime pas.

Qu'est-ce qu'un modèle d'apprentissage automatique ?

Un algorithme est un ensemble d'étapes préprogrammées ; un modèle d'apprentissage automatique correspond au résultat de l'application d'un algorithme à un ensemble de données. Malgré cette distinction, les termes « modèle d'apprentissage automatique » et « algorithme d'apprentissage automatique » sont parfois utilisés de manière l'un pour l'autre. Cependant la différence est importante : deux modèles d'apprentissage automatique peuvent produire des résultats différents même s'ils utilisent le même algorithme, à condition que chaque modèle ait été alimenté avec des données différentes au départ.

Qu'est-ce que l'apprentissage en profondeur (Deep learning) ?

L'apprentissage en profondeur est un type d'apprentissage automatique. Il utilise des réseaux neuronaux pour apprendre à reconnaître des logiques et à faire des associations dans des données brutes et non structurées. L'apprentissage en profondeur n'est pas supervisé et peut effectuer des tâches extrêmement complexes. Il est souvent utilisé pour la reconnaissance vocale, la conduite automatisée et d'autres applications avancées.

Qu'est-ce qu'un réseau neuronal ?

Un réseau neuronal est une méthode d'apprentissage automatique qui imite la structure du cerveau humain. Les réseaux neuronaux sont constitués de nœuds qui se connectent les uns aux autres. Ces nœuds sont répartis sur un minimum de trois couches : une couche d'entrée, une couche de sortie et une ou plusieurs couches cachées.

Chaque couche contient plusieurs nœuds qui se connectent les uns aux autres. Si un nœud juge des données importantes, il les transmet au nœud suivant.

Pensez au chef cuisinier qui prépare les plats dans la cuisine :

  • Si le chef doit préparer un gâteau, il peut commencer par examiner les ingrédients dans le garde-manger ; cela correspond à la couche d'entrée d'un réseau neuronal.
  • Le chef sélectionne des ingrédients tels que la farine, les œufs, le sucre et la poudre de cacao. Les ingrédients tels que le bouillon de poulet ou le riz ne sont pas sélectionnés. C'est comme si des données statistiquement significatives étaient transmises au nœud suivant.
  • Le chef combine les ingrédients de différentes manières : il mélange la pâte à gâteau, prépare le glaçage, etc. Ces tâches correspondent aux couches cachées d'un réseau neuronal, les nœuds se transmettent des données les uns aux autres.
  • Enfin, le chef cuisinier cuit, glace et sert le gâteau ; il s'agit de la couche de sortie. Entre-temps, les données qui ne sont pas dignes d'intérêt ou incorrectes (comme les ingrédients inutiles et les combinaisons incorrectes) ont été éliminées.

Qu'est-ce qu'une base de données vectorielle ?

Une base de données vectorielle est une méthode de stockage des données qui améliore l'apprentissage automatique. Les bases de données vectorielles permettent d'effectuer des recherches par similarité et d'identifier des éléments apparentés, par opposition aux requêtes de correspondance exacte. Cette forme de stockage des données permet aux modèles d'apprentissage automatique de comprendre le contexte des données qu'ils reçoivent.

Une base de données vectorielle stocke des éléments dans une matrice avec différentes dimensions, et avec des vecteurs spécifiant la position de chaque élément de données le long de ces dimensions. Cela permet aux modèles d'apprentissage automatique de trouver des données en lien avec d'autres données. Par exemple, une plateforme de diffusion en continu peut associer l'apprentissage automatique à une base de données vectorielle afin d'identifier les films à recommander à un spectateur, en fonction de son historique de visionnage.

Quelles sont les difficultés rencontrées lorsqu'il s'agit de créer des modèles d'apprentissage automatique ?

Sortie des données : même les modèles d'apprentissage en profondeur les plus avancés nécessitent l'accès à des ensembles de données massifs pour obtenir des résultats précis. Le stockage cloud est idéal pour sauvegarder ces ensembles de données massives, car l'informatique cloud est évolutive presque à l'infini. Cependant, l'accès à ces données entraîne souvent des frais de trafic sortant, c'est-à-dire des frais facturés par les fournisseurs de cloud pour le transfert des données depuis le stockage.

Puissance de calcul et infrastructure : l'apprentissage automatique, et en particulier l'apprentissage en profondeur, requière une grande quantité de puissance de calcul. Les modèles d'apprentissage automatique nécessitent un matériel spécialisé et coûteux ou le recours à des services cloud ; par exemple, plusieurs serveurs rapides équipés de processeurs graphiques. (Un processeur graphique ou unité de traitement graphique est plus puissant qu'un processeur traditionnel).

Comment Cloudflare contribue-t-elle au développement de l'apprentissage automatique ?

Cloudflare propose une série de services qui facilitent l'utilisation de l'apprentissage automatique. Cloudflare Workers AI est un réseau mondial de processeurs graphiques que les développeurs peuvent utiliser pour exécuter des tâches d'IA générative. Cloudflare Vectorize permet aux développeurs d'utiliser une base de données vectorielle distribuée à l'échelle mondiale. De plus, Cloudflare R2 est un système de stockage d'objets sans frais de trafic sortant, ce qui permet aux développeurs de stocker de grands ensembles de données sur le site cloud et de les transférer gratuitement. En savoir plus sur Cloudflare for AI.