L’intelligence artificielle

Le domaine de l’intelligence artificielle (IA) connait en ce moment une progression exponentielle dans de multiples secteurs. Nombre d’applications dans le domaine particulier de la santé sont en cours d’élaboration ou déjà distribuées. Les conséquences pour les patients et les médecins seront probablement de grande ampleur. Mais qu’entend-t-on par ces termes « Intelligence Artificielle » mis à toutes les sauces, des médias grand-publics aux rapports parlementaires en passant par les GAFA ?

La progression dans le domaine de l’IA s’explique par la conjonction de trois éléments concomitants :

  1. Le développement d’algorithmes d’apprentissage appelés Machine Learning.
  2. L’apparition de larges bases de données sur internet : le « big data ».
  3. L’augmentation de la vitesse de calcul des ordinateurs permettant d’entrainer ces algorithmes, en particulier grâce à l’utilisation des processeurs graphiques (GPU) initialement dédiés aux jeux vidéos.

Cette progression est à l’origine d’innovations de rupture tel que :

  • La reconnaissance vocale,
  • La traduction automatique,
  • Les voitures autonomes,
  • La reconnaissance de visages,
  • La robotique militaire et civile
  • La reconnaissance d’images médicales.

En imagerie médicale le terme d’intelligence artificielle renvoie donc dans la grande majorité des cas aux algorithmes d’apprentissage appelé Machine Learning. Il s’agit d’un ensemble d’algorithmes qui ont la capacité de s’améliorer « par eux-mêmes » lorsqu’on les entraine avec des exemples.

Le Professeur Yann Lecun, un des pères du domaine, nous éclaire sur le sujet lors de sa conférence inaugurale au collège de France (2016) :

« Les méthodes manuelles se sont avérées très difficiles à appliquer pour des tâches en apparence très simples comme la reconnaissance d’objets dans les images ou la reconnaissance vocale. Les données venant du monde réel, les échantillons d’un son ou les pixels d’une image, sont complexes, variables et entachées de bruit.

Pour une machine, une image est un tableau de nombres indiquant la luminosité (ou la couleur) de chaque pixel, et un signal sonore une suite de nombres indiquant la pression de l’air à chaque instant. Comment une machine peut-elle transcrire la suite de nombres d’un signal sonore en série de mots tout en ignorant le bruit ambiant, l’accent du locuteur et les particularités de sa voix ? Comment une machine peut elle identifier un chien ou une chaise dans le tableau de nombres d’une image quand l’apparence d’un chien ou d’une chaise et des objets qui les entourent peuvent varier infiniment ? Il est virtuellement impossible d’écrire un programme qui fonctionnera de manière robuste dans toutes les situations. C’est là qu’intervient l’apprentissage machine »

Cette capacité d’apprentissage permet à la machine de réaliser des tâches qui seraient impossibles à faire s’il fallait les programmer « à la main » en spécifiant tous les paramètres. C’est le cas des tâches complexes comme la reconnaissance d’image, de son, de texte

Le Machine Learning comment ça marche ?

Il est possible d’en comprendre les principes sans être un génie des mathématiques. Il s’agit d’un algorithme qu’on entraine avec des données d’entrée (Input) aboutissant à la création d’un modèle qui permet de fournir une sortie (Output). Le modèle est une représentation de la question posée et de la manière d’y répondre par la machine.

Par exemple en imagerie médicale l’entrée serait « des radiographies pulmonaires » et la sortie serait « présence d’une masse pulmonaire : oui/non ». On peut aussi appeler cette sortie le « label » de l’image.

On peut donc déjà séparer ces algorithmes en deux grandes catégories :

1/ L’apprentissage non supervisé.

Dans ce cas la sortie n’est pas connue, on ne sait pas quelle question poser aux données qui sont devant nous. L’algorithme va chercher à faire émerger des regroupements au sein de cette masse hétérogène d’informations, basés sur une ou plusieurs dimensions, et donc à révéler des caractéristiques « cachées » dans la donnée. On parle de clustering. Cela permet d’acquérir de nouvelles connaissances sur un domaine. Ces connaissances peuvent ensuite être utilisées comme sortie pour réaliser un apprentissage supervisé, on parle alors d’apprentissage semi-supervisé.

2/ Apprentissage supervisé.

Dans ce cas la sortie est connue. On connaît la réponse à la question, on veut que l’algorithme apprenne à répondre tout seul. Parmi les algorithmes d’apprentissage supervisé, on distingue deux catégories en fonction du type de sortie. En effet si cette sortie est :

– une catégorie (nom d’un objet dans l’image, le sujet du texte) : on parle d’algorithme de classification.

– une valeur numérique continue (taille d’une tumeur, taux d’emprunt) : on parle d’algorithme de régression.

Le schéma X2 donne des exemples d’algorithmes en fonction du type d’entrainement et du type de sortie.

Une tache classique du machine learning en imagerie médicale consiste à classer les images c’est à dire à attribuer un label à un objet de l’image de type : bénin/malin (masse pulmonaire détectée) ou absent/présent (nodule pulmonaire, embolie pulmonaire, hémorragie cérébrale …).

Pour réaliser ces taches on utilise l’apprentissage supervisé : on fournit un ensemble de données labellisée (données d’entrainement) pour entrainer la machine. Une fois la machine entrainée, on lui montre un nouveau jeu de données (données de test) qu’elle ne connait pas et on évalue sa capacité à fournir automatiquement le label.

L’algorithme fonctionne comme une boite :

 

Pour entrainer un algorithme d’apprentissage supervisé il faut une grande quantité de données ( c’est l’input) qui doivent être labellisées (c’est l’output)

 

 

L’objectif est d’obtenir automatiquement de la machine le bon label lorsqu’on lui fournit une donnée qu’elle n’a jamais vue

 

Prenons l’exemple du nodule pulmonaire:

On fournit à la machine des images de scanner pulmonaires avec le label « nodule pulmonaire : oui / non ». A chaque itération la machine traite les informations de l’image et répond : « nodule pulmonaire : oui » ou « nodule pulmonaire : non ». On lui fournit les bonnes réponses, elle ajuste alors ses paramètres internes (la fameuse boîte +/- noire) pour améliorer ses performances. On réitère le processus avec un nouvel exemple. Une fois que « suffisamment » d’exemples ont été donnés à l’algorithme, celui-ci peut fournir une réponse lorsqu’on lui soumet une nouvelle image qu’il n’a jamais vu, par exemple « présence d’un nodule pulmonaire : oui 90% /non10% ».

On commence à comprendre l’importance de la donnée « enrichie », correspondant, par exemple en radiologie, à des images labellisées. Avant de commencer à entrainer un algorithme à reconnaître tel type d’image ou tel autre il faut donc passer un temps conséquent à collecter et labelliser ces données.

Il existe parmi ces algorithmes de machine learning une catégorie particulière qui est à l’origine des fulgurantes avancées actuelles, ce sont les fameux réseaux de neurones profonds et en particulier les réseaux de neurones convolutifs aussi appelé Deep Learning. Pour en savoir plus sur le deep learning c’est ici.