L'apprentissage automatique est un type de programme informatique capable d'apprendre à effectuer des tâches sans instructions précises.
Cet article s'articule autour des points suivants :
Copier le lien de l'article
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 :
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.
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 :
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).
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.
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.
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.
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.
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 :
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.
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).
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.