IA en médecine : où en sommes-nous

De April MediaWiki
Aller à la navigationAller à la recherche


Titre : IA en médecine : où en sommes-nous ?

Intervenant : Jean-Emmanuel Bibault

Lieu : Paris, Palais des Congrès - Devoxx FR 2024

Date : 18 avril 2024

Durée : 36 min 32

Vidéo

Licence de la transcription : Verbatim

Illustration : À prévoir

NB : Transcription réalisée par nos soins, fidèle aux propos des intervenant·e·s mais rendant le discours fluide.
Les positions exprimées sont celles des personnes qui interviennent et ne rejoignent pas nécessairement celles de l'April, qui ne sera en aucun cas tenue responsable de leurs propos.


Transcription

Présentatrice : Grand d’applaudissements à notre keynoter, Jean-Emmanuel Bibault. Venez ici au milieu.
Jean-Emmanuel Bibault, vous êtes cancérologue et chercheur en intelligence artificielle appliquée à la santé. Vous avez un doctorat en informatique biomédicale et vous avez fait votre post-doctorat à l’université de Stanford, dans un laboratoire d’intelligence artificielle appliquée à la santé.
Vous êtes aussi professeur des universités, praticien hospitalier à l’Université de Paris et à l’Hôpital européen Georges-Pompidou et chercheur à l’Inserm.
Je n’ai pas fini !
Vos recherches portent sur le machine learning appliqué au diagnostic et à la prédiction.
Et vous avez été lauréat, en 2019, de l’Académie nationale de médecine pour tous vos travaux par rapport la réponse thérapeutique par l’intelligence artificielle. Dans ce contexte, vous avez aussi développé pas mal d’applications iPhone et Android, cofondé une start-up que vous avez vendue en 2014 et, dans le temps qui vous reste, vous êtes, en plus, écrivain, vous avez publié 2041, Odyssée de la médecine : Comment l’intelligence artificielle bouleverse la médecine ? où vous retracez l’histoire de l’intelligence artificielle appliquée à la médecine et comment cela va changer nos soins aujourd’hui et dans le futur.

Jean-Emmanuel Bibault : C’est ça.

Présentatrice : Petit curriculum, évidemment.

[Applaudissements]

Jean-Emmanuel Bibault : Merci.

Présentatrice : La scène est à vous, Jean-Emmanuel Bibault.

Jean-Emmanuel Bibault : Je suis très content d’être devant vous aujourd’hui pour parler de ce sujet qui me tient à cœur, vous avez dû le comprendre, et particulièrement content de parler devant une assemblée de développeurs comme ça, ça me change un peu, parce que je suis plutôt habitué à parler soit devant des chercheurs ou des médecins.

Définitions et concepts

Je vais passer assez vite, en fait, sur cette partie de la définition des concepts, à mon avis, vous connaissez ça très bien. Je voulais quand même revenir sur quelques aspects.
On parle effectivement d’IA, mais maintenant tout le monde le dit, donc je pense que vous devez le savoir aussi : l’IA est un terme assez mauvais. En réalité, c’est plutôt dérivé de l’anglais et intelligence, en anglais, ça ne veut pas dire « intelligence humaine », ça veut dire plutôt « capacité d’analyse ou de renseignement ». On a donc pris ce terme qui, au final aujourd’hui, est utilisé partout, mais n’est pas tout à fait adéquate. Peu importe !
Aujourd’hui, on va surtout parler d’IA statistique ou de machine learning, mais vous savez aussi, je pense, qu’il y a d’autres types d’IA plus anciennes, notamment symboliques, qu’on appelle aussi des systèmes experts, dont on va parler au tout début.

En médecine, de l’IA, ça peut servir à faire quoi ?
Ça peut servir à faire ce que savent faire les médecins ou les humains, donc, typiquement, de l’analyse d’images. Ça peut être des examens scanner, radios, IRM, ou alors des biopsies, c’est-à-dire des lames qu’on regarde sous microscope.
Ça peut servir à poser un diagnostic.
Pour tout cela, c’est « relativement simple », entre guillemets, de vérifier que l’IA ne fait pas n’importe quoi. Là où c’est un peu plus compliqué, c’est lorsqu’on se sert de ces algorithmes-là pour faire ce que les humains ne savent pas faire, typiquement des tâches de prédiction, qui vont ensuite permettre de faire de la personnalisation des soins, On en parle de plus en plus et, en réalité, on n’y est pas encore tout à fait.

L’IA est une discipline qui a eu une histoire assez riche, avec des périodes très fastes, notamment sur le plan des financements, surtout aux États-Unis, mais aussi des périodes, on va dire, un peu plus lentes, puisque la communauté du computer science, aux États-Unis, s’était un peu détournée de cette thématique-là dans les années 70/80, puisqu’il y avait eu des problèmes théoriques et on commençait à penser qu’en réalité on n’arriverait jamais à créer une machine capable de mimer certaines capacités cognitives.
Ensuite, dans la fin des années 80, puis 90 et maintenant, surtout depuis 2012, notamment avec l’apparition d’AlexNet qui était un des premiers réseaux neuronaux profonds utilisant des GPU, qui avait été mis au point par un des thésards de Geoffrey Hinton, que vous devez connaître aussi, on a subi, on a connu une accélération très significative de l’IA dans tous les domaines, notamment en médecine.

Pourquoi est-ce qu’en médecine c’est très utilisé ?
En fait en médecine, pendant longtemps, on a fait ce qui est à gauche ici, c’est-à-dire des systèmes où on allait demander à des experts d’un domaine, en l’occurrence des médecins, de définir les règles qui, selon eux, permettaient de prendre une décision ou, par exemple, de poser un diagnostic. Ça a été utilisé, par exemple, dans des systèmes de recommandation d’antibiothérapie, notamment à Stanford, dans les années 50/60, sans jamais que ça ne s’impose vraiment.
De nos jours, ce qu’on fait et ce dont on parle quand on fait de l’IA, c’est surtout du machine learning, de l’apprentissage statistique, c’est la partie de droite, où là, on ne va pas demander à des experts humains de créer des règles. On va fournir un ensemble de données à un algorithme qui va devoir apprendre, à partir de ces données-là, à créer ses propres règles pour remplir l’objectif qu’on lui a défini.

Actuellement, en médecine, on connaît un vrai âge d’or de l’IA, pour deux raisons.
La première raison, c’est que peut-être que quand vous étiez très jeune ou quand vos parents allaient chez le médecin, il avait l’habitude de griffonner, avec une écriture souvent illisible, dans un dossier médical qui, ensuite, allait être rangé dans une armoire. Maintenant, tout cela c’est terminé. Toutes les données médicales, ou presque, sont digitalisées et, surtout, on a accès à des données très hétérogènes, de très nombreux types différents. Là, je ne vous ai mis que quelques exemples, sachant qu’ils sont quasi innombrables. Ce sont donc toutes ces données-là, qui sont maintenant digitalisées, que l’on peut utiliser beaucoup plus facilement que l’écriture illisible manuscrite du médecin de l’époque.
Et puis, en parallèle de cet accès très facile à la donnée, on a – vous le savez aussi, je pense – accès à des frameworks qui sont beaucoup plus simples d’utilisation qu’à l’époque.
Pour un peu comparer, ce n’est pas tout à fait exact, je vous ai mis le Perceptron Mark II, 1953. Vous voyez que chacune des cellules est, entre guillemets, « reliée » par un vrai fil électrique, donc, on doit s’amuser à modifier ça si on a besoin d’optimiser les choses. Maintenant, évidemment, tout cela est virtualisé dans des frameworks ; les plus utilisés sont plutôt PyTorch et TensorFlow, plutôt PyTorch en ce moment, mais sans doute qu’il va y avoir de plus en plus. Cette slide est intéressante ; ça permet de prendre conscience aussi que la majorité des frameworks sont édités et soutenus par des éditeurs américains, TensorFlow Google, Meta pour PyTorch surtout. Et puis, heureusement, on a aussi quand même l’Inria, qui fait scikit-learn, qui est vraiment très utilisé partout dans le monde pour faire ce genre de chose.

La conjonction de ces deux événements – les données et la facilité, la puissance programmatique –, fait qu’on voit ce genre de une dans beaucoup de journaux, et ces unes, même si elles peuvent parfois paraître un petit peu exagérées, je vais vous montrer à la fin présentation, notamment avec l’apparition et la démocratisation des LLM, qu’on n’est peut-être plus si loin de ça.

En médecine, il y a des thématiques, des difficultés qui sont un peu spécifiques. Souvent, en fait, on cherche à faire du machine learning sur un nombre de patients très faible – donc c’est très discutable –, un nombre de patients très faible, un nombre d’événements à détecter très faible, donc, évidemment, on prend le risque d’avoir des algorithmes qui sont mauvais.
On a des données qui sont très souvent peu structurées, malgré ce que je vous ai dit. Si vous vous intéressez à la thématique des entrepôts de données de santé, c’est extrêmement mal structuré, il y a un très gros travail à faire sur cette thématique-là, donc, il y a beaucoup de risques d’algorithmes mauvais, notamment le risque que vous connaissez, d’overfitting.
Le deuxième problème qui ne plaît pas trop, en général, aux médecins, c’est l’effet boîte noire de certains algorithmes, pas tous, bien que maintenant on ait des méthodos que vous devez connaître, j’imagine, que je vais vous montrer aussi, qui permettent d’apporter une certaine couche d’interprétabilité à de l’IA.

Exemples d’applications

J’ai pris le parti, pour aujourd’hui, de vous faire des exemples d’applications en partant du type de données qu’on exploite pour arriver à un résultat.
On va partir des données textuelles, c’est-à-dire, typiquement, le dossier médical écrit qui est stocké sur l’ordinateur du médecin ou, la plupart du temps, dans un entrepôt de données de santé de l’hôpital.

Le premier travail dont je voulais vous parler et qu’on avait fait quand j’étais à Stanford, consistait à prédire dix ans à l’avance votre risque de décéder d’un cancer de la prostate. Pourquoi c’est intéressant ? En fait, le cancer de prostate, c’est le cancer le plus fréquent chez l’homme, de très loin, mais c’est aussi le cancer qui est le plus sur-diagnostiqué. Ça vous semble loin pour l’instant, mais quand vous aurez 60 ans, 65 ans, ça vous parlera un peu plus. Le problème, quand on est sur-diagnostiqué, c’est qu’on pose un diagnostic de cancer de la prostate, mais, en fait, d’une maladie qui ne va jamais engendrer de symptômes pour vous et qui ne va jamais menacer votre pronostic vital. Donc, toute la difficulté, c’est d’arriver à séparer les gens qui sont à très bas risque des gens qui sont à très haut risque de décéder de leur cancer de la prostate dix ans après le diagnostic.
Pour cela, on avait récupéré une base de données américaine, DNCI, qui comportait à peu près 80 000 patients, qui avaient été colligées dans le cadre d’un essai prospectif sur dix centres américains et on a créé deux modèles qui permettaient de prédire la survie globale à dix ans et la survie du cancer de la prostate à dix ans, avec un framework que je pense, vous connaissez tous, XGBoost, qui est quasiment le gold standard lorsqu’on fait, on va dire, des analyses de données tabulaires. Ensuite, on a ajouté une petite couche d’interprétabilité avec les valeurs de Shapley – peut-être que vous connaissez, sinon je vais vous expliquer – et, ensuite, on a déployé tout ça en ligne pour pouvoir, en fait, faire de l’inférence, c’est-à-dire mettre des caractéristiques et avoir une réponse.
Parmi les 80 000 patients, il y avait un peu plus de 8000 patients effectivement atteints d’un cancer de la prostate, qu’on a utilisés pour l’entraînement, avec ces caractéristiques-là, sur lesquelles je vais passer assez vite.
On a tenu ces résultats-là. Je ne vais pas repasser sur chacune des metrics, mais ça me permet de dire que l’importance de la connaissance, de la définition de chacun de ces metrics va faire en sorte que vous allez comprendre et que vous allez utiliser un modèle à bon escient en médecine.
On a l’interprétation des résultats de ce modèle-là sur l’ensemble des 8000 patients, puisqu’on a calculé les valeurs de Shapley, du nom d’un mathématicien anglais des années 50 qui travaillait notamment sur la théorie des jeux, qui a permis de définir ces valeurs qui permettent, en fait, dans le cas de XGBoost ou d’un decision tree, gradient boosté, de connaître la contribution de chacune des caractéristiques à la décision du modèle à l’échelle de la population globale, avec ici, lorsque la valeur diminue, elle diminue le risque de décès et, lorsque la valeur augmente, elle augmente le risque de décès. On fait cela sur la population globale, mais là où c’est intéressant, une fois que vous l’avez mis sur Internet et fait de l’inférence, c’est que vous avez la même chose à l’échelle d’un seul patient, donc, vous pouvez voir les raisons pour lesquelles le modèle vous donne une probabilité de décéder pour un patient, donc, éventuellement, agir sur certaines de ces caractéristiques-là et décider de prendre une décision médicale adaptée aux caractéristiques du patient. Cela est très important pour la fiabilité et pour la décision médicale.

Je vous donne un autre exemple, un peu plus ancien, qui avait été publié, sur 76 000 patients, à partir des dossiers médicaux d’un hôpital. Ils ont cherché à prédire 78 maladies à l’avance. Ça marche assez bien. Ils ont comparé leurs méthodes, qu’ils ont appelée DeepPatient, à d’autres méthodes statistiques plus simples, donc, on arrive à prédire, par exemple, le diabète, le cancer, même la schizophrénie, avec des performances assez bonnes. Ça veut dire quoi ? Ça veut dire que si vous allez aux urgences, ou si vous allez à l’hôpital pour x ou y raisons, théoriquement on peut déjà se servir de ces données-là pour prédire votre risque d’autres maladies. Ça pose des questions évidentes sur le plan éthique, dont on parlera un petit peu à la fin.

Ce sont deux exemples. Il y en a d’innombrables, il y a des centaines de publications presque tous les jours sur cette thématique-là d’utilisation de données tabulaires.

À partir d’images

Maintenant, je vais vous parler d’imagerie médicale. À partir d’images, qu’est-ce qu’on peut faire quand on utilise du machine learning et, principalement, du deep learning ? Dès qu’on parle d’analyse d’images, on va surtout parler de deep learning et des CNN.

Pour résumer les choses, quand on prend des images médicales, on peut faire de la détection, c’est-à-dire, par exemple, déterminer s’il y a un nodule dans le poumon, pour un cancer du poumon, s’il y a une tumeur cérébrale, s’il y a une hémorragie cérébrale, ou alors, plus récemment, s’il y a un cancer du sein.
Cet été, un essai a été publié : sur 80 000 patientes suédoises, on a évalué la capacité d’une IA à détecter un nodule dans le sein, on l’a comparé à des radiologues humains et on a montré qu’une IA plus un radiologue, faisait aussi bien que deux radiologues. Donc, la prochaine étape ça va être l’IA seule versus les deux radiologues.
Ça permet aussi de faire de la caractérisation, c’est-à-dire segmenter automatiquement l’image, pour savoir où sont les organes, par exemple si on fait de la radiothérapie, faire du diagnostic, faire du staging, c’est-à-dire évaluer le stade de la maladie – c’est ce qu’on appelle le bilan d’extension, s’il y a si des métastases ou pas –, et après faire du monitoring, c’est-à-dire déterminer, avec le temps et avec le traitement, si le patient répond bien au traitement, c’est-à-dire si la maladie se réduit avec le traitement.

Je vais vous montrer un des premiers exemples vraiment emblématiques, qui date déjà de 2017 – à l’échelle de machine learning c’est déjà très vieux –, qui est CheXnet, un réseau neuronal qui a été réalisé par une équipe de Stanford où ils ont entraîné un réseau profond sur à peu près 100 000 radiographies de thorax de face, et il arrive parfaitement à retrouver une quinzaine de maladies qu’on peut diagnostiquer sur des radiographies de thorax de façon automatique. Alors là, la petite subtilité dont on s’est rendu compte quelque temps plus tard, c’est qu’en fait, pour certaines de ces maladies-là, l’algorithme ne voyait pas la maladie elle-même sur la radio, mais voyait, par exemple, le label de l’hôpital, sur le côté. Il y avait un biais : cet hôpital-là avait plus de maladies que d’autres. En fait, il trouvait la maladie non pas à cause de la radio, mais à cause du label qui était sur le côté.
Tout cela, ce sont des subtilités qui vont être très importantes pour la suite.

Un autre exemple, toujours sur le thème de l’exploitation de données d’imagerie, c’est ce papier qui a été fait, il y a déjà quelque temps déjà, par une équipe australienne, où ils ont cherché à prédire la longévité d’une personne en utilisant uniquement son scanner, pas de données médicales autres, antécédents ou quoi que ce soit, uniquement le scanner et, à priori, surtout des scanners qui semblaient à première vue normaux à un œil humain classique. Ils ont donné ça un algorithme qu’ils avaient entraîné, et ils arrivent parfaitement à voir les patients qui sont très à risque de décès à cinq ans des autres. Ça veut dire quoi ? Ça veut dire que si vous allez aux urgences, une fois de plus cet exemple est toujours bon, pour passer un scanner pour une suspicion d’appendicite, même si votre scanner est normal, théoriquement on pourrait entraîner des IA pour voir si, à cinq ans, vous êtes à risque de décéder ou pas, sans forcément qu’on sache exactement la raison pour laquelle vous êtes à risque de décéder. Donc ça peut être un petit peu angoissant.

À partir d’autres images

Maintenant,