France is AI - Masterclass introduction à l'IA
Il y a deux semaines, dans le cadre de la conférence annuelle France is AI j’ai pu animer une Masterclass d’Introduction à l’Intelligence Artificielle (IA) à destination des décideurs et influenceurs clés d’entreprises françaises dans le secteur de l’Industrie afin de les acculturer à ce domaine passionnant et à fort potentiel de transformation pour les organisations. Cet article vise à reprendre le contenu de cette présentation, le compléter avec des informations supplémentaires et pouvoir le diffuser à plus large échelle afin de bénéficier au plus grand nombre d’entre vous.
Il est à noter que cette Masterclass s’inscrit pleinement dans la vision de Microsoft de développer l’intelligence numérique au travers de la formation et de permettre à nos entreprises de relever les défis de la compétition à l’échelle planétaire. Cette vision se matérialise notamment par la Microsoft AI Business School, qui est un curriculum de formation a destination des décideurs métiers, que nous avons réalisé en partenariat avec l’INSEAD. Ce curriculum comporte quatre piliers distincts : Définir sa stratégie IA, Favoriser une culture IA, Développer de l’IA de manière responsable et enfin Introduction aux technologies d’IA.
L’objectif de cette Masterclass était donc d’aborder le quatrième pilier de cette AI Business School, avec un contenu adapté au contexte spécifique de France is AI afin d’introduire les technologies d’Intelligence Artificielle auprès de décideurs métiers.
Mais justement, qu’est-ce que l’Intelligence Artificielle et comment peut-on la définir ?
Bien que de nombreuses définitions puissent exister, nous avons généralement tendance à définir l’intelligence informatique comme une branche des sciences informatiques qui vise à développer des systèmes réalisant des fonctions normalement associées à l’intelligence humaine.
« Defining AI isn’t just difficult; it’s impossible, not the least because we don’t really understand human intelligence » -Ben Lorica
Mais le grand paradoxe de cette définition, c’est qu’en 2019 l’être humain n’est toujours pas capable de comprendre pleinement comment fonctionne notre cerveau et par conséquent, l’intelligence humaine. D’ailleurs peut-être ne saurons-nous jamais capables de le comprendre. Comme le résume très justement la formule du mathématicien Ian Stewart: “If our brains were simple enough for us to understand them, we would be so simple that we couldn’t.”
Mais essayons d’aller au-delà du paradoxe. 3 caractéristiques fondamentales de l’intelligence humaine sont généralement reprises pour caractériser une intelligence artificielle :
- La capacité à raisonner afin de trouver une solution à un problème dans un contexte donné.
- La capacité à apprendre des concepts plus ou moins divers.
- La capacité à améliorer dans le temps son niveau de performance.
Si on veut rentrer un peu plus dans le détail et donner une dimension historique à l’IA, il faut juste savoir que le terme a été inventé en 1956 par Marvin Minsky et John McCarthy lors de la fameuse conférence de Dartmouth et que l’on a connu depuis différentes « modes » qui ont chacune permis de franchir des paliers en termes de sophistication :
- Les premières techniques liées à l’IA étaient ce qu’on appelle les systèmes experts, dont l’approche était de codifier des règles métiers et des bases de connaissances sur lesquelles des systèmes experts pouvait prendre des décisions ou bien fournir des recommandations à des humains.
- Ensuite, on a connu et on connait toujours les techniques basées sur le machine learning, qui permet à une machine d’apprendre à réaliser une tâche en analysant des données, et sans être explicitement programmée par un humain.
- Et enfin, depuis maintenant une dizaine d’année, c’est très clairement le deep learning ( qui est un sous-ensemble du machine learning), qui permet de résoudre des tâches réellement complexes à l’aide de réseaux de neurones.
Nous allons donc dans la suite de cet article nous concentrer sur le machine learning et le deep learning qui sont très clairement les domaines les plus actifs aujourd’hui dans le champ de l’Intelligence Artificielle.
PARTIE 2 - MACHINE LEARNING
Il y a plusieurs types de machine learning en fonction des prédictions que l’on veut réaliser. Premièrement, il y a le machine learning supervisé. Ça veut dire que l’on a les jeux de données qui contiennent les réponses que l’on va chercher à prédire.
Au sein du machine learning supervisé, on retrouve deux sous-catégories, que sont :
- Les classifications, c’est-à-dire que l’on cherche à attribuer une classe à un objet. Par exemple, reconnaître si l’on affiche un hotdog ou pas sur une photo, identifier dans le milieu bancaire si une transaction est très probablement frauduleuse, probablement frauduleuse ou peu probablement frauduleuse, et dans le domaine de la maintenance prédictive, déterminer si oui ou non une machine est susceptible de tomber en panne dans les 4 prochaines semaines.
- Ensuite nous avons les régressions, où on cherche à prédire une valeur. Pour reprendre l’exemple précédent, on pourrait le transformer en régression si je cherchais à connaître la probabilité que ma machine tombe en panne dans les 4 prochaines semaines (15% par exemple). Chercher à prédire le prix de vente idéal d’un appartement en fonction de ses caractéristiques est également un problème de type régression, tout comme peuvent l’être des forecast de vente ou de production.
Nous avons ensuite le machine learning non-supervisé. Dans le non-supervisé, on ne connait pas la réponse et on n’a pas la réponse que l’on cherche à prédire dans notre jeu de données. C’est pour ça qu’on dit que l’apprentissage est non-supervisé d’ailleurs car c’est la machine qui va proposer ses propres réponses à partir de rien. On y retrouve deux sous-catégories :
- On a ce qu’on appelle le clustering, qui ressemble un peu à de la classification, dans le sens où on va demander à la machine de grouper les objets dans des ensembles les plus homogènes possibles. C’est par exemple utilisé dans le domaine de la segmentation des clients ou bien du clustering de défauts observés sur une ligne de production. L’idée ; c’est qu’au-delà de 3 dimensions, c’est extrêmement difficile pour l’esprit humain de visualiser des groupes de données homogènes. Cependant la machine elle, sait très bien le faire.
- Ensuite, on retrouve le filtrage collaboratif. L’idée étant de pouvoir par exemple construire des moteurs de recommandation ou de personnalisation de l’expérience utilisateur. C’est d’ailleurs la base de Netflix. En s’appuyant sur les films que vous avez aimé, et sur ceux que les gens similaires à votre profil ont aimé, Netflix sait vous recommander du contenu que vous allez probablement aimer.
Maintenant, sachant tout ça, la question à 1 million d’euros c’est comment est-ce que l’on construit un modèle de machine learning ?
En réalité, le procédé est assez simple à expliquer :
- Premièrement, il faut un jeu de données en entrée.
- Ce jeu de données va ensuite être séparé en deux : les données d’entrainement et les données de test. Les données d’entrainement vont nous permettre d’entrainer notre modèle, et ensuite on pourra tester le modèle sur le jeu de données de test afin d’évaluer sa précision.
- Il y a deux termes importants dans le jeu de données : les features et le label. Le label c’est la réponse que l’on cherche à prédire et les features sont toutes les variables comprises dans le jeu de données qui peuvent influencer le label. Prenons un exemple : si vous essayez de prédire le meilleur prix auquel vendre un appartement, alors le prix de vente sera le label, et la surface, l’année de construction, le nombre de pièces, etc. seront les features.
- Vous allez ensuite choisir l’algorithme de machine learning qui sera un bon candidat pour résoudre votre problème (rappelez-vous les 4 types de machine learning évoqués dans les 2 slides précédents) et construire votre modèle à partir de cet algorithme et du jeu de données d’entrainement.
- Une fois votre modèle construit, vous allez chercher à évaluer sa précision en appliquant le modèle sur le jeu de données de test et en comparant les écarts entre les réponses prédites par votre modèle et les « vraies » réponses présentes dans les données de test ; et si vous jugez que sa précision est suffisamment bonne, vous allez déployer votre modèle en production et l’interroger pour réaliser des prédictions.
Avant de passer au deep learning, je voulais faire une digression sur deux notions qui sont parfois confondues : la corrélation et la causalité.
On dit que deux évènements X et Y sont corrélés si on observe une relation entre eux. Pour autant, ça ne veut pas dire que X cause Y.
Par exemple, les ventes de glaces et les attaques de requins sont très corrélées, et pourtant l’un n’est pas la cause de l’autre. C’est juste que l’on vend en général plus de glace en été et que les gens vont aussi plus souvent à la plage en été et sont donc plus susceptibles de s’y faire attaquer par un requin…
Le machine learning ne peut déterminer que des corrélations. Ça reste à l’humain d’appliquer son jugement et d’utiliser ses connaissances pour déterminer s’il y a un lien de causalité ou non entre des variables qui sont corrélées.
Nous allons maintenant pouvoir passer au deep learning, aussi appelé apprentissage approfondi en bon français.
PARTIE 3 - DEEP LEARNING
La base fondamentale du deep learning, ce sont les réseaux de neurones. C’est une approche qui fonctionne par biomimétisme et qui essaye de reproduire de manière artificielle ce qui se passe dans les neurones de notre cerveau.
Un neurone artificiel est donc une construction très simplifiée et inspirée des neurones biologiques que l’on retrouve dans notre cerveau. Mais même avec ce niveau de simplification, le deep learning permet quand même de réaliser des choses bluffantes.
Un neurone artificiel reçoit en entrée différents signaux (issus d’autres neurones ou bien des entrées du réseau de neurones), qui ne sont que des nombres. Chacun de ces signaux est ensuite pondéré par un poids W. La valeur de ces signaux pondérés sont ensuite additionnés, et on vient appliquer sur cette somme une fonction d’activation non-linéaire (généralement une fonction sigmoïdale mais il y en a d’autres) qui va permettre au neurone de produire un signal unique en sortie, qui sera lui-même consommé par d’autres neurones.
C’est en enchainant comme ça à la suite différents neurones dans différentes couches, qu’à la fin on arrive à faire appendre au réseau de neurones des concepts plus ou moins complexes et de pouvoir par exemple détecter si une photo contient un chat ou un chien. De nos jours, les réseaux de neurones les plus complexes peuvent contenir plusieurs centaines de millions de neurones (voire des milliards si on considère les avancées les plus récentes).
On peut se poser la question suivante : pourquoi maintenant et qu’est-ce que ça apporte par rapport au machine learning ?
- Premièrement, le Deep Learning est un sous-ensemble du machine learning qui permet de faire des progrès considérables par rapport au machine learning traditionnel.
- Ces progrès sont rendus possibles par le Big Data qui a explosé ces dernières années, notamment grâce aux réseaux sociaux, à l’internet des objets et l’industrie 4.0. Ce point est fondamental, car le Deep Learning a le petit défaut d’être gourmand en données pour pouvoir être efficace.
- Des innovations en termes de hardware qui nous permettent de faire du Deep Learning de manière très efficiente. En effet, sans rentrer dans les détails, d’un point de vue mathématique le Deep Learning consiste en grande partie à manipuler des matrices de nombres. Or, des calculateurs comme des GPU ou des FPGA permettent de réaliser ces opérations de manière bien plus rapide que des CPU traditionnels.
- Et enfin des progrès algorithmiques, de nouvelles topologies de réseaux et des gains de productivité qui ont permis de franchir des paliers en termes de rapidité d’entrainement, de performance et d’efficience énergétique.
Depuis l’avènement du Deep Learning, la machine a atteint voire dépassé la parité humaine sur un certain nombre de tâches cognitives comme la vision, la reconnaissance vocale ou bien la compréhension du langage.
Ces services cognitifs sont donc mis à disposition des développeurs du monde entier sous forme d’API qui peuvent être intégrées dans des applications déjà existantes, ou bien de nouvelles applications.
A ce sujet, il y a un concept très important en deep learning, qui est l’apprentissage par transfert.
C’est une technique qui vous permet de gagner du temps et de l’argent en réutilisant des modèles déjà entrainés pour réaliser une tâche similaire à celle que vous essayez de résoudre.
Prenons un exemple : imaginons que vous vouliez identifier sur des photos de voiture la marque d’un véhicule. Vous avez deux choix :
- Soit développer un modèle en partant de 0, avec tous les efforts et les coûts que ça implique pour collecter les millions d’images, concevoir votre réseau de neurones, entrainer le réseau, etc.
- Soit prendre un modèle existant qui a été entrainé pour résoudre une classe de problème similaire, et le spécialiser pour votre problème. Et bien c’est ça l’apprentissage par transfert. Vous ne partez pas de 0, vous prenez un modèle existant, vous modifiez à la marge les dernières couches du modèle, vous le ré-entrainez avec vos données propres et vous le mettez en production.
On dit souvent que l’IA n’est pas capable de créativité, et que ça sera toujours la différence avec un humain. C’est certes vrai, mais de moins en moins vrai : les modèles génératifs permettent de générer des contenus (textuels, visuels, audio) et même de l’art avec parfois un fort degré de réalisme.
Si comme le dit Stéphane Mallard, une manière simple de définir la créativité, c’est de dire qu’il s’agit de la capacité à assembler au moins deux éléments qui n’ont pas encore été assemblés pour en faire quelque chose de nouveau, alors la machine est capable de créativité. La slide ci-dessous présente une technique que l’on appelle le transfert de style artistique. L’IA va extraire le style de la peinture de Vincent Van Gogh située en haut à gauche et l’appliquer sur le contenu de la photo en bas à gauche, ce qui donne le résultat situé sur la droite.
Pour aller encore plus loin en termes de créativité, des progrès récents ont été accomplis grâce à une technique que l’on appelle apprentissage par renforcement.
L’idée de base c’est qu’un acteur va pouvoir réaliser différentes actions au sein d’un environnement et qu’il recevra une récompense positive ou négative en fonction du résultat de ses actions. Prenons l’exemple d’un drone autonome qui doit livrer un colis d’un entrepôt vers une maison.
Dans ce cas-là, l’acteur c’est le drone qui pourra réaliser différentes actions, comme avancer ou reculer, monter, descendre, etc. au sein de son environnement. Chacune de ses actions va d’une part modifier l’état de l’environnement et d’autre part va également être évaluée dans le but de lui donner une récompense positive ou négative qui va influer sur son comportement. Le but étant d’influencer son comportement afin de livrer le colis en moins de 30 minutes, puis de revenir à l’entrepôt.
L’apprentissage par renforcement est généralement associé à la notion de monde simulé. En effet, si on reprend l’exemple du drone livreur de colis, on ne peut pas s’amuser à le laisser s’entrainer tout seul dans la nature : d’une part, ça pourrait être dangereux, d’autre part ça coûterait cher en matériel et enfin, ce serait bien trop long.
On va donc plutôt exécuter le processus d’apprentissage par renforcement dans un monde virtuel qui sera le plus fidèle possible à la réalité.
C’est un concept qui est extrêmement intéressant, car on peut potentiellement générer des variations infinies de mondes virtuels, chacun avec des paramètres et des contraintes différentes et ainsi avoir une IA robuste et capable de s’adapter à des conditions drastiques.
C’est le cas par exemple d’Open AI qui le mois dernier s’est appuyé sur ces techniques d’apprentissage par renforcement et de mondes simulés pour concevoir un robot qui sait résoudre un rubik’s cube à une main, et ce même quand on vient perturber le robot comme on peut le voir sur les vidéos de leur article.
C’est assez révolutionnaire et ce sont des choses que l’on n’était pas capables de faire il y a encore peu de temps. Et comme c’est révolutionnaire, il faut avoir une approche responsable du développement et de l’usage de l’IA afin de s’assurer que l’on va construire un monde souhaitable avec cette dernière.
PARTIE 4 - IA RESPONSABLE
« Science sans conscience n’est que ruine de l’âme. » -Rabelais
Comme nous le rappelle cette citation de Rabelais, le progrès technique n’est pas forcément synonyme de progrès moral.
Microsoft propose un certain nombre de principes pour construire et utiliser des IA responsables. Comme le respect de la vie privée, la fiabilité, la transparence, l’inclusion notamment. Tous ces principes sont documentés plus en détail sur notre Approche de l’IA.
Enfin, on vous encourage également à mettre en place un comité d’éthique de l’IA au sein de votre entreprise comme Microsoft l’a fait, l’objectif étant d’assurer une gouvernance à l’échelle de l’entreprise afin de s’assurer de partager sur l’ensemble de nos projets qui utilisent de l’IA un certain nombre de bonnes pratiques, de s’assurer que l’on respecte les principes fondamentaux précédemment énoncés, que l’on répond bien aux enjeux sociétaux du 21ème siècle.
Ce sujet est cependant bien trop important pour être uniquement "surfacé" au sein de cet article, et je vous encourage donc à suivre les modules dédiés à l'IA Responsable au sein du MOOC de l'AI Business School.
Nous arrivons maintenant à la fin de cet article, j’espère qu’il vous a été utile et vous a permis de vous acculturer quelque peu à l"Intelligence Artificielle. Nous avons ensemble essayé de définir l’intelligence artificielle, pour ensuite fait des zooms sur le machine learning et le deep learning et pour finir, nous avons quelque peu abordé le concept d’une IA Responsable.
Pour aller plus loin, je vous encourage vivement à prendre part au MOOC AI Business School et participer par commentaire ou me contacter directement si vous avez des suggestions, remarques ou question sur le sujet.
Pour conclure en légèreté à l’image d’Etienne Klein dans son émission « La conversation scientifique » sur France Culture, je voulais vous laisser avec quelques anagrammes de l’intelligence artificielle, qui sont à la fois très poétiques et très à propos.
Cloud Solution Architect at Microsoft
5 ansArticle intéressant, good job Sébastien Brasseur !
Cloud Architect
5 ansMerci pour cet article Sébastien Brasseur ;)
Lead Sales Solution Executive, Customer & Industry Workflows (CIWF) - FSI , CPG & Services, Switzerland
5 ansExcellente intro pour l AI !
Account Technology Strategist chez Microsoft
5 ansYohan Amsterdamer
Sales Manager Google Cloud for 🇫🇷 Digital Natives ☁️
5 ansBrillant article et si compréhensible ! Bravo et merci Sébastien.