L'IA pour tous : Comprendre l'apprentissage automatique et la transformation des entreprises
24 mars 2019
Intelligence Artificielle
Qu'est-ce que l'apprentissage automatique ?
L'essor de l'IA a été largement porté par un outil de l'IA appelé l'apprentissage automatique. Dans cette vidéo, vous apprendrez ce qu'est l'apprentissage automatique afin qu'à la fin, vous puissiez, je l'espère, commencer à réfléchir à la manière dont l'apprentissage automatique pourrait être appliqué à votre entreprise ou à votre secteur.
Le type d'apprentissage automatique le plus couramment utilisé est un type d'IA qui apprend des correspondances de A vers B ou de l'entrée vers la sortie. Et c'est ce qu'on appelle l'apprentissage supervisé. Voyons quelques exemples.
Si l'entrée A est un e-mail et que la sortie B que vous souhaitez est de savoir si cet e-mail est un spam ou non, zéro ou un, il s'agit alors de l'élément central de l'IA utilisé pour construire un filtre anti-spam. Ou si l'entrée A est un clip audio et que le travail de l'IA est de produire la transcription textuelle, alors il s'agit de reconnaissance vocale.
D'autres exemples. Si vous voulez entrer de l'anglais et qu'il sorte une langue différente, du chinois, de l'espagnol ou autre, alors il s'agit de traduction automatique. Ou la forme la plus lucrative d'apprentissage supervisé de ce type d'apprentissage automatique est peut-être la publicité en ligne, où toutes les grandes plateformes publicitaires en ligne disposent d'un élément d'IA qui saisit des informations sur une publicité et des informations sur vous et tente de déterminer si vous cliqueriez sur cette publicité ou non. Et en vous montrant les publicités sur lesquelles vous êtes le plus susceptible de cliquer, cela s'avère très lucratif. Ce n'est peut-être pas l'application la plus inspirante, mais elle a certainement un impact économique énorme aujourd'hui.
Ou si vous voulez construire une voiture autonome, l'un des éléments clés de l'IA est une IA qui prend en entrée une image et des informations provenant du radar ou d'autres capteurs et produit la position des autres voitures afin que votre voiture autonome puisse les éviter. Ou dans l'industrie, j'ai en fait beaucoup travaillé dans la fabrication où l'on prendrait en entrée une photo de quelque chose que l'on vient de fabriquer, comme une photo d'un téléphone portable sortant d'une chaîne de montage. Il s'agit d'une photo d'un téléphone, pas d'une photo prise par un téléphone. Et vous voulez savoir s'il y a une rayure, une bosse ou un autre défaut sur cet objet que vous venez de fabriquer. C'est l'inspection visuelle, qui aide les fabricants à réduire ou à prévenir les défauts dans les objets qu'ils fabriquent.
Ce type d'IA appelé apprentissage supervisé apprend simplement des correspondances d'entrée vers sortie ou de A vers B. D'un côté, l'entrée vers la sortie, de A vers B, semble assez limitatif, mais quand on trouve le bon scénario d'application, cela peut être incroyablement précieux.
Maintenant, l'idée de l'apprentissage supervisé existe depuis de nombreuses décennies, mais elle a vraiment décollé ces dernières années. Pourquoi cela ? Quand mes amis me demandent, hé Andrew, pourquoi l'apprentissage supervisé décolle-t-il maintenant ? Il y a un schéma que je dessine pour eux et je veux vous montrer ce schéma maintenant et vous pourrez peut-être aussi dessiner ce schéma pour d'autres qui vous posent la même question.
Supposons que sur l'axe horizontal, vous traciez la quantité de données dont vous disposez pour une tâche. Pour la reconnaissance vocale, il pourrait s'agir de la quantité de données audio et de transcriptions dont vous disposez. Dans de nombreux secteurs, la quantité de données auxquelles vous avez accès a vraiment augmenté au cours des deux dernières décennies grâce à l'essor d'Internet et des ordinateurs. Une grande partie de ce qui était auparavant, disons, des morceaux de papier, est maintenant enregistrée sur un ordinateur numérique. Nous obtenons donc de plus en plus de données.
Maintenant, supposons que sur l'axe vertical, vous traciez la performance d'un système d'IA. Il s'avère que si vous utilisez un système d'IA traditionnel, la performance croîtrait ainsi : à mesure que vous lui fournissez plus de données, sa performance s'améliore un peu, mais au-delà d'un certain point, elle ne s'améliore plus autant. C'est comme si votre système de reconnaissance vocale ne devenait pas beaucoup plus précis ou si votre système de publicité en ligne ne devenait pas beaucoup plus précis pour afficher les publicités les plus pertinentes, même si vous lui présentiez plus de données.
L'IA a vraiment décollé récemment grâce à l'essor des réseaux de neurones et de l'apprentissage profond. Je définirai ces termes plus précisément dans des vidéos ultérieures, alors ne vous inquiétez pas trop de ce que cela signifie pour l'instant. Mais avec l'IA moderne, avec les réseaux de neurones et l'apprentissage profond, ce que nous avons vu, c'est que si vous entraînez un petit réseau de neurones, alors la performance...
Les données en IA
Vous avez peut-être entendu dire que les données sont vraiment importantes pour construire des systèmes d'IA. Mais qu'est-ce que les données réellement ? Jetons un coup d'œil.
Regardons un exemple de tableau de données, que nous appelons aussi un ensemble de données. Si vous essayez de déterminer comment fixer le prix de maisons que vous essayez d'acheter ou de vendre, vous pourriez collecter un ensemble de données comme celui-ci. Il peut s'agir simplement d'un tableur, comme une feuille de calcul Excel, où une colonne est la taille de la maison, disons en pieds carrés ou en mètres carrés, et la deuxième colonne est le prix de la maison. Ainsi, si vous essayez de construire un système d'IA ou un système d'apprentissage automatique pour vous aider à fixer le prix des maisons ou à déterminer si une maison est au juste prix, vous pourriez décider que la taille de la maison est A et que le prix de la maison est B et faire apprendre à un système d'IA cette correspondance d'entrée vers sortie ou de A vers B.
Maintenant, au lieu de simplement fixer le prix d'une maison en fonction de sa taille, vous pourriez dire, eh bien, collectons également des données sur le nombre de chambres de cette maison. Dans ce cas, A peut être composé de ces deux premières colonnes et B peut être simplement le prix de la maison.
Ainsi, étant donné un tableau de données, étant donné un ensemble de données, c'est en fait à vous, selon votre cas d'utilisation commerciale, de décider ce qu'est A et ce qu'est B. Les données sont souvent uniques à votre entreprise. Et voici un exemple d'ensemble de données qu'une agence immobilière pourrait avoir si elle essaie d'aider à fixer le prix des maisons. C'est à vous de décider ce qu'est A et ce qu'est B et comment choisir ces définitions de A et B pour que cela soit utile à votre entreprise.
Autre exemple, si vous avez un certain budget et que vous voulez décider de la taille de la maison que vous pouvez vous permettre, vous pourriez alors décider que l'entrée A est ce que quelqu'un dépense et B est simplement la taille de la maison.
Terminologie de l'IA : Apprentissage automatique vs Science des données
Vous avez peut-être entendu parler d'une terminologie de l'IA telle que l'apprentissage automatique, la science des données, les réseaux de neurones ou l'apprentissage profond. Que signifient ces termes ? Dans cette vidéo, vous verrez quelle est cette terminologie des concepts les plus importants de l'IA afin que vous puissiez en parler avec d'autres et commencer à réfléchir à la manière dont ces choses pourraient s'appliquer à votre entreprise. Commençons.
Supposons que vous ayez un ensemble de données sur l'immobilier comme celui-ci avec la taille de la maison, le nombre de chambres, le nombre de salles de bain, si la maison est récemment rénovée, ainsi que le prix. Si vous voulez construire une application mobile pour aider les gens à fixer le prix des maisons, alors ceci serait l'entrée A et cela serait la sortie B, ce serait donc un système d'apprentissage automatique. En particulier, ce serait l'un de ces systèmes d'apprentissage automatique qui apprend des correspondances d'entrée vers sortie ou de A vers B.
L'apprentissage automatique aboutit donc souvent à un système d'IA opérationnel. Il s'agit donc d'un logiciel qui, à tout moment du jour ou de la nuit, peut automatiquement prendre en entrée A, ces propriétés d'une maison, et produire la sortie B. Donc, si vous avez un système d'IA en cours d'exécution, au service de dizaines, de centaines, de milliers ou de millions d'utilisateurs, il s'agit généralement d'un système d'apprentissage automatique.
En revanche, voici autre chose que vous pourriez vouloir faire, à savoir demander à une équipe d'analyser votre ensemble de données afin d'en tirer des enseignements. Une équipe pourrait ainsi arriver à une conclusion telle que : hé, saviez-vous que si vous avez deux maisons de taille similaire, de surface similaire, si la maison a trois chambres, alors elles coûtent beaucoup plus cher qu'une maison de deux chambres, même si la surface est la même ? Ou saviez-vous que les maisons récemment rénovées ont une prime de 15 % ? Et cela pourrait vous aider à prendre des décisions telles que : à surface égale, voulez-vous construire une maison de deux chambres ou de trois chambres afin de maximiser la valeur ? Ou vaut-il la peine d'investir dans la rénovation d'une maison dans l'espoir que la rénovation augmente le prix de vente ?
Ce seraient donc des exemples de projets de science des données, où le résultat d'un projet de science des données est un ensemble d'informations qui peuvent vous aider à prendre des décisions commerciales, comme le type de maison à construire ou l'opportunité d'investir dans une rénovation.
Les frontières entre ces deux termes, apprentissage automatique et science des données, sont en fait un peu floues, et ces termes ne sont pas utilisés de manière cohérente, même dans l'industrie aujourd'hui. Mais ce que je donne ici sont peut-être les définitions les plus couramment utilisées de ces termes, bien que vous ne trouverez pas d'adhésion universelle à ces définitions.
Pour formaliser un peu plus ces deux notions, l'apprentissage automatique est le domaine d'étude qui donne aux ordinateurs la capacité d'apprendre sans être explicitement programmés. C'est une définition d'Arthur Samuel d'il y a plusieurs décennies. Arthur Samuel était l'un des pionniers de l'apprentissage automatique, célèbre pour avoir construit un programme de jeu de dames capable de jouer aux dames encore mieux que lui-même, l'inventeur, ne pouvait le faire.
Ainsi, un projet d'apprentissage automatique aboutira souvent à un logiciel qui s'exécute, qui produit B étant donné A. En revanche, la science des données est la science de l'extraction de connaissances et d'informations à partir des données. Ainsi, le résultat d'un projet de science des données est souvent une présentation, un PowerPoint, qui résume les conclusions pour que les dirigeants prennent des mesures commerciales ou qui résume les conclusions pour qu'une équipe produit décide de la manière d'améliorer un site Web.
Laissez-moi vous donner un exemple de l'apprentissage automatique par rapport à la science des données dans le secteur de la publicité en ligne. Aujourd'hui, les grandes plateformes publicitaires disposent toutes d'un élément d'IA qui leur indique rapidement quelle est la publicité sur laquelle vous êtes le plus susceptible de cliquer. C'est donc un système d'apprentissage automatique, et cela s'avère incroyablement lucratif. Un système d'IA qui saisit des informations sur vous et sur la publicité et produit le résultat suivant : cliquerez-vous sur celle-ci ou non ? Ces systèmes fonctionnent 24 heures sur 24, 7 jours sur 7, et ce sont des systèmes d'apprentissage automatique qui génèrent des revenus publicitaires pour ces entreprises. Il s'agit donc d'un logiciel qui s'exécute.
À l'inverse, j'ai également mené des projets de science des données dans le secteur de la publicité en ligne. Si l'analyse des données vous indique, par exemple, que le secteur du voyage n'achète pas beaucoup de publicités, mais que si vous envoyez plus de commerciaux vendre des publicités aux agences de voyages, vous pourriez les convaincre d'utiliser davantage de publicité, alors ce serait un exemple de projet de science des données et d'une conclusion de science des données qui amène les dirigeants à demander à l'équipe de vente de passer plus de temps à contacter le secteur du voyage.
Ainsi, même au sein d'une seule entreprise, vous pouvez avoir différents projets d'apprentissage automatique et de science des données, qui peuvent tous deux être incroyablement précieux.
Réseaux de neurones et Apprentissage profond
Vous avez peut-être aussi entendu parler d'apprentissage profond. Alors, qu'est-ce que l'apprentissage profond ? Supposons que vous vouliez prédire le prix des maisons, que vous vouliez fixer le prix des maisons. Vous pourriez donc avoir une entrée qui vous indique la taille de la maison, le nombre de chambres, le nombre de salles de bain et si elle est récemment rénovée. L'un des moyens les plus efficaces de fixer le prix des maisons à partir de cette entrée A serait de la fournir à cet élément ici afin qu'il produise le prix. Ce grand élément au milieu s'appelle un réseau de neurones, et parfois nous l'appelons aussi un réseau de neurones artificiels. Et c'est pour le distinguer du réseau de neurones qui se trouve dans votre cerveau.
Le cerveau humain est donc composé de neurones, et quand nous disons réseau de neurones artificiels, c'est juste pour souligner qu'il ne s'agit pas du cerveau biologique, mais plutôt d'un logiciel. Et ce que fait un réseau de neurones, ou un réseau de neurones artificiels, c'est prendre en entrée A, qui sont ces quatre éléments, puis produire la sortie B, qui est le prix estimé de la maison.
Dans une vidéo optionnelle plus tard cette semaine, je vous montrerai davantage ce qu'est réellement ce réseau de neurones artificiels. Mais toute la cognition humaine est constituée de neurones dans votre cerveau qui se transmettent des impulsions électriques, des petits messages entre eux. Et quand nous dessinons l'image d'un réseau de neurones artificiels, il y a une analogie très lâche avec le cerveau, et ces petits cercles sont appelés neurones artificiels, ou simplement neurones par abréviation, qui se transmettent également des messages. Et ce grand réseau de neurones artificiels n'est qu'une grande équation mathématique qui lui indique, étant donné les entrées A, comment calculer le prix B.
Au cas où il semblerait y avoir beaucoup de détails ici, ne vous inquiétez pas. Nous en reparlerons plus tard. Mais les points clés à retenir sont qu'un réseau de neurones est une technique très efficace pour apprendre des correspondances de A vers B ou d'entrée vers sortie. Et aujourd'hui, les termes réseau de neurones et apprentissage profond sont utilisés de manière presque interchangeable. Ils signifient essentiellement la même chose. Il y a plusieurs décennies, ce type de logiciel s'appelait un réseau de neurones, mais ces dernières années, nous avons trouvé que l'apprentissage profond était une marque bien plus attrayante. Et c'est donc, pour le meilleur ou pour le pire, le terme qui a décollé récemment.
Alors, quel est le rapport entre les réseaux de neurones ou les réseaux de neurones artificiels et le cerveau ? Il s'avère qu'il n'y en a presque aucun. Les réseaux de neurones ont été initialement inspirés par le cerveau, mais les détails de leur fonctionnement sont presque totalement sans rapport avec le fonctionnement des cerveaux biologiques. Je devrais donc être très prudent aujourd'hui quant à toute analogie entre les réseaux de neurones artificiels et le cerveau biologique, même s'il y a eu une certaine inspiration lointaine.
L'IA dispose donc de nombreux outils différents. Dans cette vidéo, vous avez appris ce que sont l'apprentissage automatique et la science des données, ainsi que l'apprentissage profond et ce qu'est un réseau de neurones. Vous entendrez peut-être aussi dans les médias d'autres mots à la mode comme l'apprentissage non supervisé, l'apprentissage par renforcement, les modèles graphiques, la planification, le graphe de connaissances, etc. Et vous n'avez pas besoin de savoir ce que signifient tous ces autres termes, mais ce sont simplement d'autres outils pour amener les systèmes d'IA à faire en sorte que les ordinateurs agissent intelligemment. Et j'essaierai de vous donner une idée de ce que signifient certains de ces termes dans des vidéos ultérieures également.
Mais les outils les plus importants que j'espère que vous connaissez sont l'apprentissage automatique et la science des données, ainsi que l'apprentissage profond et les réseaux de neurones, qui sont un moyen très puissant de faire de l'apprentissage automatique et parfois de la science des données.
Si we devions dessiner un diagramme de Venn montrant comment tous ces concepts s'imbriquent, voici à quoi cela pourrait ressembler. L'IA est cet ensemble énorme d'outils permettant aux ordinateurs de se comporter intelligemment. Dans l'IA, le sous-ensemble le plus important est probablement celui des outils issus de l'apprentissage automatique, mais l'IA dispose d'autres outils que l'apprentissage automatique, comme certains de ces mots à la mode cités en bas. Et au sein de l'apprentissage automatique, la partie la plus importante aujourd'hui est constituée par les réseaux de neurones ou l'apprentissage profond, qui est un ensemble d'outils très puissants pour réaliser l'apprentissage supervisé ou des correspondances A vers B, ainsi que d'autres choses. Mais il existe aussi d'autres outils d'apprentissage automatique qui ne sont pas seulement des outils d'apprentissage profond.
Alors, comment la science des données s'inscrit-elle dans ce tableau ? L'utilisation de la terminologie manque de cohérence. Certaines personnes vous diront que la science des données est un sous-ensemble de l'IA, d'autres que l'IA est un sous-ensemble de la science des données. Cela dépend un peu de la personne à qui vous posez la question. Mais je dirais que la science des données est peut-être un sous-ensemble transversal de tous ces outils qui utilise de nombreux outils de l'IA, de l'apprentissage automatique et de l'apprentissage profond, mais qui possède également d'autres outils distincts qui résolvent un ensemble de problèmes très importants pour générer des informations commerciales.
Dans cette vidéo, vous avez vu ce qu'est l'apprentissage automatique, la science des données, l'apprentissage profond et les réseaux de neurones. J'espère que cela vous donne une idée de la terminologie la plus courante et la plus importante utilisée en IA, et que vous pouvez commencer à réfléchir à la manière dont ces choses pourraient s'appliquer à votre entreprise. Maintenant, que signifie pour une entreprise d'être performante en IA ? Parlons-en dans la prochaine vidéo.
Qu'est-ce qu'une entreprise d'IA ?
Qu'est-ce qui rend une entreprise performante en IA ? Et peut-être plus important encore, que faudrait-il pour que votre entreprise devienne excellente dans l'utilisation de l'IA ? J'ai précédemment dirigé l'équipe Google Brain et le groupe d'IA de Baidu, qui ont respectivement aidé Google et Baidu à devenir de grandes entreprises d'IA. Alors, que pouvez-vous faire pour votre entreprise ?
Il y a une leçon que j'ai apprise en observant l'essor d'Internet qui, je pense, sera pertinente pour la manière dont nous naviguons tous dans l'essor de l'IA. Jetons un coup d'œil.
Une leçon que nous avons apprise de l'essor d'Internet est que si vous prenez votre centre commercial préféré (ma femme et moi faisons parfois nos courses au centre commercial de Stanford) et que vous créez un site Web pour ce centre commercial, en y vendant peut-être des choses, cela ne transforme pas en soi le centre commercial en une entreprise Internet. En fait, il y a quelques années, je discutais avec le PDG d'une grande entreprise de vente au détail qui me disait : hé Andrew, j'ai un site Web, je vends des choses sur le site Web, Amazon a un site Web, Amazon vend des choses sur le site Web, c'est la même chose. Mais bien sûr, ce n'était pas le cas, et un centre commercial avec un site Web n'est pas la même chose qu'une entreprise Internet de premier plan.
Je pense qu'une entreprise Internet est une entreprise qui fait vraiment bien les choses que l'Internet permet de faire. Par exemple, nous pratiquons des tests A/B généralisés, ce qui signifie que nous lançons régulièrement deux versions différentes d'un site Web pour voir laquelle fonctionne le mieux parce que nous le pouvons, et ainsi nous apprenons beaucoup plus vite. Alors que dans un centre commercial traditionnel, il est très difficile d'avoir deux centres commerciaux dans deux univers parallèles et on ne peut peut-être changer les choses que tous les trimestres ou tous les six mois.
Les entreprises Internet ont tendance à avoir des cycles d'itération très courts. On peut lancer un nouveau produit chaque semaine ou peut-être même chaque jour parce que c'est possible. Alors qu'un centre commercial ne peut être redessiné et réarchitecturé que tous les plusieurs mois.
Les entreprises Internet ont également tendance à déléguer la prise de décision du PDG vers les ingénieurs et d'autres rôles spécialisés tels que les chefs de produit. Cela contraste avec un centre commercial traditionnel où le PDG peut décider seul de toutes les décisions clés et où tout le monde fait ce qu'il dit. Et il s'avère que ce modèle traditionnel ne fonctionne pas à l'ère d'Internet car seuls les ingénieurs et d'autres rôles spécialisés comme les chefs de produit en savent assez sur la technologie, le produit et les utilisateurs pour prendre d'excellentes décisions.
Voici donc quelques-unes des choses que font les entreprises Internet pour s'assurer qu'elles font vraiment bien les choses que l'Internet permet de faire. C'est la leçon que nous avons apprise de l'ère Internet.
Qu'en est-il de l'ère de l'IA ? Je pense qu'aujourd'hui, vous pouvez prendre n'importe quelle entreprise et lui faire utiliser quelques réseaux de neurones ou quelques algorithmes d'apprentissage profond. Cela ne transforme pas en soi l'entreprise en une entreprise d'IA. Au contraire, ce qui fait une grande entreprise d'IA, parfois une entreprise « AI-first », c'est si vous faites vraiment bien les choses que l'IA permet de faire.
Par exemple, les entreprises d'IA sont très douées pour l'acquisition stratégique de données. C'est pourquoi de nombreuses grandes entreprises technologiques grand public peuvent proposer des produits gratuits qui ne sont pas monétisés et qui leur permettent d'acquérir des données qu'elles peuvent monétiser ailleurs. J'ai ainsi dirigé des équipes stratégiques où nous lancions délibérément des produits qui ne rapportaient pas d'argent, juste pour l'acquisition de données. Et réfléchir à la manière d'obtenir des données est un élément clé des grandes entreprises d'IA.
Les entreprises d'IA ont tendance à avoir des entrepôts de données unifiés. Si vous avez 50 bases de données différentes ou 50 entrepôts de données différents sous le contrôle de 50 vice-présidents différents, il sera alors impossible pour un ingénieur de rassembler les données en un seul endroit afin de pouvoir faire le lien et repérer les schémas. Ainsi, de nombreuses grandes entreprises d'IA ont investi de manière préventive pour rassembler les données dans un entrepôt de données unique afin d'augmenter les chances que les équipes puissent faire le lien. Sous réserve, bien sûr, des garanties de confidentialité et des réglementations sur les données telles que le RGPD en Europe.
Les entreprises d'IA sont très douées pour repérer les opportunités d'automatisation. Nous sommes très doués pour nous dire : tiens, insérons un algorithme d'apprentissage supervisé et créons une correspondance A vers B ici afin que nous n'ayons plus besoin d'humains pour ces tâches, mais que nous puissions les automatiser. Les entreprises d'IA ont également de nombreux nouveaux rôles tels que l'ingénieur en apprentissage automatique (MLE) et de nouvelles façons de répartir les tâches entre les différents membres d'une équipe.
Ainsi, pour qu'une entreprise devienne performante en IA, elle doit être architecturée pour faire vraiment bien les choses que l'IA rend possibles.
Le guide de transformation en IA
Maintenant, pour qu'une entreprise devienne performante en IA, un processus est nécessaire. En fait, il y a 10 ans, Google et Baidu, ainsi que des entreprises comme Facebook et Microsoft dont je ne faisais pas partie, n'étaient pas les grandes entreprises d'IA qu'elles sont aujourd'hui. Alors, comment une entreprise peut-elle devenir performante en IA ?
Il s'avère que devenir performant en IA n'est pas un processus magique mystérieux. Au contraire, il existe un processus systématique par lequel de nombreuses entreprises, presque n'importe quelle grande entreprise, peuvent devenir performante en IA. Voici le guide de transformation en IA en cinq étapes que je recommande aux entreprises qui souhaitent devenir efficaces dans l'utilisation de l'IA. Je vais donner ici un bref aperçu du guide, puis j'entrerai dans les détails plus tard.
La première étape consiste à exécuter des projets pilotes pour créer une dynamique. Faites simplement quelques petits projets pour mieux comprendre ce que l'IA peut et ne peut pas faire et pour mieux appréhender ce que l'on ressent lors d'un projet d'IA. Et cela, vous pourriez le faire en interne ou avec une équipe externe. Mais vous devrez finalement passer à la deuxième étape, qui consiste à créer une équipe d'IA interne et à fournir une formation générale en IA, non seulement aux ingénieurs, mais aussi aux managers, aux chefs de division et aux dirigeants sur la manière de penser l'IA. Après avoir fait cela, ou pendant que vous le faites, vous aurez une meilleure idée de ce qu'est l'IA, et il sera alors important pour de nombreuses entreprises de développer une stratégie d'IA. Et enfin, d'aligner les communications internes et externes afin que toutes vos parties prenantes, des employés aux clients en passant par les investisseurs, soient alignées sur la manière dont votre entreprise navigue dans l'essor de l'IA.
L'IA a créé une valeur énorme dans le secteur du logiciel et continuera de le faire. Elle créera également une valeur énorme en dehors de ce secteur. Si vous pouvez aider votre entreprise à devenir performante en IA, j'espère que vous pourrez jouer un rôle de premier plan dans la création d'une grande partie de cette valeur. Dans cette vidéo, vous avez vu ce qui fait d'une entreprise une bonne entreprise d'IA et avez également abordé brièvement le guide de transformation en IA, que je détaillerai beaucoup plus tard comme une feuille de route pour aider les entreprises à devenir excellentes en IA. Si vous êtes intéressé, un guide de transformation en IA est également publié en ligne et détaille ces cinq étapes, mais vous en verrez davantage dans une vidéo ultérieure également.
Ce que l'IA peut et ne peut pas faire
L'un des défis de la réalisation de projets d'IA, comme les projets pilotes de la première étape, est...
Dans cette vidéo et la suivante, j'espère vous aider à développer votre intuition sur ce que l'IA peut et ne peut pas faire. En pratique, avant de m'engager dans un projet d'IA spécifique, je demande généralement à des ingénieurs ou à moi-même de faire une analyse technique préalable du projet pour m'assurer qu'il est réalisable. Cela signifie examiner les données, examiner l'entrée et la sortie A et B, et réfléchir à savoir si c'est quelque chose que l'IA peut réellement faire. Ce que j'ai malheureusement vu, c'est que certains PDG peuvent avoir des attentes démesurées vis-à-vis de l'IA et demander aux ingénieurs de faire des choses que l'IA d'aujourd'hui ne peut tout simplement pas faire.
L'un des défis est que les médias, tout comme la littérature académique, ont tendance à ne rapporter que les résultats positifs ou les réussites de l'IA, et comme nous voyons une série de réussites et aucune histoire d'échec, les gens pensent parfois que l'IA peut tout faire, et malheureusement ce n'est pas vrai. Ce que je veux donc faire dans cette vidéo et dans la suivante, c'est vous montrer quelques exemples de ce que la technologie de l'IA actuelle peut faire, mais aussi ce qu'elle ne peut pas faire, et j'espère que cela vous aidera à affiner votre intuition sur les projets qui pourraient être plus ou moins prometteurs à sélectionner pour votre entreprise.
Auparavant, vous avez vu cette liste d'applications d'IA, du filtrage des spams à la reconnaissance vocale en passant par la traduction automatique, etc. Une règle empirique imparfaite que vous pouvez utiliser pour décider de ce que l'apprentissage supervisé peut ou non être capable de faire est la suivante : à peu près tout ce que vous pourriez faire en une seconde de réflexion, nous pouvons probablement l'automatiser maintenant ou bientôt grâce à l'apprentissage supervisé, en utilisant cette correspondance d'entrée vers sortie.
Ainsi, par exemple, déterminer la position d'autres voitures est une chose que l'on pourrait faire en moins d'une seconde. Pour savoir si un téléphone est rayé, vous pouvez le regarder et vous pouvez le dire en moins d'une seconde. Pour comprendre, ou du moins transcrire ce qui a été dit, cela ne demande pas beaucoup de secondes de réflexion. Et bien qu'il s'agisse d'une règle empirique imparfaite, elle vous donne peut-être un moyen de penser rapidement à quelques exemples de tâches que les systèmes d'IA peuvent accomplir.
En revanche, une chose que l'IA ne peut pas faire aujourd'hui serait d'analyser un marché et de rédiger un rapport de 50 pages. Un humain ne peut pas rédiger un rapport d'analyse de marché de 50 pages en une seconde, et c'est très difficile (du moins je ne sais pas comment faire, et je ne pense pas qu'aucune équipe au monde ne sache aujourd'hui comment faire) pour qu'un système d'IA réalise une étude de marché et rédige également un rapport de marché approfondi.
J'ai trouvé que l'un des meilleurs moyens d'affiner son intuition est d'examiner des exemples concrets. Prenons un exemple précis lié à l'automatisation du service client. Supposons que vous dirigiez un site de vente en ligne, donc une entreprise d'e-commerce, et que vous ayez un service client qui reçoit un e-mail comme celui-ci : « Le jouet est arrivé avec deux jours de retard, je n'ai donc pas pu le donner à ma nièce pour son anniversaire. Puis-je le retourner ? »
Si ce que vous voulez, c'est un système d'IA qui examine cela et décide qu'il s'agit d'une demande de remboursement, pour l'orienter vers mon service de remboursement, alors je dirais que vous avez de bonnes chances de construire un système d'IA pour faire cela. Le système d'IA prendrait en entrée le texte du client, ce que le client vous a envoyé par e-mail, et il indiquerait s'il s'agit d'une demande de remboursement, d'un problème d'expédition ou d'une autre demande afin d'acheminer cet e-mail vers la partie la plus appropriée de votre centre de service client. L'entrée A est donc le texte et la sortie B est l'une de ces trois sorties : s'agit-il d'un remboursement, d'un problème ou d'une question d'expédition, ou d'une demande différente. C'est quelque chose que l'IA peut faire aujourd'hui.
Voici quelque chose que l'IA ne peut pas faire aujourd'hui : si vous voulez que l'IA saisisse un e-mail et génère automatiquement une réponse telle que « Oh, désolé d'apprendre cela. J'espère que votre nièce a passé un bon anniversaire. Oui, nous pouvons vous aider avec... » et ainsi de suite. Pour qu'une IA produise un texte complexe comme celui-ci aujourd'hui, c'est très difficile selon les normes actuelles de l'IA. Et en fait, faire preuve d'empathie à propos de l'anniversaire de votre nièce est très difficile à faire pour chaque type d'e-mail possible que vous pourriez recevoir.
Maintenant, que se passerait-il si vous utilisiez un outil d'apprentissage automatique, comme un algorithme d'apprentissage profond, pour essayer de faire cela quand même ? Disons que vous essayez d'obtenir d'un système d'IA qu'il saisisse l'e-mail de l'utilisateur et produise une réponse empathique et appropriée de deux ou trois paragraphes. Et supposons que vous disposiez d'un ensemble de données de taille modeste, comme mille exemples d'e-mails d'utilisateurs et de réponses appropriées. Il s'avère que si vous faites fonctionner un système d'IA sur ce type de données, sur un petit ensemble de données comme mille exemples, voici la performance que vous pourriez obtenir : si un utilisateur envoie « Ma boîte était endommagée », il dira « Merci pour votre e-mail ». S'il demande « Où puis-je rédiger un avis ? », « Merci pour votre e-mail ». « Quelle est la politique de retour ? », « Merci pour votre e-mail ».
Mais le problème de la construction de ce type d'IA est qu'avec seulement mille exemples, il n'y a tout simplement pas assez de données pour qu'un système d'IA apprenne à rédiger des réponses appropriées et empathiques de deux ou trois paragraphes. Il pourrait donc finir par générer la même réponse très simple du type « Merci pour votre e-mail », peu importe ce que le client vous envoie. Une autre chose qui pourrait mal se passer, une autre façon pour un système d'IA d'échouer, est s'il génère du charabia, comme « Quand ma boîte arrive-t-elle ? » et qu'il répond « Merci oui maintenant votre... » genre de charabia.
Et c'est un problème suffisamment difficile pour que même avec 10 000 ou 100 000 exemples d'e-mails, je ne sache pas si cela suffirait pour qu'un système d'IA le fasse bien. Les règles sur ce que l'IA peut et ne peut pas faire ne sont pas figées, et je finis généralement par devoir demander aux équipes d'ingénierie de passer parfois quelques semaines à faire une analyse technique approfondie pour décider moi-même si un projet est réalisable. Mais pour affiner vos intuitions, pour vous aider à filtrer rapidement les projets réalisables et non réalisables, voici quelques autres règles empiriques sur ce qui rend un problème d'apprentissage automatique plus facile ou plus susceptible d'être réalisable.
Premièrement, l'apprentissage d'un concept simple est plus susceptible d'être réalisable. Qu'est-ce qu'un concept simple ? Il n'y en a pas de définition formelle, mais s'il s'agit de quelque chose qui vous demande moins d'une seconde de réflexion mentale, ou un très, très petit nombre de secondes de réflexion mentale pour arriver à une conclusion, alors cela penche vers un concept simple. Ainsi, regarder par la fenêtre d'une voiture autonome pour repérer les autres voitures serait un concept relativement simple. En revanche, savoir comment rédiger une réponse empathique à une plainte compliquée d'un utilisateur serait moins un concept simple.
Deuxièmement, un problème d'apprentissage automatique est plus susceptible d'être réalisable si vous disposez de beaucoup de données. Et ici, données signifie à la fois l'entrée A et la sortie B que vous voulez que le système d'IA ait dans votre correspondance A vers B. Par exemple, dans l'application de support client, l'entrée A serait des exemples d'e-mails de clients et B pourrait consister à étiqueter chacun de ces e-mails clients pour savoir s'il s'agit d'une demande de remboursement, d'une question d'expédition ou d'un autre problème, l'un des trois résultats. Et si vous avez des milliers d'e-mails avec à la fois A et B, alors les chances de pouvoir construire un système d'apprentissage automatique pour faire cela seraient assez bonnes.
L'IA est la nouvelle électricité et elle transforme chaque industrie. Mais ce n'est pas non plus de la magie et elle ne peut pas tout faire sous le soleil. J'espère que cette vidéo a commencé à vous aider à affiner vos intuitions sur ce qu'elle peut et ne peut pas faire et a augmenté les chances que vous sélectionniez des projets réalisables et précieux sur lesquels vos équipes pourraient essayer de travailler. Afin de vous aider à continuer de développer votre intuition, je voudrais vous montrer plus d'exemples de ce que l'IA peut et ne peut pas faire. Passons à la vidéo suivante.
Exemples concrets et limites de l'IA
L'un des défis pour devenir doué à reconnaître ce que l'IA peut et ne peut pas faire est qu'il faut voir quelques exemples de réussites et d'échecs concrets de l'IA. Et si vous travaillez sur une moyenne de, disons, un nouveau projet d'IA par an, alors voir trois exemples vous prendrait trois ans d'expérience professionnelle et c'est tout simplement long. Ce que j'espère faire, tant dans la vidéo précédente que dans celle-ci, c'est de vous montrer rapidement quelques exemples de réussites et d'échecs de l'IA, ou de ce qu'elle peut et ne peut pas faire, afin qu'en un temps beaucoup plus court vous puissiez voir plusieurs exemples concrets pour aider à affiner votre intuition et sélectionner des projets de valeur. Jetons donc un coup d'œil à quelques exemples supplémentaires.
Supposons que vous construisiez une voiture autonome. Voici quelque chose que l'IA peut faire assez bien : prendre une photo de ce qu'il y a devant votre voiture, peut-être simplement à l'aide d'une caméra, peut-être en utilisant également d'autres capteurs tels qu'un radar ou un lidar, puis déterminer quelle est la position ou où se trouvent les autres voitures. Il s'agirait donc d'une IA où l'entrée A est une photo de ce qui se trouve devant votre voiture, ou peut-être à la fois une photo ainsi que des relevés de radar et d'autres capteurs, et la sortie B est l'endroit où se trouvent les autres voitures. Et aujourd'hui, l'industrie de la voiture autonome a trouvé comment collecter suffisamment de données et dispose d'assez bons algorithmes pour le faire raisonnablement bien. C'est donc ce que l'IA d'aujourd'hui peut faire.
Voici un exemple de quelque chose que l'IA d'aujourd'hui ne peut pas faire, ou du moins qui serait très difficile avec l'IA actuelle : saisir une image et produire l'intention ou tout ce que l'humain essaie de faire comme geste vers votre voiture. Voici un ouvrier de chantier qui tend la main pour demander à votre voiture de s'arrêter, voici un auto-stoppeur qui essaie de faire signe à une voiture, voici un cycliste qui lève la main gauche pour indiquer qu'il veut tourner à gauche. Ainsi, si vous essayiez de construire un système pour apprendre une correspondance A vers B où l'entrée A est une courte vidéo d'un humain faisant un geste vers votre voiture et la sortie B est quelle est l'intention ou ce que veut cette personne, cela est aujourd'hui très difficile à faire.
Partie du problème est que le nombre de façons dont les gens vous font des signes est très, très grand. Imaginez tous les gestes de la main que quelqu'un pourrait concevoir pour vous demander de ralentir, de partir ou de vous arrêter. Le nombre de façons dont les gens peuvent vous faire signe est tout simplement immense. Il est donc difficile de collecter suffisamment de données auprès de milliers ou de dizaines de milliers de personnes différentes vous faisant des signes de toutes ces manières différentes pour capturer la richesse des gestes humains. Apprendre à partir d'une vidéo ce que veut cette personne est en fait un concept assez complexe. En fait, même les gens ont parfois du mal à comprendre ce que veut quelqu'un qui fait signe à leur voiture.
Et deuxièmement, parce qu'il s'agit d'une application critique pour la sécurité, vous voudriez une IA extrêmement précise pour déterminer si un ouvrier de chantier veut que vous vous arrêtiez ou s'il veut que vous passiez, ce qui rend la tâche plus difficile pour un système d'IA également. Ainsi, aujourd'hui, de nombreuses équipes de voitures autonomes disposent d'un composant pour détecter les autres voitures et elles s'appuient sur cette technologie pour conduire en toute sécurité, mais très peu d'équipes de voitures autonomes essaient de compter sur un système d'IA pour reconnaître l'énorme diversité des gestes humains et de compter uniquement sur cela pour conduire en toute sécurité à proximité des gens.
Regardons un autre exemple. Disons que vous voulez construire un système d'IA pour examiner des images de radiographie et diagnostiquer une pneumonie. Toutes ces images sont des radiographies thoraciques. L'entrée A pourrait donc être l'image radiographique et la sortie B peut être le diagnostic : ce patient a-t-il une pneumonie ou non ? C'est quelque chose que l'IA peut faire. Une chose que l'IA ne peut pas faire serait de diagnostiquer une pneumonie à partir de 10 images d'un chapitre de manuel médical expliquant la pneumonie. Un humain peut regarder un petit ensemble d'images, peut-être juste quelques dizaines d'images, et lire quelques paragraphes d'un manuel médical pour commencer à se faire une idée. Mais j'ignore en fait, à partir d'un manuel médical, ce qu'est A et ce qu'est B ou comment poser cela comme un problème d'IA que je sais résoudre avec un logiciel si tout ce que vous avez c'est juste 10 images et quelques paragraphes de texte expliquant à quoi ressemble une pneumonie sur une radiographie thoracique. Alors qu'un jeune médecin pourrait apprendre assez bien en lisant un manuel médical et en regardant peut-être des dizaines d'images. En revanche, un système d'IA n'est pas vraiment capable de faire cela aujourd'hui.
Pour résumer, voici quelques-unes des forces et faiblesses de l'apprentissage automatique. L'apprentissage automatique a tendance à bien fonctionner lorsque vous essayez d'apprendre un concept simple, comme quelque chose que vous pourriez faire en moins d'une seconde de réflexion mentale, et lorsqu'il y a beaucoup de données disponibles. L'apprentissage automatique a tendance à donner de mauvais résultats lorsque vous essayez d'apprendre un concept complexe à partir de petites quantités de données. Une deuxième faiblesse sous-estimée de l'IA est qu'elle a tendance à être peu performante lorsqu'on lui demande d'agir sur de nouveaux types de données différents de ceux qu'elle a vus dans votre ensemble de données.
Laissez-moi vous expliquer avec un exemple. Supposons que vous ayiez construit un système d'apprentissage supervisé qui utilise A vers B pour apprendre à diagnostiquer une pneumonie à partir d'images comme celles-ci. Ce sont des radiographies thoraciques d'assez bonne qualité. Mais supposons maintenant que vous preniez ce système d'IA et que vous l'appliquiez dans un autre hôpital ou un autre centre médical où peut-être le technicien en radiologie a curieusement toujours fait allonger les patients selon un certain angle, ou parfois il y a ces défauts (je ne sais pas si vous voyez les petites rayures sur l'image), ces autres petits objets posés sur le patient. Si le système d'IA a appris à partir de données comme celles de gauche, peut-être provenant d'un centre médical de haute qualité, et que vous prenez ce système d'IA et l'appliquez à un autre centre médical qui génère des images comme celles de droite, alors ses performances seront également médiocres.
Une bonne équipe d'IA serait capable d'améliorer ou d'atténuer certains de ces problèmes, mais ce n'est pas si facile. Et c'est l'un des points sur lesquels l'IA est en fait bien plus faible que les humains. Si un humain a appris à partir des images de gauche, il est beaucoup plus susceptible de pouvoir s'adapter aux images comme celles de droite en comprenant que le patient est simplement allongé selon un certain angle, mais un système d'IA peut être bien moins robuste que les médecins humains pour généraliser ou comprendre quoi faire avec de nouveaux types de données comme ceux-ci.
J'espère que ces exemples vous aident à affiner vos intuitions sur ce que l'IA peut et ne peut pas faire. Au cas où la frontière entre ce qu'elle peut et ne peut pas faire vous semblerait encore floue, ne vous inquiétez pas, c'est tout à fait normal et tout à fait acceptable. En fait, même aujourd'hui, je ne peux toujours pas regarder un projet et dire immédiatement si quelque chose est réalisable ou non, et j'ai souvent encore besoin de semaines d'analyse technique avant de forger une conviction plus forte sur la faisabilité d'un projet. Mais j'espère que ces exemples pourront au moins vous aider à commencer à imaginer des choses dans votre entreprise qui pourraient être réalisables et qui vaudraient la peine d'être explorées davantage. Les deux vidéos suivantes sont optionnelles et consistent en une description non technique de ce qu'est un réseau de neurones et ce qu'est l'apprentissage profond. N'hésitez pas à les regarder, et la semaine prochaine, nous approfondirons le processus de construction d'un projet d'IA. Au plaisir de vous retrouver la semaine prochaine.
Audit préalable (Due Diligence) technique et commercial
audit préalable (due diligence). L'audit préalable a une signification spécifique dans le monde juridique, mais informellement cela signifie simplement que vous voulez passer du temps à vous assurer que ce que vous espérez être vrai le soit réellement.
Vous avez déjà vu que les meilleurs projets d'IA sont ceux qui sont réalisables, donc quelque chose que l'IA peut faire, tout en étant précieux. Nous voulons vraiment choisir des projets qui sont à l'intersection de ces deux ensembles.
Ainsi, pour m'assurer qu'un projet est réalisable, je passe généralement par un audit technique, et pour m'assurer que le projet est précieux, je passe généralement par un processus d'audit commercial. Laissez-moi vous en dire plus sur ces deux étapes.
L'audit technique est le processus consistant à s'assurer que le système d'IA que vous espérez construire est réellement faisable, réellement réalisable.
Vous pourriez donc discuter avec des experts en IA pour savoir si le système d'IA peut réellement atteindre le niveau de performance souhaité. Par exemple, si vous espérez construire un système vocal précis à 95 %, consulter des experts en IA ou peut-être lire de la littérature spécialisée peut vous donner une idée de la faisabilité de la chose.
Ou si vous voulez un système pour inspecter des tasses à café dans une usine et que vous avez besoin que votre système soit précis à 99 %, là encore, est-ce réellement faisable avec la technologie d'aujourd'hui ?
Une deuxième question importante pour l'audit technique est de savoir quelle quantité de données est nécessaire pour atteindre ce niveau de performance souhaité, et si vous avez un moyen d'obtenir cette quantité de données ?
Troisièmement, il y aurait le calendrier d'ingénierie, pour essayer de déterminer combien de temps cela prendra et combien de personnes il faudra pour construire le système que vous aimeriez voir construit.
En plus de l'audit technique, je mène souvent aussi un audit commercial pour m'assurer que le projet que vous envisagez est réellement précieux pour l'entreprise.
Ainsi, de nombreux projets d'IA génèrent de la valeur en réduisant les coûts, par exemple en automatisant quelques tâches ou en améliorant l'efficacité d'un système.
De nombreux systèmes d'IA peuvent également augmenter les revenus, par exemple en incitant davantage de personnes à valider leur panier d'achat.
Ou vous construisez peut-être un système d'IA pour vous aider à lancer un nouveau product ou un nouveau secteur d'activité.
L'audit commercial est donc le processus consistant à réfléchir soigneusement au fait que le système d'IA que vous construisez, tel qu'un système de reconnaissance vocale précis à 95 % ou un système d'inspection visuelle précis à 99,9 %, vous permettrait d'atteindre vos objectifs commerciaux, que votre objectif soit d'améliorer votre activité actuelle ou même de créer de toutes nouvelles activités au sein de votre entreprise.
Lors de la réalisation d'un audit commercial, je finis souvent par élaborer des modèles financiers sur tableur pour estimer la valeur quantitativement, par exemple en estimant combien de dollars sont réellement économisés ou quelle hypothèse raisonnable nous pouvons faire en termes d'augmentation des revenus, et pour modéliser l'économie associée à un projet avant de s'engager dans plusieurs mois d'efforts.
Bien que cela ne figure pas explicitement sur cette diapositive, j'espère qu'une chose que vous envisagerez également de faire est un troisième type d'audit, à savoir l'audit éthique. Je pense qu'il y a beaucoup de choses que l'IA peut faire qui rapporteraient même beaucoup d'argent, mais qui ne rendraient peut-être pas la société meilleure. Ainsi, en plus de l'audit technique et de l'audit commercial, j'espère que vous mènerez également un audit éthique et que vous vous assurerez que tout ce que vous faites améliore réellement l'humanité et la société. Nous en reparlerons également plus longuement au cours de la dernière semaine de ce cours.
Construire ou acheter et standards de l'industrie
Lors de la planification de votre projet d'IA, vous devez également décider : voulez-vous construire ou acheter ? C'est une question séculaire dans le monde de l'informatique, et nous sommes également confrontés à cette question en IA.
Par exemple, presque aucune entreprise ne construit ses propres ordinateurs de nos jours. Elles achètent les ordinateurs de quelqu'un d'autre. Et presque aucune entreprise ne construit ses propres routeurs Wi-Fi, elle achète simplement un routeur Wi-Fi commercial. Qu'en est-il de l'apprentissage automatique et de la science des données ?
Les projets d'apprentissage automatique peuvent être réalisés en interne ou externalisés. J'ai vu ces deux modèles utilisés avec succès. Parfois, si vous externalisez un projet d'apprentissage automatique, vous pouvez avoir accès beaucoup plus rapidement aux talents et avancer plus vite sur un projet.
Il est bon qu'à terme vous créiez votre propre équipe d'IA en interne et que vous puissiez également réaliser ces projets en interne. Vous en saurez plus à ce sujet lorsque nous parlerons plus en détail du guide de transformation en IA la semaine prochaine.
Contrairement aux projets d'apprentissage automatique, cependant, les projets de science des données sont plus couramment réalisés en interne. Ils ne sont pas impossibles à externaliser, vous pouvez parfois le faire, mais ce que j'ai vu, c'est que les projets de science des données sont souvent si étroitement liés à votre entreprise qu'il faut une connaissance quotidienne très approfondie de votre activité pour réaliser les meilleurs projets de science des données. Ainsi, en termes de pourcentage, je vois plus de projets de science des données en interne que de projets d'apprentissage automatique.
Enfin, dans chaque secteur, certaines choses seront des standards de l'industrie et vous devriez éviter de les construire. Une réponse courante à la question « construire ou acheter » consistait à construire les choses qui vont vous être spécifiques ou complètement spécialisées ou qui vous permettent de bâtir un avantage unique et défendable. Mais les choses qui deviendront des standards de l'industrie seront probablement construites par une autre entreprise et il sera plus efficace pour vous de les acheter plutôt que de les construire en interne.
L'une de mes équipes utilisait une phrase très poétique : ne sprintez pas devant un train. Et ce que cela signifie, c'est que si c'est un train qui roule sur une voie ferrée, avec une petite cheminée et une bouffée de fumée, vous ne voulez pas être la personne ou l'ingénieur qui essaie de sprinter de plus en plus vite devant le train.
Le train est la solution standard de l'industrie, donc s'il y a une entreprise, peut-être une startup, peut-être une grande entreprise, ou peut-être un effort open source qui construit une solution standard de l'industrie, vous voudrez peut-être éviter d'essayer de courir de plus en plus vite pour rester devant le train car même si vous pouviez sprinter plus vite à court terme, le train finira par rattraper et écraser celui qui tente de sprinter devant lui.
Ainsi, lorsqu'il y a la force massive d'une solution standard de l'industrie en cours de construction, vous feriez mieux d'adopter un standard industriel ou d'adopter la plateforme de quelqu'un d'autre plutôt que d'essayer de tout faire en interne.
Nous vivons tous dans un monde aux ressources limitées, au temps limité, aux données limitées, aux ressources d'ingénierie limitées, et j'espère donc que vous pourrez concentrer ces ressources sur les projets qui sont les plus uniques et qui feront la plus grande différence pour votre entreprise.
Grâce au processus d'audit technique ainsi que d'audit commercial, j'espère que vous pourrez commencer à identifier des projets potentiellement précieux ou qui semblent prometteurs pour votre entreprise. Si le projet représente un engagement important, qui prendra peut-être de nombreux mois, il n'est pas rare que je passe même quelques semaines à mener ce type d'audit avant de m'engager.
Maintenant, disons que vous avez trouvé quelques projets prometteurs. Comment s'engager avec une équipe d'IA ? Comment travailler avec une équipe d'IA pour essayer de mener à bien ces projets ? Parlons-en dans la prochaine vidéo.
Travailler avec une équipe d'IA et critères d'acceptation
Supposons que vous ayiez trouvé un projet passionnant sur lequel vous voulez essayer de travailler. Comment travailler avec une équipe d'IA sur ce projet ? Dans cette vidéo, vous apprendrez comment les équipes d'IA conçoivent les données et donc comment vous pouvez interagir avec elles pour les aider à réussir un projet.
Il y a toutefois un bémol : que se passe-t-il si vous avez une idée géniale mais que vous n'avez pas accès à une équipe d'IA, que vous n'avez pas accès à des ingénieurs en IA ? Heureusement, dans le monde d'aujourd'hui, si vous-même ou certains de vos amis ingénieurs suivez un cours ou deux en ligne sur l'apprentissage automatique ou l'apprentissage profond, cela leur donnera souvent assez de connaissances pour se lancer et faire une première tentative raisonnable sur ce type de projets. Alors, parlons de la manière dont vous pouvez travailler avec une équipe d'IA.
Premièrement, cela aide vraiment votre équipe d'IA si vous pouvez spécifier des critères d'acceptation pour le projet. J'ai beaucoup travaillé sur l'inspection visuelle automatisée, je vais donc l'utiliser comme exemple récurrent dans ces quelques diapositives.
Disons que votre objectif est de détecter les défauts dans les tasses à café avec une précision d'au moins 95 %. Cela peut donc être votre critère d'acceptation pour ce projet.
Mais une précision de 95 %, comment mesure-t-on la précision ? L'une des choses dont l'équipe d'IA aurait besoin est un ensemble de données sur lequel mesurer sa précision. Un ensemble de données n'est qu'un ensemble de photos comme celles-ci, accompagnées des étiquettes, de la sortie souhaitée B, indiquant que les deux premières tasses à café sont correctes et que la troisième est défectueuse.
Ainsi, dans le cadre de votre spécification des critères d'acceptation, vous devez vous assurer que l'équipe d'IA dispose d'un ensemble de données sur lequel mesurer ses performances afin de savoir si elle a atteint une précision de 95 %. Le terme formel pour cet ensemble de données est « ensemble de test » (test set), et l'ensemble de test n'a pas forcément besoin d'être très volumineux. Peut-être que mille photos suffiraient pour cet exemple, mais si vous consultez un expert en IA, il pourra vous donner une meilleure idée de la taille que doit avoir l'ensemble de test pour lui permettre d'évaluer s'il atteint ou non les 95 % de précision.
Une particularité des systèmes d'IA est que leurs performances sont généralement spécifiées de manière statistique. Ainsi, au lieu de demander un système d'IA qui fasse simplement quelque chose de parfait, on voit très souvent que nous voulons un système d'IA qui fonctionne à un certain pourcentage de précision, comme dans cet exemple.
lorsque vous spécifiez vos critères d'acceptation, demandez-vous s'ils doivent être spécifiés de manière statistique, en précisant ses performances moyennes ou le pourcentage de temps où il doit donner la bonne réponse.
Ensembles d'entraînement et de test
Plongeons plus profondément dans le concept d'ensemble de test.
Voici comment les équipes d'IA conçoivent les données. Les équipes d'IA regroupent les données en deux ensembles principaux : le premier appelé l'ensemble d'entraînement (training set) et le second appelé l'ensemble de test (test set), dont nous avons déjà un peu parlé.
L'ensemble d'entraînement est simplement un ensemble de photos accompagnées d'étiquettes indiquant si chacune de ces photos représente une tasse à café correcte ou défectueuse. Ainsi, l'ensemble d'entraînement donne des exemples à la fois de l'entrée A (les photos des tasses à café) et de la sortie souhaitée B (correcte ou défectueuse). Et donc, étant donné cet ensemble d'entraînement, ce qu'un algorithme d'apprentissage automatique va faire, c'est apprendre, en d'autres termes, calculer ou déterminer une correspondance de A vers B afin que vous ayez maintenant un logiciel capable de prendre en entrée l'entrée A et de tenter de déterminer quelle est la sortie B appropriée.
L'ensemble d'entraînement est donc l'entrée du logiciel d'apprentissage automatique qui lui permet de déterminer cette correspondance de A vers B.
Le deuxième ensemble de données qu'une équipe d'IA utilisera est l'ensemble de test. Et comme vous l'avez vu, il s'agit simplement d'un autre ensemble d'images différent de l'ensemble d'entraînement, également avec les étiquettes fournies. La manière dont une équipe d'IA évaluera les performances de son algorithme d'apprentissage consiste à donner les images de l'ensemble de test au logiciel d'IA et à voir ce que le logiciel d'IA produit.
Par exemple, si sur ces trois images de l'ensemble de test, le logiciel d'IA produit « correct » pour celle-ci, « correct » pour celle-là, et également « correct » pour la troisième, alors nous dirions qu'il a eu deux bonnes réponses sur trois, ce qui donne une précision de 66,7 %.
Dans cette illustration, l'ensemble d'entraînement et l'ensemble de test ne comportent que trois photos. En pratique, ces deux ensembles de données seraient bien sûr beaucoup plus volumineux. Et vous constaterez que pour la plupart des problèmes, l'ensemble d'entraînement est beaucoup, beaucoup plus grand que l'ensemble de test. Mais vous pouvez discuter avec les ingénieurs en IA pour savoir de quelle quantité de données ils ont besoin pour un problème donné.
Enfin, pour des raisons techniques, certaines équipes d'IA auront besoin non pas d'un seul, mais de deux ensembles de test différents. Si vous entendez des équipes d'IA parler d'ensembles de développement (dev), de validation ou de « dev sets », c'est le deuxième ensemble de test qu'elles utilisent. Les raisons pour lesquelles elles ont besoin de deux ensembles de test sont assez techniques et dépassent le cadre de ce cours, mais si une équipe d'IA vous demande deux ensembles de test différents, il est tout à fait raisonnable de les lui fournir.
Pourquoi l'IA n'est pas précise à 100 %
Avant de terminer cette vidéo, un piège que je tiens à vous inviter à éviter est d'attendre une précision de 100 % de votre logiciel d'IA. Voici ce que je veux dire. Supposons que ce soit votre ensemble de test, que vous avez déjà vu sur la dernière diapositive. Mais permettez-moi d'ajouter quelques exemples supplémentaires à cet ensemble de test.
Voici quelques-unes des raisons pour lesquelles il n'est peut-être pas possible qu'un logiciel d'IA soit précis à 100 %.
Premièrement, la technologie d'apprentissage automatique d'aujourd'hui, bien qu'elle soit très puissante, a encore des limites et ne peut tout simplement pas tout faire. Vous travaillez peut-être on un problème qui est tout simplement très difficile, même pour la technologie d'apprentissage automatique actuelle.
Deuxièmement, des données insuffisantes. Si vous n'avez pas assez de données, et plus précisément si vous n'avez pas assez de données d'entraînement pour que le logiciel d'IA apprenne, il peut être très difficile d'obtenir un niveau de précision très élevé.
Troisièmement, les données sont désordonnées et peuvent parfois être mal étiquetées. Par exemple, cette tasse à café verte ici me semble parfaitement correcte, donc l'étiquette indiquant qu'il s'agit d'un défaut semble être une étiquette incorrecte, et cela nuirait aux performances de votre logiciel d'IA.
Et les données peuvent aussi être ambiguës. Par exemple, on dirait que cette tasse à café a une petite rayure par là, et c'est une rayure assez petite. On pourrait donc penser qu'elle est toujours correcte, mais peut-être qu'il aurait fallu considérer cela comme un défaut. Ou peut-être même que différents experts ne seront pas d'accord sur le fait que cette tasse à café particulière est correcte et devrait passer l'étape d'inspection.
Certains de ces problèmes peuvent être améliorés. Par exemple, si vous n'avez pas assez de données, vous pouvez essayer d'en collecter davantage, ce qui aidera souvent. Vous pouvez aussi essayer de nettoyer les données mal étiquetées ou de demander aux experts de votre usine de mieux s'accorder sur ces étiquettes ambiguës.
Il existe donc des moyens d'essayer d'améliorer les choses, mais de nombreux systèmes d'IA sont incroyablement précieux même sans atteindre une précision de 100 %. Je vous conseille donc de discuter avec vos ingénieurs en IA pour déterminer quel est un niveau de précision raisonnable à essayer d'atteindre, puis d'essayer de trouver quelque chose qui passe à la fois l'audit technique et l'audit commercial sans nécessairement avoir besoin d'une précision de 100 %.
Félicitations pour avoir terminé toutes les vidéos de cette semaine. Vous savez maintenant ce que l'on ressent et ce qu'il faut pour construire un projet d'IA, et j'espère que vous commencerez à faire du brainstorming et à explorer quelques idées.
Il reste une vidéo optionnelle décrivant certains des outils techniques utilisés par les équipes d'IA que vous pouvez regarder si vous le souhaitez, mais dans tous les cas, j'ai hâte de vous retrouver la semaine prochaine où vous apprendrez comment les projets d'IA s'intègrent dans le contexte d'une plus grande entreprise. À la semaine prochaine.
Outils techniques : Frameworks, Matériel et Cloud
Lorsque vous travaillez avec des équipes d'IA, vous les entendrez peut-être se référer aux outils qu'elles utilisent pour construire ces systèmes d'IA. Dans cette vidéo, je veux partager avec vous quelques détails et les noms des outils d'IA les plus couramment utilisés afin que vous puissiez mieux comprendre ce que font ces ingénieurs en IA.
Nous avons la chance que le monde de l'IA soit aujourd'hui très ouvert et que de nombreuses équipes partagent ouvertement leurs idées entre elles.
Il existe d'excellents frameworks open source d'apprentissage automatique que de nombreuses équipes utilisent pour construire leurs systèmes. Si vous entendez parler de l'un de ceux-ci : TensorFlow, PyTorch, Keras, MXNet, CNTK, Caffe, PaddlePaddle, Scikit-learn, R ou Weka, sachez que ce sont tous des frameworks d'apprentissage automatique open source qui aident les équipes d'IA à être beaucoup plus efficaces dans l'écriture de logiciels.
De nombreuses percées technologiques en IA sont également publiées librement sur Internet sur ce site Web appelé Arxiv, qui s'écrit ainsi. J'espère que d'autres communautés académiques partageront également librement leurs recherches, car j'ai vu de mes propres yeux à quel point cela accélère les progrès dans tout le domaine de l'IA.
Enfin, de nombreuses équipes partagent également leur code librement sur Internet, le plus souvent sur un site Web appelé GitHub. Celui-ci est devenu le dépôt de fait pour les logiciels open source en IA et dans d'autres secteurs de l'IA. En utilisant des logiciels open source sous licence appropriée, de nombreuses équipes peuvent avancer bien plus vite que si elles devaient tout construire de zéro.
Par exemple, si je recherche en ligne un logiciel de reconnaissance faciale sur GitHub, vous pourriez trouver une page Web comme celle-ci. Et si vous descendez, vous y trouverez une description assez bonne et très lisible d'un logiciel mis à disposition sur ce site pour reconnaître les visages des gens et même trouver des parties du visage.
Il y a tout simplement une tonne de logiciels téléchargeables gratuitement pour faire toutes sortes de choses sur Internet. Bien sûr, il faut juste revérifier la licence, ou votre équipe d'IA revérifierait la licence avant de l'utiliser dans un produit. Mais beaucoup de ces logiciels sont open source ou sous licence très permissive pour que n'importe qui puisse les utiliser.
Bien que GitHub soit un site technique conçu pour les ingénieurs, si vous le souhaitez, vous devriez vous sentir libre d'explorer GitHub et de voir quels sont les types de logiciels d'IA que les gens ont également publiés en ligne.
En plus de ces outils techniques open source, on entend souvent les ingénieurs en IA parler de processeurs (CPU) et de processeurs graphiques (GPU). Voici ce que signifient ces termes.
Un CPU est le processeur de votre ordinateur, qu'il s'agisse de votre ordinateur de bureau, de votre portable ou d'un serveur de calcul dans le cloud. CPU signifie « Central Processing Unit » (unité centrale de traitement), et les CPU sont fabriqués par Intel, AMD et quelques autres sociétés. Il effectue une grande partie des calculs de votre ordinateur.
GPU signifie « Graphics Processing Unit » (unité de traitement graphique). Historiquement, le GPU a été créé pour traiter les images. Donc, si vous jouez à un jeu vidéo, c'est probablement un GPU qui dessine les graphismes sophistiqués.
Mais ce que nous avons découvert il y a plusieurs années, c'est que le matériel qui avait été initialement construit pour le traitement graphique s'avère très, très puissant pour construire de très grands réseaux de neurones ou de très grands algorithmes d'apprentissage profond.
Compte tenu de la nécessité de construire de très grands systèmes d'apprentissage profond ou de très grands réseaux de neurones, la communauté de l'IA a eu une soif insatiable de puissance de calcul pour entraîner des réseaux de neurones de plus en plus grands, et les GPU se sont avérés être une solution fantastique pour ce type de calcul que nous devons effectuer pour entraîner de très grands réseaux de neurones.
C'est pourquoi les GPU jouent un rôle important dans l'essor de l'apprentissage profond. Nvidia est une entreprise qui vend de nombreux GPU, mais d'autres entreprises, dont Qualcomm ainsi que Google qui fabrique ses propres TPU, créent de plus en plus de matériel spécialisé pour alimenter ces très grands réseaux de neurones.
Enfin, vous pourriez entendre parler de déploiements dans le cloud ou sur site (« on-prem »). Le déploiement dans le cloud consiste à louer des serveurs informatiques, par exemple auprès d'AWS d'Amazon, d'Azure de Microsoft ou de GCP de Google, afin d'utiliser les serveurs de quelqu'un d'autre pour effectuer vos calculs, tandis qu'un déploiement sur site signifie acheter vos propres serveurs informatiques et les faire fonctionner localement dans votre propre entreprise.
Une exploration détaillée des avantages et des inconvénients de ces deux options dépasse le cadre de cette vidéo. Une grande partie du monde se tourne vers les déploiements dans le cloud, mais si vous effectuez une recherche en ligne, vous trouverez de nombreux articles traitant des avantages et des inconvénients du cloud par rapport au déploiement sur site.
Il y a un dernier terme dont vous pourriez entendre parler : le déploiement en périphérie (« edge deployment »). Si vous construisez une voiture autonome, il n'y a pas assez de temps pour envoyer les données de la voiture vers un serveur dans le cloud pour décider si vous devez arrêter la voiture ou non, puis renvoyer ce message à la voiture. Le calcul doit donc généralement avoir lieu dans un ordinateur situé directement à l'intérieur de la voiture. C'est ce qu'on appelle un déploiement en périphérie, où l'on place un processeur là où les données sont collectées afin de pouvoir les traiter et prendre une décision très rapidement sans avoir besoin de les transmettre via Internet pour qu'elles soient traitées ailleurs.
Si vous regardez également certaines des enceintes intelligentes de votre maison, il s'agit également d'un déploiement en périphérie où certaines tâches de reconnaissance vocale, mais pas toutes, sont effectuées par un processeur intégré directement dans l'enceinte intelligente qui se trouve à l'intérieur de votre maison.
Le principal avantage des déploiements en périphérie est qu'ils peuvent augmenter le temps de réponse du système et réduire la quantité de données à envoyer sur le réseau. Mais il existe également de nombreux avantages et inconvénients concernant les déploiements en périphérie par rapport au cloud ou sur site, sur lesquels vous pouvez également effectuer des recherches en ligne pour en savoir plus.
Merci d'avoir regardé cette vidéo optionnelle sur les outils techniques utilisés par les ingénieurs en IA. J'espère que lorsque vous les entendrez se référer à certains de ces outils, vous commencerez à mieux comprendre ce qu'ils veulent dire. Au plaisir de vous retrouver la semaine prochaine.