Le but de cet article est de vous familiariser avec les concepts et techniques qui seront de plus en plus utilisées dans de multiples domaines médicaux : imagerie, anatomopathologie, prédiction, aide à la décision ou développement de médicaments, ces outils ont de vastes champs d’applications.

 

L’IA est l’ensemble de théories et de techniques mises en œuvre en vue de réaliser des machines capables de simuler l'intelligence.

On distingue deux approches en IA :

- l’approche déterministe, qui repose sur des moteurs d’inférence qui sont programmés en fonction des meilleures pratiques.

- l’approche statistique, que nous détaillerons de ce cours, où l’IA apprend à partir de données de façon autonome pour faire évoluer le système.


A partir de ce point, lorsque nous parlerons d’IA, nous ferons référence à l’apprentissage statistique, également appelé apprentissage machine ou machine learning. Ce concept, bien qu’il soit très médiatisé aujourd’hui, n’est pas nouveau : ses premières utilisations remontent à la seconde guerre mondiale avec la théorisation du « cerveau électronique ». Il a connu une succession de périodes fastes sur le plan scientifique et de périodes d’échec qui se sont traduites par ce que l’on appelle l’hiver de l’Intelligence Artificielle, qui a duré de la fin des années 60 au milieu des années 80. C’est ensuite à Toronto, au Canada, que l’IA connaîtra un nouvel essor, sous l’impulsion de l’équipe de Geoffrey Hinton, qui créera le concept de Deep Learning. En médecine, l’essor du machine learning a été rendu possible par la digitalisation croissante des données de santé. Avec la généralisation du dossier médical informatisé, des logiciels de prescription, de l’imagerie médicale et du séquençage génétique, il est aujourd’hui possible de récolter une quantité importante de données pour les patients afin de définir leur génotype et leur phénotype. 

L’ensemble de ces données constitue le « Big Data ». On parle ainsi des 4 « V » du Big Data :

- Le volume important de données,

- L’hétérogénéité (variété) des données (gérer et exploiter des données scannographiques ne se fait pas de la même façon que l’exploitation de données génétiques par exemple),

- La vélocité, qui traduit l’importance de la vitesse d’accès et de traitement de ces données,

- La véracité, qui signifie que la qualité des données est primordiale dans ce domaine. Si les données exploitées, même en grand volume, sont de mauvaise qualité, le résultat obtenu sera médiocre. On parle alors de « Garbage in, garbage out ».

Cette variété d’information entraîne des problématiques d’analyse des données : la complexité des modèles créés accroît significativement avec le nombre de variables intégrées.Les techniques d’apprentissage automatique ont beaucoup évolué et si des connaissances techniques très poussées étaient auparavant nécessaires, il est aujourd’hui possible d’utiliser des logiciels afin de répondre à des problématiques médicales. Leur utilisation doit cependant passer par la compréhension des résultats qu’ils fournissent et des méthodes utilisées. Ces méthodes et leur démocratisation sont progressivement en train de modifier la façon dont la recherche et plus tard la médecine vont être pratiquées. Il est donc important de connaître les grands principes et concepts du machine learning afin d’être capable d’interpréter les résultats d’une étude ou d’un système. Comme nous l’avons dit, l’essor de l’utilisation du machine learning dans le domaine médical est intimement lié à la digitalisation de la médecine. De plus, à l’heure de la médecine personnalisée, une prise de décision optimale, qui intégrerait des centaines de variables n’est pas possible pour un humain, puisqu’on considère que nos capacités cognitives permettent d’intégrer uniquement 5 facteurs.

L’intérêt du machine learning réside donc dans sa capacité à exploiter ces données afin de pouvoir faire de la classification ou de la prédiction à partir de profils patients complexes. Il existe de nombreuses méthodes : de la plus simple (la régression logistique), à la plus complexe (le Deep Learning), chacune d’entre elles présente des avantages et des inconvénients. Ces caractéristiques doivent guider le choix de la méthode en respectant toujours le principe de simplicité, aussi appelé rasoir d’Ockham : il est inutile d’utiliser un algorithme complexe si une méthode plus simple fournit le même résultat. Quelle que soit la méthode utilisée, le schéma global reste le même : on utilise une base de données dite d’apprentissage sur laquelle on entraîne un algorithme afin qu’il classifie correctement les individus et observations de cette base. Lorsque l’entraînement est terminé, on teste l’algorithme sur une seconde base de données, qui lui est inconnue, afin de vérifier la concordance des prédictions données par l’algorithme et la réalité.

 


 

Explorons maintenant quelques algorithmes d’apprentissage, du plus simple, au plus complexe.

Dans la régression logistique, on créé un modèle mathématique simple à partir d’observations réelles. Elle peut être utilisée lorsque l’on explore un nombre restreint de variables. Des méthodes de réduction de la dimensionalité (le nombre de variables à inclure), telle que le LASSO, peuvent être utilisées pour sélectionner des variables importantes.

Dans la machine à vecteur de support, ou Support Vector Machine, on va chercher à créer un modèle qui permet de calculer la marge maximale qui peut exister entre deux échantillons, que l’on appelle vecteurs support. Une fois cette distance calculée, chaque observation sera classifiée par rapport à cette marge.

Dans la méthode des k plus proches voisins, ou k Nearest Neighbor, on créé des groupes en tenant compte des k échantillons d’apprentissage dont l’entrée est la plus proche de la nouvelle entrée à classifier.

 Dans la méthode des arbres décisionnels, ou Decision Tree, on définit un arbre de caractéristiques binaires qui permet de successivement classer de façon mutuellement exclusive des individus d’un groupe. Le principe des forêts aléatoires est de générer des décisions depuis des milliers d’arbres créés à partir des données, afin de réduire l’aléas lié à l’utilisation d’un seul arbre.

Enfin, les réseaux neuronaux, ou Neural Network, correspondent à des réseaux de neurones virtuels où chaque nœud possède un poids et un biais. Le réseau va converger afin d’apprendre, à partir de données existantes, à réaliser correctement une classification, qui sera donné par les neurones de sortie.

 


 

Le Deep Learning est une évolution des réseaux neuronaux qui consiste à multiplier le nombre de couches de neurones. Il est particulièrement intéressant lorsque le nombre des caractéristiques à explorer est grand ou lorsque l’on cherche à explorer des bases d’imagerie. Il permet ainsi, contrairement à la régression logistique, d’obtenir des prédictions reposant sur des optimums multiples et complexe. Mais selon les données exploitées et leur richesse, les résultats d’un réseau neuronal de Deep Learning ne sont pas nécessairement meilleur que ceux d’une régression logistique. C’est pourquoi il conviendra toujours de comparer ses résultats à une méthode simple comme la régression logistique afin de quantifier si le coût de complexité du Deep Learning apporter une véritable amélioration du modèle.

 Le terme Deep Learning est apparu en 2006. Les premières percées n’ont été réalisées qu’en 2012, lorsque le réseau AlexNet, créé par Alex Krizhevsky, Geoffrey Hinton et Ilya Sutskever a permis de faire passer le taux d’erreur de reconnaissance d’images de la base de données ImageNet de 28 à 16%. Des progrès successifs ont ensuite été réalisés en modifiant les fonctions de convergence et en augmentant le nombre de couches des réseaux. ResNet, conçu en 2016, compte ainsi 56 couches de neurones artificiels. 

 Dans un réseau neuronal profond, chaque couche de neurones sera « tunée » ou « optimisée » pour discriminer les individus sur une caractéristiques ou sur une combinaison de caractéristiques. Sur cet exemple à trois couches de reconnaissance de visage, la première couche triera les images sur les différents bords de l’image, la seconde sur une combinaison de bords et la troisième sur la forme globale. Plusieurs frameworks sont disponibles afin d’utiliser le Deep Learning. Ces frameworks correspondent à des librairies de code informatique qui peuvent être exploitées simplement par l’utilisateur. Les principaux frameworks à ce jour sont : TensorFlow (Google), pyTorch (Facebook), Scikit Learn (INRIA).

 Chaque neurone de ce réseau à trois couches va être activé selon qu’il dépasse un certain seuil d’activation et passera cette information aux neurones de la couche suivante. A la fin, le résultat est fourni à la couche de sortie qui donnera la prédiction. Concrètement, chaque nœud du réseau, qui correspond à un neurone, démarre l’apprentissage avec un biais et un poids, définis par l’utilisateur. La fonction d’optimisation va chercher à optimiser ces paramètres pour converger vers la bonne prédiction qui est connue, puisque dans la base de données d’entrainement. On parle de « gradient descent » : La fonction devra atteindre le minimum de différence entre la prédiction et la réalité le plus rapidement possible.


Au-delà de la méthode d’apprentissage utilisée, il convient de respecter des étapes de modélisation précises afin de créer un modèle de qualité. Dans l’exemple de la prédiction à partir de l’imagerie, voici les principales étapes à suivre :

- Sélection et normalisation des données

- Apprentissage permettant de sélectionner les variables pertinentes

- Validation interne ou externe

- Déploiement et monitoring des résultats


Les limites de ces méthodes engendrent des difficultés spécifiques à leur application en médecine :

Les données effectivement disponibles pour entraîner des algorithmes sont à l’heure actuelle limitées dans leur nombre et dans leur qualité : le niveau de détail, appelé granularité, peut être insuffisant pour tirer des conclusions valables. On peut au contraire avoir une grande granularité, c’est-à-dire un grand nombre de variables mais pour un nombre insuffisant de patients, ce qui peut entraîner un « overfitting », ou « surapprentissage ». L’algorithme est alors bien entraîné et fournit de bonnes réponses sur la population d’entrainement, mais est incapable de fournir des réponses exactes sur une population différente.

Les méthodes de machine learning permettent de contourner ce problème avec de très bonnes performances. Enfin, un problème souvent débattu dans ce domaine est l’effet boîte noire des algorithmes d’apprentissage automatique les plus sophistiqués, tels que le Deep Learning : il est en effet impossible de comprendre pourquoi l’algorithme fournit la réponse qu’il fournit, ce qui peut poser un réel problème en médecine.


Les résultats d’un modèle doivent être interprétées en fonction de ces principales « metrics » ou mesures :

- La précision (accuracy), qui correspond au nombre de classifications correctes sur le nombre total de classifications

- L’aire sous la courbe, ou Area Under the Curve (AUC), qui correspond à la surface sous une courbe traçant le nombre de vrais positifs (Sensibilité) en fonction du nombre de faux positifs (1-Spécificité).

Plus cette courbe remonte dans le coin supérieur gauche, plus grand est cette surface et meilleur est le modèle.

- Une matrice de confusion qui détaille le nombre d'observations dans chaque groupe, telles qu’elles sont réellement et telles qu’elles sont prédites par le modèle.

Enfin, l’ensemble de ces mesures doivent être accompagnées de leur intervalle de confiance.