Dans les débuts de l’Intelligence Artificielle (IA), les chercheurs abordaient et résolvaient rapidement des problèmes intellectuellement difficiles à résoudre pour les êtres humains, mais relativement simples pour les ordinateurs, autrement dit, des problèmes qui peuvent être décrits par une liste de règles mathématiques formelles. Le vrai défi, de nos jours pour l’IA est de résoudre les tâches faciles à accomplir pour les humains mais difficiles voire impossibles à décrire formellement. Ces dernières années, le domaine de l’IA est en plein essor, avec pléthore d’applications pratiques suivies et financées par un grand nombre d’entreprises et sujets de recherche actifs. Quelques unes des applications pratiques concernent l’automatisation de travail de routine, en passant par la compréhension de la parole, la reconnaissance d’images ou bien même l’aide aux diagnostics en médecine.
Cet essor considérable que l’IA subit, notamment par l’intermédiaire du Deep Learning (DL) [1], est parfois comparé à un ras de marée scientifique, qui est principalement dû aux prouesses technologiques qui amènent des capacités de calculs considérables avec notamment, l’utilisation des cartes graphiques (GPUs). De plus, son développement peut se faire aussi rapidement, grâce au web et à toute l’information partagée par ses utilisateurs. Le web donne accès à tous types de données, textes, images, sons, vidéos, historiques de navigation, capteurs… Toutes ces données requièrent des traitements de plus en plus complexes qui vont au delà de calculs statistiques simples, comme reconnaître des objets ou des personnes dans une image, traduire un texte d’une langue à une autre, rendre la conduite d’un véhicule autonome…
Machine learning et ses applications
Aujourd’hui, nous vivons dans un monde hyperconnecté dans lequel chaque interaction, allant de l’appel téléphonique à l’affichage d’une page web et bien d’autres applications, s’ajoute un océan de données sans limite. Avec l’arrivée de l’internet des objets (IoT), les voitures, les réfrigérateurs, les vêtements de sport … génèrent des millions de données supplémentaires chaque jour. Elles peuvent être analysées et traitées afin d’atteindre différents objectifs via les algorithmes d’IA. Le concept de l’Intelligence Artificielle (IA) est de faire penser les machines « comme des humains ».
En d’autres termes, effectuer des tâches telles que raisonner, planifier, apprendre et comprendre notre langage. Bien que personne ne s’attende à l’heure actuelle ni même dans un futur proche, à une équivalence avec l’intelligence humaine, l’IA a des incidences importantes sur nos vies. En effet, l’IA a été conçue pour nous rendre plus productif et nous faciliter le travail. Les algorithmes d’IA ont été utilisés pour moult applications ces dernières années. Un panel de techniques existent et sont utilisées pour plusieurs catégories de réalisation. Dans ce chapitre, un état de l’art est proposé en exposant les différents types d’apprentissage automatique ainsi que leurs modalités. De plus, un ordre chronologique d’apparition des techniques a été fait afin de situer les découvertes dans le temps.
Techniques de machine learning
L’IA ne date pas d’aujourd’hui, elle a commencé dans le début des années 1950. Depuis, beaucoup de recherches ont été faites la concernant et ce n’est que le commencement. Elle a connu des avancées fulgurantes tout comme des déboires à certaines périodes qui sont souvent appelées « hivers ». Sa courbe de représentation des avancées est en dent de scie avec deux principaux creux : un dans le milieu des années 1960 et l’autre dans les années 1990. Ces deux hivers sont intervenus suite à un excès d’enthousiasme sans précédent et sans que la recherche n’obtienne les résultats escomptés. Cependant, nous sommes aujourd’hui dans ce que l’on peut qualifier de ras de marée scientifique concernant l’IA. Nous la retrouvons dans un grand nombre de technologies et l’état de l’art est conséquent.
L’IA rassemble de nos jours, un très grand nombre de méthodes. Compris dans l’ensemble IA figure le sous-ensemble apprentissage automatique (Machine learning en anglais) qui lui même contient le sous-ensemble IA connexioniste. Pour finir l’ensemble IA connexionniste contient le sous-ensemble apprentissage profond (DLs). Les méthodes exposées dans les différents ensembles sont énumérées de manière chronologique par la suite. Mais avant de revenir sur chacune d’elles, il existe tellement de techniques d’IA qu’elles ont été classées dans différents types et modalités. Toutes ces techniques d’apprentissage automatique fonctionnent . La phase d’apprentissage peut se faire de différentes manières selon le type choisi.
Types d’apprentissage automatique
Les systèmes d’apprentissage automatique peuvent être classés en fonction de l’importance et de la nature de la supervision qu’ils requièrent durant la phase d’apprentissage. Les algorithmes d’apprentissage devront être choisis en fonction des données fournies, du problème rencontré et des spécificités du modèle à construire. Il existe 4 types majeurs : l’apprentissage supervisé, l’apprentissage non supervisé, l’apprentissage semi-supervisé et l’apprentissage par renforcement.
L’apprentissage supervisé
Dans l’apprentissage supervisé, les données d’apprentissage que l’on fournit à l’algorithme comportent les solutions désirées, appelées aussi étiquettes ou cibles selon le problème posé. Par analogie avec l’humain, on parlera d’apprentissage avec un professeur. En effet, le professeur est l’expert qui donne l’explication, ici, l’étiquette correspondant à l’objet. Par exemple, dans le cas d’un classifieur d’images, nous allons avoir un ensemble de données étiquetées.
Ainsi, nous connaissons la correspondance associée à chaque image. À partir de ces étiquettes, nous allons pouvoir apprendre au modèle les différentes catégories représentées. Un autre exemple concerne la régression, un ensemble de valeurs décimales appelées cibles sera fourni. À partir de ces cibles, le modèle va pouvoir « apprendre » les différentes valeurs numériques à associer. Ainsi, pour ces deux exemples, à chaque prédiction du modèle, nous pouvons lui indiquer s’il a donné le résultat attendu ou s’il s’est trompé. De ce fait, le système apprend de ses erreurs. Il cherchera à minimiser l’erreur en fonction des données qu’il possédera. On peut noter que certains algorithmes de régression peuvent être utilisés également en classification et inversement. Par exemple, la régression logistique s’utilise couramment en classification.
Dans certains apprentissages supervisés, la phase d »apprentissage se découpe en 3 parties. Pour cela, l’ensemble des données d’apprentissage est partagé, selon un ratio donné par l’utilisateur, en 3 sous-ensembles. Le premier temps correspond à l’entraînement. Comme son nom l’indique, il permet à l’algorithme de s’entraîner en minimisant l’erreur sur un maximum d’échantillons de données.
La deuxième phase correspond à la validation : il donne accès au comportement du modèle durant sa phase d’entraînement avec des données n’ayant pas été utilisées durant la phase d’entrainement. Il va permettre d’évaluer si le modèle est généralisable avec de nouvelles données, autrement dit, savoir si le modèle n’a pas encouru du surapprentissage, connu sous le mot anglais overfitting. Le sur-apprentissage signifie que le modèle a appris des caractéristiques correspondantes à des détails insignifiants dans les données d’entraînement que l’on appelle bruit.
Dès lors, lorsque le modèle est confronté à de nouvelles données, les résultats obtenus ne sont pas ceux escomptés. Pour éviter cela, il existe des techniques de régularisation. Parmi elles, il y a la régularisation L1 (norme 1) ou L2 (norme 2) et plus globalement la norme Ln. La régularisation par norme consiste à ajuster à la baisse la valeur des poids (paramètres) élevés au sein du modèle proportionnellement à la somme de leurs valeurs absolues pour la norme L1 et à la somme de leurs valeurs au carré pour la norme L2. Un mélange de plusieurs normes avec chacune un ratio d’intervention est possible avec le elastic-net [16]. D’autres techniques de régularisation telles que le dropout [17] ou la normalisation par lot [18] sont souvent utilisées sur les réseaux de neurones. à chaque nouvel échantillon, certains neurones forçant le modèle à généraliser. La normalisation par lot est utilisée pour faciliter l’apprentissage et lutter contre des problèmes numériques tels que l’annulation ou l’explosion du gradient.
L’explosion du gradient est vue comme l’augmentation très rapide des valeurs des gradients pendant la phase d’apprentissage entraînant un dépassement des limites acceptables de la valeur des nombres par l’ordinateur et donc l’arrêt de l’apprentissage. La validation a une grande importance dans la phase d’apprentissage. La troisième partie concerne la phase de test qui consiste à vraiment évaluer les résultats obtenus de manière brute sans avoir d’influence sur la phase d’apprentissage.
Voici quelques exemples d’algorithmes d’apprentissage supervisé :
— K plus proches voisins (k-NN)
— Régression linéaire
— Régression logistique
— Machines à Vecteurs de Support (SVMs)
— Arbres de décision (DTs)
— Forêts aléatoires (RFs)
— Réseaux de neurones « feed-forward » (FFNNs)
— Réseaux de neurones récurrents (RNNs)
— Réseaux de neurones convolutionnels (CNNs) .
L’apprentissage non-supervisé
Dans l’apprentissage non supervisé, les données ne sont pas étiquetées. Par analogie avec l’humain, le système tente d’apprendre sans professeur. Plusieurs principales familles existent dans l’apprentissage non supervisé : le partitionnement (connu sous le terme anglais clustering), la réduction de dimension, les règles d’association et les modèles génératifs.
Le clustering est une méthode permettant de repérer des similarités entre les données et de les regrouper dans une même catégorie. A l’intérieur de chaque grappe, les données sont regroupées selon une ou plusieurs caractéristiques qui leurs sont communes. Par exemple, prenons un ensemble de données représentant une population animale. Un ensemble de caractéristiques comme l’âge, le poids et la taille ont été récoltées. L’objectif sera de déterminer si certains animaux peuvent appartenir à la même espèce et ainsi les regrouper ensemble. Une des mesures de qualité d’une méthode de clustering sera la capacité du modèle à découvrir certains motifs cachés.
La réduction de dimension consiste à prendre des données dans un espace de grande dimension et à les remplacer dans un espace plus petit. Pour que l’opération soit utile, il faut que les données de sortie représentent les données d’entrées en terme d’information. Il est souvent recherché un optimum entre la quantité d’informations perdues et la réduction obtenue. La recherche de règles d’association est une méthode populaire dont le but est de découvrir des relations ayant un intérêt pour le statisticien, entre deux ou plusieurs variables stockées dans de très importantes bases de données. Les modèles génératifs sont relativement nouveaux, ils permettent la génération de données selon un motif ou catégorie apprise auparavant. Autrement dit, ils sont capables d’apprendre une distribution de probabilité sur des objets complexes, distribution que l’on pourra ensuite échantillonner pour produire des exemplaires inédits mais ressemblant aux exemples.
Voici quelques exemples d’algorithmes d’apprentissage non supervisés :
• Partitionnement
— K-moyennes
— Partitionnement hiérarchique
— Maximum de vraisemblance
• Réduction de dimension
— Analyses en Composantes Principales (ACPs)
— Méthodes t-distributed Stochastic Neighbor Embedding (t-SNE)
— Auto-encodeurs sans décodeur lors de la phase d’inférence
• Apprentissage de règles d’association
— À priori
— Éclat
• Modèles génératifs
— Réseaux adverses génératifs (GAN)
— Auto-encodeurs avec décodeur lors de la phase d’inférence .
|
Table des matières
Introduction générale
1 Machine learning et ses applications
1.1 Introduction
1.2 Techniques de machine learning
1.2.1 Types d’apprentissage automatique
1.2.1.1 L’apprentissage supervisé
1.2.1.2 L’apprentissage non-supervisé
1.2.1.3 L’apprentissage semi-supervisé
1.2.1.4 L’apprentissage par renforcement
1.2.2 Modalités d’apprentissage
1.2.2.1 Groupé
1.2.2.2 En ligne
1.2.2.3 Par transfert
1.3 Historique de l’apprentissage automatique
1.4 Modèles connexionnistes utilisés
1.4.1 Neurone biologique
1.4.2 Neurone artificiel
1.4.3 Réseaux de neurones artificiels
1.4.4 Réseaux de neurones convolutionnels
1.4.5 Algorithmes d’optimisation
1.4.6 Algorithme de rétropropagation de l’erreur
1.4.7 Les algorithmes utilisant la rétropropagation
1.4.7.1 Descente de gradient
1.4.7.2 Méthode de Newton
1.4.7.3 Le gradient conjugué
1.4.7.4 Méthode de quasi-Newton
1.4.7.5 Méthode de Levenberg-Marquardt
1.4.8 L’engouement vers la descente de gradient
1.4.8.1 Descente de gradient par lot
1.4.8.2 Descente de gradient stochastique
1.4.8.3 Descente de gradient par mini-lot
1.4.8.4 Optimiseurs spécifiques à la descente de gradient
1.4.9 Frameworks existants
1.5 Conclusion
2 Radiothérapie externe et techniques associées
2.1 Introduction
2.2 Vue d’ensemble
2.2.1 Imagerie
2.2.1.1 Tomodensitométrie
2.2.1.2 CBCT
2.2.1.3 EPID
2.2.2 Planification de traitement
2.2.3 Dosimétrie
2.2.4 Méthode de calcul
2.2.4.1 Méthodes analytiques
2.2.4.2 Méthodes Monte-Carlo
2.2.5 Contrôle qualité
2.3 Techniques de traitement
2.3.1 Radiothérapie conformationnelle
2.3.2 Radiothérapie conformationnelle à modulation d’intensité
2.3.3 Arc-thérapie volumique modulée
2.4 Conclusion
3 L’EPID pour la dosimétrie
3.1 Introduction
3.2 Notions de dosimétrie
3.3 Imagerie portale EPID
3.3.1 Propriétés physiques
3.3.2 Acquisition
3.3.3 Caractéristiques
3.3.4 Réponse linéaire en dose absorbée de l’EPID
3.4 Dose absorbée de transit et de non transit
3.4.1 Approche directe
3.4.2 Approche indirecte
3.4.3 Approche par réseau de neurones artificiels
3.5 Détection d’erreurs à partir de l’EPID
3.6 Conclusion
4 Contrôle qualité avec les réseaux de neurones
4.1 Introduction
4.2 Matériels et méthodes
4.2.1 Étude des données
4.2.1.1 Le format standard DICOM
4.2.1.2 Radiothérapie conformationnelle
4.2.1.2.1 Machine Varian®
4.2.1.2.2 Machine Elekta®
4.2.1.3 Radiothérapie conformationnelle à modulation d’intensité
4.2.1.3.1 Machine Varian® pour différentes énergies
4.2.1.3.2 Machine Elekta®
4.2.1.4 VMAT
4.2.2 Prétraitement des données
4.2.3 Modèle et architecture de réseaux de neurones
4.2.3.1 Réseaux de neurones feed-forward
4.2.3.2 Réseaux de neurones convolutionnels
4.2.4 Utilisation du critère clinique gamma
4.2.5 Détection d’erreur machine
4.3 Résultats et discussions
4.3.1 Résultats obtenus à partir des réseaux de neurones classiques
4.3.1.1 Pour la radiothérapie conformationnelle avec un accélérateur Varian®
4.3.1.2 Pour la radiothérapie conformationnelle à modulation d’intensité avec un accélérateur Varian®
4.3.1.3 Pour la radiothérapie conformationnelle à modulation d’intensité avec une erreur de traitement simulée
4.3.1.4 Pour la radiothérapie conformationnelle à modulation d’intensité avec un accélérateur Varian® et une énergie de 25 MeV
4.3.1.5 RC Elekta®
4.3.1.6 Elekta® RCMI
4.3.2 Résultats obtenus à partir des CNNs
4.3.2.1 6 MeV
4.3.2.2 25 MeV
4.3.3 Analyse et validations des modèles
4.3.4 Comparaisons des deux types de modèles
4.4 Conclusion
5 Dosimétrie in-vivo à partir des distances radiologiques
Conclusion générale