Suggestions

Produits et ressources

Retour à toutes les ressources

Résumé

La transparence est une étape cruciale du processus de mise en œuvre de l'IA. Ce livre blanc, destiné aux dirigeants d'entreprises et aux responsables technologiques, explore des exemples concrets d'intégration d'une IA transparente au sein de leur activité.

Introduction

Alors que le secteur technologique concrétise ses plans d'intégration de l'intelligence artificielle (IA) dans les processus métiers clés, la pression s'accentue sur les directeurs techniques et les développeurs seniors pour mettre en place les solutions d'IA adéquates. La recherche, que ce soit sur les sites web, les applications ou via des interfaces de recherche plus spécialisées, constitue l'une des applications les plus essentielles de l'IA.

En tant que directeur technique ou développeur senior, vous êtes responsable de la mise en œuvre de ces expériences de recherche. Lorsque les algorithmes de recherche fonctionnent correctement, les utilisateurs trouvent ce qu'ils cherchent et sont plus enclins à continuer à utiliser cette expérience. Ils interagissent avec le contenu ou achètent des produits, et vos parties prenantes sont satisfaites de votre système de recherche. Si les utilisateurs ne trouvent pas facilement ce qu'ils cherchent, ils iront voir ailleurs. Vous aurez alors manqué l'opportunité de les orienter, qu'il s'agisse de clients à la recherche d'un article précis, d'étudiants, de lecteurs ou de spectateurs en quête de contenu spécifique, ou encore de décideurs recherchant des informations sur un produit ou une solution. Ne pas fournir les résultats escomptés entraîne des pertes d'opportunités de vente ou d'engagement, un ralentissement de la croissance de l'entreprise qui dépend de vous, et des discussions parfois délicates sur le fonctionnement – ​​ou le dysfonctionnement – ​​de l'IA.

C’est le prix à payer pour un algorithme de recherche IA non optimisé, et une grande partie des expériences d’IA décevantes résultent d’une méconnaissance des causes et des modalités de dysfonctionnement d’une solution d’IA. En bref, ces solutions manquent de transparence quant à leurs processus de décision lors de leur mise en œuvre ou de leur paramétrage, et, de ce fait, elles perdent la confiance de leurs utilisateurs finaux et des parties prenantes qui dépendent d’elles.

La transparence est une étape cruciale du processus de mise en œuvre de l'IA. Sans elle, toute tentative d'optimisation des résultats se résumerait à ajuster aveuglément les données d'entraînement et les paramètres du modèle, dans l'espoir d'une amélioration. Même alors, sans comprendre les raisons de cette amélioration, rien ne garantit que les données futures (non utilisées pour l'entraînement ou les tests du nouveau modèle) offriront les mêmes performances. Quelques mauvaises expériences suffisent à ébranler la confiance des utilisateurs finaux – un risque à éviter absolument pour votre algorithme de recherche.

La dépendance de l'optimisation aisée, et par conséquent de la confiance des utilisateurs, à la transparence de l'IA explique pourquoi ce domaine est l'un des plus dynamiques de l'intelligence artificielle. Mais concrètement, que signifie la transparence de l'IA ? Zendesk la définit comme « la compréhension du fonctionnement des systèmes d'intelligence artificielle, des raisons de leurs résultats et des données utilisées ».

La transparence de l'IA, comme beaucoup de termes génériques, est utile pour désigner une catégorie de défis liés à l'IA, mais reste trop vague pour entreprendre leur résolution. Elle englobe cependant des notions telles que l'interprétabilité et l'explicabilité de l'IA, et c'est à partir de là que nous pouvons formuler des recommandations pour la mise en œuvre de solutions d'IA transparentes. Si les termes « transparence », « explicabilité » et « interprétabilité » sont souvent employés indifféremment, il est essentiel, pour un praticien, de les définir précisément.

Selon Richard Mann, auteur de *Unlocking AI Algorithms : A Journey into Explainable Artificial Intelligence*, « l'IA explicable (XAI) est un ensemble de principes, de techniques et de procédures visant à aider les utilisateurs et les créateurs de modèles d'IA à comprendre comment ces modèles prennent des décisions ». Cet exemple est pertinent car il est simple et centré sur l'humain, tout en ouvrant la voie à une conception de l'explicabilité comme outil d'amélioration de l'IA elle-même, des problèmes qu'elle est censée résoudre et des résultats commerciaux dont elle est responsable.

L'IA interprétable, bien que proche de la transparence, est un concept distinct de l'IA explicable. IBM définit l'interprétabilité comme « le degré auquel un observateur peut comprendre la cause d'une décision. Il s'agit du taux de réussite que les humains peuvent prédire quant au résultat d'une production d'IA, tandis que l'explicabilité va plus loin et examine comment l'IA est parvenue à ce résultat. » Selon ces définitions, l'interprétabilité est une compréhension a priori du processus décisionnel d'un modèle, ou des facteurs qui influenceront ses décisions, tandis que l'explicabilité est une compréhension ou une analyse a posteriori de la manière précise dont un modèle est parvenu à une décision.

Consultez le glossaire à la fin pour des définitions simples de ces concepts liés à la transparence de l'IA, ou consultez cet article pour une présentation plus conceptuelle des principes de l'IA explicable.

En gardant ces définitions à l'esprit, commençons à explorer quelques exemples concrets de la manière d'intégrer une IA transparente dans votre entreprise.

Des modèles auto-interprétables plus simples

Certains modèles sont suffisamment simples pour être auto-interprétables. Selon Built In, « les modèles auto-interprétables constituent en eux-mêmes les explications et peuvent être directement lus et interprétés par un humain… Parmi les modèles auto-interprétables les plus courants figurent les arbres de décision et les modèles de régression, notamment la régression logistique. »

Bien que les termes « interprétable » et « explicable » soient utilisés de manière interchangeable, et que l'on puisse affirmer que les modèles énumérés sont à la fois auto-interprétables et auto-explicatifs, c'est un bon point de départ pour comprendre comment rendre vos modèles fiables et transparents.

Si vous êtes un data scientist expérimenté et que vous savez déjà comment implémenter et expliquer au mieux les modèles mentionnés précédemment, vous pouvez passer directement à la page 13, « Méthodes de transparence indépendantes du modèle ». En revanche, si vous êtes directeur technique, dirigeant d'entreprise ou collaborateur en data science, poursuivez votre lecture pour découvrir comment des modèles simples et auto-interprétables peuvent intégrer les meilleures pratiques de transparence en IA.

Régression linéaire

La régression linéaire est un type de modèle d'apprentissage automatique qui établit une relation linéaire entre deux variables afin de prédire les données futures sur cette même ligne. C'est une méthode courante pour utiliser des indicateurs connus, comme les recherches, les clics ou les pages vues, afin de compléter ou de prévoir des indicateurs plus difficiles à suivre ou qui ne se sont pas encore produits, tels que les passages en caisse, les ventes ou d'autres KPI en aval dont la disponibilité est limitée. Les modèles de régression linéaire sont également considérés comme auto-interprétables et explicites, ce qui est un avantage : si l'on ne fait pas confiance au modèle qui a généré les données manquantes ou futures, on ne peut pas faire confiance aux données elles-mêmes, et son adoption au sein de l'organisation restera faible.

Cliquer sur « Démarrer » pour lancer une régression linéaire ne fournit pas automatiquement d'explication. De même, on ne peut pas simplement observer le résultat visualisé (une droite de régression, comme illustré ci-dessous) et prouver qu'il s'agit bien de la droite de régression optimale. Les modèles de régression linéaire ne sont donc pas explicites comme certaines décisions humaines, ni comme une technologie plus simple telle que le suivi des clics par tags.

Néanmoins, la régression linéaire est l'une des formes d'IA les plus explicables et interprétables, car il est possible d'effectuer les calculs pour plusieurs points de données et de comprendre comment la droite de régression a été choisie. Un modèle de régression linéaire minimise la fonction de perte ci-dessous en veillant à ce que la moyenne des carrés des différences entre chaque point de données et la droite choisie soit la plus petite possible.

S = Σ(i=1..n) d_i² S = Σ(i=1..n) [y_i − f(x_i)]² S = d_1² + d_2² + d_3² + … + d_n²

Les modèles de régression linéaire, comme la plupart des modèles auto-interprétables, utilisent un code très simple, ce qui permet de s'assurer de leur bonne implémentation. Voici un modèle d'apprentissage automatique complet en Python, en supposant que vous ayez déjà défini vos colonnes comme variable dépendante y et variables indépendantes x.

from sklearn.linear_model import LinearRegression lrm = LinearRegression() lrm.fit(x_train, y_train) predictions = lrm.predict(x_test)

Cela nécessite généralement un nettoyage préalable des données, leur répartition entre ensembles d'entraînement et de test, puis l'évaluation du modèle. Il s'agit d'un code simple effectuant de nombreux calculs mathématiques simples, facile à reproduire.

La régression linéaire est également unique en ce sens qu'on peut expliquer ses algorithmes avec une seule notion de base : la pente de la droite, ou coefficient du modèle de régression linéaire. Voici la ligne de code correspondante :

lrm.coef_

Ce résultat détaille l'augmentation de la variable dépendante x pour une augmentation d'une unité de la variable indépendante y. Si votre modèle de régression linéaire prédit le nombre de recherches effectuées sur votre site web à partir du nombre de vues, un coefficient de deux peut s'interpréter ainsi : « pour chaque vue supplémentaire du site, attendez-vous à deux recherches supplémentaires ».

Voici un exemple de métrique d'interprétabilité a priori très simple, qui indique comment le modèle prédira les données futures, ainsi qu'une métrique d'explicabilité a posteriori qui permet d'expliquer une donnée en la positionnant sur la droite de régression. Il est même possible de prédire les données futures à partir de ces informations, comme dans l'exemple ci-dessus.

Aucun modèle n'est parfait. Le problème de la confiance demeure si le modèle commence à faire des prédictions erronées, et ces prédictions incorrectes peuvent être difficiles à expliquer si l'on considère le modèle comme infaillible. Un bon data scientist peut rapidement fournir des indicateurs permettant d'évaluer la fiabilité du modèle (nous y reviendrons dans la section suivante), ce qui facilite grandement son explication, même en cas d'erreurs occasionnelles.

L'erreur quadratique moyenne (RMSE) mesure l'écart entre les prédictions d'un modèle linéaire et les données de test réelles et vérifiables. C'est un indicateur important d'interprétabilité et d'explicabilité, car il permet d'anticiper les performances attendues du modèle avant son déploiement.

Régression logistique et autres modèles de classification

Examinons de plus près le lien entre les performances d'un modèle et son interprétabilité et son explicabilité. Pour ce faire, revenons sur quelques lignes de code non abordées précédemment : la séparation des données d'entraînement et de test. Bien qu'elle fasse partie intégrante de tout script d'apprentissage automatique, elle ne constitue pas un élément du modèle lui-même. Le script le plus simple pour mettre en place un modèle d'apprentissage automatique suivrait le format suivant :

  1. Nettoyer et collecter les données, c'est à cela que les data scientists consacrent la majeure partie de leur temps.
  2. Importez un modèle, similaire à la régression linéaire ci-dessus, mais qui pourrait être différent pour des modèles plus complexes ou des algorithmes internes.
  3. Divisez les données en (1) prédicteurs et variable dépendante, puis en (2) données d'entraînement et données de test, dont nous parlerons maintenant.
  4. Instancier le modèle (avec les paramètres client si nécessaire)
  5. Ajuster le modèle (l'entraîner sur l'ensemble de données d'entraînement)
  6. Faites des prédictions
  7. Analyser les prédictions (par rapport à l'ensemble de données de test)

Voici le code Python qui comprend cette division train-test (étape 3.2), sur le célèbre ensemble de données des survivants du Titanic, prédisant si un passager a survécu ou non en fonction de divers facteurs, notamment le sexe, la classe, l'âge, etc.

from sklearn.model_selection import train_test_split x_train, x_test, y_train, y_test = train_test_split(train.drop('Survived',axis=1), train['Survived'], test_size=0.30, random_state=101)

Pourquoi est-il nécessaire de procéder à cette division ? Parce que les nouvelles prédictions sont difficiles à vérifier, la séparation des données en ensembles d'entraînement et de test permet d'entraîner le modèle sur un ensemble, puis de comparer ses prédictions à celles de l'ensemble de test. C'est un peu comme si un professeur ne posait à un examen que des questions dont il possède déjà le corrigé, plutôt que de tester les élèves sur des problèmes inédits. Dire « J'ai utilisé toutes les données, le modèle est entraîné et prêt à produire des prédictions » ne sert à rien, car la question suivante est : « Quelle est la qualité de ces prédictions ? » C'est pourquoi nous conservons une partie des données pour les tests. Nous entraînons le modèle sur x_train et y_train, puis nous utilisons x_test pour effectuer les prédictions, que nous comparons ensuite à celles de y_test. Ce n'est que lorsque nous sommes satisfaits des performances que nous prévoyons de nouvelles prédictions non vérifiables, sachant que ces nouvelles prédictions devraient être correctes à 98 %, par exemple.

Plus la complexité augmente, plus la transparence diminue intrinsèquement.

Ce processus de vérification de l'efficacité et des performances d'un modèle avant son application à de nouvelles données s'appelle l'apprentissage supervisé. L'apprentissage supervisé facilite grandement l'interprétation et l'explication des résultats.

Encore une fois, si vous êtes un data scientist, cela peut vous paraître évident, mais si vous êtes un directeur technique ou une personne travaillant dans un domaine proche de la science des données, vous pourriez vous demander comment savoir à quel point les modèles sont précis, et dans quelle mesure.

Une matrice de confusion, une analyse visuelle courante des performances d'un modèle, montre comment un modèle de classification comme la régression logistique a obtenu des résultats corrects ou incorrects :

  Réel : Positif (1) Valeur réelle : Négative (0)
Prédiction : Positive (1) TP FP
Prédiction : Négative (0) FN TN

Les vrais positifs (VP) et les vrais négatifs (VN) sont faciles à définir : votre modèle a-t-il correctement prédit les résultats positifs et négatifs, respectivement ? Si vous prédisez quand les utilisateurs cliqueront sur un bouton, avez-vous correctement prédit quand ils cliqueraient (vrai positif) et quand ils ne cliqueraient pas (vrai négatif) ? Les faux positifs (FP) se produisent lorsque votre modèle a prédit un clic alors qu'il n'a pas eu lieu (vous avez prédit un résultat positif, mais cette prédiction était erronée). Les faux négatifs (FN) se produisent lorsque vous avez prédit un résultat négatif, mais cette prédiction était erronée.

Là encore, générer une matrice de confusion comme celle de l'image ci-dessus est un code simple, mais si vous prévoyez de l'intégrer à un modèle et d'expliquer la fiabilité de ce dernier, savoir comment et quand l'utiliser, ainsi que ce qu'elle signifie, fait partie intégrante de la transparence :

from sklearn.metrics import confusion_matrix print(confusion_matrix(y_test,pred))

Attention, réductionnisme ! C'est en substance ce que font les voitures autonomes. Certes, des réseaux neuronaux complexes sont utilisés pour accomplir cette tâche, et non une simple régression logistique, mais l'objectif reste le même : classifier des éléments.

Ils classent des sections d'une image comme « voiture » ou « non-voiture ». Votre voiture cherchera à éviter les autres voitures. Elle tentera ensuite de classer les éléments « non-voiture » autrement, en les transmettant éventuellement à un autre modèle d'apprentissage automatique ou à un groupe de neurones d'un réseau spécialisé dans la classification d'objets tels que des personnes, des panneaux de signalisation ou des volutes de brouillard. (Remarque : c'est pourquoi une IA plus complexe est appelée « algorithme », tandis qu'une instance ou un script d'apprentissage automatique simple est simplement un « modèle »).

Le prix à payer pour classer une « voiture » comme « non-voiture » (un faux négatif) pourrait être la vie des passagers. Confondre un morceau de béton déformé avec une voiture pourrait entraîner un freinage brusque ou une embardée inutile.

Pour une IA transparente et fiable, vos équipes de data scientists doivent non seulement comprendre les types d'erreurs rencontrées, mais aussi optimiser le système pour minimiser les erreurs les plus dommageables (ce qui implique qu'elles soient à la fois expertes du domaine et data scientists). Elles doivent ensuite optimiser la performance globale du modèle (ce qui implique que vos data scientists soient à la fois experts du domaine et data scientists).

Les scores de précision, de rappel et de F1 comparent les prédictions d'un modèle de classification comme la régression logistique ou les k plus proches voisins aux valeurs de test, afin que les modèles puissent être considérés comme précis et fiables lors de leur déploiement, ou inexacts afin de collecter davantage de données, de choisir un nouveau modèle ou d'ajuster les paramètres pour améliorer la précision.

Voici un exemple de rapport de classification pour un modèle de régression logistique sur ce même ensemble de données Titanic :

from sklearn.metrics import classification_report print(classification_report(y_test,predictions))
             Précision Rappel Score F1 Support 0 0,81 0,93 0,86 163 1 0,85 0,65 0,74 104 Moy./Total 0,82 0,82 0,81 267

Cette division des données en ensembles d'entraînement et de test, puis l'analyse finale du modèle, sont fondamentales pour :

  1. Choisir le bon modèle qui fonctionne bien
  2. S'assurer que le modèle est entraîné sur suffisamment de données pour accomplir sa tâche
  3. Savoir dans quelle mesure nous pouvons faire confiance aux prédictions de notre modèle
  4. Ajustement de l'impact contextuel de certains types d'erreurs comme les faux positifs ou les faux négatifs

En résumé, l'IA transparente a besoin de bien plus que de simples modèles adéquats ; elle a besoin des équipes et des processus métier appropriés pour la soutenir, notamment :

  1. De bonnes données pour l'entraînement
  2. Des équipes de données compétentes pour mettre en œuvre les modèles ou algorithmes appropriés
  3. Une analyse approfondie et continue pour s'assurer que le modèle atteint son objectif déclaré

Tout cela, et ces modèles étaient censés être auto-interprétables !

Modèles complexes auto-interprétables

La régression linéaire, la régression logistique et d'autres modèles de classification simples comme la méthode des k plus proches voisins sont relativement faciles à visualiser, à comprendre et à calculer, ce qui facilite leur explication et leur interprétabilité. Mais c'est là que les choses se compliquent.

Arbres de décision

Les arbres de décision sont un modèle d'apprentissage automatique performant pour les problèmes de classification et de régression. Ils peuvent traiter simultanément une grande quantité d'informations. Comme ils suivent le même schéma de base et utilisent un code similaire aux scripts d'apprentissage automatique mentionnés précédemment, ils constituent des outils extrêmement puissants pour la résolution de problèmes grâce à l'IA. Face à des problèmes plus complexes, des modèles plus puissants sont nécessaires, mais ils deviennent alors moins transparents. Ce compromis entre complexité et transparence apparaîtra clairement lorsque nous examinerons les différences entre les arbres de décision et le modèle plus complexe des forêts aléatoires.

Decision trees use mathematical formulae to maximize information gain with each logical split, which is to say they try to make splits that result in the greatest number of one class’ outcomes being put on one side. For example, if most of the time when it's not raining you play golf, then that's where the decision tree will make the split. Node one on the decision tree will be “is raining” and that first split will be “true” or “false.” Node two might be something like “temperature” and that split will be “>70” or “<70,” if you often don’t play when it's above that.

Si cela vous semble une simplification excessive ou si vous êtes perdu, ne vous inquiétez pas, l'idée est que les arbres de décision sont faciles à expliquer, car vous pouvez voir les nœuds, identifier les critères de division et suivre une décision le long des branches de l'arbre.

Voici un exemple tiré du secteur de la santé qui prédit la survie au cancer au lieu du golf. Au lieu de la température et des conditions météorologiques, les données patient utilisées sont l'âge, la date de l'opération et le nombre de ganglions. Quelques lignes de code Python dans un notebook Jupyter suffisent pour obtenir un résultat similaire à celui-ci :

Il apparaît immédiatement que, lorsqu'on manipule des données numériques dans un arbre de décision, les divisions sont bien plus nombreuses que la simple division « au milieu », et bien plus nombreuses que la simple division selon le nombre de variables. Cependant, il est assez facile de remonter l'arbre jusqu'à sa « feuille » pour un cas précis, ce qui permet de comprendre comment l'arbre de décision a effectué sa prédiction. Dès lors que l'on dispose du code permettant de générer une visualisation de l'arbre, comme le présente cet article de Medium , il s'agit d'une IA très explicable.

Forêts aléatoires

Et ceci ? Toujours facile à suivre ?

Outre le fait qu'il y a beaucoup plus d'arbres (et que l'image est nécessairement beaucoup plus petite pour les afficher), les forêts aléatoires « mélangent les cartes » quant au choix de leurs divisions. Elles ne se contentent plus de maximiser le gain d'information à chaque division ; chaque arbre choisit des divisions différentes afin de prendre en compte les données futures. En évitant le surapprentissage, elles réussissent souvent là où les arbres uniques échouent. De plus, au lieu d'un seul arbre, ou des cinq présentés ci-dessus, elles simulent généralement des centaines d'estimateurs.

C'est comme suivre le parcours d'un utilisateur sur un moteur de recherche, puis obtenir une cartographie de tous les parcours utilisateurs. Il s'agit d'un niveau d'extrapolation supplémentaire, car on prend du recul, mais étant donné la compréhension et la confiance accordées au concept sous-jacent, cela permet de bien comprendre et de faire confiance à ce concept à grande échelle.

On ne peut pas nécessairement suivre un seul arbre et dire « voici comment le modèle a fait sa prédiction », car le modèle de forêt aléatoire agrège les décisions individuelles de plusieurs arbres pour obtenir une décision finale, soit par vote, soit en faisant la moyenne, soit en calculant un pourcentage de probabilité d'un résultat. Mais cette décision est explicable en termes relativement simples.

Il est toujours possible d'expliquer la précision d'un modèle d'arbre de décision à l'aide de matrices de confusion afin d'identifier les faux positifs et les faux négatifs, et d'évaluer l'impact des différents types d'erreurs dans le monde réel. Les rapports de classification permettent toujours d'évaluer les performances du modèle et de l'affiner si nécessaire. Ces éléments sont fondamentaux pour une science des données de qualité et, par conséquent, pour l'explicabilité de l'IA, comme nous l'avons vu dans la section consacrée à la régression logistique.

Mais les arbres de décision et les forêts aléatoires ajoutent une chose de plus à notre boîte à outils d'explicabilité : un score d'importance.

Le score d'importance est notre premier exemple de véritable métrique d'explicabilité a posteriori en IA. Il explique comment un modèle prend ses décisions après coup, sans nécessairement analyser son fonctionnement ni disséquer ses mécanismes. Les scores d'importance sont généralement des méthodes d'interprétation globales qui permettent de comprendre comment le modèle prend ses décisions pour l'ensemble des données, contrairement aux méthodes d'explicabilité locales qui, elles, remontent à une décision unique.

Les scores d'importance sont simples et fondamentaux pour expliquer les décisions des forêts aléatoires (voir l'article pour plus d'informations).

Algorithmes simples

Nous allons maintenant passer rapidement de l'étude détaillée des différents types de modèles d'apprentissage automatique à l'analyse de la perte de transparence des algorithmes d'IA en général, qui s'accentue avec la complexité. Nous aborderons ensuite des méthodes d'explicabilité applicables à tout type de modèle d'apprentissage automatique.

Comprendre cette couche supplémentaire d'extrapolation – où l'on passe des « modèles » aux « algorithmes » – est important à la fois pour l'explicabilité de l'IA et pour les équipes de science des données qui souhaitent mettre en œuvre les modèles les plus efficaces.

Un algorithme est généralement défini comme un ensemble d'étapes qu'un programme doit suivre. Techniquement, tout script intégrant un seul modèle d'apprentissage automatique peut être considéré comme un algorithme, conformément à la définition formelle. En effet, le traitement des données comprend également de multiples étapes de nettoyage, de segmentation et de calcul de diverses métriques.

Mais comme le suggère l'exemple de la voiture autonome, lorsque l'information commence à alimenter plusieurs modèles, on passe de modèles uniques à des algorithmes de modèles.

Recherche par grille

GridSearch est une méthode qui teste systématiquement plusieurs modèles afin d'utiliser celui qui est le plus performant.

De nombreux modèles d'apprentissage automatique possèdent des paramètres qui leur sont transmis. La plupart de ces paramètres ont des valeurs par défaut rarement modifiées. Parmi ces critères, illustrés ci-dessous dans la méthode d'ajustement standard de leurs modèles scikit-learn respectifs, figurent le nombre de clusters pour le clustering k-means, le nombre d'estimateurs pour les forêts aléatoires et les valeurs C ou gamma pour les classificateurs à vecteurs de support (SVM), qui permettent de calibrer le biais et la variance afin de corriger le sous-apprentissage et le surapprentissage. Remarque : il s'agit de trois exemples distincts d'instanciation de différents modèles avec des paramètres non définis par défaut, et non de lignes de code séquentielles. Dans les exemples ci-dessus, certains champs ont été laissés vides, ce qui, en Python, permet à la fonction d'utiliser les paramètres par défaut.

kmeans = KMeans(n_clusters=4)
rfc = RandomForestClassifier(n_estimateurs=600)
svc_model = SVC(C=10, gamma=0.1)

GridSearch prend en entrée un modèle d'apprentissage automatique sans critère prédéfini et l'exécute plusieurs fois avec différents critères afin d'optimiser sa précision. C'est un peu comme si, lors d'un entretien d'embauche, on soumettait le même problème concret à plusieurs candidats, qu'on recrutait celui qui s'en sort le mieux et qu'on lui disait : « Félicitations, vous dirigez ce projet, car votre modèle a brillé lors des entretiens ! »

Spécifiquement pour le modèle de classificateur à vecteur de support (SVC), un autre modèle d'apprentissage automatique courant un peu plus complexe que ceux évoqués ci-dessus, vous pouvez transmettre différentes valeurs de C et gamma pour permettre à Grid Search de sélectionner la plus précise.

from sklearn.model_selection import GridSearchCV
param_grid = {'C': [0.1,1, 10, 100], 'gamma': [1,0.1,0.01,0.001]}
grid = GridSearchCV(SVC(), param_grid)
grid.fit(X_train,y_train)

Notez comment le modèle SVC est instancié dans la fonction GridSearchCV sans paramètres définis, et que l'algorithme GridSearch lui-même est maintenant l'objet sur lequel appeler la méthode fit, signalant que GridSearchCV est un algorithme qui intègre un modèle d'apprentissage automatique et le dictionnaire de paramètres qui lui est transmis.

La recherche par grille ne réduit pas nécessairement la transparence de l'IA. Il s'agit avant tout de mettre en place le modèle adéquat, permettant ainsi aux méthodes habituelles d'explicabilité et d'interprétabilité mentionnées précédemment de rester valides. C'est un élément essentiel pour garantir que le chemin entre les données et la prédiction soit le plus direct et le plus efficace possible.

Boost de gradient

Une autre méthode pour passer de modèles individuels à des algorithmes est le gradient boosting, où les modèles sont combinés afin que chacun puisse corriger les erreurs des précédents, à l'instar des humains qui apprennent de leurs parents. XGBoost est une bibliothèque Python permettant d'utiliser le gradient boosting pour les arbres de décision et peut être instanciée de manière similaire à scikit-learn dans les exemples de code précédents. Vous pouvez observer un exemple d'utilisation de XGBoost dans le dépôt GitHub XAI-for-practitioners .

Les algorithmes de gradient boosting augmentent la complexité de votre algorithme et peuvent rendre un modèle auto-interprétable, comme un arbre de décision, uniquement explicable a posteriori – à l'instar d'un classificateur de forêt aléatoire dont la complexité dépasse la simple interprétation visuelle. Vous souvenez-vous de l'image d'un arbre de décision comparé à une forêt ? Plutôt que de les juxtaposer, imaginez-les s'alimentant mutuellement. N'oubliez pas : plus la complexité augmente, moins la transparence est grande.

L'apprentissage supervisé facilite grandement les interprétations et les explications.

Les méthodologies d'explicabilité a posteriori deviennent donc extrêmement importantes pour les algorithmes « boostés » et d'autres types d'algorithmes d'IA, et finalement, nous nous retrouvons avec encore moins d'options pour les méthodes de transparence sur l'apprentissage profond et les réseaux neuronaux.

méthodes de transparence indépendantes du modèle

Du fait de la complexité croissante de ces modèles, il n'existe plus de méthodes spécifiques pour les analyser en profondeur, comme dans l'exemple des coefficients de régression linéaire. De ce fait, la transparence de l'IA constitue un domaine à part entière, intégrant des algorithmes à nombre de ces modèles « boîte noire ». À mesure que le domaine de l'explicabilité de l'IA progresse, des catégories entières de métriques d'explicabilité et d'interprétabilité sont développées, applicables à presque tous les modèles. On peut les classer en deux grandes catégories : globales et locales.

Les méthodes d'explicabilité globales indépendantes du modèle sont des algorithmes qui se superposent à l'algorithme d'IA et fournissent une explication complète de l'ensemble des données, tandis que les méthodes d'explicabilité locales indépendantes du modèle visent à expliquer les prédictions individuelles.

Ces méthodes d'explicabilité indépendantes du modèle sont des algorithmes à part entière, conçus pour analyser a posteriori l'algorithme d'IA en question, à l'instar d'une entreprise SaaS proposant un outil d'analyse complémentaire à ses produits principaux. De même que certains produits améliorent la valeur, l'adoption ou la facilité d'utilisation d'autres produits, ces algorithmes augmentent la valeur, l'adoption et les performances de vos algorithmes d'IA.

méthodes globales indépendantes du modèle

Les méthodes globales excellent à démontrer l'importance de caractéristiques spécifiques pour les modèles dans leur ensemble. Prenons cet exemple : votre entreprise utilise un classificateur de forêt aléatoire pour prédire le risque de désabonnement des clients abonnés à l'un de vos services. Vous importez tous les champs Salesforce de chaque abonné (anciens et actuels) et entraînez le modèle sur ces champs. Parfait ! Vous disposez désormais d'une liste d'abonnés « à risque » sur laquelle concentrer votre attention, en fonction des désabonnements passés.

Mais pourquoi ces abonnés se sont-ils désabonnés, et comment améliorer votre service à l'avenir ? Comprendre l'importance de chaque champ pour votre classificateur de forêt aléatoire vous permettra d'identifier les facteurs susceptibles d'empêcher ces entreprises de résilier leur abonnement ! Vos frais sont-ils trop élevés ? L'adoption de certaines fonctionnalités est-elle indispensable pour que vos abonnés perçoivent la valeur ajoutée de votre service ? Votre modèle de service leur permet-il de vous contacter facilement et de résoudre leurs problèmes rapidement ? Si votre modèle est entraîné sur des indicateurs tels que le nombre de gestionnaires de compte affectés ces trois dernières années, les fonctionnalités adoptées ou le coût, vous vous rapprochez de la solution. Cette transparence pourrait même s'avérer plus précieuse que le modèle lui-même.

L'importance des caractéristiques par permutation (nom officiel du score d'importance, comme indiqué dans la section sur les forêts aléatoires ci-dessus) est une méthode globale qui mesure l'augmentation de l'erreur de prédiction lorsque chaque caractéristique est modifiée ou supprimée de l'ensemble d'entraînement, calculant ainsi un score indiquant l'importance de chaque caractéristique pour la précision de la prédiction (voir le tableau des scores d'importance à la page 11 pour un exemple) .¹

Les graphiques de dépendance partielle (PDP) permettent de visualiser les augmentations de chaque variable en fonction des augmentations marginales de la valeur prédite (pour les problèmes de régression) ou de l'augmentation moyenne de la probabilité d'appartenance à la classe cible (pour les problèmes de classification). De même que le coefficient de régression indique l'augmentation attendue de la variable dépendante lorsque les variables indépendantes augmentent, les PDP fonctionnent même lorsque la relation entre les variables est non linéaire, contrairement à la méthode `coef_` du modèle de régression linéaire.

1 Référence .

Les graphiques ALE (Accumulated Local Effect) calculent les différences de prédictions pour de petits intervalles de valeurs des variables. Ils aident les data scientists à visualiser l'impact des valeurs extrêmes des données sur la prise de décision du modèle. En règle générale, si une variable présente une différence extrême, cette variable est importante pour le processus de décision du modèle. À l'inverse, si les résultats du modèle varient peu entre les valeurs maximales et minimales d'une variable, cette variable est peu importante. Dans le cas d'un ensemble de données sur la satisfaction client des passagers aériens, seules les valeurs extrêmes du service Wi-Fi à bord ont un impact significatif sur les prédictions du modèle, tandis que les vols personnels ont généralement un impact négatif plus important sur la satisfaction client. La facilité de réservation en ligne semble avoir un effet polarisant, mais son échelle est très réduite et aucune modification de cette métrique n'a d'impact significatif sur la prédiction de la satisfaction client par le modèle (ce qui la rend candidate à la suppression de l'ensemble de données).

méthodes locales indépendantes du modèle

Les méthodes locales tentent d'expliquer les prédictions individuelles. Dans l'exemple où vous cherchiez à fidéliser les clients d'un service d'abonnement de votre entreprise, vous avez peut-être mis en place un modèle de forêt aléatoire qui a prédit le désabonnement d'un abonné clé. Cet abonné a cessé toute activité, puis a effectivement résilié son abonnement, sans aucune explication. Les méthodes de transparence locales, indépendantes du modèle, vous permettent d'analyser la prédiction de ce dernier et d'obtenir des explications sur la classification de ce client comme « à risque ». Vous ne connaîtrez peut-être jamais la raison exacte de son désabonnement, mais votre modèle peut au moins vous fournir une hypothèse plausible. À l'avenir, vous pourrez ainsi tenter de corriger ces problèmes pour des utilisateurs similaires, « à risque », mais qui n'ont pas encore résilié leur abonnement.

L'espérance conditionnelle individuelle (ICE) est similaire à un PDP. Alors qu'un PDP indique une variation moyenne de la prédiction lorsqu'une caractéristique change sur l'ensemble des données, l'ICE montre la dépendance de la prédiction pour chaque instance. Visualiser et analyser une telle quantité de données est généralement fastidieux si l'on cherche à isoler une prédiction unique, mais cela peut aider les data scientists à identifier des zones d'interaction entre les caractéristiques et les prédictions, plutôt que de se fier à un graphique PDP agrégé. C'est comparable à la raison pour laquelle un analyste de données privilégierait un diagramme en boîte ou les quartiles plutôt qu'une simple moyenne.

Voici un autre exemple concernant la satisfaction des compagnies aériennes, où l'on peut à nouveau constater à quel point le service Wi-Fi en vol est un facteur de polarisation important pour les nombreux résultats individuels des prévisions de satisfaction client.

L'explication additive SHAP, ou SHAP en abrégé, est une approche empruntée à la théorie des jeux coopératifs. Elle permet d'analyser des exemples spécifiques en considérant chaque caractéristique de l'ensemble de données comme un joueur dans un jeu (le modèle). Ce joueur participe ou non au jeu en fonction de son gain ou de sa perte par rapport au gain collectif ou à la valeur de prédiction. Contrairement à une fraction du PDP (Public Data Part), et non à un point de données moyenné sur le PDP, SHAP permet de visualiser la contribution de chaque caractéristique et de chaque point de données à la sortie du modèle. L'image ci-dessous illustre la contribution de chaque caractéristique d'un ensemble de données (ici, des données sur le logement) au passage de la valeur de base de l'ensemble de données à la prédiction spécifique recherchée (prédire le logarithme népérien du prix médian des logements).

LIME (Local Interpretable Model-agnostic Explanation) est une autre explication a posteriori courante pour des points de données uniques. Elle consiste à échantillonner les points de données autour de l'instance cible et à pondérer les décisions concernant ces autres points en fonction de leur proximité spatiale avec le point cible. Le résultat affiche les caractéristiques les plus importantes pour la décision du modèle, les valeurs de ces cinq caractéristiques pour ce point de données spécifique, et la probabilité du résultat (si le modèle initial effectue une tâche de classification), en l'occurrence la survie des passagers à bord du Titanic.

exp.show_in_notebook(show_table=True)

NLP, réseaux de neurones, apprentissage profond et LLM

Ici, discutons de quelques concepts pour mieux comprendre comment les réseaux neuronaux, et plus particulièrement les modèles basés sur Transformer (le T dans Chat-GPT) axés sur le traitement du langage naturel (NLP), sont liés à une IA transparente et digne de confiance.

Commençons par les bases du TALN. Une étape fondamentale de tout algorithme de TALN consiste à réduire un mot à un code numérique, une opération appelée tokenisation, et à associer ce mot à d'autres mots de diverses manières. La compression du sens et des associations de ce mot en un vecteur dans l'espace est un processus appelé vectorisation.

Julien Lemoine, cofondateur et ancien directeur technique d'Algolia, explique plus en détail le processus de tokenisation et les prochaines étapes du NLP dans cet article .

La vectorisation et la réduction de dimensionnalité utilisent des mathématiques complexes. Ceci est important pour la transparence de l'IA car les vecteurs qui expriment le sens d'un mot dans la plupart des modèles de langage sont immédiatement illisibles pour les humains. Imaginez que chaque point ci-dessous représente bien plus qu'un simple point : il s'agit de la compréhension sémantique d'un mot et de tous les mots qui lui sont associés dans l'ensemble d'entraînement.

Les algorithmes d'IA complexes ne sont pas faciles à décomposer et à manipuler. C'est pourquoi nous développons d'autres algorithmes ou méthodologies pour analyser comment le modèle parvient à une décision spécifique (à l'aide de méthodes locales comme ICE, SHAP et LIME) ou prend des décisions en général (à l'aide de méthodes globales comme PDP, ALE, etc.).

Après tout, même la plupart des humains ne peuvent exprimer succinctement toute la signification d'un mot. Vous pourriez probablement donner une définition précise de presque n'importe quel mot de votre langue, même sans dictionnaire, mais pouvez-vous vraiment résumer tout ce que le mot « maison » représente pour vous ?

Les réseaux neuronaux, notamment ceux qui traitent le langage naturel, sont un peu plus spécialisés. À la pointe de la technologie, nombre d'entre eux disposent de leurs propres outils pour visualiser, analyser ou tenter d'expliquer les décisions d'un mécanisme interne.

Par exemple, les modèles d'auto-attention comme BERT (Bidirectional Encoder Representations from Transformers) disposent d'outils remarquables permettant aux développeurs de visualiser les associations de mots. On peut considérer ces modèles comme un ensemble de super-associations de mots : ils comprennent non seulement le sens général d'un mot, mais aussi son contexte au sein d'une phrase ou d'un texte.

Voici un exemple de visualisation d'un mécanisme d'auto-attention.

Il existe quelques inconvénients évidents. En explorant le dépôt GitHub de Vig, vous remarquerez peut-être la présence de menus déroulants « couche » et « tête » offrant de nombreuses options pour une même visualisation. Ceci s'explique par le fait que ce modèle de langage est un réseau neuronal, où de nombreuses entrées différentes circulent au sein d'un algorithme d'IA complexe, non seulement de neurone en neurone, mais aussi entre plusieurs « têtes » qui combinent leurs apprentissages (contrairement à une forêt aléatoire qui recherche un consensus parmi plusieurs modèles arborescents par moyennage ou vote ; c'est plutôt comme au sein d'une entreprise, où différentes organisations se spécialisent dans différents aspects du fonctionnement, mais œuvrent toutes à la réussite de l'entreprise).

S'il y a 12 couches et 12 têtes, l'algorithme effectue simultanément 144 analyses de langage qui cherchent à comprendre comment les mots d'une entrée sont associés les uns aux autres.

Chacune des 144 analyses pourrait être :

  • Quel est le mot qui précède le mot en question ?
  • Quel est le mot après
  • Quel est l'objet de ce nom ?
  • À quel nom ce pronom se réfère-t-il ?

Mais il ne s'agit pas d'un apprentissage basé sur la grammaire, ni d'un apprentissage supervisé par l'humain ; le modèle apprend le langage de manière similaire aux humains, en prêtant attention au contexte. Et en répétant ces actions.

En plus de cette complexité, pour chaque combinaison couche-en-tête, il faut faire défiler chaque mot pour voir ses relations avec les autres. Il est impossible de représenter succinctement une telle combinaison dans une image sans utiliser un GIF animé ou une vidéo montrant le défilement de chaque mot. Le nombre réel de calculs effectués par cet algorithme BERT est donc plus proche de : 144 fois le nombre de mots ou de caractères spéciaux dans l'entrée, multiplié par le nombre de mots ou de caractères spéciaux dans l'entrée. On peut estimer qu'il y a environ 144 × 11² calculs, soit approximativement 17 000 ; mais il faudrait examiner de nombreuses visualisations pour en être certain.

D'autres réseaux neuronaux ou algorithmes d'apprentissage profond proposent des visualisations similaires. TensorFlow offre cette visualisation pour un réseau neuronal d'apprentissage profond. Comme vous pouvez le constater sur l'image ci-dessous, malgré la complexité de la lecture et de l'analyse du processus de décision de l'algorithme dans son état actuel, trois couches de traitement restent masquées. Ce type de visualisation est plus efficace pour illustrer la réaction de la précision de votre modèle aux modifications du nombre de neurones ou de couches que pour expliquer le fonctionnement interne de l'algorithme.

Un réseau neuronal est tellement complexe qu'il est difficile pour un humain d'en extraire une compréhension globale. Bien que ces visualisations permettent d'analyser les composantes d'un algorithme, elles ne révèlent pas tout sur le processus de décision. Reprenons l'exemple de la mise en place d'un moteur de recherche : si l'un des modèles mentionnés représentait votre algorithme de recherche principal, sauriez-vous comment l'améliorer pour compenser les recherches ne donnant pas de résultats pertinents ? On peut espérer qu'il existe de meilleures façons d'expliquer le résultat d'un algorithme de moteur de recherche pour une requête spécifique, surtout si la confiance des utilisateurs et les revenus en dépendent.

Un autre inconvénient des visualisations mentionnées ci-dessus, notamment dans le cas de BERT, réside dans leur forte consommation de ressources de calcul. En effet, le responsable du dépôt GitHub dédié à l'auto-attention précise : « Cet outil est conçu pour des entrées courtes et peut être lent si le texte d'entrée est très long et/ou le modèle très volumineux », avant de détailler des méthodes pour optimiser son utilisation. Si vous êtes directeur technique ou architecte, vous pourriez penser : « Grossité de calcul = coût élevé. »

Ainsi, tout comme pour expliquer le mot « maison », comprendre tout ce qu’un modèle BERT sait d’un mot ou d’une expression est très difficile et demande beaucoup de travail.

Mais pourquoi est-ce si difficile ? Parce que le rôle d'un modèle BERT est de comprendre l'intégralité du langage. Dans les exemples précédents, vous entraîniez un modèle à prédire une valeur à partir de certaines valeurs, mais les grands modèles de langage (LLM) n'ont pas de tâche spécifique, si ce n'est l'apprentissage général du langage, qui sert de base à toutes les tâches ultérieures. C'est pourquoi ces modèles sont qualifiés de « fondamentaux » ou de « pré-entraînés » (le P dans Chat-GPT).

Pour pouvoir faire confiance aux solutions d'IA, il est nécessaire d'intégrer un système de contrôle à la solution elle-même, voire même au fonctionnement de l'algorithme.

Solutions d'IA conçues à des fins spécifiques

Après avoir abordé les modèles d'apprentissage automatique individuels et les algorithmes d'IA, considérons une « solution » d'IA complète. Une solution d'IA ne se concentre pas sur le modèle ou l'algorithme lui-même, mais sur la manière dont ce modèle ou cet algorithme s'intègre dans un contexte fonctionnel ou métier. Ainsi, pour l'explicabilité de l'IA, les modèles fondamentaux, popularisés par l'IA générative (le « G » de Chat-GPT), ne constituent peut-être pas la solution idéale.

Tout d'abord, ces modèles sont entraînés sur la quasi-totalité d'Internet. Irving Wladawsky-Berger, vétéran de l'industrie de l'IA et chercheur associé au MIT, aborde cette question dans son article de blog intitulé « L'émergence de l'IA centrée sur les données : d'où viendront toutes les données ? ». Il a récemment animé une table ronde consacrée précisément à ce sujet lors du MIT Sloan CIO Symposium 2024. « Les modèles d'IA générative sont fortement dépendants de la qualité et de la quantité des données utilisées pour leur entraînement. Or, nombre de ces modèles sont entraînés sur des ensembles de données vastes, diversifiés et documentés de manière incohérente, ce qui soulève de sérieuses inquiétudes quant aux risques juridiques et éthiques encourus », indique le compte rendu de la table ronde. « La table ronde examinera la complexité de l'utilisation de grands ensembles de données diversifiés pour l'entraînement des modèles d'IA générative, les difficultés liées à la traçabilité des données utilisées, ainsi que les outils et les normes nécessaires à une utilisation responsable de ces puissants modèles. »

De plus, comme les modèles fondamentaux ne sont pas conçus spécifiquement pour un objectif précis lors de leur entraînement, leurs performances peuvent être moindres. Lors de cette même table ronde , Mike Mason, directeur de l'IA chez Thoughtworks, une société de conseil en technologies, a déclaré : « Nous avons travaillé sur une application d'apprentissage profond pour un détaillant de mode et de vêtements. Cette application recommande des articles aux clients qui consultent son catalogue en ligne. Leur système existant était tellement bien entraîné grâce à des années de données et ses algorithmes étaient tellement optimisés que le nouveau modèle GenAI a obtenu des résultats inférieurs. Selon l'objectif visé, un modèle d'apprentissage profond spécialisé et hautement optimisé peut s'avérer plus performant qu'un modèle très général. » Wladawsky-Berger résume la discussion en écrivant : « Il existe des cas où un modèle relativement petit, bien entraîné et spécifique à une tâche donne de meilleurs résultats qu'un modèle GenAI vaste et généraliste. »

Lemoine contribue à établir un lien de causalité entre les modèles hautement performants et adaptés au domaine et l'obtention de résultats probants. Il explique : « Si une entreprise est incapable d'expliquer le classement des résultats de recherche, il vous sera impossible de tester d'autres méthodes pour optimiser et améliorer ces résultats. » Par conséquent, une IA transparente est étroitement liée à une IA performante.

Enfin, la transparence de l'IA exige une supervision. Pour faire confiance aux solutions d'IA, cette supervision doit être intégrée à la solution elle-même, voire même au fonctionnement de l'algorithme.

Algolia fournit un exemple de la manière dont la supervision humaine peut garantir l'exactitude des résultats d'un modèle : en permettant aux clients de sa solution de recherche IA d'ajuster manuellement le classement des résultats de recherche et en leur fournissant des informations sur les raisons pour lesquelles un résultat particulier a été généré. Voir l'image ci-dessous d'un rapport sur les critères de classement :

Critère de classement Valeur
0 Trier par : en vedette FAUX
1 Trier par : contient une image vrai
2 Nombre de fautes de frappe 0
3 mots à associer 1
4 filtres correspondants 0
5 Distance de proximité 0
6 Meilleur attribut correspondant titre (1er mot)
7 Nombre exact de mots 0
8 Classement personnalisé salesRank = 1
9 Score de personnalisation 0

Notez que, dans les critères de classement, le fait qu'un client ait choisi ou non de « mettre en avant » un résultat constitue le critère zéro (avant même le critère un dans la hiérarchie), et que le critère de classement personnalisé est également pris en compte. Ce rapport est similaire à la méthode LIME, mais au lieu d'afficher les cinq fonctionnalités les plus importantes, il présente toutes les fonctionnalités possibles.

À l'instar de la méthode SHAP évoquée précédemment, elle indique si chaque caractéristique (ou critère) a influencé les résultats, tantôt de manière binaire (vrai ou faux), tantôt de manière numérique (nombre de mots correspondants, classement des ventes pour le critère de classement personnalisé ou score de personnalisation). Envisagez d'intégrer une approche similaire à vos propres modèles d'IA transparents, en vous inspirant de plusieurs méthodes de transparence de l'IA éprouvées.

Conclusion

Récapitulons tout cela afin d'élaborer un plan d'action pour une IA transparente, du début à la fin.

  • Comme le souligne Wladawsky-Berger, une IA transparente commence par des données de qualité.
  • Les modèles de base peuvent faciliter le démarrage de la formation, mais au détriment de la transparence, car on ne sait pas toujours sur quoi portent les formations.
  • Envisagez une IA dédiée, entraînée sur des ensembles de données spécifiques pertinents à sa tâche, si votre entreprise a besoin d'une solution plus ciblée.

Ensuite, comme toute autre IA, l'IA transparente a besoin d'équipes de données compétentes et d'une bonne sélection de modèles, afin de comprendre :

  • Taux d'erreur
  • Les conséquences de certains types d'erreurs
  • Comment atténuer au mieux les plus nuisibles, soit en ajustant certains paramètres du modèle, soit en utilisant un algorithme plus complexe pour mettre en place la meilleure solution ?

Une fois que nous avons la certitude que les modèles fonctionnent correctement et que leurs impacts potentiels sont aussi positifs que possible, il est temps d'interpréter leur processus de décision. Les méthodes d'interprétabilité deviennent cruciales lors du développement et du déploiement des modèles. Comme l'ont souligné Mason et Lemoine dans des articles distincts, ces méthodes de transparence sont essentielles pour affiner les modèles à mesure qu'ils sont testés sur un volume croissant de données. Les méthodes d'explicabilité permettent une analyse continue des nouvelles décisions ; il convient donc de réfléchir à la manière dont vos modèles peuvent continuer à rendre compte de leurs décisions le plus efficacement possible, sans nécessiter d'innombrables scripts Python, sans mobiliser des ressources humaines coûteuses en data scientists, ni sans investir dans des GPU auprès de votre fournisseur de cloud.

En gardant ces étapes à l'esprit, vous devriez être prêt à envisager des solutions d'IA transparentes pour la mise en œuvre de votre expérience de recherche. Si vous êtes le directeur technique ou le développeur senior responsable de l'implémentation de la recherche sur votre site, vous recherchez probablement une solution d'IA complète, transparente, paramétrable, ultra-rapide et hautement personnalisable.

Les utilisateurs d'Algolia n'ont pas à se soucier de l'interprétabilité des algorithmes ni de la transparence des modèles. Nos clients fournisseurs de services de recherche bénéficient d'une transparence totale quant au calcul de la pertinence des résultats. Ils peuvent ainsi visualiser le classement des résultats selon les critères de personnalisation et de pertinence, puis l'ajuster manuellement en fonction de leurs besoins.

À propos d'Algolia

Algolia est la seule plateforme au monde de recherche et de découverte basée sur l'IA de bout en bout. Nos ingénieurs ont inventé une utilisation révolutionnaire de l'IA pour créer une recherche et une découverte exponentiellement plus performantes. La technologie propriétaire NeuralSearch d'Algolia combine le traitement vectoriel du langage naturel et la correspondance de mots-clés dans une API unique.

Algolia traite 1,75 billion de requêtes de recherche par an, soit plus de 30 milliards par semaine, permettant à plus de 17 000 clients dans plus de 150 pays de créer des expériences de recherche et de découverte ultra-rapides et pertinentes pour leurs utilisateurs d'applications et/ou leurs visiteurs en ligne, quel que soit l'appareil utilisé (web, mobile ou vocal), en faisant apparaître instantanément et à grande échelle le contenu souhaité.

Demandez une démonstration de la solution de recherche IA d'Algolia sur algolia.com/demorequest ou consultez la documentation sur algolia.com/blog/ai/

Annexe A : Glossaire des termes

Terme Signification/description (en lien avec la transparence de l'IA)
Explicabilité de l'IA En observant comment l'algorithme d'IA est parvenu à sa décision, a posteriori
Interprétabilité de l'IA Prédire ce qu'un algorithme d'IA pourrait produire en fonction de ce que vous savez de ses entrées, ou déduire les informations qu'il utilisera pour prendre des décisions, généralement de manière ante hoc (avant l'exécution du modèle).
Transparence de l'IA Un terme générique englobant notamment l'explicabilité de l'IA, la transparence de l'IA, la gouvernance et la supervision de l'IA.
Algorithme Un ensemble complexe de règles qui déterminent comment l'information circule d'un modèle à l'autre ou d'une fonction à l'autre au sein d'un programme d'intelligence artificielle
Attention Un mécanisme couramment utilisé dans les réseaux neuronaux de traitement du langage naturel qui comprennent les associations entre les mots, entre les corps (dans le cas de la simple attention) ou au sein d'une entrée textuelle (dans le cas de l'auto-attention).
Compromis biais-variance L'idée est que, lorsqu'un modèle d'apprentissage automatique inclut davantage de variance, il tend à surajuster les données d'entraînement, et que, lorsqu'il inclut davantage de biais, il tend à sous-ajuster les données. Cela rend le modèle moins ou plus généralisable, c'est-à-dire capable de prédire des valeurs futures sur lesquelles il n'a pas été entraîné, en contrepartie d'une meilleure correspondance avec les données d'entraînement.
Rapport de classification Un rapport standard pour un modèle d'apprentissage automatique de classification, incluant la précision, le rappel et le score F1.
Solution IA complète Il ne s'agit pas seulement d'un modèle prêt à être entraîné, mais aussi des ressources complémentaires, comme un vaste ensemble de données pour entraîner le modèle à son objectif, et les processus métier pour collecter ces données, les institutionnaliser, affiner le modèle, créer des procédures de supervision ou de contrôle humain, et rendre compte des performances et des décisions clés.
Compromis complexité-transparence L'idée que, à mesure que les modèles se complexifient, ils deviennent moins transparents et que l'explicabilité doit être remplacée par une simple interprétabilité
Matrice de confusion Un résultat présentant les points de données prédits par rapport aux points de données réels sous forme de matrice, donnant lieu au nombre de vrais positifs, de faux positifs, de faux négatifs et de vrais négatifs.
Apprentissage profond Un algorithme d'IA comportant plusieurs couches de « neurones » entre l'entrée et la sortie ; l'opposé de l'IA transparente, puisqu'elle possède, par définition, plusieurs couches cachées.
Réduction de dimensionnalité Les algorithmes ou formules mathématiques qui regroupent de nombreuses caractéristiques en fonction des besoins d'un modèle d'apprentissage automatique réduisent considérablement l'interprétabilité de l'IA.
Score F1 La moyenne harmonique de la précision et du rappel permet de créer une métrique qui cherche à équilibrer les deux types d'erreur, tout en les exprimant simultanément.
Fondamentaux Entraîné sans tâche précise, ou avec une tâche factice, dans le but que le modèle apprenne des connaissances fondamentales, comme le langage, puis affiné pour réaliser une tâche spécifique a posteriori.
Méthodes globales agnostiques au modèle Les méthodes d'explicabilité de l'IA qui fournissent une explication complète de l'ensemble des données en lien avec le modèle, par exemple, l'importance par permutation, le PDP et l'ALE.
Boosting de gradient Un algorithme qui utilise la sortie d'un modèle comme entrée pour le modèle suivant, chaque modèle de la chaîne s'attachant à corriger les erreurs du modèle précédent ; accroît la complexité et réduit la transparence
Recherche par grille Un algorithme qui exécute un modèle d'apprentissage automatique à plusieurs reprises avec différents paramètres prédéfinis afin de déterminer quel ensemble de paramètres offre la meilleure précision du modèle ; ne réduit pas la transparence
Couche Étapes d'un réseau neuronal qui transmettent les sorties d'un neurone comme entrée du neurone suivant ; plusieurs couches sont souvent utilisées dans les réseaux neuronaux de traitement du langage naturel, et certaines sont souvent cachées au développeur, dans le cas de l'apprentissage profond
Méthodes locales indépendantes du modèle Les méthodes d'explicabilité de l'IA qui visent à expliquer les prédictions individuelles d'un modèle, par exemple ICE, SHAP et LIME.
Perte de fonction La formule mathématique qu'un modèle d'apprentissage automatique cherche à minimiser pour trouver la meilleure option, par exemple, un modèle de régression linéaire cherche à minimiser la fonction de perte des moindres carrés afin de trouver la droite d'ajustement optimale.
Réseau neuronal Un algorithme d'IA qui combine plusieurs neurones effectuant des opérations mathématiques sur les entrées pour améliorer l'apprentissage, et transmet cette information en sortie au neurone suivant ou à la couche finale pour le décodage.
Attention à plusieurs têtes Une variante d'un mécanisme d'attention qui permet à différentes « têtes » au sein d'un réseau neuronal de traitement du langage naturel de se concentrer simultanément sur différentes associations de mots.
Surapprentissage L'idée est de former un modèle de manière si spécifique sur un seul ensemble de données que ses enseignements ne peuvent être appliqués de façon générale, ni à l'ensemble de données de test, ni à de futurs ensembles de données.
Paramètre Une fonctionnalité d'un modèle d'apprentissage automatique pré-construit qui permet au data scientist d'ajuster la manière dont le modèle sera entraîné, par exemple le nombre de clusters (k-means), le nombre d'estimateurs (random forests), C ou gamma (support vector machines).
Précision Une métrique qui indique la fréquence à laquelle un modèle d'apprentissage automatique prédit correctement les résultats, par rapport au nombre de faux positifs ; un modèle très précis est très fiable lorsqu'il prédit un résultat positif.
Pré-entraîné Voir « Fondamentaux »
Conçu à cet effet Non pas une application fondamentale, mais une application entièrement nouvelle, conçue pour une tâche spécifique et entraînée uniquement sur des données pertinentes pour l'aider à accomplir cette tâche.
Rappel Une métrique qui indique la fréquence à laquelle un modèle d'apprentissage automatique prédit correctement les résultats par rapport au nombre de résultats réellement exacts ; un modèle avec un rappel élevé ne manque généralement pas de prédire un résultat positif.
Auto-interprétable Les modèles auto-interprétables constituent en eux-mêmes les explications et peuvent être directement lus et interprétés par un humain, par exemple les arbres de décision et les modèles de régression, y compris la régression logistique.
Apprentissage supervisé Types de modèles d'apprentissage automatique capables de comparer les prédictions basées sur des données d'entraînement à des ensembles de données de test réels qui n'ont pas été utilisés lors de leur entraînement.
Tokenisation Le processus de réduction d'un mot à un code numérique ; une étape initiale de la plupart des algorithmes de traitement automatique du langage naturel.
Transformateur Une vaste catégorie de réseaux neuronaux qui transforment une séquence d'entrée en une séquence de sortie, par exemple, une phrase en anglais en une phrase en français, une question en sa réponse, ou une consigne textuelle en un document.
Sans surveillance Types de modèles d'apprentissage automatique ou d'algorithmes d'IA qui apprennent sans intervention humaine, par exemple le clustering, certains réseaux neuronaux
Vectorisation Le processus, utilisé dans la plupart des algorithmes de traitement automatique du langage naturel, consiste à compresser un mot et toutes ses significations ou associations associées en un vecteur dans l'espace.

Annexe B : Documents sources

Permettre à tous de créer d'excellents outils de recherche et de découverte