L'objectif de ce premier chapitre est de servir de base pour le reste de ce que vous lirez dans ce livre. Nous allons ici définir les concepts fondamentaux que nous explorerons plus en détail dans les prochains chapitres. Ce livre s'appuie sur lui-même, et ce chapitre en est le point de départ.
Cela dit, le point de départ logique est de définir ce que nous entendons par apprentissage automatique.
APPRENTISSAGE AUTOMATIQUE
Ma définition simple est la suivante : l'apprentissage automatique permet à un ordinateur d'apprendre par expérience.
Cela peut sembler trivial, mais si vous décomposez cette définition, elle a de profondes implications. Avant l'apprentissage automatique, les ordinateurs ne pouvaient pas s'améliorer par l'expérience. Au contraire, l'ordinateur faisait tout ce que le code lui commandait.
L'apprentissage automatique, dans son explication la plus simple, consiste à permettre à un ordinateur de varier ses réponses et à introduire une boucle de rétroaction pour les bonnes et les mauvaises réponses. Cela signifie que les algorithmes d'apprentissage automatique sont fondamentalement différents des programmes informatiques qui les ont précédés. Comprendre la différence entre la programmation explicite et l'apprentissage algorithmique est la première étape pour voir comment l'apprentissage automatique change l'informatique de manière fondamentale.
À quelques exceptions près, presque tous les logiciels que vous avez utilisés dans votre vie ont été explicitement programmés. Cela signifie qu'un humain a écrit un ensemble de règles que l'ordinateur doit suivre. Tout, du système d'exploitation de votre ordinateur à l'internet en passant par les applications de votre téléphone, a un code qu'un humain a écrit. Sans les humains qui donnent à l'ordinateur un ensemble de règles à suivre, l'ordinateur ne pourrait rien faire.
La programmation explicite est extraordinaire. C'est l'épine dorsale de tout ce que nous faisons actuellement avec les ordinateurs. C'est l'idéal lorsque vous avez besoin d'un ordinateur pour gérer des données, calculer une valeur ou suivre des relations pour vous. La programmation explicite est très puissante, mais elle présente un gros inconvénient: l'humain.
Cette donne devient problématique lorsque nous voulons faire des choses complexes avec un ordinateur, notamment lui demander de reconnaître la photo d'un chat. Si nous devions utiliser la programmation explicite pour apprendre à un ordinateur ce qu'il faut rechercher dans un chat, nous passerions des années à écrire des codes pour chaque éventualité. Et si vous n’arrivez pas à voir les quatre pattes sur la photo ? Et si le chat est d'une couleur différente ? L'ordinateur pourrait-il repérer un chat noir sur un fond noir ou un chat blanc dans la neige ?
Ce sont toutes des choses que nous considérons comme allant de soi en tant qu'humains. Notre cerveau reconnaît les choses rapidement et facilement dans de nombreux contextes. Les ordinateurs ne sont pas si doués pour cela, et il faudrait des millions de lignes de codes explicites pour dire à un ordinateur comment identifier un chat. En fait, il n'est pas du tout possible de programmer explicitement un ordinateur pour qu'il identifie les chats avec précision à 100 %, car le contexte peut toujours changer et fausser votre code.
C'est là que les algorithmes entrent en jeu. Avec la programmation explicite, nous avons essayé de dire à l'ordinateur ce qu'est un chat et de tenir compte de chaque éventualité dans notre code. En revanche, les algorithmes d'apprentissage automatique permettent à l'ordinateur de découvrir ce qu'est un chat.
Pour commencer, l'algorithme pourrait contenir quelques caractéristiques clés. Par exemple, nous pourrions dire à l'ordinateur de chercher quatre pattes et une queue. Ensuite, nous fournissons à l'algorithme de nombreuses images. Certaines images sont des chats, mais d'autres peuvent être des chiens, des arbres ou des images aléatoires. Lorsque l'algorithme fait une supposition, nous renforçons les suppositions correctes et donnons un retour négatif pour les suppositions incorrectes.
Au fil du temps, l'ordinateur utilisera l'algorithme pour construire son propre modèle de ce qu'il faut chercher pour identifier un chat. Les éléments du modèle de l'ordinateur peuvent être des choses auxquelles nous n'avions pas pensé au début. Avec plus de renforcement et des milliers d'images, l'algorithme s’améliorera progressivement dans l’identification des chats. Il n'atteindra peut-être jamais une précision à 100%, mais il sera suffisamment précis pour remplacer un étiqueteur d'images de chats humains et être ainsi plus efficace.
Les algorithmes sont des lignes directrices mais ne constituent pas des règles explicites. Ils constituent une nouvelle façon de dire à un ordinateur comment aborder une tâche. Ils introduisent des boucles de rétroaction qui s'autocorrigent au cours de centaines ou de milliers d'essais sur une tâche donnée.
Dans ce livre, il est question de l'apprentissage automatique, mais ce terme s'inscrit dans un contexte plus large. Comme l'apprentissage automatique se veut de plus en plus populaire, il fait l'objet d'une couverture médiatique importante. Dans ces articles, les journalistes utilisent souvent les termes intelligence artificielle, apprentissage automatique et réseaux neuronaux de manière interchangeable. Toutefois, il existe de légères variations entre ces trois termes.
Intelligence artificielle
Lorem Ipsum n'est qu'un texte factice de l'industrie de l'impression et de la composition
L'intelligence artificielle est le plus ancien et le plus large des trois termes. Créée au milieu du 20e siècle, l'intelligence artificielle désigne toutes les fois où une machine observe son environnement et y réagit. L'intelligence artificielle s'oppose à l'intelligence naturelle chez les humains et les animaux. Au fil du temps, cependant, la portée de l'intelligence artificielle a connu une mutation. Par exemple, la reconnaissance de caractères était autrefois un défi majeur pour l'IA. Aujourd'hui, elle est devenue routinière et n'est plus considérée comme faisant partie de l'intelligence artificielle. À mesure que nous découvrons de nouvelles utilisations de l'IA, nous les intégrons à notre cadre de référence pour ce qui est normal, et la portée de l'IA s'étend à tout ce qui est nouveau.
L'apprentissage automatique est un sous-ensemble spécifique de l'IA. Nous avons déjà passé un certain temps à le définir dans ce chapitre, mais il s'agit de donner à une machine une boucle de rétroaction qui lui permet d'apprendre par expérience. Le terme "apprentissage automatique" n'existe que depuis les années 80. Ce n'est que récemment, au cours des 10 à 15 dernières années, que nous avons eu la puissance de traitement et de stockage de données nécessaire pour véritablement commencer à mettre en œuvre l'apprentissage automatique à l'échelle.
Couche d'entrée Couche masquée 1 Couche masquée 2 Couche de sortie
Les réseaux neuronaux sont un sous-ensemble de l'apprentissage automatique, et ils constituent la tendance la plus forte de l'industrie en ce moment. Un réseau neuronal se compose de nombreux nœuds qui travaillent ensemble pour produire une réponse. Chacun des nœuds les plus bas a une fonction spécifique. Par exemple, en regardant une image, les nœuds de bas niveau peuvent identifier des couleurs ou des lignes spécifiques. Plus tard, ces nœuds peuvent regrouper les lignes en formes, mesurer les distances ou rechercher la densité des couleurs. Chacun de ces nœuds est ensuite pondéré en fonction de son impact sur la réponse finale. Au début, le réseau neuronal fera beaucoup d'erreurs, mais au cours de nombreux essais, il mettra à jour la pondération de chaque nœud en vue d’en améliorer la recherche de la bonne réponse.
Maintenant, lorsque vous lirez un article sur l'IA, l'apprentissage automatique ou les réseaux neuronaux, vous comprendrez la différence. L'essentiel est de comprendre qu'il s'agit de sous-ensembles. Les réseaux neuronaux ne sont qu'un type d'apprentissage automatique qui, à son tour, n'est qu'une partie de l'intelligence artificielle.
L'apprentissage automatique peut se déployer dans de nombreux cas d'utilisation. Tant qu'il y a des données importantes à analyser, l'apprentissage automatique peut contribuer à leur donner un sens. En tant que tel, chaque projet d'apprentissage automatique se veut différent. Cependant, toute application d'apprentissage automatique comporte cinq parties essentielles :
1. LE PROBLÈME
L'apprentissage automatique est utile partout où il faut reconnaître des modèles et prévoir un comportement en fonction de données historiques. La reconnaissance de modèles peut aller de la reconnaissance de caractères à la maintenance prédictive, en passant par la recommandation de produits aux clients sur la base d'achats antérieurs.
Cependant, l'ordinateur ne comprend pas intrinsèquement les données ou le problème. Au lieu de cela, un spécialiste des données doit apprendre à l'ordinateur ce qu'il doit rechercher en utilisant un retour d'information approprié. Si le spécialiste des données ne définit pas bien le problème, même le meilleur algorithme formé sur le plus grand ensemble de données ne pourra jamais donner les résultats que vous attendez.
Eh bien, parce que ce ne sont que des humains.
Pourquoi les humains ne peuvent-ils pas être aussi efficaces que nous ?
Eh bien, parce que ce ne sont que des machines.
Pourquoi les machines ne peuvent-elles pas apprendre rapidement?
Il est clair que l'apprentissage automatique n'est pas encore bien adapté au raisonnement symbolique de haut niveau. Par exemple, un algorithme peut être capable d'identifier un panier, des œufs colorés et un champ, mais il ne pourrait pas dire s’il s’agit d’une chasse aux œufs de Pâques, comme le feraient la plupart des humains.
Généralement, les projets d'apprentissage automatique ont un problème très spécifique et très restreint auquel ils trouvent une réponse. Un problème différent nécessitera une nouvelle approche et éventuellement un algorithme différent.
Ücretsiz ön izlemeyi tamamladınız.