Classification multi-label à grande dimension pour la détection de concepts médicaux (Large multi-label classification for medical concepts detection) (2018)

Abstract: Dans ce papier, nous présentons une méthode pour associer de façon automatique des concepts à des images. Nous nous focalisons plus particulièrement sur des images médicales à annoter avec des concepts UMLS. Nous avons développé deux modèles de transfert d’apprentissage à partir des réseaux CNN VGG19 et ResNet50 . Nous avons utilisé des modèles avec des techniques simples et que nous avons optimisés pour l’apprentissage. Les résultats que nous avons obtenus en utilisant les données de la tâche ImageCLEF 2017 sont encourageants et comparables à ceux des autres participants.

## introduction ce papier s'inscrit dans le domaine de recherche d'information d'images médicales. nous nous sommes intéressés particulièrement à l'annotation automatique d'images médicales par des concepts médicaux. les concepts médicaux utilisés (meta thesaurus umls 1 ) sont des termes issus du domaine de la biomédecine. ils ont été proposés par la "national library of medicine" dans le but de développer des systèmes informatiques capables de s'appuyer sur le vocabulaire spécialisé utilisé dans le domaine @xcite . dans ce travail, notre objectif est d'extraire les concepts qui sont en relation avec le contenu d'une image. les évaluations s'appuient sur le lab proposé dans le forum d'évaluation imageclef 2017 foot_0 sous le nom "imageclef captions". cette tâche a comme perspective de concevoir des systèmes de génération automatique de descriptions pour les images médicales @xcite . pour répondre à cette tâche, nous avons assimilé le problème d'association de concepts à un problème de classification multi-label (classification à plusieurs sorties) ; les concepts étant les classes auxquelles l'image est associée. pour la classification multi-label, notre choix s'est porté sur l'apprentissage profond avec un réseau de neurones profond (convolutional neural network -cnn) car depuis quelques années ces réseaux ont montré de bonnes performances et sont devenus l'état de l'art dans le domaine de la vision par ordinateur, surtout pour la classification d'images @xcite @xcite . les cnn sont composés d'une succession de couches de produit de convolution des images. ces produits de convolution servent à extraire petit à petit les informations caractéristiques sur l'image traitée. plus spécifiquement, dans notre travail nous avons utilisé un transfert d'apprentissage. le transfert d'apprentissage est utilisé en apprentissage profond et a pour principe de migrer les connaissances d'un modèle déjà appris (les paramètres) vers un nouveau problème. l'architecture et les paramètres du cnn sont ainsi transférés @xcite . dans le premier modèle développé, nous avons utilisé le principe d'encodeur-décodeur qui est une stratégie utilisée pour générer automatiquement les légendes des images @xcite . dans notre cas, cette stratégie a été appliqué pour la classification multi-label des images. plus spécifiquement, à partir d'un cnn déjà entraîné, nous avons extrait un vecteur de caractéristiques (encodage). après cet encodage, le vecteur de caractéristiques est décodé par un autre réseau de neurones afin d'obtenir les concepts. le deuxième modèle que nous avons utilisé fait une réglage fin d'un cnn existant. dans ce cas, nous avons repris un cnn entraîné et nous l'avons adapté à notre tâche en faisant un ré-apprentissage de ses paramètres à partir de la collection visée. l'évaluation des modèles que nous proposons ici a été réalisée sur les données de la tâche imageclef 2017 @xcite et prolonge les travaux présentés dans @xcite . le reste de l'article est organisé comme suit : dans la section 2, nous présentons une description détaillée du problème ainsi que les données qui servent de base à l'évaluation. nous présentons ensuite dans la section 3 les modèles nous avons développés. les résultats que nous avons obtenus sont présentés dans la section 4 tandis que la section 5 décrit les travaux similaires présentés dans la campagne imageclef. ## détail de la tâche le but de la détection automatique de concepts médicaux est d'identifier les concepts pertinents à associer à une image. cette tâche consiste dans un premier temps à analyser le contenu de l'image représentée par une matrice de pixels et ensuite de prédire les concepts les plus pertinents contenus dans cette image. notre travail porte sur l'analyse d'un des modèles pré-entrainés sur des images naturelles pour les adapter aux images médicales de la collection visée. a partir des données d'apprentissage nous avons construit deux modèle pour classer les images dans des classes prédéfinies (concepts). le premier modèle utilise un cnn pré-entrainé pour extraire le vecteur caractéristique de chaque image. un réseau interconnecté est ensuite entraîné pour classer chaque vecteur dans les concepts prédéfinis. le second modèle est obtenu par réglage fin d'un cnn pré-entraîné en effectuant une réapprentissage du modèle sur les images médicales de la collection. ## modèle cnn et transfert d'apprentissage comme nous l'avons mentionné précédemment, le premier modèle que nous avons développé est un transfert d'apprentissage avec oxford vgg19 comme modèle de cnn de base (simonyan & zisserman, 2014) 3 nous avons choisi ce modèle car il a déjà fait ces preuves avec 7,3% d'erreur seulement pour la classification d'images sur 1000 catégories du challenge imagenet large scale visual recognition (ilvrc 2014) @xcite ). nous avons retenu le modèle appris sur le challenge ilvrc. le cnn vgg19 contient en total 19 couches, avec une succession de couches de convolution et de mise en commun ; il est facile à implémenter sur caffe, et se finit avec une couche de sortie de 1000 classes. le vgg19 est fait pour classifier des images dans 1000 classes mono-label. nous avons donc adapté ce réseau au problème de classification multi-label que nous souhaitons ici résoudre (nous avons 20463 labels). la création de ce modèle se fait en 2 étapes. la première étape , la phase d'encodage, est d'extraire les vecteurs de représentation des variables pour chaque image. cette extraction sera réalisée quelle que soit la provenance de l'image (ensemble d'apprentissage, de validation ou de test). cette réduction de dimension permet de gagner beaucoup de temps et d'espace sur le disque. ce vecteur de représentation se trouve à l'avant dernière couche du vgg19 (fully connected fc7 dans la figure ) ; la couche correspondante dans le réseau est composée de 4096 neurones. ce vecteur résume les caractéristiques de l'image encodée, mais il est difficile d'interpréter ce vecteur comme le soulignent sharif et al. @xcite . de plus, d'après @xcite , entraîner un nouveau modèle à partir de ces vecteurs offre des grandes potentialités pour des problèmes reconnaissance ou de classification @xcite . la deuxième étape consiste à utiliser ces vecteurs précédemment extraits dans un nouveau réseau de neurones (phase de décodage) où nous traitons le problème de la classification multi-label proprement dit. l'architecture de ce second réseau est la suivante : ce second modèle est très simple et ne nécessite qu'une seule étape. dans la définition de l'architecture du resnet50, nous avons modifié la définition de la couche fc-1000 en multi-label layer comme précédemment et la couche d'erreur softmax loss en sigmoid entropy loss. nous avons initialisé ce nouveau réseau de neurones convolutif grâce aux poids de l'ancien réseau resnet50 (c'est là qu'intervient le transfert d'apprentissage). nous avons alors réalisé un ré-apprentissage du modèle complet pour mettre à jour les poids initiaux afin qu'ils soient plus compatibles avec la collection d'images médicales visée. les deux modèles que nous avons développés ont été entraîné pour optimiser la fonction d'erreur sigmoide cross entropy (cf équation 1) ; en effet, la probabilité de chaque label ou concept étant considéré comme indépendant, cette fonction est adaptée @xcite . nous avons réalisé l'apprentissage du modèle avec vgg19 avec les hyper-paramètres suivants : la taille du traitement par lot est de 256 images, le pas d'apprentissage est fixé à 0,0001, nous avons gardé la valeur par défaut du momentum (0,9). le modèle resnet50 utilise les paramètres suivants : la taille du lot est de 50 images, le pas d'apprentissage est diminué selon l'équation 2 à chaque tranche de 7 époques 5 . cette réduction du pas d'apprentissage est requis pour un réglage fin @xcite . nous avons complété l'évaluation avec la distance de hamming. la distance de hamming (hamming loss) mesure le taux de labels qui sont mal classés dans une classification multi-label. c'est à dire les labels (concepts) réels qui ne sont pas prédits (vrais négatifs) et les non-labels réels qui sont pourtant prédits (faux positifs). le tableau 1 présente les différentes évaluations sur les différentes mesures pour la détection de concepts. nous pouvons constater dans ce tableau que notre second modèle est plus performant que notre premier modèle. l'amélioration du score f1 est surtout dû à l'augmentation du rappel. d'autres travaux utilisent des méthodes plus conventionnelles d'extraction d'information des images comme sift , "bag of color" @xcite . ils appliquent des méthodes de recherche de similarité pour identifier les images candidates et extraire les concepts à partir de ces images candidates. hassan et al. @xcite a développé un modèle qui s'appuie sur la notion d'attention visuelle qui présente une amélioration considérable par rapport au simple transfert d'apprentissage de cnn. dans leur modèle les auteurs ont combiné un cnn et un rnn 6 . le rnn sert à générer les concepts un par un à partir du cnn. le tableau présente les meilleurs f1-scores des équipes d'imageclef pour la résolution de la détection de concepts sans à avoir eu recours à des ressources et données externes. les modèles proposés par des participants à imageclef sont indiqués par une *. les deux modèles que nous avons proposés dans cet article sont en gras dans le tableau. nous ne disposons malheureusement pas de toutes les données pour comparer tous les algorithmes selon les différentes mesures comme présentés dans le tableau 1. 6. rnn : réseau de neurones récurent, qui est destiné aux données à sortie variable. nous avons présenté dans ce papier notre méthode d'extraction des concepts adéquats pour représenter des images médicales. nous avons travaillé avec une collection de 184614 images au total. les difficultés rencontrées sur cette tache ont été de quatre ordres : -nous ne disposions pas de machines forcément très adaptées aux algorithmes cnn ; -les images de la collection de données sont très variées et diversifiées (des images non médicales, des graphiques statistiques, des images composées) ; -le grand nombre de concepts (plus de 20000) à prédire est difficile à prendre en main ; -les techniques existantes s'intéressent à la classification de quelques classes seulement (1000 pour imagenet) et pour une classification mono-label. il a donc été nécessaire d'adapter les algorithmes existants pour une classification multi-label. les modèles que nous avons créés sont basés sur des transferts d'apprentissage le premier modèle utilise vgg19 comme encodeur, et le décodeur pour avoir la classification multi-label est un réseau de neurones simple. en effet, pour adapter le modèle à la tâche visée nous avons inséré un réseau de neurones interconnectés à deux couches comme classifieur qui est facile à entraîner et nécessite donc moins de ressources. il s'agit donc d'un modèle optimisé en matière de calcul et d'espace car nous étions limités en ressources. le second modèle est un réglage fin à partir de res net50, ce dernier est plus lourd par rapport au précédent. nous avons remarqué que le modèle que nous avons développé à tendance à prédire les concepts qui sont les plus fréquents (ou dominants) dans la collection d'entraînement. cet aspect mérite d'être corrigé dans le futur. pour les futurs travaux, nous visons également des améliorations en pré-classant les concepts en catégories avec une méthode de classification. cela permettra de réduire le nombre de concepts à prédire. nous envisageons également de traiter spécialement le cas des images composées avec des modèles cnn basés sur des méthodes de segmentation pour les détecter (par exemple les modèles développés dans @xcite . une fois que la segmentation des images en régions aura été réalisée, il sera alors possible d'utiliser les méthodes décrites dans ce papier pour extraire les concepts par région.