Introduction
Préface
Le nombre de livres sur l’Intelligence artificielle tend à croître exponentiellement ; il faut donc faire preuve d’une certaine audace pour en proposer un nouveau. Mais surtout il faut faire œuvre utile, et savoir de quoi l’on parle : maîtriser la théorie et s’être confronté à la pratique, à la mise en œuvre d’applications utiles et utilisées. L’auteur de ce livre Madjid Khichane est de ceux-là ; il allie une connaissance intime des « principes » acquise pendant trois longues années de recherche, lors de son doctorat, à une confrontation à la réalité lors un grand nombre d’expériences concrètes. Pour l’avoir encadré de près durant son doctorat, je peux assurer que clarté de pensée et sens pratique sont au rendez-vous ! Et c’est bien l’alchimie qui se produit dans ce livre consacré à l’initiation des novices, pour les guider vers l’acquisition d’une compréhension large du domaine, condition préalable à une inévitable spécialisation dans tel ou tel type d’algorithmes. Un algorithme d’intelligence artificielle est un monde en soi ; sans recul, et sans accompagnement, on s’y perd à coup sûr.
Pour développer et même simplement utiliser correctement une méthode d’intelligence artificielle, il est en effet nécessaire d’allier plusieurs types de connaissances, conceptuelles et concrètes, tant liées à la programmation qu’à l’utilisation des modèles et calculs statistiques, simples à première vue, mais constellés de pièges pour le naïf.
La liste est longue en effet des applications bancales, ou parfois néfastes, minées par des biais dus à la méconnaissance des caractéristiques d’une base d’exemples réellement utilisable. Alors que le domaine atteint une première étape de maturité, il est nécessaire de conjoindre vue d’ensemble et pratique sérieuse de la programmation, qui seule permet de paramétrer ou le plus souvent d’adapter tel ou tel algorithme. À l’heure du déploiement massif d’applications très concrètes, le temps n’est plus au bricolage.
Ce livre, donc, comble un vide et relève un défi, celui d’accueillir un débutant, de guider son autoformation à l’intelligence artificielle, à ses concepts, à ses méthodes et à ses algorithmes. En particulier, la mise en œuvre d’exemples est nécessaire pour comprendre réellement certains concepts difficiles, et seule la pratique de la programmation permet de dépasser le stade trompeur de l’intuition, de « l’impression d’avoir compris ». Cela n’est en effet qu’en allant jusqu’au bout de l’implémentation d’un cas concret, en Python ou en R, suffisamment « nettoyé » - préparé - pour être praticable dans le cadre simplifié d’un exercice, que l’on découvrira les pièges bien réels posés par la mise en œuvre. L’informatique n’est pas la Mathématique ! En informatique, la théorie et la pratique sont en partie liées par les lignes de codes. Ainsi préparé, on pourra parcourir avec profit les « grands algorithmes » issus de près de 70 ans de recherche et d’applications en intelligence artificielle.
Une place de choix bien sûr est laissée au Machine Learning et à son dernier avatar le Deep Learning qui a fait sortir la Data Science des laboratoires où depuis des décennies les chercheurs s’épuisaient sans arriver à la rendre vraiment utilisable. On peut maintenant déployer ces méthodes qui ont propulsé le domaine à la face du monde et qui sont le puissant moteur du succès des Google, Amazon ou Facebook. Le livre donne les clefs pour en acquérir le « feeling », apprécier les théories auxquelles elles sont adossées, pour se « faire la main » en programmant, et pour apprendre à créer ou sélectionner, puis « nettoyer »...