SlideShare uma empresa Scribd logo
1 de 87
Baixar para ler offline
IPSSI Paris – Ecole d’informatique et du numérique
Année universitaire : 2021 – 2022
Mémoire
Les réseaux de neurones convolutifs pour la
classification des tumeurs cérébrales.
Réalisé par :
Juba AIT IDIR
Mémoire master 2, Expert en informatique et systèmes d’information.
Présenté le 08/08/2022 devant le jury composé de :
Tuteurs :
Frédéric Bouzy « école »
Guillaume Forestier « entreprise »
2
Remerciements
La réalisation de ce mémoire était grâce à plusieurs personnes à qui je voudrais
témoigner mes remerciements.
Je voudrais, tout d’abord, adresser mes remerciements et ma reconnaissance à ma
mère Fatiha Ouidir et ma sœur Sarah, qui ont toujours été là pour moi. Je ne
remercierais pas assez mon défunt père Zohair à qui je dédie ce travail.
Je présente mes remerciements et ma gratitude à Monsieur Guillaume Forestier,
pour son soutient et sa confiance.
Je remercie Monsieur Abed Ajraou qui m’a orienté et soutenu pour la réalisation
de ce mémoire.
Un grand merci à mon directeur de mémoire, Monsieur Frédéric Bouzy, et tous
les professeurs de l’école IPSSI pour leurs soutiens, leurs disponibilités et leurs
conseils.
Mes remerciements les plus sincères, à tous mes amis, mes proches et mes
collègues ayant contribués d’une manière ou d’une autre à la réussite de ce travail.
Merci ! Merci à toutes et à tous, infiniment.
3
Résumé
Les tumeurs cérébrales représentent une urgence lors du diagnostic et de traitement pour
les structures médicales. En France, bien des organisations développent des systèmes de
gestion de bases de données médicales, afin d’aider aux traitements intelligents appliqués de
plus en plus dans les entités de soins privées et publiques.
La base de données du premier écosystème d’intelligence artificielle pour l’imagerie
médicale baptisé au nom de DRIM France IA [1], est un exemple pour aider au diagnostic et
traitements des tumeurs cérébrales.
Cependant, les entités médicales spécialisées dans le diagnostic des tumeurs cérébrales
à l’aide de l’imagerie par résonance magnétique, sont en train de mettre en place des outils et
des applications pour la classification des cancers. Plus spécifiquement, pour les tumeurs du
système nerveux central. Par conséquent, l’intelligence artificielle permet de faire cette
classification par le biais de l’apprentissage automatique, d’autant plus par des algorithmes de
l’apprentissage profond ou Deep Learning.
L’objectif de cette étude est d’augmenter les performances des modèles de réseaux de
neurones convolutifs, un type de réseaux de neurones artificiels multicouche pour classifier les
images. En conséquence, la problématique posée est la suivante :
Quels sont les traitements d’images et les paramètres sensibles lors de la
l’implémentation des modèles avec les réseaux de neurones convolutifs, pour classifier des
images médicales IRM de tumeurs cérébrales ?
Tout d’abord, c’est primordial d’identifier une tumeur et son type et comprendre les
traitements appliqués sur la base de données d’images IRM pour le diagnostic. Ensuite à se
pencher sur le fonctionnement des réseaux de neurones convolutifs pour faire la classification
sur ces images.
Une tumeur cérébrale est un ensemble de cellules anormales du cerveau. En fait, les
tumeurs sont classées par leurs localisation et agressivité de deux manières différentes. Alors,
sont dites tumeurs bénignes ou malignes mais, en même temps primaires ou secondaires.
Cependant, pour diagnostiquer une tumeur, l’imagerie par résonance magnétique permet de
collecter des images du cerveau d’un patient en envoyant un champ magnétique. Une fois, ce
processus accompli on peut créer un modèle connexionniste appelé aussi réseau de neurone
convolutif.
4
L’approche suivis pour faire la classification des tumeurs cérébrales se repose, tout
d’abord, sur l’implémentation des modèles de réseaux de neurones à convolutions. Ensuite, les
entrainer sur une base de données d’images IRM, augmentée à l’aide d’un générateur de
l’apprentissage automatique. Finalement, prédire une liste d’images pour évaluer les
performances de ces modèles.
Pour créer un modèle de réseaux de neurones convolutifs (CNN), maitriser son
architecture et son paramétrage sont des bases fondamentales à ne pas négliger. Premièrement,
un réseau de neurones convolutifs est un descendant des réseaux de neurones artificiels (ANN).
Quant aux réseaux de neurones artificiels, ils sont inspirés des réseaux de neurones biologiques.
Les neurones d’un ANN sont répartis en une ou plusieurs couches, ainsi, il est dit réseau de
neurones profond s’il possède au moins deux couches.
Afin de connecter les couches du réseau séquentiellement, les paramètres comme des
poids et des biais définies lors de l’initialisation ; s’envoient par les neurones entre les
différentes couches successives. Pour calculer la valeur de chacune des connexions entre deux
neurones, le perceptron reste le pilier des réseaux artificiels de bout en bout.
Non seulement, les réseaux de neurones convolutifs adoptent le principe de transfert de
paramètres des réseaux de neurones profond, mais s’inspirent aussi du fonctionnement d’un
cortex visuel pour l’extraction des caractéristiques et des formes d’un champ visuel. Pour
illustrer de manière simple ce phénomène, les cellules simples font l’extraction des
caractéristiques et les couches complexes les formes et les courbures. Respectivement, les
couches simples et complexes sont définies comme des couches de convolutions et de pooling
d’un réseau de neurones convolutif.
Les couches essentielles d’un réseau convolutif sont donc, la couche d’entrée, les
couches de convolution, les couches de pooling et une couche de classification ou de sortie.
Quant aux restes des traitements, la couche d’entrée reçoit les images ou les données d’entrée
et la couche de sortie s’en occupe de la classification à partir des caractéristiques extraites.
Cependant, avant d’entrainer les réseaux, bien des paramètres sont à initialiser lors de la
déclaration de chacune des couches.
Premièrement, définir la taille des images d’entrées pour la couche d’entrée.
Deuxièmement, la taille du noyau d’image et le pas de son avancement pour extraire les
caractéristiques. Ensuite, la taille de la fenêtre de pooling et sa fonction d’activation pour
extraire les formes depuis les caractéristiques de la couche de convolution. Dernièrement, le
5
nombre de classes pour la couche de classification et sa fonction d’activation catégorielle. Cette
liste de paramètres n’est pas exhaustive mais capitale pour la construction d’un réseau de
neurones couche par couche.
Entrainer un réseau de neurone convolutif, revient à préparer une base de données
d’images IRM au préalable. De ce pas, je collecte un jeu de données déjà traité et nettoyé
contenant des images répertoriées plus au moins correctement. Malgré tout, je fais une analyse
exploratoire de ces données, pour m’assurer que les répertoires des différentes tumeurs sont
équivalents et les données sont bien des images de tumeurs correspondantes. Ensuite, je charge
et affiche ces images aléatoirement via la bibliothèque pandas, tout en appliquant le générateur
d’image pour avoir une base assez conséquente lors de l’entrainement du modèle. Il me reste
plus qu’à diviser la base de données, en jeu de données d’entrainement, de validation et de test.
Dès lors, j’implémente deux modèles de réseaux de neurones convolutifs. D’une part,
un modèle CNN couche par couche en suivant le processus étalé en haut pour paramétrer les
couches du modèle. D’autre part, un second modèle par transfert de connaissance du VGG16.
Cette méthode me permet de récupérer une architecture robuste pour l’extraction de
caractéristiques, car le modèle VGG16 est entrainé sur base de données massive (imageNet)
[2].
Après quoi, je compile les modèles, à la suite de la vérification du nombre de paramètres
entrainables pour chacun des deux. Puis, viens la partie de la configuration des fonctions de
rappel pour les époques d’entrainement (système de sauvegarde, conditions d’arrêt et réducteur
du taux d’apprentissage). Finalement, je lance l’entrainement de chaque modèle sur un certains
nombre de périodes en lui passant comme paramètres, le jeu de données d’entrainement, un jeu
de données pour la validation et les fonctions de rappel.
Les deux modèles finissent leurs entrainements. Par conséquent, j’évalue dans un
premier temps chacun des deux. Ensuite, je fais la prédiction sur le jeu de données de test et
j’affiche les rapports de classification, les matrices de confusion, ainsi que les courbes
d’apprentissage.
Les résultats montrent que le modèle CNN couche par couche atteint une meilleure
exactitude sur les données de test, par rapport au modèle VGG16 par transfert de connaissance.
Néanmoins, cela ne signifie pas que le premier est meilleur, car les critères de performance de
chacun des deux pour la classification d’un type de tumeur précise sont relatifs.
6
Somme toute, les deux techniques d’implémentation (CNN basique, transfert de
connaissance) peuvent aboutir selon les données collectées à des performances meilleures pour
classifier un type de tumeur particulier.
Abstract
A brain tumor presents a contingency diagnosis and treatment for medical facilities. In
France, many organizations are developing medical data management systems, to help
intelligent treatments applied increasingly within private and public health-care establishment.
The database of the first AI medical imaging ecosystem, DRIM France IA [1], is one
of the several projects to help diagnose and treat brain tumors.
However, medical entities specialized in the diagnosis of brain tumors through
magnetic resonance imaging, applies tools and applications to classify cancers, especially for
tumors of the central nervous system. Therefore, artificial intelligence makes it possible,
through machine learning and more particularly deep learning.
The aim of this study is to increase the performance of convolutional neural network
models, a type of deep neural network that processes images. The question, thus, is:
What are the image processing and sensitive parameters when implementing models
with convolutional neural networks, to classify medical MRI images of brain tumors?
First, it’s highly important to define the tumors and its type as well as understand the
treatments applied on the MRI image databases for diagnosis. Thus, to process convolutional
neural networks for classification of these images.
Brain tumors are a set of abnormal brain cells. In fact, brain tumors are classified by
their location and aggressiveness in two different ways. First, the tumor is benign or malignant,
second, primary or secondary. However, to diagnose a tumor, magnetic resonance imaging
allows radiologists to collect images of a patient’s brain by sending a magnetic field. Once this
process is complete, we can create a connectionist model known as convolutional neural
network
7
The approach taken to classify brain tumors is based on the implementation of
convolutional neural network models and then training them on an enhanced MRI image
database using a machine learning images generator.
Followed by a prediction of a list of images to evaluate the performance of these
models. To create a convolutional neural network (CNN) model, mastering its architecture and
configuration are fundamental bases that are not to be neglected. First, a convolutional neural
network is a descendant of artificial neural networks. An artificial neural network is an artificial
model inspired by the biological neural network. The neurons in the artificial neural network
are grouped into one or more layers, thus it is called a deep neural network if it has two or more
layers.
To connect the network layers sequentially, parameters such as weights and biases are
defined during initialization and are sent by the neurons of two succeeded layers. To calculate
the value of each connection between two neurons, the perceptron remains the backbone of
artificial networks from end to end.
Not only, does CNN adopt the propagation parameters from deep neural networks, but
it also bases itself of the functioning of a visual cortex to extract the characteristics and shapes
of vison field. A simple way to illustrate this: simple cells extract characteristics, and the
complex layers shapes and bends. Respectively, simple, and complex layers are defined as
convolution and pooling layers of the convolutional neural network.
Hence, convolutional neural network layers are the input layer, the convolution layers,
the pooling layers and a classification or output layer. For the other processing, the input layer
receives the images or input data, and the output layer classifies from the extracted
characteristics. However, before training the networks, many parameters must be initialized
when declaring each layer. Meaning, first the input size of images for the input layer. Second
the kernel size of the image and his stride to extract the characteristics, then, the size of
pooling’s window and its activation functions to extract the bends from the characteristics of
the convolution layer. Finally, the number of classes for the output layer and its categorical
activation function. This list of parameters is not exhaustive but crucial to build a convolutional
neural network layer by layer.
Before training models, it is crucial to prepare a database of MRI images. Currently, I
am collecting an image dataset that is already somewhat processed and cleaned correctly.
Nevertheless, I conduct exploratory analysis of the data to ensure that the directories are
8
equivalent, and overall, the data contains images of corresponding tumors. Then, I load and
display these images randomly via the panda library, while applying data augmentation to have
a database set for the training. Then, all I am left to do, is to split the database into a training
and testing data set.
From then on, I implement two models of convolutive neural networks. On the one
hand, a CNN model layer by layer following the process spread out at the top to configure the
layers of the model. On the other hand, a second model by knowledge transfer of the VGG16.
This method allows me to recover a robust architecture for the extraction of characteristics,
because the VGG16 model is driven on massive database (imageNet) [2].
After that, I compile the models, following the verification of the number of trainable
parameters for each one. Then comes the part of the configuration of recall functions for
training periods (backup system, shutdown conditions and reduction of learning time). Finally,
I launch the training of each model over a certain number of periods by passing its parameters
as: the training data set, a data set for validation and recall functions.
Both models finish their training. Afterwards, I evaluate each of the two. Subsequently,
I make the prediction on the test data set, then I post right after the classification reports, the
confusion matrices, as well as the learning curves.
The results show that the CNN layer-by-layer model achieves better accuracy on the
test data compared to the VGG16 model by knowledge transfer. However, this does not mean
that the former is better, as the performance criteria of each of the two for the classification of
a specific type of tumor are relative.
All in all, the two implementation techniques (basic CNN, knowledge transfer) can lead
according to the collected data to better performances to classify a particular type of tumor.
9
Sommaire
Remerciements...................................................................................................................................................2
Résumé................................................................................................................................................................3
Abstract ..............................................................................................................................................................6
Liste des figures ...............................................................................................................................................11
Liste des tableaux.............................................................................................................................................12
Liste des abréviations.......................................................................................................................................13
Introduction......................................................................................................................................................14
I Chapitre I : Les tumeurs cérébrales et aide au diagnostic .....................................................................16
I.1 Les tumeurs cérébrales........................................................................................................................16
I.1.1 Les types des tumeurs cérébrales................................................................................................16
I.2 Le diagnostic et les symptômes...........................................................................................................18
I.3 L’imagerie à résonance magnétique....................................................................................................19
I.3.1 Le processus d’une IRM.............................................................................................................19
I.3.2 L’IRM pour le diagnostic...........................................................................................................20
I.4 Le traitement des images médicales....................................................................................................21
I.4.1 Traitements classiques................................................................................................................21
I.4.2 Traitements intelligents ..............................................................................................................22
II Chapitre II : L’apprentissage profond.....................................................................................................23
II.1 Les réseaux de neurones biologiques ..................................................................................................23
II.1.1 Le neurone biologique................................................................................................................23
II.1.2 Le réseau de neurones biologiques.............................................................................................24
II.1.3 Du réseau de neurones biologiques vers le réseau de neurones artificiels..................................24
II.2 Les réseaux de neurones artificiels......................................................................................................25
II.2.1 Architecture................................................................................................................................25
II.2.2 Le perceptron..............................................................................................................................26
II.2.3 Les réseaux de neurones multicouche feed-forward...................................................................27
II.3 Les réseaux de neurones convolutifs (CNN).......................................................................................36
II.3.1 Architecture d’un CNN ..............................................................................................................38
II.4 L’apprentissage automatique ou le Machine Learning........................................................................47
II.4.1 L’apprentissage supervisé ..........................................................................................................48
II.4.2 L’apprentissage non supervisé et semi-supervisé.......................................................................53
II.4.3 Amélioration des performances..................................................................................................54
III Chapitre III : Implémentation des modèles et résultats .........................................................................58
III.1 L’environnement.................................................................................................................................58
III.1.1 Préparation de l’environnement..................................................................................................59
III.1.2 Installation et importation des bibliothèques..............................................................................59
III.2 Analyse exploratoire des données.......................................................................................................61
III.2.1 La base de données.....................................................................................................................61
III.2.2 Préparation des données .............................................................................................................63
III.3 Instanciation des modèles ...................................................................................................................66
10
III.3.1 Le modèle CNN couche par couche...........................................................................................66
III.3.2 Transfert de connaissances (Transfert Learning)........................................................................68
III.4 Entrainements......................................................................................................................................69
III.4.1 Compilation et fonctions de rappel.............................................................................................69
III.4.2 Entrainement des modèles..........................................................................................................70
III.5 Evaluation des performances ..............................................................................................................72
III.5.1 Evaluation du modèle CNN........................................................................................................73
III.5.2 Evaluation du modèle vgg16 par transfert de connaissances......................................................73
III.6 Prédictions et résultats.........................................................................................................................73
III.6.1 Le modèle CNN couche par couche...........................................................................................74
III.6.2 Le modèle VGG16 par transfert de connaissances.....................................................................75
III.7 Comparaisons des modèles .................................................................................................................77
III.8 Conclusion ............................................................................................................................................78
Conclusion générale.........................................................................................................................................79
Annexes............................................................................................................................................................82
11
Liste des figures
Figure II.1: Schéma simplifié du neurone biologique ............................................................23
Figure II.2 : Graphe d’un réseau de neurones artificiels..........................................................25
Figure II.3 : Le perceptron simple (single-layer).....................................................................26
Figure II.4 : Le perceptron multicouche (PMC)......................................................................27
Figure II.5 : La fonction linéaire..............................................................................................30
Figure II.6 : La fonction positive (Relu)..................................................................................31
Figure II.7 : La fonction sigmoïde...........................................................................................31
Figure II.8 : La fonction tangente hyperbolique (tanh)............................................................32
Figure II.9 : Schéma du bloc de propagation...........................................................................35
Figure II.10 : Schéma de coupe sagittale(A) et radiale(B) de la rétine...................................37
Figure II.11 : Architecture générale d'un réseau de neurones convolutif (ConvNet) ..............38
Figure II.12 : Schéma de la représentation matricielle d'une image........................................39
Figure II.13 : Convolution sur une matrice à deux dimensions...............................................41
Figure II.14 : Schéma de convolution et activation matrice 3 canaux.....................................43
Figure II.15 : Schéma de pooling (MaxPooling) .....................................................................44
Figure II.16 : Schéma simplifié du processus machine learning. ............................................48
Figure III.1 : montage du contenu drive ..................................................................................59
Figure III.2 : Authentification au drive....................................................................................59
Figure III.3 : Importation des bibliothèques ............................................................................60
Figure III.4 : Arborescence du jeu de donnée (Brain Tumour MRI DataSet) .........................61
Figure III.5 : Chargement des données d'entrainement ...........................................................62
Figure III.6 : Chargement des données d'entrainement (DataFrame)......................................62
Figure III.7 : Statistique de chargement des données (tqdm) ..................................................63
Figure III.8 : Image par classe (affichage aléatoire)................................................................63
Figure III.9 : Affichage du DataFrame (chemins et étiquettes)...............................................64
Figure III.10 : Nombre d’images des jeux de données d'entrainement et de test ....................64
Figure III.11 : Générateur d'images (ImageDataGénérator)....................................................65
Figure III.12 : Le générateur d'images pour le jeu de données d'entrainement .......................66
Figure III.13 : Importation de bibliothèque pour l'instanciation du modèle............................66
Figure III.14 : Code pour implémentation du modèle CNN couche par couche .....................67
Figure III.15 : Nombre de paramètre du modèle CNN............................................................68
Figure III.16 : Importation de l'application VGG16................................................................68
Figure III.17 : Code du modèle VGG16 par transfert de connaissances .................................68
Figure III.18 : Nombre de paramètres pour le modèle VGG16(transfert de connaissances) ..69
Figure III.19 : Code de compilation.........................................................................................69
Figure III.20 : Les fonctions de rappel pour la phase d'entrainement......................................70
Figure III.21 : Lancement de l'entrainement du modèle CNN ................................................70
Figure III.22 : Fin d'entrainement du modèle CNN.................................................................71
Figure III.23 : Courbes de l’historique d’entrainement (CNN couche par couche) ................71
Figure III.24 : Lancement de l'entrainement du modèle vgg16 (transfert de connaissance) ...71
Figure III.25 : Fin d'entrainement du modèle vgg16 (Transfert de connaissances) ................72
12
Figure III.26 : Historique d’entrainement (VGG16 par transfert de connaissances)...............72
Figure III.27 : Evaluation du modèle (CNN couche par chouche)..........................................73
Figure III.28 : Evaluation du modèle (VGG16 par trasfert de connaissances)........................73
Figure III.29 : Rapport de classification (CNN couche par couhe) .........................................74
Figure III.30 : Matrice de confusion (CNN couche par couche) .............................................75
Figure III.31 : Rapport de classification (VGG16 transfert de connaissance).........................75
Figure III.32 : Matrice de confusion (VGG16 transfert de connaissances).............................76
Liste des tableaux
Tableau II.1 Notations pour le perceptron multicouche ..........................................................28
Tableau II.2 Tableau des équations de la propagation en avant (forward-propagation) .........34
Tableau II.3 Tableau des équations de la rétropropagation .....................................................35
Tableau II.4 La matrice de confusion ......................................................................................50
13
Liste des abréviations
IA : Intelligence Artificielle.
Big Data : les données massives.
Deep Learning : apprentissage profond.
Machine Learning : apprentissage automatique.
Big Data : les données massives.
IRM : Imagerie par Résonance Magnétique.
TDM : Tomodensitométrie.
Tesla : unité de mesure du champ magnétique.
ANN: Artificial Neural Network.
DNN: Deep Neural Network.
CNN : Convolutional Neural Network (réseau de neurones convolutifs).
PMC : Perceptron Multicouche.
MLP : Multi-Layer Perceptron.
Relu : Rectified linear unit.
Fully connected: complètement connecté.
CEA : Commissariat à l’Energie Atomique et aux Energies Alternatives.
INRIA : Institut National de Recherche en Informatique et en Automatique.
IMAGES : groupe de recherche ( Image, Modélisation, Analyse, Géométrie, Synthèse)
RGB: Red, Green, Blue.
Padding: bordure.
Stride : un pas d’avancement.
Kernel : noyau.
SGD: Stochastic Gradient Descent.
MAE: Mean Absolute Error.
MSE: Mean Square Error.
RMSE: Root Mean Square Error.
CPU : Central Processing Unit.
GPU : Graphics Processing Units.
Epoch : époque ou période.
DataSet : jeu de données.
Framework : une infrastructure logicielle.
Transfert learning : transfert de connaissance
14
Introduction
En France, près de 5900 nouvelles personnes atteintes de cancer du système nerveux
central ont été diagnostiquées en 2018, selon l’institut national de recherche contre le cancer.
De plus, chaque année, les diagnostics confirment près de 6000 patients atteints de tumeurs
malignes du cerveau selon France Brain Institute.
L’automatisation de la classification des tumeurs cérébrales est une technique adoptée
par les structures médicales, pour faciliter le diagnostic. En effet, les modèles de
l’apprentissage automatique, particulièrement les réseaux de neurones convolutifs sont
fortement utilisés. Il est ainsi pertinent de s’intéresser à l’amélioration des performances de ces
modèles.
À la suite du décès de mon père atteint d’une tumeur de cerveau de type Glioblastome
de grade IV et dans le cadre d’obtention d’un premier certificat en apprentissage profond et
réseaux de neurones, ensuite un deuxième certificat pour le diagnostic médical ; je découvre la
classification des images issues de l’imagerie par résonnance magnétique (IRM).
Le soutient et l’encouragement de mon directeur de mémoire M. Bouzy et son
orientation ont suscité en moi un intérêt face à la conjoncture actuelle en France, au tour de
l’automatisation des diagnostics des tumeurs cérébrales.
Les tumeurs de cerveau ne sont pas détectées assez facilement. Car, elles n’ont pas de
symptômes spécifiques et les examens cliniques préliminaires ne suffisent pas pour conclure.
De plus, il existe beaucoup de types de tumeurs cérébrales. C’est pourquoi il est très difficile
de classifier à l’œil nu l’image d’un scanner (TDM) ou d’imagerie à résonnance magnétique
(IRM). Ces tumeurs peuvent appartenir à la fois à deux catégories, selon 3 critères :
l’agressivité, le type et la la localisation. Il en résulte, qu’une tumeur cérébrale est
(primaire/secondaire) et (bénigne/maligne).
Par conséquent, pour déterminer le type de la tumeur, les médecins font recours à
l’extraction des tissus de cerveau (biopsie) en opérant le patient. Cette procédure provoque une
accélération de la tumeur dans certains cas et demande beaucoup de temps et d’énergie afin
d’aboutir à des résultats. C’est tout justement l’intérêt de faire appel à des techniques de
diagnostic automatique basées tout simplement sur l’imagerie médical et les avis des médecins.
15
Les techniques classiques pour la classification des tumeurs cérébrales, demandent
beaucoup de temps. En effet, la divergence des résultats d’un expert à un autre, rend la prise
de décision pour le diagnostic et le traitement des taches fastidieuses.
Cependant, l’intelligence artificielle apporte son soutient pour accomplir cette tâche à
l’aide des modèles d’apprentissage automatique, plus particulièrement avec les réseaux de
neurones convolutifs.
Pour traiter ce sujet, j’ai établi un plan de recherche et d’expérimentation des réseaux
de neurones convolutifs pour mieux comprendre leurs fonctionnements.
Nous voudrions plus précisément, trouver les bons traitements des images IRM et les
paramètres sensibles pour améliorer les performances des réseaux de neurones convolutifs.
Afin d’implémenter des modèles CNN pour la classification ces tumeurs à l’aide des
images IRM, j’ai consacré le premier chapitre pour introduire les tumeurs cérébrales, leurs
types, les traitements classiques et intelligents d’images pour le diagnostic. Ensuite, un second
chapitre pour les réseaux de neurones artificiels et les réseaux de neurones à convolutions, puis
quelques éléments définitionnels de l’apprentissage automatique.
Finalement dans le chapitre 3, une première partie pour les traitements d’exploration et
d’analyse de données. Ensuite, une seconde partie pour comparer les résultats obtenus par des
modèles des réseaux de neurones convolutifs. D’une part, un modèle créé couche par couche.
D’autre part, un modèle créé par la technique de transfert de connaissances. L’objectif de cette
comparaison, est de construire des architectures robustes pour atteindre de bonnes
performances pour classifier les tumeurs de cerveau.
16
I Chapitre I : Les tumeurs cérébrales et aide au diagnostic
Introduction
Une tumeur cérébrale est une masse de cellules anormales qui se multiplient dans le
cerveau de façon incontrôlée. Elles reprennent généralement le nom de cellules affectées ou
identifiées comme origine du développement de la tumeur. Comme cela, les gliomes se
développent à partir de cellules gliales (nourrissent et soutiennent les neurones) et les
méningiomes à partir des méninges (enveloppes du cerveau) [3].
En effet, la tumeur de cerveau entraine des troubles différents selon la zone dans
laquelle elle se développe chez le patient, puisque le cerveau est réparti en plusieurs zones pour
la gestion des différentes activités (le langage, la mémoire, la circulation du sang, l’équilibre
…etc.).
Les tumeurs du cerveau constituent une urgence diagnostique et thérapeutique. Chaque
année en France, près de 6000 personnes sont diagnostiquées avec des tumeurs primaires du
cerveau : ce qui fait environ 2% de la totalité des cancers. De plus, 20% du nombre totale de
personnes atteintes par ces tumeurs sont des enfants [4].
I.1 Les tumeurs cérébrales
I.1.1 Les types des tumeurs cérébrales
Les tumeurs cérébrales sont classées selon trois critères [5]:
• La localisation
• Le type
• Le degré d’agressivité
I.1.1.1 Classement par type et agressivité
Les tumeurs cérébrales sont réparties en deux types principaux selon leur nature
cancéreuse ou non [6]:
17
1. Les tumeurs cancéreuses dites malignes : difficiles à extraire par intervention
chirurgicale, sans endommager les parties ou les tissus voisins. En plus de cette
difficulté s’ajoute celle de les distinguer par des cellules qui se divisent et se croisent
assez vite par rapport aux tumeurs de cerveau bénignes. Aussi, elles nécessitent un suivi
régulier et des traitements épuisants pour le patient comme la radiothérapie et la
chimiothérapie.
2. Les tumeurs non cancéreuses dites bénignes : peu agressives et se distinguent par
une facilité d’extraction lors d’une chirurgie, car leurs cellules ne se mélangent pas aux
tissus avoisinants et évoluent lentement. Dans le cas ou l’extraction partielle ou
complète de la tumeur est réussie, le patient nécessiterait selon le cas un suivi
radiologique s’il y a besoin. Toutefois, elles sont difficiles d’extraction au dépend de
leurs localisations dans le cerveau du patient.
I.1.1.2 Classement par localisation et agressivité :
Aussi, ces tumeurs sont classées primaires ou secondaires selon leur origine local ou
externe au cerveau [6] :
1. Les tumeurs primaires : Elles peuvent bénignes ou malignes ont pour origine des
cellules anormales du cerveau. En effet, elles sont nommées par rapport à leurs cellules
d’origines. De ce fait, les tumeurs malignes comme les gliales ou les gliomes sont
primaires. Elles ont pour origine les cellules gliales et représentent près de 60% de la
totalité des tumeurs cérébrales. Par ailleurs, les tumeurs dites primaires peuvent être
bénignes (les méningiomes, les ostéomes …etc.) mais restent très rares.
2. Les tumeurs secondaires : Leurs provenances sont extérieures au cerveau, pour ainsi
dire, l’origine de la tumeur ne peut définir à elle seule la dangerosité de la tumeur. Car
les tumeurs secondaires dites aussi métastases sont issues des cancers (sein, poumon,
colon, rein …etc.) extérieurs au cerveau. Par conséquent, ces tumeurs migrent vers le
cerveau à travers le sang du patient.
i. Les gliomes
Le gliome reste le type de tumeur de cerveau la plus sévère, reconnu pour son
agressivité et dit inguérissable ou à durée de vie très limitée. La durée de survie d’un patient
atteint de gliome peut aller dans le meilleur des cas jusqu’à 7 ans grâce à l’avancement des
18
traitements biomédicaux et technologiques en l’occurrence l’intelligence artificielle. En
revanche, la durée de survie d’un patient atteint d’un glioblastome plus particulièrement le
grade IV est en moyenne de 2 ans.
Les tumeurs de type gliome sont gradées de I à IV, où le grade exprime l’agressivité de
la tumeur. De même, les gliomes sont encore répartis en deux catégories : les LGG pour les
gliomes de bas grade et HGG pour les gliomes de haut grade incluant le glioblastome [7].
I.2 Le diagnostic et les symptômes
Les symptômes ne sont pas spécifiques pour identifier une tumeur cérébrale. En fait,
plusieurs examens médicaux sont à faire afin de poser un diagnostic.
Les symptômes comme les maux de tête, les troubles de la mémoire, de l’élocution et
de la vision sont les premiers symptômes qu’un patient présente lorsqu’il est atteint d’une
tumeur cérébrale. En revanche, ces symptômes ne sont pas spécifiques à des tumeurs
cérébrales. Ainsi, avant d’entamer la phase de diagnostic, le médecin procède dans un premier
temps par des examens cliniques.
Tout d’abord, le médecin commence à faire une première étude en interrogant le patient
à propos de ses antécédents médicaux et de son passé, puis faire le lien avec son dossier
médical. Puis pour mieux approfondir, il lui passe des examens cliniques pour connaitre et
évaluer ses capacités physiologiques et intellectuelles. Pour cela, il évalue ses fonctions et sens
comme l’ouïe, la vision, le toucher et d’autres fonctions plus spécifiques affectées par les
symptômes afin de compléter un premier rapport [8] .
Toutefois, le doute n’est toujours pas écarté en passant cette étape et le patient est amené
à suivre la phase de diagnostic pour les tumeurs cérébrales. Dans cette phase d’examen,
plusieurs techniques sont pratiquées pour identifier la tumeur ou écarter la probabilité que le
patient soit atteint.
Il existe plusieurs tests médicaux parmi lesquels j’en dénombre l’imagerie médical, la
ponction lombaire, la biopsie. En outre, ce qui distingue l’imagerie médicale c’est son
processus simple pour le diagnostic contrairement à la biopsie par exemple, qui consiste à
prélever un tissu d’une zone tumorale à la suite d’une chirurgie lourde.
19
En bref, l’imagerie médicale permet de confirmer l’existence d’une tumeur ou non et
dans le meilleur cas localiser la tumeur et sa taille.
Les deux axes majeurs de l’imagerie médicale sont [9] :
• Le scanner (tomodensitométrie ou TDM) : Cette technique consiste à envoyer des
rayons X pour obtenir des images d’un ou plusieurs organes du corps du patient, en
l’occurrence de la partie du corps concernée. En effet, elle est utilisée pour le cerveau
afin d’identifier les différentes structures en injectant un produit dit de contraste et iodé
pour détecter des anomalies.
• L’imagerie par résonnance magnétique (IRM) : De plus en plus utilisées, cette
technique donne plus de précision sur la tumeur (la localisation et la taille). Elle donne
aussi une extension vers d’autres structure du système nerveux central et recueillir des
données pour faciliter les traitements ultérieurs. Par conséquent, l’IRM est une
technique qui tend aisément utilisable mais doit être complétée par le scanner pour des
raison pratiques.
I.3 L’imagerie à résonance magnétique
I.3.1 Le processus d’une IRM
L’IRM ou l’imagerie par résonance magnétique est un processus pour produire des
images précises des tissus et des organes du patient, à l’aide d’un puissant champ magnétique.
Les ondes radio ou les radiofréquences envoyées par faveur des aimants sont donc captées par
des atomes d’hydrogènes. Alors, la partie du corps soumise à la résonance magnétique produit
une énergie transmise à la machine, pour qu’elle puisse la traduire en images médicales [10].
Avant de soumettre le patient à l’IRM, bien des règles sont à respecter par le patient
pour le bon déroulement de cet examen.
Tout d’abord, le patient doit obligatoirement signer un formulaire pour informer de
toute présence d’implant comme les prothèses, les valves cardiaques et stimulateurs. Il est aussi
à mentionner la présence de tatouages ou de plombages, afin de ne pas occasionner la distorsion
des images. Également, le formulaire doit comprendre l’ensemble des allergies et des
chirurgies datant de moins de 3 mois. Toutefois, des implants tels que les plaques, les vissent
et les tiges datant de plus de 4 semaines ne posent pas de problèmes lors de l’examen. De
20
même, prendre des médicaments, manger et boire n’affecte en rien sauf dans le cas d’une IRM
abdominale.
Ensuite, le technologue ou le radiologue doit s’assurer que le patient a les capacités
physiques et mentales et du fait qu’il soit détendu, avant de l’allonger sur une table amovible
dédiée à l’examen. En même temps, le radiologue prépare l’appareil et installe une antenne
radio près ou sur la tête du patient en lui remettant des bouchons d’oreilles pour limiter
l’atténuation des bruits ambiants.
Finalement, le radiologue fait entrer le patient dans le tunnel pour commencer l’examen.
Il commence par faire un teste de communication par un micro placé à l’intérieur l’appareil,
car la durée de l’examen est considérable et estimée de 30 à 70 minutes. Si le test est bon, il
commence l’examen en envoyant les ondes magnétiques. Aussi, il doit demeurer en
communication avec le patient, le temps de la récolte des images pour s’assurer de l’aisance du
patient.
I.3.2 L’IRM pour le diagnostic
Les images médicales 2D ou 3D issues de l’imagerie par résonance magnétique forment
une partie importante du rapport du patient, que les médecins et les pathologistes analysent
pour faire le diagnostic. Cette phase importante du diagnostique des tumeurs, offre aux
spécialistes un premier aperçu des différents tissus du cerveau. Ainsi, ils peuvent détecter les
lésions, leurs localisations et leurs volumes. Ces critères semblent être un point parmi tant
d’autres d’un processus fastidieux pour les spécialistes, dans le but de décider sur la nature et
l’origine de la tumeur et de son agressivité.
L’IRM est utilisée depuis son émergence en 1970 pour révéler les détails anatomiques
des tissus mous du cerveau. Elle demeure une des techniques standards de la caractérisation
des tumeurs de cerveau.
Bien que les modalités basiques de l’IRM soient fortement utilisées entre 1970 et 1990,
les résultats restent non satisfaisants et les informations cliniques non exhaustives au vu de la
variété des tumeurs cérébrales. Cependant, les chercheurs déploient des efforts titanesques au
sein du CEA pour faire aboutir un champ magnétique de plus grande puissance. Ainsi,
l’avènement des aimants supraconducteurs produisant des champs magnétiques de gros volume
21
et la venue de l’âge du numérique (IA et Big Data), ont bouleversé le domaine de l’imagerie
médicale [11].
Premièrement, l’apparition de l’IRM fonctionnel, en 1990, d’un champ magnétique de
3 teslas mis en place pour étudier un cerveau malade ou saint fut un premier record.
Ensuite, d’autres victoires entre 2000 et 2010 comme le projet Iseult et ses 11,7 teslas
pour étudier des milliers des neurones dans le cerveau pour comprendre son fonctionnement.
Entre temps, la naissance du centre de recherche en imagerie cérébrale « NeuroSpin » en 2007,
qui a accueilli « INRIA » ; ce qui a conduit à la naissance de la librairie open-source de
l’apprentissage automatique « Sckit-learn ».
Finalement, l’irruption du Big data et de l’intelligence artificielle ont permit de mettre
en œuvre des systèmes de diagnostic plus efficaces. D’une part, le Big Data avec son
architecture de stockage et son système de calcul distribué facilite l’assemblement de gros
volume de données. D’autre part, les techniques de l’intelligence artificielle permettent de
construire des modèles de traitement automatiques et fiables pour les processus mis en place
en radiologie.
I.4 Le traitement des images médicales
Le traitement des images a traversé deux époques totalement distinctes d’après les
spécialistes. « Dans les années soixante, on a assisté à un fabuleux essor de la radiologie, en
particulier des radiographies pulmonaires. À cette époque, en France, quelque 40 millions de
radiographies étaient prises par an. » Autant d’images qu’il fallait ensuite analyser pour
détecter des tumeurs, selon Henri Maître, professeur émérite du groupe IMAGES [12].
Bien avant l’apparition des méthodes de vision par ordinateur, le traitement des images
était fait de façon expérimentale pendant de longues année en s’appuyant sur des méthodes
classiques.
I.4.1 Traitements classiques
Le véritable essor de traitement des images était réalisé en 1980, lors de la formalisation
de la détection de contour par David Marr [13]. Cette théorie est l’ancêtre de traitements
classiques, en l’occurrence la segmentation répartie en deux approches [14] :
22
a) L’approche contour : consiste à regarder les points forts dans une image, à
savoir le gradient. Dans le cas pratique, les régions détectées sont le résultat
d’une discontinuité dans l’image. Ainsi, les bords de chacune des régions
forment un contour.
b) L’approche région : consiste initialement à regrouper un ensemble de pixels
selon une certain distance, pour finalement les grouper en un ensemble dit
« région ». Ensuite, la réunion de groupe de régions si cela améliore la
segmentation.
Ces approches ont donné naissance aux premiers algorithmes de traitements d’image
de manière classique, et sont automatisées à l’air de l’intelligence artificiel.
I.4.2 Traitements intelligents
Outre l’intérêt général porté par le domaine de la médecine dans la vie quotidienne, il
a toujours fait l’objet d’intérêt de la communauté scientifique, en l’occurrence, un terrain de
de recherche bien ouvert au domaine de l’intelligence artificielle [15].
La croissance des volumes, la complexité, et la variété des données de la santé font de
ce domaine un sujet d’étude infini. Afin de minimiser la complexité et venir en aide, l’IA
s’appuie sur ces données théoriques et des modèles mathématiques pour produire des
informations exploitables.
L’intelligence artificielle se porte sur des modèles diversifiés de traitement pour
apporter des solutions concrètes. Au même titre, elle nous permet en tant que scientifiques,
chercheurs et contributeurs, de modéliser des problématiques dans le domaine de la médecine
plus spécifiquement. Parmi tant d’autres problématiques, le traitement des images pour le
diagnostic des tumeurs de cerveau, tout en utilisant des modèles algorithmiques afin d’obtenir
les meilleurs résultats.
Le besoin d’obtenir des résultats pertinents n’est pas toujours satisfait, et les tâches
deviennent répétitives et nécessitent plus de ressources mentales que le médecin ne peut
satisfaire par exemple. En effet, l’intelligence artificielle fournis les outils et les technologies
très variées et assiste l’être humain pour mieux aboutir aux résultats attendus.
De la sorte, des modèles de l’apprentissage profond (Deep Learning) et l’apprentissage
automatique (Machine Learning) sont introduits pour apporter des solutions dans le diagnostic
des maladies rares, en l’occurrence les tumeurs cérébrales.
23
II Chapitre II : L’apprentissage profond
Introduction
L’apprentissage profond est un sous-domaine de l’apprentissage automatique. En effet,
les algorithmes de l’apprentissage profond son principalement une adaptation des réseaux de
neurones biologiques.
II.1Les réseaux de neurones biologiques
II.1.1 Le neurone biologique
Le neurone biologique est une cellule vivante d’un être animal. Cette cellule peut
prendre différentes formes (pyramidale, étoilée ou sphérique) définie par une membrane qui
sépare l’intérieur du neurone de son extérieur.
Une représentation simplifiée du neurone biologique est présentée dans le schéma de la
figure II.1 [16].
En effet, un neurone biologique est composé de :
• Soma : appelé aussi péricaryon, qui représente le corps du neurone.
• Dendrites (les afférences) : est la structure d’entrée du neurone permettant de
récupérer les signaux transmis par d’autres neurones.
• Axone (l’efférence) : la structure de sortie du neurone, définie comme le
prolongement unique pour diffuser le signal vers d’autres cellules.
- Synapses : sont les connexions ou les points de jonction entre l’axone du neurone
émetteur et les dendrites du neurone récepteur. En d’autres termes, les synapses
forment les connexions entre différents neurones.
Figure II.1: Schéma simplifié du neurone biologique
24
Pour résumer, un neurone biologique est une cellule vivante du système nerveux. Cette
dernière est composée de deux axes de prolongement (un axone, des dendrites) et des synapses
de connexion.
II.1.2 Le réseau de neurones biologiques
Le réseau de neurones biologique est un ensemble de cellules nerveuses
interconnectées, par la transmission de signaux chimiques et électriques.
Le cerveau humain est un exemple concret de réseau de neurones biologique, ayant en
moyenne 86 milliards de neurones, d'après Suzanna Herculano-Houzel (chercheuse à
l’université fédérale de Rio de Janeiro). De plus, les réseaux de neurones biologiques sont
formés à la suite des connexions synaptiques établies par un neurone avec d’autres milliers de
neurones (entre 1000 et 10000 synapses), ce qui fait près de 10 000 milliards de synapses dans
un 1 𝑐𝑚3
du cerveau d’un être humain [17].
Par ailleurs, autre que les cellules nerveuses (neurones), le système nerveux est
composé aussi de cellules gliales. Elles assurent la structuration du cerveau, en soutenant le
réseau de neurones, en éliminant tous les rejets pour nettoyer les neurones. De plus, les cellules
gliales entourent les axones des neurones afin d’accélérer la conduction de signaux, émient à
d’autres neurones pas les synapses.
Cependant, le principe fondamental de système connexionniste de l’être humain est une
cognition qui relève de l’interaction du système nerveux grâce à des couches de neurones
périphériques, avec son environnement. Par conséquent, les systèmes nerveux biologiques
moins précablés comme le cerveau de l’être humain, s’adaptent lentement à leur environnement
contrairement aux systèmes précablés génétiquement. Par exemple, les mammifères ont la
capacité de marcher, reconnaître, fuir dès leurs naissances contrairement à un nouveau-né
humain [18].
Somme toute, malgré cette simplification de la présentation des réseaux de neurones
biologiques pour mieux les appréhender, nous pouvons d’or et déjà nous persuader de la
difficulté d’interpréter le principe connexionniste et sa complexité dimensionnelle.
II.1.3 Du réseau de neurones biologiques vers le réseau de neurones artificiels
Le psychologue américain Franck Rosenblatt, s’est inspiré des études de recherches
faites en neurosciences et psychologie pour proposer un modèle mathématique qui copie le
comportement du neurone biologique.
25
Pour cela, il reprend l’idée du neurone artificiel proposée en 1943, par les deux
cybernéticiens et neuroscientifiques américains Maren McCulloch et Walter Pitts. Leur
présentation est de calculer la somme pondérée des activités du neurone. Si cette somme est
inférieure à un certain seuil défini, le neurone reste inactif. Dans le cas contraire, le neurone
produit une sortie, qui sera ensuite transmise aux neurones de connexion [19].
En outre, Franck Rosenblatt ajoute une nouvelle technique permettant à la machine de
mieux apprendre, en modifiant les poids issus des résultats de calcule de la somme pondérée
pour chaque neurone. En conséquence, il s’inspire des connexions synaptiques du neurone
biologique pour inventer en 1957, le perceptron simple, un ancêtre des machine apprenantes.
II.2Les réseaux de neurones artificiels
La conception des réseaux de neurones artificiels (ANN) ou formels est inspirée des
réseaux de neurones biologiques. Ainsi, un ANN est défini comme modèle connexionniste pour
les machines apprenantes avec une adaptation rudimentaire des traitements synaptiques.
II.2.1 Architecture
La structure des réseaux de neurones artificiels est décrite par un graphe orienté, dont
les nœuds sont les noyaux des neurones et les arcs leurs connexions [20].
La figure II.2 montre un graphe d’un réseau de neurones artificiels de 7 neurones.
Figure II.2 : Graphe d’un réseau de neurones artificiels
Une couche d’un ANN est composée d’un ensemble de nœuds. Pour chaque couche,
les sorties de la couche N-1 deviennent les entrées de la couche N. Exceptionnellement, la
couche d’entrées reçoit les valeurs de données de l’objet du traitement.
U
U
U
U
U
U
U
𝑒1
𝑒2
𝑒3
𝑒4
S
26
Le schéma de la Figure II.2 ci-dessus montre une modélisation d’un réseau de neurone
artificiel avec les entrées (e1, e2, e3, e4), l’ensemble des connexions (les arcs du graphe), les
nœuds intermédiaires du réseau et la sortie « S ».
Les couches d’un réseau de neurones artificiels sont :
• Une couche d’entrées (Input layer)
• Des couches cachées (Hidden layers)
• Une couche de sorties (Output layer)
Cependant, un réseau de neurones artificiels est appelé réseau de neurones profond
(DNN) s’il possède au moins 2 couches cachées.
II.2.2 Le perceptron
Le perceptron est un modèle linéaire de classification binaire, avec des connexions entre
les entrées et la sortie. Cependant, le résultat de la somme pondérée de la multiplication de
chacune des entrées 𝑥𝑖 par les poids 𝑤𝑖 correspondante est classée 0 ou 1 par une fonction
d’activation. Le neurone artificiel introduit par McCulloch et Pitts est définie comme un
modèle simplifié du perceptron. En d’autres termes, c’est un perceptron monocouche (single-
layer) d’une fonction à échelon de seuil θ, pour calculer le résultat de la classification binaire
[16].
Figure II.3 : Le perceptron simple (single-layer)
Le schéma de la figureII.3 représente le perceptron monocouche (single-layer) issu du
modèle formel de McColluch et Pitts. En fait, le neurone reçoit en entrée X (x1, x2, x3, …, xn)
et calcule le résultat f(X).
෍ 𝑥𝑖𝑤𝑖
𝑛
𝑖=1
𝑤1𝑖
𝑤2𝑖
𝑤𝑛𝑖
𝑥1
𝑥2
⬚
𝑥𝑛
Seuil 𝜃𝑗
Classification
du perceptron
Outputs
Entrées Poids
Fonction à
échelon
Somme
pondérée
27
f(X) = ∑ 𝑥𝑖𝑤𝑖
𝑛
𝑖=1 Si f(X) > θ alors : s = 1, sinon : s = 0.
Le perceptron monocouche créé par Franck Roseblatt, demeure une des solutions de
classification linéaire, afin de calculer les poids des connexions synaptiques entre la couche
des entrées et la couche de sortie. Néanmoins, Minsky et Papert ont bien illustré ses limites
dans leur livre « Perceptrons : une introduction à la géométrie computationnelle » publié en
1969.
En particulier, le fait que le perceptron monocouche soit incapable de résoudre des
problèmes non linéaires produit un échec dans l’entrainement réseaux de neurones artificiels.
II.2.3 Les réseaux de neurones multicouche feed-forward
Le réseau de neurones multicouche est un réseau de neurones artificiels, avec une
couche d’entrée, une ou plusieurs couches cachées et une couche de sorties. De plus, chaque
neurone du réseau est un perceptron multicouche.
II.2.3.1 Le perceptron multicouche
Le perceptron multicouche est similaire à son prédécesseur, le perceptron simple. En
revanche, la fonction d’activation répond mieux aux problèmes de classifications non
linéaires, en remplaçant ainsi la fonction à échelon du perceptron monocouche. Ci-après une
représentation du perceptron multicouche (PMC ou MLP) [16]:
Figure II.4 : Le perceptron multicouche (PMC)
Le neurone de PMC est composé de :
• Un vecteur X de n entrées
• Une fonction d’activation, 𝑇 ∶ ℝ → ℝ
• Un vecteur de poids W
෍ 𝑤𝑖𝑋
𝑛
𝑖=1
+ 𝑏𝑖 T
𝑤1𝑖
𝑤2𝑖
𝑤𝑛𝑖
Activations
(Sortie ai)
Connexions
Poids
Fonction d’activation
(Fonction de transfert)
Neurone i
La somme
pondérée
28
• Un vecteur de biais b (est nulle pour simplifier le modèle)
En effet, le neurone fait le calcule suivant :
𝑨 = 𝑻( 𝒁 )
Avec :
{
𝑋 = [𝑥1, 𝑥2, 𝑥3, … , 𝑥𝑛]
𝑍 = [𝑧1, 𝑧2, 𝑧3, … , 𝑧𝑛]
𝐴 = [𝑎1, 𝑎2, 𝑎3, … , 𝑎𝑛]
𝑊 = [
𝑤0,0 ⋯ 𝑤0,𝑚
⋮ ⋱ ⋮
𝑤0,𝑚 ⋯ 𝑤𝑛,𝑚
]
et Z = W X + b
C-à-d :
Z = ∑ (𝑤𝑖𝑋
𝑛
𝑖=1 + 𝑏𝑖) avec : 𝒛𝒊 = 𝑤𝑖𝑋 + 𝑏𝑖
𝑨 = 𝑻( 𝒁 ) avec : 𝒂𝒊 = T(𝒛𝒊 ) = 𝑇(𝑤𝑖𝑋 + 𝑏𝑖)
Notation Signification
Z Le résultat de la somme pondérée
X Le vecteur d’entrée du neurone
W La matrice de poids du neurone
b Le vecteur de biais
A Les résultats de la fonction de d’activation
Tableau II.1 Notations pour le perceptron multicouche
a) Les poids :
Les poids sont les connexions entre les couches d’un réseau de neurones, noté
mathématiquement par W et représentés par des arcs dans un graphe. Également, les poids W
du réseau de neurones sont définis par une matrice initialisée par des valeurs réels et aléatoires
29
entre 0 et 1. Cette matrice de poids W est mise à jour lors du processus l’entrainement du réseau
de neurones.
Le but de définir les poids dans les réseaux de neurones, est d’améliorer les résultats et
converger vers une précision meilleure.
b) Les biais :
Les biais sont les valeurs scalaires ajoutées aux entrées du neurone, afin de s’assurer
que quelques nœuds de la couche sont activés. Comme le poids, ce scalaire noté b est aussi mis
à jour pour améliorer la performance d’un réseau de neurones lors du processus d’entrainement.
II.2.3.2 Les fonctions d’activation
Les fonctions d’activation transforment les résultats de la somme pondérée des entrées,
à l’aide des poids et biais. Dès lors, ces résultats produit par cette transformation deviennent à
leurs tour les entrées d’un neurone de la couche suivante du réseau.
Généralement, les fonctions d’activation dites non linéaires normalisent les valeurs de
la sortie de la somme pondérée en nombres réels compris entre 0 et 1 ou bien entre -1 et 1.
Tandis que, les fonctions d’activation linéaires produisent un basculement brutal de la sortie
du neurone : en passant de -1 à 1 ou vice-versa lors de changements suffisants des poids et biais
de la couche précédente.
De fait, un neurone est activé s’il transmet une valeur non nulle pour le neurone suivant.
Ainsi, les activations sont les valeurs transmises pour la couche suivante par chacune des
couches précédentes.
En bref, les fonctions d’activations sont utilisées afin d’introduire la modélisation de la
propagation non linéaire entre les couches d’un réseau de neurones.
Parmi les fonctions d’activation non linéaire, la famille des fonctions sigmoïdales. En
d’autres termes, les courbes de cette famille ressemblent à la lettre S.
Ci-après, nous allons nous pencher sur quelques définitions de fonctions
d’activation [16] :
a) La fonction linéaire :
Les fonctions d’ordre linéaire comme leur nom le signifie, sont toutes des fonctions
ou des variables indépendantes en relation directe avec les variables dépendantes. L’exemple
30
le plus concrète dans les réseaux de neurones sont les neurones binaires appelés aussi le
perceptron simple.
Une fonction linéaire est représentée par l’équation suivante :
La figure suivante est un tracé de la fonction f(x) = ax avec a = 0.1
Figure II.5 : La fonction linéaire
c) La fonction partie positive (Relu) :
La fonction positive appelé aussi la fonction linéaire rectifiée (Relu), élimine toutes
les valeurs négatives. C’est-à-dire, le résultat de la sortie de la somme pondérée est classé 0
ou x. Donc, le résultat de sortie de cette fonction est le maximum entre le résultat de la
somme pondérée et 0.
Ce résultat produit un changement brutal et les petites modifications des paramètres
comme le poids et le biais ne sont pas prises en comptes par le réseau de neurones.
En effet, la fonction positive Relu est interprétée mathématiquement par la fonction :
Cette équation a pour solution : {
𝑓(𝑥) = 0, 𝑠𝑖 𝑥 < 0
𝑠𝑖𝑛𝑜𝑛 𝑓(𝑥) = 𝑥
𝑓(𝑥) = max (0, 𝑥)
𝑓(𝑥) = ax
31
Le figure suivante est le tracé de la fonction positive f(x) :
Figure II.6 : La fonction positive (Relu)
d) La fonction sigmoïde :
La fonction sigmoïde passant de 0 à 1 continuellement, est une des fonctions non
linéaires de la famille des Sigmoïdes. De ce fait, les sorties de cette fonction sont des
probabilités indépendantes pour chacune des classes du réseaux de neurones.
Figure II.7 : La fonction sigmoïde
L’équation mathématique tracée dans la figure II.7 est définie par la fonction
sigmoïde suivante :
𝑓(𝑥) =
1
1+𝑒−𝑥
32
Cette équation a pour solution : {
lim
𝑥→ +∞
𝑓(𝑥) = 1
lim
𝑥→ −∞
𝑓(𝑥) = 0
𝑓(𝑥) = 0.5 𝑠𝑖 𝑥 = 0
e) La fonction tangente hyperbolique (tanh) :
La tangente hyperbolique, est d’un comportement similaire à la fonction sigmoïde. En
revanche les valeurs de sorties comprises entre -1 et 1.
La fonction tangente hyperbolique est égale au ratio de sinus hyperbolique et cosinus
hyperbolique, définie par l’équation suivante :
Cette équation a pour solution : {
lim
𝑥→ +∞
𝑓(𝑥) = 1
lim
𝑥→ −∞
𝑓(𝑥) = −1
𝑓(𝑥) = 0 𝑠𝑖 𝑥 = 0
La figure suivante représente le graphe de cette fonction :
Figure II.8 : La fonction tangente hyperbolique (tanh)
f) La fonction exponentielle normalisée (Softmax) :
La fonction exponentielle normalisée, est une généralisation de la fonction sigmoïde.
Souvent utilisée pour résoudre des problèmes d’ordre multi-classes, tant dis que la fonction
sigmoïde est appliquée pour la classification binaire (ex : prédire si une image est classée
comme tumeur ou non).
𝑓(𝑥) =
sinh(𝑥)
cosh(𝑥)
33
Afin de calculer le résultat de prédiction de chacune des entrées (sommes pondérées),
cette fonction prend en entrée le vecteur V de taille K. Ensuite, calcule un ratio des entrées par
la formule suivante :
Pour sélectionner le meilleur score depuis la liste des K résultats calculé par S(Z), nous
appliquons la fonction argmax.
Alors, la fonction argmax(S(Z)) retourne les meilleures valeurs de Z pour lesquelles la
fonction S atteint son maximum.
Le résultat est défini par l’équation suivante :
II.2.3.3 La propagation et les réseaux profonds
Pour rappelle, la fonction de coût et le gradient sont définie dans la partie dédiée pour
l’apprentissage automatique.
Pour en résumer, la fonction de coût est la somme des différences entre les sorties
réelles et les sorties désirées. Ensuite, les dérivées partielles calculées par la descente du
gradient sont soustraites des paramètres respectifs des neurones de la couche concernée.
g) La propagation en avant (forward-propation) :
Dans le titre précédent consacré pour les réseaux de neurones multicouches feed-
forward, j’ai défini l’ensemble des paramètres et hyperparamètres indispensables pour
propager les résultats des neurones d’une couche vers la couche suivante ; c’est la méthode de
propagation en avant (forward-propagation). Pour l’essentiel, c’est le fait de propager les
résultats entre différentes couches du réseau en allant de la couche d’entrée vers la couche de
sortie d’un réseau de neurones multicouches [21].
𝑆(𝑧)𝑗 =
𝑒𝑧𝑗
∑ 𝑒𝑧𝑗
𝑘
𝑗=1
𝑝𝑜𝑢𝑟 𝑡𝑜𝑢𝑡 𝑗 ∈ {1,2,3, … , 𝐾}
𝑅𝑒𝑠𝑢𝑙𝑡𝑎𝑡 = 𝑎𝑟𝑔𝑚𝑎𝑥(𝑆(𝑍)) = 𝑆−1
({𝑚𝑎𝑥 𝑆})
34
En outre, nous allons reprendre les équations de la somme pondérée (couche linéaire)
et la fonction d’activation (couche non linéaire) et leurs notations, pour modéliser ce
phénomène de propagation en avant :
Un exposant ([𝑙]) est ajouté pour différencier la couche de traitement de la couche
précédente.
Tableau II.2 Tableau des équations de la propagation en avant (forward-propagation)
h) La propagation en arrière (rétropropagation)
Afin d’entrainer les réseaux de neurones multicouches de bout en bout, les chercheurs
ont trouvé une manière simple pour calculer le gradient du coût de la fonction. Il s’agit de la
méthode de la rétropropagation du gradient découverte au milieu des années 1980 [19]. Cette
méthode permet de mettre à jour les paramètres (poids, biais et activations) du réseau lors de
son entrainement pour minimiser le coût depuis la couche de sortie jusqu’à celle d’entrée.
La propagation en arrière appelée également rétropropagation (back-propagation en
anglais) en demeure utilisée dans presque tous les réseaux de neurones multicouches, ce qui
fait qu’elle soit un pilier de l’apprentissage profond.
Parallèlement à la propagation en avant, la rétropropagation est composée de deux
formules qui sont les dérivées partielles de la fonction de coût par rapport aux résultats de la
somme pondérée et de la fonction de transfert.
Le tableau suivant montre les dérivées partielles de la fonction de coût par rapport à la
somme pondérée et la fonction d’activation, appliquées lors de la rétropropagation de gradient
[21].
Propagation en avant
Couche de somme pondérée 𝑍[𝑙][𝑖] = ෍ 𝑊[𝑙][𝑖, 𝑗] ∗ 𝐴[𝑙−1]
[𝑗]
𝑚
𝑗=1
Couche de fonction transfert 𝐴[𝑙][𝑖] = 𝑇[𝑙]
(𝑍[𝑙][𝑖])
35
Rétropropagation
Couche de somme pondérée 𝑑𝐶
𝑑𝐴[𝑖]
= ෍ 𝑤[𝑖, 𝑗] ∗
𝑛
𝑖=1
𝑑𝐶
𝑑𝑍[𝑖]
Couche de fonction transfert 𝑑𝐶
𝑑𝑍[𝑖]
= 𝑇′(𝑍[𝑖]) ∗
𝑑𝐶
𝑑𝐴[𝑖]
Tableau II.3 Tableau des équations de la rétropropagation
II.2.3.4 Le bloc de propagation
Les deux techniques de propagation du gradient que sont la propagation en avant et en
arrière sont mutuellement complémentaires. D’abord, pour l’entrainement d’un réseau de
neurones profond de bout en bout, puis pour minimiser la fonction de coût.
Le vas et vient engendré par ces deux méthodes lors des itérations de la phase
d’entrainement du réseau de neurones, unifie la tache de propagation en un seul bloc.
Le schéma de la figure II.9 est une modélisation du bloc de propagation [21]:
Figure II.9 : Schéma du bloc de propagation
Le bloc de propagation fait donc partie intégrante du processus d’entrainement d’un
réseau de neurones multicouches afin de mettre à jour les paramètres du réseau. Ces paramètres
améliorés lors de l’entrainement serviront lors de chaque itération à calculer le coût
d’apprentissage et le minimiser.
𝐴[0] 𝐴[1] 𝐴[2]
𝐴[𝐿]
𝐴[𝐿−1]
𝑑𝐴[1]
𝑑𝐴[2]
𝑑𝐴[𝐿]
𝑑𝐴[𝐿−1]
𝑌
෠
𝑑𝑊[1]
, 𝑑𝑏[1]
𝑊[2]
, 𝑏[2]
𝑑𝑍[2]
𝑊[1]
, 𝑏[1]
𝑑𝑍[1]
𝑊[𝐿]
, 𝑏[𝐿]
𝑑𝑍[𝐿]
𝑑𝑊[2]
, 𝑑𝑏[2] 𝑑𝑊[𝐿]
, 𝑑𝑏[𝐿]
𝑊[2]
, 𝑏[2]
𝑊[1]
, 𝑏[1]
𝑊[𝐿]
, 𝑏[𝐿]
...
…
36
Bien que les réseaux de neurones multicouches soient populaires et fournissent des
résultats très prometteurs pour résoudre des problématiques polynomiales ou de régression.
Néanmoins, ils ont des inconvénients quand il s’agit de traitement d’images.
D’une part, leurs incapacités à traiter correctement des données de type image, comme
l’extraction des courbures : un inconvénient majeur pour accomplir des tâches de vision par
ordinateur. D’autre part, ils se repose sur le principe de couches adjacentes, sans lesquelles, ils
ne sont pas complètement connectés.
Par ailleurs, les réseaux de neurones convolutifs sont complètement connectés sans faire
recourt au principe de couches adjacentes. De plus, ils ont pour avantage l’invariance de la
transposition des données traitées, ce qui favorise l’extraction des caractéristiques comme les
contours des formes lors du processus d’entrainement.
Ces critères pour comparer des réseaux de neurones font un premier aperçu pour mieux
comprendre l’utilité d’une architecture convolutive inspirée du modèle biologique du cortex
visuelle chez les mammifères.
II.3Les réseaux de neurones convolutifs (CNN)
Introduction
Les réseaux de neurones convolutifs sont inspirés de l’architecture du cortex visuel chez
les animaux. En effet, les couche de ces réseaux sont une adaptation des couches de la rétine
au même titre que leurs prédécesseurs (les réseaux de neurones multicouches feed-forward)
inspirés des neurones biologiques du système nerveux central.
Le cortex visuel primaire appelé aussi « air V1 » se situe dans la région occipitale de
notre cerveau. Entre autres, il reçoit les informations rétiniennes véhiculées par la voie du
système visuel.
Cette aventure pour étudier le cortex visuel chez les animaux, avait déjà commencé en
1953 par Stephen Kuffer au tour des propriétés réactionnelles des cellules nerveuses rétiniennes
et leur distinction. Cette distinction est basée sur le fait que les cellules répondaient
différemment à des rayons lumineux présentés dans le champ récepteur. Ensuite, David Hubel
et Torsten Wiesel ont examiné les propriétés des neurones de structures visuel, en 1962, et cela
à l’aide d’enregistrement par micro-électrodes. Lors de leurs expérimentations, ces deux
précurseurs distinguent alors trois types génériques de cellules (cellules simples, complexes et
hypercomplexes). Premièrement, les cellules simples sont présentées comme extracteurs de
37
caractéristiques du champ récepteur et sensibles aux stimuli. Deuxièmement, les cellules
complexes indépendantes des cellules simples et non sensibles aux stimuli, et finalement, les
cellules hypercomplexes sensibles aux courbures.
Afin de compléter les recherches de Hubel et Wiesel sur les relations entre les
différentes cellules, Andelson et Bergen (1985) proposent que les cellules complexes calculent
la somme moyenne des sorties des cellules simples, ainsi, elles établissent les connexions entre
ces deux types de cellules indépendantes.
Bien que ces recherches pour identifier les cellules simples et les cellules complexes
d’un cortex visuel étaient fondamentales, d’autres examens et recherches ont été réalisés sur la
rétine. Toutefois, afin de conclure sur l’architecture multicouches de la rétine, un examen des
coupes radiale et sagittale ont permit d’identifier les différentes couches qui la composent. Pour
simplifier cette composition, le schéma suivant présente une coupe sagittale (A) pour distinguer
les différentes régions ; et radiale (B) pour différencier les différentes couches importantes de
la rétine.
Figure II.10 : Schéma de coupe sagittale(A) et radiale(B) de la rétine
D’emblée, les définitions assez explicites des éléments de l’architecture du cortex visuel
sont primordiales à l’établissement de l’architecture formelle des différentes couches d’un
réseau de neurones convolutif. Ensuite, étudier le phénomène de propagation entre les
différentes couches.
En définitif, les réseaux de neurones convolutifs sont reconnus pour leurs efficacités à
traiter des images. Cette famille des réseaux de neurones a pour théorie primordiale, celle de
la convolution, qui reste un sujet de prédilection lors du processus d’entrainement.
38
En conséquence, lors du processus d’entrainement, ces modèles de réseaux convolutifs
atteignent des résultats meilleurs tout en utilisant un nombre très restreint de paramètres.
Contrairement, le nombre de paramètres explose et tend rapidement vers des millions, lors de
l’entrainement de réseaux de neurones multicouches feed-forward.
II.3.1 Architecture d’un CNN
L’architecture des CNNs est inspirée du cortex visuel des animaux. De la sorte, les
cellules du cortex sont modélisées par les couches du réseau de neurones à convolutions. En
l’occurrence, les filtres ou les noyaux d’image sont adaptées de l’architecture des sous-régions
du champs visuel.
Les réseaux de neurones convolutifs sont composés de trois types de couches :
• La couche d’entrée
• Les couches d’entrainement (convolution, activation et pooling)
• Les couches de classification
En effet, l’architecture d’un ConvNet est globalement identifiée par ces trois couches,
comme la représente la figure suivante [16]:
Figure II.11 : Architecture générale d'un réseau de neurones convolutif (ConvNet)
II.3.1.1 Les couches des réseaux de neurones convolutifs
a) La couche d’entrée
La couche d’entrée d’un réseau convolutif est la première couche qui sert à charger les
données de traitement. Souvent, cette couche prend pour taille celle de l’image, ainsi elle est
configurée pour recevoir une matrice de nombre réels ayant pour dimension (n, n).
Convolution
Convolution
Pooling
Activation
Activation
Pooling
Couche
d’entrée
Couches d’entrainement Couches de
classification
Complétement
connectées
Entrées
39
Pour mieux adapter et généraliser les concepts fondamentaux aux traitements des
images, j’ai décidé de me pencher sur une matrice carrée d’une hauteur et largeur égales.
Les dimensions de la matrice carrée sont :
• n : la hauteur, et la largeur de la matrice
• nc : le nombre de canaux de la matrice (dimension de la matrice), appelé aussi
profondeur de la matrice.
Par exemple, une image en couleur de 100 pixels (10px * 10px) est reçue comme étant
une matrice M de dimensions n = 10 et nc = 3 (canaux de couleurs rouge, vert et bleu).
Figure II.12 : Schéma de la représentation matricielle d'une image
La représentation matricielle de la figure II.12, montre comment la couche d’entrée
d’un réseau de neurone convolutif interprète la matrice de l’image sous forme d’un tableau de
3 tableaux, chacun de dimension (10 x 10). Cette matrice de nombres réels sera la porte d’entrée
de notre réseau pour extraire les caractéristiques de l’image. Alors, les caractéristiques de notre
image (les traits horizontaux et verticaux ainsi que les courbures) sont extraites par les couches
de convolution du CNN.
b) La couche de convolution
La couche de convolution est la première couche d’un bloque d’entrainement du réseau
de neurones convolutif. Elle a pour tâche l’extraction de caractéristiques primaires depuis la
couche d’entrée ou d’un bloque d’entrainement précédent.
10
10
3
Image
Matrice
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
቎
𝑥[0]0,0 ⋯ 𝑥[0]0,9
⋮ ⋱ ⋮
𝑥[0]9,0 ⋯ 𝑥[0]9,9
቏
቎
𝑥[1]0,0 ⋯ 𝑥[1]0,9
⋮ ⋱ ⋮
𝑥[1]9,0 ⋯ 𝑥[1]9,9
቏
቎
𝑥[2]0,0 ⋯ 𝑥[2]0,9
⋮ ⋱ ⋮
𝑥[2]9,0 ⋯ 𝑥[2]9,9
቏
‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
40
La convolution est définie par l’application d’un ou plusieurs filtres sur chacun des
canaux de couleurs de la matrice d’entrée. En fait, elle est décrite mathématiquement par le
produit matriciel des filtres et les sous-régions filtrées de la couche précédente.
Afin de mieux modéliser la convolution des couches d’un réseau CNN, bien des
hyperparamètres sont à définir pour introduire le phénomène de rétropropagation. Parmi les
hyperparamètres à utiliser lors de la phase de convolution, on en dénombre les filtres et les
cartes de caractéristiques [21] :
• Le filtre (le noyau) : est la matrice de poids W. Les tailles (hauteur et largeur) du filtre
sont inférieurs ou égales à celles de la matrice d’entrée.
• La carte de caractéristiques (features) : est la matrice résultante de la convolution
d’une sous-région (feature ou image) par un filtre.
Filtrer une image de couleurs RGB revient à entreposer le bloque de filtres, dont un
filtre par canal de couleur. En effet, le bloque de filtres est une matrice de dimensions (f, f, 3),
avec f (f = hauteur = largeur) la taille du filtre. Cela n’est pas sans paramètres à configurer lors
de l’entrainement du modèle. Par ailleurs, deux paramètres sont à définir pour cerner un
meilleur déplacement des filtres et leurs conditions d’arrêt.
D’une part, les filtres se déplacent récursivement de manière horizontale pour parcourir
l’ensemble des pixels des lignes et verticalement pour parcourir l’ensemble des pixels des
colonnes de la matrice d’entrée. De cette manière, le filtre fait un parcourt en boustrophédon
de gauche à droite et de haut en bas l’ensemble des pixels.
D’autre part, pour mieux couvrir toutes les sous-régions de l’image d’entrée et
harmoniser le résultat de sortie, le filtre peut dans certains cas avoir besoin d’entreposer
quelques pixels à l’extérieur de la bordure de l’image. Cependant, nous avons le choix lors de
la configuration de ce paramètre qu’est la marge (padding, en anglais) pour décider si le filtre
peut dépasser la bordure de l’image d’entrée.
En bref, le pas (stride en anglais) de déplacement d’un noyau par défaut est le même
pour le parcourt horizontal et vertical. Ce pas peut être définie en deux partie, un pas horizontal
et un pas vertical.
41
De même, la marge (padding en anglais) de la matrice d’entrée est positionné « Same »
pour filtrer jusqu’au dernier pixel de notre ligne ou colonne, ou bien « Valid » pour filtrer tous
les pixels avec moins de précision sur les pixels de la bordure de l’image.
Dans le cas où la marge est à « same », le nombre de pas fait par un filtre est calculé
par :
𝑛𝑏𝑝𝑎𝑠_ℎ = ⌊
𝑛ℎ– 𝑓ℎ + 1
𝑠ℎ
⁄ ⌋
𝑛𝑏𝑝𝑎𝑠_𝑣 = ⌊
𝑛𝑣– 𝑓
𝑣 + 1
𝑠𝑣
⁄ ⌋
Où :
• s : le pas (Stride) du filtre
• L’indice « h » est la taille de l’axe horizontal, et « v » pour vertical.
Par conséquent, les 𝑛𝑏𝑝𝑎𝑠_ℎ est le nombre de pas horizontaux, et 𝑛𝑏𝑝𝑎𝑠_𝑣 est le nombre
de pas verticaux. Si le résultat est un nombre réel, seule la partie entière est récupérée.
Figure II.13 : Convolution sur une matrice à deux dimensions
La figure II.13 est un schéma pour illustrer cette introduction formelle à la convolution.
Ce schéma montre l’application d’un filtre (3x3) sur un seul canal de l’image (matrice (10x10)),
avec un pas (stride) de 2. Cette figure montre les deux déplacements horizontal et vertical du
filtre sur la matrice d’entrée, puis la carte de caractéristique générée comme sortie de cette
Matrice d’entrée
Filtre
*
Carte de caractéristiques
Stride_h
Stride_v
42
convolution. Ainsi, les dimensions de la carte de caractéristiques sont (𝑛𝑏𝑝𝑎𝑠_ℎ= 4) et
(𝑛𝑏𝑝𝑎𝑠_𝑣 = 4).
L’équation mathématique pour calculer le produit matriciel du couple (sous-région,
filtre) est déjà présentée dans la partie consacrée pour le perceptron (somme pondérée). En
adaptant cette somme avec les nouvelles variables de notre couche de convolution.
Ainsi, le produit scalaire V est défini par l’équation :
𝑉(𝑥, 𝑦) = ∑ (𝐼. 𝐾)(𝑥, 𝑦) Où : {
𝐼: 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑐𝑒 𝑠𝑜𝑢𝑠 − 𝑟é𝑔𝑖𝑜𝑛
𝐾: 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑐𝑒 𝑑𝑢 𝑓𝑖𝑙𝑡𝑟𝑒 𝑜𝑢 𝑛𝑜𝑦𝑎𝑢 (𝐾𝑒𝑟𝑛𝑒𝑙)
Maintenant que le processus de convolution est appliqué sur une seule matrice à deux
dimensions, il est temps de l’appliquer sur notre matrice à trois canaux de couleurs tout en
passant en appliquant la fonction d’activation.
c) La couche d’activation :
L’étape d’activation dans un réseau de neurones convolutif est primordiale. Elle
s’appuie sur une fonction d’activation non linéaire, dite Relu par littérature. Cette étape est
définie comme une couche de la phase d’entrainement d’un CNN.
La carte de caractéristiques produite par la convolution sans activation est importante
pour un bloque d’entrainement. Bien que cette carte ne contribue pas à l’accélération de
l’entrainement, ni à l’amélioration des performances lors de l’apprentissage du modèle. En
revanche, pour appliquer cette activation, je reprends la liste des familles et les types des
fonctions d’activation linéaires et non linéaires les plus utilisées. Ces fonctions que j’ai déjà
étalées dans la partie des réseaux multicouches feed-forward.
Parmi ces fonctions d’activation, Relu est une fonction non linéaire utilisée dans les
réseaux CNN. Cette fonction supprime les valeurs négative de la carte de caractéristiques en
les remplaçant par 0 et garde les mêmes valeurs d’entrées positives. En effet, la carte
d’activation (feature map) est le résultat d’activation de chaque carte de caractéristiques.
43
Figure II.14 : Schéma de convolution et activation matrice 3 canaux
Le schéma présenté par la figure II.14 montre les étapes de convolution et d’activation.
La couche d’activation peut être présenté aussi comme un processus en deux étapes.
Premièrement, la couche d’activation prend en entrée les cartes de caractéristiques que je
définie comme tenseur dans ce cas de figure (matrice (4,4,3)). Deuxièmement, elle additionne
ce tenseur de caractéristiques avec le tenseur de biais. Le tenseur de biais est ajusté lors de
chaque itération et a la même taille que celui des caractéristiques. Finalement, la fonction
d’activation est appliquée sur chaque matrice du tenseur résultant.
En effet, le tenseur issu de cette activation appelé aussi carte d’activation devient une
l’entrée pour la couche de pooling.
d) La couche de pooling
Le pooling est une méthode de sous-échantillonnage utilisée dans un réseau de neurones
convolutif. Cette méthode est un processus qui consiste à appliquer d’abord un filtre sur les
données d’entrée (carte d’activation), ensuite une fonction de pooling. En effet, elle permet de
filtrer la carte d’activation tout en gardant les caractéristiques utiles pour le réseau. Son objectif,
est de sous-échantillonner la carte d’activation en éliminant les caractéristiques les moins
importantes. De plus, le pooling permet aussi de réduire le nombre de paramètres entrainés par
le modèle et donc une meilleure optimisation de l’invariance lors du calcul du coût
d’apprentissage du modèle.
Généralement, les hyperparamètres de pooling sont initialisés pour réduire la taille de
l’entrée. Nonobstant, ils ne doivent en aucun cas déformer la dimension des caractéristiques de
Matrice d’entrées (10,10,3)
Carte de caractéristiques
(4,4,3)
Convolution Activation
Carte d’activation
(4,4,3)
44
l’entrée. C’est pourquoi, il est primordial de définir le pas « stride » et la marge de telle sorte
que les formes des différentes caractéristiques soient inchangées.
Le filtre de la couche de pooling est souvent initialisé par une matrice de taille (2 X 2)
avec un pas de 2 et une marge « same » initialisée par défaut. Il est donc à exclure le fait
d’ajouter une marge initialisée à zéro « zero-padding » pour un filtre de pooling, car les valeurs
de la carte de sortie sont des caractéristiques définitives pour la couche de classification.
En effet, sur une carte d’activation de 16 pixels, il y aura 4 tuiles ou fenêtres de (2 x 2)
pixels. Donc, la couche de sortie comprendra au total (4 x 2 x 2) neurones, sur une fenêtre de
16 pixels. Le nombre de neurones de sorties (𝑛𝑏𝑛𝑒𝑢𝑟𝑜𝑛𝑒𝑠) de la couche de pooling est calculé
par la formule mathématique suivante [21]:
𝑛𝑏𝑛𝑒𝑢𝑟𝑜𝑛𝑒𝑠 = ⌊
𝑛 − 𝑓 + 2𝑝
𝑠
⌋ + 1
Où :
• n : la taille d’un axe de la matrice d’entrée.
• f : la taille d’un axe du filtre de pooling.
• p : la taille d’une marge « padding ».
• s : la taille du pas « stride ».
Les variables n, f, s et p doivent être adaptées pour calculer un nombre de neurones,
selon l’axe vertical ou horizontal.
Afin de concrétiser l’application de la méthode pooling, je schématise par la figure II.15
ci-après un maxPooling (2,2) sur la carte d’activation précédente de dimension (4,4,3)
Figure II.15 : Schéma de pooling (MaxPooling)
1 15 32 6
11 8 7 4
9 1 3 2
12 16 19 6
Activation
Carte d’activation
(4,4,3)
MaxPooling
15 32
16 19
45
En bref, la méthode de pooling est une opération analogue à celle des cellules
complexes d’un cortex visuel de Hubel et Wiesel. En d’autres termes, afin d’extraire des
caractéristiques importantes du champs visuel, les cellules complexes reçoivent les
caractéristiques les plus importantes depuis les cellules simples du cortex visuel. De la même
manière, le pooling extrait les caractéristiques les plus importantes de cartes issues de la
convolution.
Cette procédure repose sur deux opérations. Premièrement, appliquer un filtre sur
l’ensemble des sous-régions. Ensuite, une fonction de pooling sur le résultat du filtre. Ainsi,
l’ensemble des caractéristiques collectées deviennent les entrées la couche de classification du
réseau.
e) La couche complètement connectée (Fully-connected)
La couche complètement connectée est la dernière couche d’un réseau de neurone
convolutif. Elle est dite complément connectée car non seulement tous ses neurones sont
connectés les uns aux autres, mais aussi connectés avec les cartes de caractéristiques de la
dernière couche de pooling du réseau CNN.
Les données dites d’entrainement sont finalement classifiées en N classes par cette
dernière couche, tout en procédant à la mise à jour des paramètres du réseau.
Premièrement, cette couche va affecter des poids selon l’importance des cartes
d’activations reçues en entrées. En effet, les poids les plus élevés indiquent la correspondance
des caractéristiques à une classe.
Ensuite, dans une seconde étape, calculer la somme pondérée des caractéristiques et
les poids.
Finalement, appliquer la fonction de classification « Softmax » sur les résultats des
sommes pondérées et retourne un vecteur de sortie de taille N.
Chacune des valeurs affectées au préalable, détermine la probabilité que l’image
d’entrée appartiennent à une classe. Aussi, la somme des valeurs du vecteur est égale à 1.
Par exemple, pour classer des tumeurs de cerveau en 4 classes différentes (non-tumeur,
pituitaire, méningiome, gliome), le vecteur de sortie [0.3, 0.2, 0.1, 0.4] permet de classifier
l’image d’entrée en tumeur « gliome ».
46
Par ailleurs, pour réduire le coût d’apprentissage minimum, le réseau de neurones
convolutifs améliore ses performances de classification lors de chaque période d’entrainement
sur de nouvelles données. Les paramètres comme les poids et les biais de chacune ses couche
cachées ou d’entrainements, sont mis à jour automatiquement par le réseau.
Cette modification des poids et des biais par le principe de propagation, s’effectue grâce
nombre d’hyperparamètres capitaux pour la bonne amélioration des performances du réseau.
En l’occurrence, parmi ces hyperparamètres j’en dénombre : les hyperparamètres des couches
(méthodes d’activation des couches cachés et de la couche complètement connectée), de
l’optimiseur du gradient et du nombre de périodes d’entrainement.
En effet, la couche complètement connectée utilise tous les paramètres et
hyperparamètres pour minimiser le coût d’apprentissage par le principe de rétropropagation du
gradient. C’est pourquoi, elle joue un rôle de porte pour l’évaluation de l’importance des
caractéristiques et de la reconstitution des données d’entrée.
II.3.1.2 La la classification et la segmentation
Nous pouvons distinguer plusieurs réseaux de neurones à convolutions multi-échelles,
parmi lesquels, je cite leNet-5, VGGNet et UNet utilisés pour faire la classification et la
segmentation des images. Car, depuis l’apparition des CNNs, plusieurs modèles de réseaux de
neurones convolutifs sont inventés [16].
Parmi les architectures des réseaux CNN pour traiter des images :
• LeNet-5 :
Ce réseau utilisé pour la classification de digits. Il est utilisé pour faire de la
classification sur des images de 32x32 pixels. Composé de 2 couches à convolutions,
deux couches de sous-échantillonnage et 2 couches complètements connectées.
• VGGNet :
Ce CNN est composé de 16 couches multiples. C’est-à-dire que chacune des
couches d’entrainement soit composée de convolution, Relu et pooling. Et finalement,
3 couches complètement connectées.
47
• UNet :
Le U-Net est un CNN complétement connecté, qui prend la forme de U comme
son nom l’indique. Ainsi, son architecture répartie globalement en encodeurs et
décodeurs. A priori, ce modèle est développé particulièrement pour la segmentation des
images médicales.
Pour résumer, les réseaux de neurones à convolutions et plus spécifiquement les CNNs
complètement connectés sont fortement utilisés pour la classification et la segmentation des
images médicales 2D et 3D tels que les images IRM et les TDM. Leurs efficacités et degrés de
précisions atteintes et approuvées lors de l’expérimentation pour extraire les caractéristiques,
si bien qu’ils soient introduits dans des logiciels 3D pour le diagnostic des tumeurs de cerveau.
II.4 L’apprentissage automatique ou le Machine Learning
Introduction :
L’apprentissage automatique est une méthode d’analyse de données automatisant la
construction de modèles analytiques. Ce domaine qui est une partie importante de l’intelligence
artificielle peut résoudre des problèmes difficiles à résoudre avec les techniques traditionnelles
de programmation. C’est-à-dire que les algorithmes apprennent itérativement à partir des
données et permettent à la machine de trouver des informations cachées sans à les avoir
explicitement programmées.
Malgré l’efficacité des algorithmes d’apprentissage automatique, les données sont plus
importantes pour leurs entrainements. En effet, les données doivent être soumises à des
traitements avant de les soumettre aux algorithmes d’apprentissage. Il est donc primordial
d’appliquer une analyse exploratoire des données avant de les entrainer.
Une base de données utilisée en apprentissage automatique peut être issue de plusieurs
support différents contenant des collections de données comme des fichier (csv, json…etc.),
ou des extractions à partir de flux issues de systèmes de gestion de base de données.
Les algorithmes d’apprentissage automatiuqe sont réparties en 3 parties principales suivantes :
• L’apprentissage supervisé
• L’apprentissage non-supervisé
• L’apprentissage semi-supervisé
48
II.4.1 L’apprentissage supervisé
Définition :
Les algorithmes supervisés sont entrainés à l’aide d’exemple étiquetés, par exemple sur
un jeu de données d’entrée ou les étiquettes des résultats souhaités sont connus à l’avance.
Premièrement, un réseau de neurones reçoit une liste d’entrées déjà étiquetées par des
spécialistes du domaine ou antérieurement par un programme dédié. Ensuite, il compare les
résultats de la sortie avec les éléments en entrée et détecte les erreurs. Finalement, l’algorithme
du réseau de neurones modifie le modèle en conséquence en ajustant les paramètres du modèle.
L’apprentissage supervisé s’applique sur des bases de données historiques, grâce à
lesquelles le modèle peut prédire des résultats futurs probables.
Il existe une variété des algorithmes de classification en apprentissage automatique.
Parmi cette liste de classifieurs : Les KNN, les arbres de décisions, les forêts aléatoires et la
régression logistique [20].
Par ailleurs, je ne site que les algorithmes utilisés dans mon expérimentation pour la
classification des images médicales. Ces deux algorithmes sont la classification catégorielle et
la régression de la partie apprentissage supervisé.
II.4.1.1 Le processus
Le processus du machine learning supervisé est répartie en plusieurs étapes avec des
passages séquentiels ou réccursifs lors de l’entainement d’un modèle. Quelque peut simplifié,
la figure II.16 suivante illustre est un processus de ces différentes étapes, depuis l’acquisition
de la donnée jusqu’à la phase de déploiement du modèle.
Figure II.16 : Schéma simplifié du processus machine learning.
Acquisition
de données
Nettoyage de
données
Test du
modèle
Entrainement et
construction du
modèle
Données
de test
Déploiement
du modèle
49
Ce processus n’est qu’un modèle simplifié de l’apprentissage supervisé. Toutefois, le
fractionnement des données en jeu de données « Test » et de « Training » n’est pas satisfaisant
pour aboutir le traitement du modèle. Pour cette raison, il est recommandé d’ajouter un jeu de
données de validation. C’est pourquoi les données sont réparties sur les 3 jeux de données
suivants :
• Training
• Validation
• Test
II.4.1.2 Evaluation des performances du modèle
Une fois que le processus de machine Learning est terminé, nous utilisons des mesures
de performances pour évaluer notre modèle.
Afin de calculer les mesures de performances, il faudrait se pencher sur une anlyse
statistique des valeurs prédites par le modèle lors de l’évaluation des données réservées à cet
effet. Ces valeurs servent de constantes pour le calcule des mesures de performance et sont
regroupées dans la matrice de confusion.
i. La matrice de confusion :
La prédiction du modèle obtient un des résultats suivants :
• Correct
• Incorrecte
Une simple classification est la classification binaire avec deux classes seulement en
sortie. Bien entendu, il est aussi possible de faire une classification sur plusieurs classes dites
classification multi-classes.
Dans un apprentissage supervisé, nous allons entrainer le modèle sur des données
d’entrainement dites training, puis valider sur le set de validation et finalement le tester le
modèle sur le set de test. Une fois que nous avions entrainé le modèle sur les données X_test,
nous comparons avec les vraies valeurs Y (données avec les bonnes étiquettes).
50
Une seule mesure ne suffit pas à raconter toute l’histoire, dans un monde réel. Pour
cette raison et dans le but d’organiser un rapport entre les valeurs prédites et les valeurs réelles,
nous construisons ce que nous appelons une matrice de confusion [20].
Conditions de prédictions
Données de la
population
Prédiction positive Prédiction négative
Conditions
Condition
Positive
Vrai positif
VP
Faux négatif
FN
Condition
Négative
Faux positif
FP
Faux négatif
VN
Tableau II.4 La matrice de confusion
• VP : prédiction correcte. Dans le modèle expérimental pour les tumeurs cérébrales,
c’est prédire correctement qu’une personne soit atteinte de la maladie.
• VN : prédiction correcte qu’une personne ne soit pas atteinte de la maladie.
• FP : prédiction incorrecte qu’une personne ne soit pas atteinte de la maladie.
• FN : prédiction incorrecte qu’une personne soit atteinte de la maladie.
ii. Les mesures de performance pour la classification :
Les mesures de performances principales pour évaluer la performance du modèle sont
les suivants :
• Exactitude (Accuracy)
• Rappel (Recall)
• Précision (precision)
• F1-score
a) L’exactitude (accuracy) :
𝑨𝑪𝑪 =
𝑽𝑷
𝑽𝑷 + 𝑭𝑷 + 𝑽𝑵 + 𝑭𝑵
L’exactitude est une bonne mesure si nous l’appliquons sur un ensemble de classes
équilibrées, par exemple si notre base de données ou le nombre d’images présentant des cas de
tumeurs et le nombre d’images ne présentant pas de tumeur sont à peu près égaux. En contre
partie, l’exactitude n’est pas le bon choix dans le cas d’une classification binaire dont les deux
classes sont déséquilibrées par exemple.
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales

Mais conteúdo relacionado

Mais procurados

Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentationDonia Hammami
 
Introduction au traitement d'images
Introduction au traitement d'imagesIntroduction au traitement d'images
Introduction au traitement d'imagesAbdelouahed Abdou
 
1ère Présentation Atelier Vision par ordinateur
1ère Présentation Atelier Vision par ordinateur1ère Présentation Atelier Vision par ordinateur
1ère Présentation Atelier Vision par ordinateurSamir TABIB
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabMariem ZAOUALI
 
Le Reseau De Neurones
Le Reseau De NeuronesLe Reseau De Neurones
Le Reseau De Neuronesguestf80d95
 
Les réseaux de neurones
Les réseaux de neuronesLes réseaux de neurones
Les réseaux de neuronesMariam Amchayd
 
Réseaux des neurones
Réseaux des neuronesRéseaux des neurones
Réseaux des neuronesMed Zaibi
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoiresBoris Guarisma
 
Reconnaissance faciale
Reconnaissance facialeReconnaissance faciale
Reconnaissance facialeAymen Fodda
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigFelipe Sanchez Garzon
 
Exposé réseaux des neurones (NN) - (RN)
Exposé réseaux des neurones (NN) - (RN)Exposé réseaux des neurones (NN) - (RN)
Exposé réseaux des neurones (NN) - (RN)Soumia Elyakote HERMA
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning Niji
 
Convolutional Neural Networks (CNNs)
Convolutional Neural Networks (CNNs)Convolutional Neural Networks (CNNs)
Convolutional Neural Networks (CNNs)Hajar Bouchriha
 
Slides de présentation de la thèse du doctorat
Slides de présentation de la thèse du doctoratSlides de présentation de la thèse du doctorat
Slides de présentation de la thèse du doctoratZyad Elkhadir
 

Mais procurados (20)

Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentation
 
Introduction au traitement d'images
Introduction au traitement d'imagesIntroduction au traitement d'images
Introduction au traitement d'images
 
1ère Présentation Atelier Vision par ordinateur
1ère Présentation Atelier Vision par ordinateur1ère Présentation Atelier Vision par ordinateur
1ère Présentation Atelier Vision par ordinateur
 
Intelligence-artificielle-cancer-du-sein.pptx
Intelligence-artificielle-cancer-du-sein.pptxIntelligence-artificielle-cancer-du-sein.pptx
Intelligence-artificielle-cancer-du-sein.pptx
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec Matlab
 
Le Reseau De Neurones
Le Reseau De NeuronesLe Reseau De Neurones
Le Reseau De Neurones
 
Les réseaux de neurones
Les réseaux de neuronesLes réseaux de neurones
Les réseaux de neurones
 
Réseaux des neurones
Réseaux des neuronesRéseaux des neurones
Réseaux des neurones
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires
 
La Biométrie
La BiométrieLa Biométrie
La Biométrie
 
Reconnaissance faciale
Reconnaissance facialeReconnaissance faciale
Reconnaissance faciale
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine Learnig
 
Presentation PFE
Presentation PFEPresentation PFE
Presentation PFE
 
Exposé réseaux des neurones (NN) - (RN)
Exposé réseaux des neurones (NN) - (RN)Exposé réseaux des neurones (NN) - (RN)
Exposé réseaux des neurones (NN) - (RN)
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning
 
ségmentation d'image
ségmentation d'imageségmentation d'image
ségmentation d'image
 
Filtrage image
Filtrage imageFiltrage image
Filtrage image
 
Convolutional Neural Networks (CNNs)
Convolutional Neural Networks (CNNs)Convolutional Neural Networks (CNNs)
Convolutional Neural Networks (CNNs)
 
Slides de présentation de la thèse du doctorat
Slides de présentation de la thèse du doctoratSlides de présentation de la thèse du doctorat
Slides de présentation de la thèse du doctorat
 

Semelhante a Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales

Rapport-du-projet CNN.docx
Rapport-du-projet CNN.docxRapport-du-projet CNN.docx
Rapport-du-projet CNN.docxkhalil Ismail
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...ENSET, Université Hassan II Casablanca
 
Séminaire IA & VA- Dominique Gruyer, Univ Gustave Eiffel
Séminaire IA & VA- Dominique Gruyer, Univ Gustave EiffelSéminaire IA & VA- Dominique Gruyer, Univ Gustave Eiffel
Séminaire IA & VA- Dominique Gruyer, Univ Gustave EiffelMahdi Zarg Ayouna
 
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfTP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfSafaeElOmari
 
Comment l’Intelligence Artificielle va impacter la recherche scientifique en ...
Comment l’Intelligence Artificielle va impacter la recherche scientifique en ...Comment l’Intelligence Artificielle va impacter la recherche scientifique en ...
Comment l’Intelligence Artificielle va impacter la recherche scientifique en ...Jean-Emmanuel Bibault Bibault, MD, PhD
 
Intelligence artificielle et bio-inspiration : s’adapter aux contextes change...
Intelligence artificielle et bio-inspiration : s’adapter aux contextes change...Intelligence artificielle et bio-inspiration : s’adapter aux contextes change...
Intelligence artificielle et bio-inspiration : s’adapter aux contextes change...Nancy BOVY
 
Comment le Data et Deep Learning révolutionnent la science
Comment le Data et Deep Learning révolutionnent la scienceComment le Data et Deep Learning révolutionnent la science
Comment le Data et Deep Learning révolutionnent la sciencehabib200
 
Annonce de poste_vitadx_ingenieur_cvml
Annonce de poste_vitadx_ingenieur_cvmlAnnonce de poste_vitadx_ingenieur_cvml
Annonce de poste_vitadx_ingenieur_cvmlCharlotte Guinard
 
Forum Labo Version DEF par Yvon Gervaise.pdf
Forum Labo Version DEF par Yvon Gervaise.pdfForum Labo Version DEF par Yvon Gervaise.pdf
Forum Labo Version DEF par Yvon Gervaise.pdfYvon Gervaise
 
Sécurité Des Nanomachines
Sécurité Des NanomachinesSécurité Des Nanomachines
Sécurité Des NanomachinesValentin Paquot
 
CHimie & Inteligence Artificielle cours YG.pdf
CHimie & Inteligence Artificielle cours YG.pdfCHimie & Inteligence Artificielle cours YG.pdf
CHimie & Inteligence Artificielle cours YG.pdfYvon Gervaise
 
Présentation_IA.pptx
Présentation_IA.pptxPrésentation_IA.pptx
Présentation_IA.pptxmelissa943854
 
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024YvonGervaise
 
L'Intelligence Artificielle I.A. au service des Laboratoires
L'Intelligence Artificielle I.A. au service des LaboratoiresL'Intelligence Artificielle I.A. au service des Laboratoires
L'Intelligence Artificielle I.A. au service des LaboratoiresYvon Gervaise
 

Semelhante a Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales (20)

Rapport-du-projet CNN.docx
Rapport-du-projet CNN.docxRapport-du-projet CNN.docx
Rapport-du-projet CNN.docx
 
Réseaux de neurones
Réseaux de neurones Réseaux de neurones
Réseaux de neurones
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
Cours rn 2006
Cours rn 2006Cours rn 2006
Cours rn 2006
 
Séminaire IA & VA- Dominique Gruyer, Univ Gustave Eiffel
Séminaire IA & VA- Dominique Gruyer, Univ Gustave EiffelSéminaire IA & VA- Dominique Gruyer, Univ Gustave Eiffel
Séminaire IA & VA- Dominique Gruyer, Univ Gustave Eiffel
 
Analyzing a churn data set
Analyzing a churn data set Analyzing a churn data set
Analyzing a churn data set
 
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfTP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
 
Comment l’Intelligence Artificielle va impacter la recherche scientifique en ...
Comment l’Intelligence Artificielle va impacter la recherche scientifique en ...Comment l’Intelligence Artificielle va impacter la recherche scientifique en ...
Comment l’Intelligence Artificielle va impacter la recherche scientifique en ...
 
test
testtest
test
 
Intelligence artificielle et bio-inspiration : s’adapter aux contextes change...
Intelligence artificielle et bio-inspiration : s’adapter aux contextes change...Intelligence artificielle et bio-inspiration : s’adapter aux contextes change...
Intelligence artificielle et bio-inspiration : s’adapter aux contextes change...
 
Comment le Data et Deep Learning révolutionnent la science
Comment le Data et Deep Learning révolutionnent la scienceComment le Data et Deep Learning révolutionnent la science
Comment le Data et Deep Learning révolutionnent la science
 
Annonce de poste_vitadx_ingenieur_cvml
Annonce de poste_vitadx_ingenieur_cvmlAnnonce de poste_vitadx_ingenieur_cvml
Annonce de poste_vitadx_ingenieur_cvml
 
Forum Labo Version DEF par Yvon Gervaise.pdf
Forum Labo Version DEF par Yvon Gervaise.pdfForum Labo Version DEF par Yvon Gervaise.pdf
Forum Labo Version DEF par Yvon Gervaise.pdf
 
Sécurité Des Nanomachines
Sécurité Des NanomachinesSécurité Des Nanomachines
Sécurité Des Nanomachines
 
Rc ia-benmammar
Rc ia-benmammarRc ia-benmammar
Rc ia-benmammar
 
CHimie & Inteligence Artificielle cours YG.pdf
CHimie & Inteligence Artificielle cours YG.pdfCHimie & Inteligence Artificielle cours YG.pdf
CHimie & Inteligence Artificielle cours YG.pdf
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
Présentation_IA.pptx
Présentation_IA.pptxPrésentation_IA.pptx
Présentation_IA.pptx
 
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
 
L'Intelligence Artificielle I.A. au service des Laboratoires
L'Intelligence Artificielle I.A. au service des LaboratoiresL'Intelligence Artificielle I.A. au service des Laboratoires
L'Intelligence Artificielle I.A. au service des Laboratoires
 

Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales

  • 1. IPSSI Paris – Ecole d’informatique et du numérique Année universitaire : 2021 – 2022 Mémoire Les réseaux de neurones convolutifs pour la classification des tumeurs cérébrales. Réalisé par : Juba AIT IDIR Mémoire master 2, Expert en informatique et systèmes d’information. Présenté le 08/08/2022 devant le jury composé de : Tuteurs : Frédéric Bouzy « école » Guillaume Forestier « entreprise »
  • 2. 2 Remerciements La réalisation de ce mémoire était grâce à plusieurs personnes à qui je voudrais témoigner mes remerciements. Je voudrais, tout d’abord, adresser mes remerciements et ma reconnaissance à ma mère Fatiha Ouidir et ma sœur Sarah, qui ont toujours été là pour moi. Je ne remercierais pas assez mon défunt père Zohair à qui je dédie ce travail. Je présente mes remerciements et ma gratitude à Monsieur Guillaume Forestier, pour son soutient et sa confiance. Je remercie Monsieur Abed Ajraou qui m’a orienté et soutenu pour la réalisation de ce mémoire. Un grand merci à mon directeur de mémoire, Monsieur Frédéric Bouzy, et tous les professeurs de l’école IPSSI pour leurs soutiens, leurs disponibilités et leurs conseils. Mes remerciements les plus sincères, à tous mes amis, mes proches et mes collègues ayant contribués d’une manière ou d’une autre à la réussite de ce travail. Merci ! Merci à toutes et à tous, infiniment.
  • 3. 3 Résumé Les tumeurs cérébrales représentent une urgence lors du diagnostic et de traitement pour les structures médicales. En France, bien des organisations développent des systèmes de gestion de bases de données médicales, afin d’aider aux traitements intelligents appliqués de plus en plus dans les entités de soins privées et publiques. La base de données du premier écosystème d’intelligence artificielle pour l’imagerie médicale baptisé au nom de DRIM France IA [1], est un exemple pour aider au diagnostic et traitements des tumeurs cérébrales. Cependant, les entités médicales spécialisées dans le diagnostic des tumeurs cérébrales à l’aide de l’imagerie par résonance magnétique, sont en train de mettre en place des outils et des applications pour la classification des cancers. Plus spécifiquement, pour les tumeurs du système nerveux central. Par conséquent, l’intelligence artificielle permet de faire cette classification par le biais de l’apprentissage automatique, d’autant plus par des algorithmes de l’apprentissage profond ou Deep Learning. L’objectif de cette étude est d’augmenter les performances des modèles de réseaux de neurones convolutifs, un type de réseaux de neurones artificiels multicouche pour classifier les images. En conséquence, la problématique posée est la suivante : Quels sont les traitements d’images et les paramètres sensibles lors de la l’implémentation des modèles avec les réseaux de neurones convolutifs, pour classifier des images médicales IRM de tumeurs cérébrales ? Tout d’abord, c’est primordial d’identifier une tumeur et son type et comprendre les traitements appliqués sur la base de données d’images IRM pour le diagnostic. Ensuite à se pencher sur le fonctionnement des réseaux de neurones convolutifs pour faire la classification sur ces images. Une tumeur cérébrale est un ensemble de cellules anormales du cerveau. En fait, les tumeurs sont classées par leurs localisation et agressivité de deux manières différentes. Alors, sont dites tumeurs bénignes ou malignes mais, en même temps primaires ou secondaires. Cependant, pour diagnostiquer une tumeur, l’imagerie par résonance magnétique permet de collecter des images du cerveau d’un patient en envoyant un champ magnétique. Une fois, ce processus accompli on peut créer un modèle connexionniste appelé aussi réseau de neurone convolutif.
  • 4. 4 L’approche suivis pour faire la classification des tumeurs cérébrales se repose, tout d’abord, sur l’implémentation des modèles de réseaux de neurones à convolutions. Ensuite, les entrainer sur une base de données d’images IRM, augmentée à l’aide d’un générateur de l’apprentissage automatique. Finalement, prédire une liste d’images pour évaluer les performances de ces modèles. Pour créer un modèle de réseaux de neurones convolutifs (CNN), maitriser son architecture et son paramétrage sont des bases fondamentales à ne pas négliger. Premièrement, un réseau de neurones convolutifs est un descendant des réseaux de neurones artificiels (ANN). Quant aux réseaux de neurones artificiels, ils sont inspirés des réseaux de neurones biologiques. Les neurones d’un ANN sont répartis en une ou plusieurs couches, ainsi, il est dit réseau de neurones profond s’il possède au moins deux couches. Afin de connecter les couches du réseau séquentiellement, les paramètres comme des poids et des biais définies lors de l’initialisation ; s’envoient par les neurones entre les différentes couches successives. Pour calculer la valeur de chacune des connexions entre deux neurones, le perceptron reste le pilier des réseaux artificiels de bout en bout. Non seulement, les réseaux de neurones convolutifs adoptent le principe de transfert de paramètres des réseaux de neurones profond, mais s’inspirent aussi du fonctionnement d’un cortex visuel pour l’extraction des caractéristiques et des formes d’un champ visuel. Pour illustrer de manière simple ce phénomène, les cellules simples font l’extraction des caractéristiques et les couches complexes les formes et les courbures. Respectivement, les couches simples et complexes sont définies comme des couches de convolutions et de pooling d’un réseau de neurones convolutif. Les couches essentielles d’un réseau convolutif sont donc, la couche d’entrée, les couches de convolution, les couches de pooling et une couche de classification ou de sortie. Quant aux restes des traitements, la couche d’entrée reçoit les images ou les données d’entrée et la couche de sortie s’en occupe de la classification à partir des caractéristiques extraites. Cependant, avant d’entrainer les réseaux, bien des paramètres sont à initialiser lors de la déclaration de chacune des couches. Premièrement, définir la taille des images d’entrées pour la couche d’entrée. Deuxièmement, la taille du noyau d’image et le pas de son avancement pour extraire les caractéristiques. Ensuite, la taille de la fenêtre de pooling et sa fonction d’activation pour extraire les formes depuis les caractéristiques de la couche de convolution. Dernièrement, le
  • 5. 5 nombre de classes pour la couche de classification et sa fonction d’activation catégorielle. Cette liste de paramètres n’est pas exhaustive mais capitale pour la construction d’un réseau de neurones couche par couche. Entrainer un réseau de neurone convolutif, revient à préparer une base de données d’images IRM au préalable. De ce pas, je collecte un jeu de données déjà traité et nettoyé contenant des images répertoriées plus au moins correctement. Malgré tout, je fais une analyse exploratoire de ces données, pour m’assurer que les répertoires des différentes tumeurs sont équivalents et les données sont bien des images de tumeurs correspondantes. Ensuite, je charge et affiche ces images aléatoirement via la bibliothèque pandas, tout en appliquant le générateur d’image pour avoir une base assez conséquente lors de l’entrainement du modèle. Il me reste plus qu’à diviser la base de données, en jeu de données d’entrainement, de validation et de test. Dès lors, j’implémente deux modèles de réseaux de neurones convolutifs. D’une part, un modèle CNN couche par couche en suivant le processus étalé en haut pour paramétrer les couches du modèle. D’autre part, un second modèle par transfert de connaissance du VGG16. Cette méthode me permet de récupérer une architecture robuste pour l’extraction de caractéristiques, car le modèle VGG16 est entrainé sur base de données massive (imageNet) [2]. Après quoi, je compile les modèles, à la suite de la vérification du nombre de paramètres entrainables pour chacun des deux. Puis, viens la partie de la configuration des fonctions de rappel pour les époques d’entrainement (système de sauvegarde, conditions d’arrêt et réducteur du taux d’apprentissage). Finalement, je lance l’entrainement de chaque modèle sur un certains nombre de périodes en lui passant comme paramètres, le jeu de données d’entrainement, un jeu de données pour la validation et les fonctions de rappel. Les deux modèles finissent leurs entrainements. Par conséquent, j’évalue dans un premier temps chacun des deux. Ensuite, je fais la prédiction sur le jeu de données de test et j’affiche les rapports de classification, les matrices de confusion, ainsi que les courbes d’apprentissage. Les résultats montrent que le modèle CNN couche par couche atteint une meilleure exactitude sur les données de test, par rapport au modèle VGG16 par transfert de connaissance. Néanmoins, cela ne signifie pas que le premier est meilleur, car les critères de performance de chacun des deux pour la classification d’un type de tumeur précise sont relatifs.
  • 6. 6 Somme toute, les deux techniques d’implémentation (CNN basique, transfert de connaissance) peuvent aboutir selon les données collectées à des performances meilleures pour classifier un type de tumeur particulier. Abstract A brain tumor presents a contingency diagnosis and treatment for medical facilities. In France, many organizations are developing medical data management systems, to help intelligent treatments applied increasingly within private and public health-care establishment. The database of the first AI medical imaging ecosystem, DRIM France IA [1], is one of the several projects to help diagnose and treat brain tumors. However, medical entities specialized in the diagnosis of brain tumors through magnetic resonance imaging, applies tools and applications to classify cancers, especially for tumors of the central nervous system. Therefore, artificial intelligence makes it possible, through machine learning and more particularly deep learning. The aim of this study is to increase the performance of convolutional neural network models, a type of deep neural network that processes images. The question, thus, is: What are the image processing and sensitive parameters when implementing models with convolutional neural networks, to classify medical MRI images of brain tumors? First, it’s highly important to define the tumors and its type as well as understand the treatments applied on the MRI image databases for diagnosis. Thus, to process convolutional neural networks for classification of these images. Brain tumors are a set of abnormal brain cells. In fact, brain tumors are classified by their location and aggressiveness in two different ways. First, the tumor is benign or malignant, second, primary or secondary. However, to diagnose a tumor, magnetic resonance imaging allows radiologists to collect images of a patient’s brain by sending a magnetic field. Once this process is complete, we can create a connectionist model known as convolutional neural network
  • 7. 7 The approach taken to classify brain tumors is based on the implementation of convolutional neural network models and then training them on an enhanced MRI image database using a machine learning images generator. Followed by a prediction of a list of images to evaluate the performance of these models. To create a convolutional neural network (CNN) model, mastering its architecture and configuration are fundamental bases that are not to be neglected. First, a convolutional neural network is a descendant of artificial neural networks. An artificial neural network is an artificial model inspired by the biological neural network. The neurons in the artificial neural network are grouped into one or more layers, thus it is called a deep neural network if it has two or more layers. To connect the network layers sequentially, parameters such as weights and biases are defined during initialization and are sent by the neurons of two succeeded layers. To calculate the value of each connection between two neurons, the perceptron remains the backbone of artificial networks from end to end. Not only, does CNN adopt the propagation parameters from deep neural networks, but it also bases itself of the functioning of a visual cortex to extract the characteristics and shapes of vison field. A simple way to illustrate this: simple cells extract characteristics, and the complex layers shapes and bends. Respectively, simple, and complex layers are defined as convolution and pooling layers of the convolutional neural network. Hence, convolutional neural network layers are the input layer, the convolution layers, the pooling layers and a classification or output layer. For the other processing, the input layer receives the images or input data, and the output layer classifies from the extracted characteristics. However, before training the networks, many parameters must be initialized when declaring each layer. Meaning, first the input size of images for the input layer. Second the kernel size of the image and his stride to extract the characteristics, then, the size of pooling’s window and its activation functions to extract the bends from the characteristics of the convolution layer. Finally, the number of classes for the output layer and its categorical activation function. This list of parameters is not exhaustive but crucial to build a convolutional neural network layer by layer. Before training models, it is crucial to prepare a database of MRI images. Currently, I am collecting an image dataset that is already somewhat processed and cleaned correctly. Nevertheless, I conduct exploratory analysis of the data to ensure that the directories are
  • 8. 8 equivalent, and overall, the data contains images of corresponding tumors. Then, I load and display these images randomly via the panda library, while applying data augmentation to have a database set for the training. Then, all I am left to do, is to split the database into a training and testing data set. From then on, I implement two models of convolutive neural networks. On the one hand, a CNN model layer by layer following the process spread out at the top to configure the layers of the model. On the other hand, a second model by knowledge transfer of the VGG16. This method allows me to recover a robust architecture for the extraction of characteristics, because the VGG16 model is driven on massive database (imageNet) [2]. After that, I compile the models, following the verification of the number of trainable parameters for each one. Then comes the part of the configuration of recall functions for training periods (backup system, shutdown conditions and reduction of learning time). Finally, I launch the training of each model over a certain number of periods by passing its parameters as: the training data set, a data set for validation and recall functions. Both models finish their training. Afterwards, I evaluate each of the two. Subsequently, I make the prediction on the test data set, then I post right after the classification reports, the confusion matrices, as well as the learning curves. The results show that the CNN layer-by-layer model achieves better accuracy on the test data compared to the VGG16 model by knowledge transfer. However, this does not mean that the former is better, as the performance criteria of each of the two for the classification of a specific type of tumor are relative. All in all, the two implementation techniques (basic CNN, knowledge transfer) can lead according to the collected data to better performances to classify a particular type of tumor.
  • 9. 9 Sommaire Remerciements...................................................................................................................................................2 Résumé................................................................................................................................................................3 Abstract ..............................................................................................................................................................6 Liste des figures ...............................................................................................................................................11 Liste des tableaux.............................................................................................................................................12 Liste des abréviations.......................................................................................................................................13 Introduction......................................................................................................................................................14 I Chapitre I : Les tumeurs cérébrales et aide au diagnostic .....................................................................16 I.1 Les tumeurs cérébrales........................................................................................................................16 I.1.1 Les types des tumeurs cérébrales................................................................................................16 I.2 Le diagnostic et les symptômes...........................................................................................................18 I.3 L’imagerie à résonance magnétique....................................................................................................19 I.3.1 Le processus d’une IRM.............................................................................................................19 I.3.2 L’IRM pour le diagnostic...........................................................................................................20 I.4 Le traitement des images médicales....................................................................................................21 I.4.1 Traitements classiques................................................................................................................21 I.4.2 Traitements intelligents ..............................................................................................................22 II Chapitre II : L’apprentissage profond.....................................................................................................23 II.1 Les réseaux de neurones biologiques ..................................................................................................23 II.1.1 Le neurone biologique................................................................................................................23 II.1.2 Le réseau de neurones biologiques.............................................................................................24 II.1.3 Du réseau de neurones biologiques vers le réseau de neurones artificiels..................................24 II.2 Les réseaux de neurones artificiels......................................................................................................25 II.2.1 Architecture................................................................................................................................25 II.2.2 Le perceptron..............................................................................................................................26 II.2.3 Les réseaux de neurones multicouche feed-forward...................................................................27 II.3 Les réseaux de neurones convolutifs (CNN).......................................................................................36 II.3.1 Architecture d’un CNN ..............................................................................................................38 II.4 L’apprentissage automatique ou le Machine Learning........................................................................47 II.4.1 L’apprentissage supervisé ..........................................................................................................48 II.4.2 L’apprentissage non supervisé et semi-supervisé.......................................................................53 II.4.3 Amélioration des performances..................................................................................................54 III Chapitre III : Implémentation des modèles et résultats .........................................................................58 III.1 L’environnement.................................................................................................................................58 III.1.1 Préparation de l’environnement..................................................................................................59 III.1.2 Installation et importation des bibliothèques..............................................................................59 III.2 Analyse exploratoire des données.......................................................................................................61 III.2.1 La base de données.....................................................................................................................61 III.2.2 Préparation des données .............................................................................................................63 III.3 Instanciation des modèles ...................................................................................................................66
  • 10. 10 III.3.1 Le modèle CNN couche par couche...........................................................................................66 III.3.2 Transfert de connaissances (Transfert Learning)........................................................................68 III.4 Entrainements......................................................................................................................................69 III.4.1 Compilation et fonctions de rappel.............................................................................................69 III.4.2 Entrainement des modèles..........................................................................................................70 III.5 Evaluation des performances ..............................................................................................................72 III.5.1 Evaluation du modèle CNN........................................................................................................73 III.5.2 Evaluation du modèle vgg16 par transfert de connaissances......................................................73 III.6 Prédictions et résultats.........................................................................................................................73 III.6.1 Le modèle CNN couche par couche...........................................................................................74 III.6.2 Le modèle VGG16 par transfert de connaissances.....................................................................75 III.7 Comparaisons des modèles .................................................................................................................77 III.8 Conclusion ............................................................................................................................................78 Conclusion générale.........................................................................................................................................79 Annexes............................................................................................................................................................82
  • 11. 11 Liste des figures Figure II.1: Schéma simplifié du neurone biologique ............................................................23 Figure II.2 : Graphe d’un réseau de neurones artificiels..........................................................25 Figure II.3 : Le perceptron simple (single-layer).....................................................................26 Figure II.4 : Le perceptron multicouche (PMC)......................................................................27 Figure II.5 : La fonction linéaire..............................................................................................30 Figure II.6 : La fonction positive (Relu)..................................................................................31 Figure II.7 : La fonction sigmoïde...........................................................................................31 Figure II.8 : La fonction tangente hyperbolique (tanh)............................................................32 Figure II.9 : Schéma du bloc de propagation...........................................................................35 Figure II.10 : Schéma de coupe sagittale(A) et radiale(B) de la rétine...................................37 Figure II.11 : Architecture générale d'un réseau de neurones convolutif (ConvNet) ..............38 Figure II.12 : Schéma de la représentation matricielle d'une image........................................39 Figure II.13 : Convolution sur une matrice à deux dimensions...............................................41 Figure II.14 : Schéma de convolution et activation matrice 3 canaux.....................................43 Figure II.15 : Schéma de pooling (MaxPooling) .....................................................................44 Figure II.16 : Schéma simplifié du processus machine learning. ............................................48 Figure III.1 : montage du contenu drive ..................................................................................59 Figure III.2 : Authentification au drive....................................................................................59 Figure III.3 : Importation des bibliothèques ............................................................................60 Figure III.4 : Arborescence du jeu de donnée (Brain Tumour MRI DataSet) .........................61 Figure III.5 : Chargement des données d'entrainement ...........................................................62 Figure III.6 : Chargement des données d'entrainement (DataFrame)......................................62 Figure III.7 : Statistique de chargement des données (tqdm) ..................................................63 Figure III.8 : Image par classe (affichage aléatoire)................................................................63 Figure III.9 : Affichage du DataFrame (chemins et étiquettes)...............................................64 Figure III.10 : Nombre d’images des jeux de données d'entrainement et de test ....................64 Figure III.11 : Générateur d'images (ImageDataGénérator)....................................................65 Figure III.12 : Le générateur d'images pour le jeu de données d'entrainement .......................66 Figure III.13 : Importation de bibliothèque pour l'instanciation du modèle............................66 Figure III.14 : Code pour implémentation du modèle CNN couche par couche .....................67 Figure III.15 : Nombre de paramètre du modèle CNN............................................................68 Figure III.16 : Importation de l'application VGG16................................................................68 Figure III.17 : Code du modèle VGG16 par transfert de connaissances .................................68 Figure III.18 : Nombre de paramètres pour le modèle VGG16(transfert de connaissances) ..69 Figure III.19 : Code de compilation.........................................................................................69 Figure III.20 : Les fonctions de rappel pour la phase d'entrainement......................................70 Figure III.21 : Lancement de l'entrainement du modèle CNN ................................................70 Figure III.22 : Fin d'entrainement du modèle CNN.................................................................71 Figure III.23 : Courbes de l’historique d’entrainement (CNN couche par couche) ................71 Figure III.24 : Lancement de l'entrainement du modèle vgg16 (transfert de connaissance) ...71 Figure III.25 : Fin d'entrainement du modèle vgg16 (Transfert de connaissances) ................72
  • 12. 12 Figure III.26 : Historique d’entrainement (VGG16 par transfert de connaissances)...............72 Figure III.27 : Evaluation du modèle (CNN couche par chouche)..........................................73 Figure III.28 : Evaluation du modèle (VGG16 par trasfert de connaissances)........................73 Figure III.29 : Rapport de classification (CNN couche par couhe) .........................................74 Figure III.30 : Matrice de confusion (CNN couche par couche) .............................................75 Figure III.31 : Rapport de classification (VGG16 transfert de connaissance).........................75 Figure III.32 : Matrice de confusion (VGG16 transfert de connaissances).............................76 Liste des tableaux Tableau II.1 Notations pour le perceptron multicouche ..........................................................28 Tableau II.2 Tableau des équations de la propagation en avant (forward-propagation) .........34 Tableau II.3 Tableau des équations de la rétropropagation .....................................................35 Tableau II.4 La matrice de confusion ......................................................................................50
  • 13. 13 Liste des abréviations IA : Intelligence Artificielle. Big Data : les données massives. Deep Learning : apprentissage profond. Machine Learning : apprentissage automatique. Big Data : les données massives. IRM : Imagerie par Résonance Magnétique. TDM : Tomodensitométrie. Tesla : unité de mesure du champ magnétique. ANN: Artificial Neural Network. DNN: Deep Neural Network. CNN : Convolutional Neural Network (réseau de neurones convolutifs). PMC : Perceptron Multicouche. MLP : Multi-Layer Perceptron. Relu : Rectified linear unit. Fully connected: complètement connecté. CEA : Commissariat à l’Energie Atomique et aux Energies Alternatives. INRIA : Institut National de Recherche en Informatique et en Automatique. IMAGES : groupe de recherche ( Image, Modélisation, Analyse, Géométrie, Synthèse) RGB: Red, Green, Blue. Padding: bordure. Stride : un pas d’avancement. Kernel : noyau. SGD: Stochastic Gradient Descent. MAE: Mean Absolute Error. MSE: Mean Square Error. RMSE: Root Mean Square Error. CPU : Central Processing Unit. GPU : Graphics Processing Units. Epoch : époque ou période. DataSet : jeu de données. Framework : une infrastructure logicielle. Transfert learning : transfert de connaissance
  • 14. 14 Introduction En France, près de 5900 nouvelles personnes atteintes de cancer du système nerveux central ont été diagnostiquées en 2018, selon l’institut national de recherche contre le cancer. De plus, chaque année, les diagnostics confirment près de 6000 patients atteints de tumeurs malignes du cerveau selon France Brain Institute. L’automatisation de la classification des tumeurs cérébrales est une technique adoptée par les structures médicales, pour faciliter le diagnostic. En effet, les modèles de l’apprentissage automatique, particulièrement les réseaux de neurones convolutifs sont fortement utilisés. Il est ainsi pertinent de s’intéresser à l’amélioration des performances de ces modèles. À la suite du décès de mon père atteint d’une tumeur de cerveau de type Glioblastome de grade IV et dans le cadre d’obtention d’un premier certificat en apprentissage profond et réseaux de neurones, ensuite un deuxième certificat pour le diagnostic médical ; je découvre la classification des images issues de l’imagerie par résonnance magnétique (IRM). Le soutient et l’encouragement de mon directeur de mémoire M. Bouzy et son orientation ont suscité en moi un intérêt face à la conjoncture actuelle en France, au tour de l’automatisation des diagnostics des tumeurs cérébrales. Les tumeurs de cerveau ne sont pas détectées assez facilement. Car, elles n’ont pas de symptômes spécifiques et les examens cliniques préliminaires ne suffisent pas pour conclure. De plus, il existe beaucoup de types de tumeurs cérébrales. C’est pourquoi il est très difficile de classifier à l’œil nu l’image d’un scanner (TDM) ou d’imagerie à résonnance magnétique (IRM). Ces tumeurs peuvent appartenir à la fois à deux catégories, selon 3 critères : l’agressivité, le type et la la localisation. Il en résulte, qu’une tumeur cérébrale est (primaire/secondaire) et (bénigne/maligne). Par conséquent, pour déterminer le type de la tumeur, les médecins font recours à l’extraction des tissus de cerveau (biopsie) en opérant le patient. Cette procédure provoque une accélération de la tumeur dans certains cas et demande beaucoup de temps et d’énergie afin d’aboutir à des résultats. C’est tout justement l’intérêt de faire appel à des techniques de diagnostic automatique basées tout simplement sur l’imagerie médical et les avis des médecins.
  • 15. 15 Les techniques classiques pour la classification des tumeurs cérébrales, demandent beaucoup de temps. En effet, la divergence des résultats d’un expert à un autre, rend la prise de décision pour le diagnostic et le traitement des taches fastidieuses. Cependant, l’intelligence artificielle apporte son soutient pour accomplir cette tâche à l’aide des modèles d’apprentissage automatique, plus particulièrement avec les réseaux de neurones convolutifs. Pour traiter ce sujet, j’ai établi un plan de recherche et d’expérimentation des réseaux de neurones convolutifs pour mieux comprendre leurs fonctionnements. Nous voudrions plus précisément, trouver les bons traitements des images IRM et les paramètres sensibles pour améliorer les performances des réseaux de neurones convolutifs. Afin d’implémenter des modèles CNN pour la classification ces tumeurs à l’aide des images IRM, j’ai consacré le premier chapitre pour introduire les tumeurs cérébrales, leurs types, les traitements classiques et intelligents d’images pour le diagnostic. Ensuite, un second chapitre pour les réseaux de neurones artificiels et les réseaux de neurones à convolutions, puis quelques éléments définitionnels de l’apprentissage automatique. Finalement dans le chapitre 3, une première partie pour les traitements d’exploration et d’analyse de données. Ensuite, une seconde partie pour comparer les résultats obtenus par des modèles des réseaux de neurones convolutifs. D’une part, un modèle créé couche par couche. D’autre part, un modèle créé par la technique de transfert de connaissances. L’objectif de cette comparaison, est de construire des architectures robustes pour atteindre de bonnes performances pour classifier les tumeurs de cerveau.
  • 16. 16 I Chapitre I : Les tumeurs cérébrales et aide au diagnostic Introduction Une tumeur cérébrale est une masse de cellules anormales qui se multiplient dans le cerveau de façon incontrôlée. Elles reprennent généralement le nom de cellules affectées ou identifiées comme origine du développement de la tumeur. Comme cela, les gliomes se développent à partir de cellules gliales (nourrissent et soutiennent les neurones) et les méningiomes à partir des méninges (enveloppes du cerveau) [3]. En effet, la tumeur de cerveau entraine des troubles différents selon la zone dans laquelle elle se développe chez le patient, puisque le cerveau est réparti en plusieurs zones pour la gestion des différentes activités (le langage, la mémoire, la circulation du sang, l’équilibre …etc.). Les tumeurs du cerveau constituent une urgence diagnostique et thérapeutique. Chaque année en France, près de 6000 personnes sont diagnostiquées avec des tumeurs primaires du cerveau : ce qui fait environ 2% de la totalité des cancers. De plus, 20% du nombre totale de personnes atteintes par ces tumeurs sont des enfants [4]. I.1 Les tumeurs cérébrales I.1.1 Les types des tumeurs cérébrales Les tumeurs cérébrales sont classées selon trois critères [5]: • La localisation • Le type • Le degré d’agressivité I.1.1.1 Classement par type et agressivité Les tumeurs cérébrales sont réparties en deux types principaux selon leur nature cancéreuse ou non [6]:
  • 17. 17 1. Les tumeurs cancéreuses dites malignes : difficiles à extraire par intervention chirurgicale, sans endommager les parties ou les tissus voisins. En plus de cette difficulté s’ajoute celle de les distinguer par des cellules qui se divisent et se croisent assez vite par rapport aux tumeurs de cerveau bénignes. Aussi, elles nécessitent un suivi régulier et des traitements épuisants pour le patient comme la radiothérapie et la chimiothérapie. 2. Les tumeurs non cancéreuses dites bénignes : peu agressives et se distinguent par une facilité d’extraction lors d’une chirurgie, car leurs cellules ne se mélangent pas aux tissus avoisinants et évoluent lentement. Dans le cas ou l’extraction partielle ou complète de la tumeur est réussie, le patient nécessiterait selon le cas un suivi radiologique s’il y a besoin. Toutefois, elles sont difficiles d’extraction au dépend de leurs localisations dans le cerveau du patient. I.1.1.2 Classement par localisation et agressivité : Aussi, ces tumeurs sont classées primaires ou secondaires selon leur origine local ou externe au cerveau [6] : 1. Les tumeurs primaires : Elles peuvent bénignes ou malignes ont pour origine des cellules anormales du cerveau. En effet, elles sont nommées par rapport à leurs cellules d’origines. De ce fait, les tumeurs malignes comme les gliales ou les gliomes sont primaires. Elles ont pour origine les cellules gliales et représentent près de 60% de la totalité des tumeurs cérébrales. Par ailleurs, les tumeurs dites primaires peuvent être bénignes (les méningiomes, les ostéomes …etc.) mais restent très rares. 2. Les tumeurs secondaires : Leurs provenances sont extérieures au cerveau, pour ainsi dire, l’origine de la tumeur ne peut définir à elle seule la dangerosité de la tumeur. Car les tumeurs secondaires dites aussi métastases sont issues des cancers (sein, poumon, colon, rein …etc.) extérieurs au cerveau. Par conséquent, ces tumeurs migrent vers le cerveau à travers le sang du patient. i. Les gliomes Le gliome reste le type de tumeur de cerveau la plus sévère, reconnu pour son agressivité et dit inguérissable ou à durée de vie très limitée. La durée de survie d’un patient atteint de gliome peut aller dans le meilleur des cas jusqu’à 7 ans grâce à l’avancement des
  • 18. 18 traitements biomédicaux et technologiques en l’occurrence l’intelligence artificielle. En revanche, la durée de survie d’un patient atteint d’un glioblastome plus particulièrement le grade IV est en moyenne de 2 ans. Les tumeurs de type gliome sont gradées de I à IV, où le grade exprime l’agressivité de la tumeur. De même, les gliomes sont encore répartis en deux catégories : les LGG pour les gliomes de bas grade et HGG pour les gliomes de haut grade incluant le glioblastome [7]. I.2 Le diagnostic et les symptômes Les symptômes ne sont pas spécifiques pour identifier une tumeur cérébrale. En fait, plusieurs examens médicaux sont à faire afin de poser un diagnostic. Les symptômes comme les maux de tête, les troubles de la mémoire, de l’élocution et de la vision sont les premiers symptômes qu’un patient présente lorsqu’il est atteint d’une tumeur cérébrale. En revanche, ces symptômes ne sont pas spécifiques à des tumeurs cérébrales. Ainsi, avant d’entamer la phase de diagnostic, le médecin procède dans un premier temps par des examens cliniques. Tout d’abord, le médecin commence à faire une première étude en interrogant le patient à propos de ses antécédents médicaux et de son passé, puis faire le lien avec son dossier médical. Puis pour mieux approfondir, il lui passe des examens cliniques pour connaitre et évaluer ses capacités physiologiques et intellectuelles. Pour cela, il évalue ses fonctions et sens comme l’ouïe, la vision, le toucher et d’autres fonctions plus spécifiques affectées par les symptômes afin de compléter un premier rapport [8] . Toutefois, le doute n’est toujours pas écarté en passant cette étape et le patient est amené à suivre la phase de diagnostic pour les tumeurs cérébrales. Dans cette phase d’examen, plusieurs techniques sont pratiquées pour identifier la tumeur ou écarter la probabilité que le patient soit atteint. Il existe plusieurs tests médicaux parmi lesquels j’en dénombre l’imagerie médical, la ponction lombaire, la biopsie. En outre, ce qui distingue l’imagerie médicale c’est son processus simple pour le diagnostic contrairement à la biopsie par exemple, qui consiste à prélever un tissu d’une zone tumorale à la suite d’une chirurgie lourde.
  • 19. 19 En bref, l’imagerie médicale permet de confirmer l’existence d’une tumeur ou non et dans le meilleur cas localiser la tumeur et sa taille. Les deux axes majeurs de l’imagerie médicale sont [9] : • Le scanner (tomodensitométrie ou TDM) : Cette technique consiste à envoyer des rayons X pour obtenir des images d’un ou plusieurs organes du corps du patient, en l’occurrence de la partie du corps concernée. En effet, elle est utilisée pour le cerveau afin d’identifier les différentes structures en injectant un produit dit de contraste et iodé pour détecter des anomalies. • L’imagerie par résonnance magnétique (IRM) : De plus en plus utilisées, cette technique donne plus de précision sur la tumeur (la localisation et la taille). Elle donne aussi une extension vers d’autres structure du système nerveux central et recueillir des données pour faciliter les traitements ultérieurs. Par conséquent, l’IRM est une technique qui tend aisément utilisable mais doit être complétée par le scanner pour des raison pratiques. I.3 L’imagerie à résonance magnétique I.3.1 Le processus d’une IRM L’IRM ou l’imagerie par résonance magnétique est un processus pour produire des images précises des tissus et des organes du patient, à l’aide d’un puissant champ magnétique. Les ondes radio ou les radiofréquences envoyées par faveur des aimants sont donc captées par des atomes d’hydrogènes. Alors, la partie du corps soumise à la résonance magnétique produit une énergie transmise à la machine, pour qu’elle puisse la traduire en images médicales [10]. Avant de soumettre le patient à l’IRM, bien des règles sont à respecter par le patient pour le bon déroulement de cet examen. Tout d’abord, le patient doit obligatoirement signer un formulaire pour informer de toute présence d’implant comme les prothèses, les valves cardiaques et stimulateurs. Il est aussi à mentionner la présence de tatouages ou de plombages, afin de ne pas occasionner la distorsion des images. Également, le formulaire doit comprendre l’ensemble des allergies et des chirurgies datant de moins de 3 mois. Toutefois, des implants tels que les plaques, les vissent et les tiges datant de plus de 4 semaines ne posent pas de problèmes lors de l’examen. De
  • 20. 20 même, prendre des médicaments, manger et boire n’affecte en rien sauf dans le cas d’une IRM abdominale. Ensuite, le technologue ou le radiologue doit s’assurer que le patient a les capacités physiques et mentales et du fait qu’il soit détendu, avant de l’allonger sur une table amovible dédiée à l’examen. En même temps, le radiologue prépare l’appareil et installe une antenne radio près ou sur la tête du patient en lui remettant des bouchons d’oreilles pour limiter l’atténuation des bruits ambiants. Finalement, le radiologue fait entrer le patient dans le tunnel pour commencer l’examen. Il commence par faire un teste de communication par un micro placé à l’intérieur l’appareil, car la durée de l’examen est considérable et estimée de 30 à 70 minutes. Si le test est bon, il commence l’examen en envoyant les ondes magnétiques. Aussi, il doit demeurer en communication avec le patient, le temps de la récolte des images pour s’assurer de l’aisance du patient. I.3.2 L’IRM pour le diagnostic Les images médicales 2D ou 3D issues de l’imagerie par résonance magnétique forment une partie importante du rapport du patient, que les médecins et les pathologistes analysent pour faire le diagnostic. Cette phase importante du diagnostique des tumeurs, offre aux spécialistes un premier aperçu des différents tissus du cerveau. Ainsi, ils peuvent détecter les lésions, leurs localisations et leurs volumes. Ces critères semblent être un point parmi tant d’autres d’un processus fastidieux pour les spécialistes, dans le but de décider sur la nature et l’origine de la tumeur et de son agressivité. L’IRM est utilisée depuis son émergence en 1970 pour révéler les détails anatomiques des tissus mous du cerveau. Elle demeure une des techniques standards de la caractérisation des tumeurs de cerveau. Bien que les modalités basiques de l’IRM soient fortement utilisées entre 1970 et 1990, les résultats restent non satisfaisants et les informations cliniques non exhaustives au vu de la variété des tumeurs cérébrales. Cependant, les chercheurs déploient des efforts titanesques au sein du CEA pour faire aboutir un champ magnétique de plus grande puissance. Ainsi, l’avènement des aimants supraconducteurs produisant des champs magnétiques de gros volume
  • 21. 21 et la venue de l’âge du numérique (IA et Big Data), ont bouleversé le domaine de l’imagerie médicale [11]. Premièrement, l’apparition de l’IRM fonctionnel, en 1990, d’un champ magnétique de 3 teslas mis en place pour étudier un cerveau malade ou saint fut un premier record. Ensuite, d’autres victoires entre 2000 et 2010 comme le projet Iseult et ses 11,7 teslas pour étudier des milliers des neurones dans le cerveau pour comprendre son fonctionnement. Entre temps, la naissance du centre de recherche en imagerie cérébrale « NeuroSpin » en 2007, qui a accueilli « INRIA » ; ce qui a conduit à la naissance de la librairie open-source de l’apprentissage automatique « Sckit-learn ». Finalement, l’irruption du Big data et de l’intelligence artificielle ont permit de mettre en œuvre des systèmes de diagnostic plus efficaces. D’une part, le Big Data avec son architecture de stockage et son système de calcul distribué facilite l’assemblement de gros volume de données. D’autre part, les techniques de l’intelligence artificielle permettent de construire des modèles de traitement automatiques et fiables pour les processus mis en place en radiologie. I.4 Le traitement des images médicales Le traitement des images a traversé deux époques totalement distinctes d’après les spécialistes. « Dans les années soixante, on a assisté à un fabuleux essor de la radiologie, en particulier des radiographies pulmonaires. À cette époque, en France, quelque 40 millions de radiographies étaient prises par an. » Autant d’images qu’il fallait ensuite analyser pour détecter des tumeurs, selon Henri Maître, professeur émérite du groupe IMAGES [12]. Bien avant l’apparition des méthodes de vision par ordinateur, le traitement des images était fait de façon expérimentale pendant de longues année en s’appuyant sur des méthodes classiques. I.4.1 Traitements classiques Le véritable essor de traitement des images était réalisé en 1980, lors de la formalisation de la détection de contour par David Marr [13]. Cette théorie est l’ancêtre de traitements classiques, en l’occurrence la segmentation répartie en deux approches [14] :
  • 22. 22 a) L’approche contour : consiste à regarder les points forts dans une image, à savoir le gradient. Dans le cas pratique, les régions détectées sont le résultat d’une discontinuité dans l’image. Ainsi, les bords de chacune des régions forment un contour. b) L’approche région : consiste initialement à regrouper un ensemble de pixels selon une certain distance, pour finalement les grouper en un ensemble dit « région ». Ensuite, la réunion de groupe de régions si cela améliore la segmentation. Ces approches ont donné naissance aux premiers algorithmes de traitements d’image de manière classique, et sont automatisées à l’air de l’intelligence artificiel. I.4.2 Traitements intelligents Outre l’intérêt général porté par le domaine de la médecine dans la vie quotidienne, il a toujours fait l’objet d’intérêt de la communauté scientifique, en l’occurrence, un terrain de de recherche bien ouvert au domaine de l’intelligence artificielle [15]. La croissance des volumes, la complexité, et la variété des données de la santé font de ce domaine un sujet d’étude infini. Afin de minimiser la complexité et venir en aide, l’IA s’appuie sur ces données théoriques et des modèles mathématiques pour produire des informations exploitables. L’intelligence artificielle se porte sur des modèles diversifiés de traitement pour apporter des solutions concrètes. Au même titre, elle nous permet en tant que scientifiques, chercheurs et contributeurs, de modéliser des problématiques dans le domaine de la médecine plus spécifiquement. Parmi tant d’autres problématiques, le traitement des images pour le diagnostic des tumeurs de cerveau, tout en utilisant des modèles algorithmiques afin d’obtenir les meilleurs résultats. Le besoin d’obtenir des résultats pertinents n’est pas toujours satisfait, et les tâches deviennent répétitives et nécessitent plus de ressources mentales que le médecin ne peut satisfaire par exemple. En effet, l’intelligence artificielle fournis les outils et les technologies très variées et assiste l’être humain pour mieux aboutir aux résultats attendus. De la sorte, des modèles de l’apprentissage profond (Deep Learning) et l’apprentissage automatique (Machine Learning) sont introduits pour apporter des solutions dans le diagnostic des maladies rares, en l’occurrence les tumeurs cérébrales.
  • 23. 23 II Chapitre II : L’apprentissage profond Introduction L’apprentissage profond est un sous-domaine de l’apprentissage automatique. En effet, les algorithmes de l’apprentissage profond son principalement une adaptation des réseaux de neurones biologiques. II.1Les réseaux de neurones biologiques II.1.1 Le neurone biologique Le neurone biologique est une cellule vivante d’un être animal. Cette cellule peut prendre différentes formes (pyramidale, étoilée ou sphérique) définie par une membrane qui sépare l’intérieur du neurone de son extérieur. Une représentation simplifiée du neurone biologique est présentée dans le schéma de la figure II.1 [16]. En effet, un neurone biologique est composé de : • Soma : appelé aussi péricaryon, qui représente le corps du neurone. • Dendrites (les afférences) : est la structure d’entrée du neurone permettant de récupérer les signaux transmis par d’autres neurones. • Axone (l’efférence) : la structure de sortie du neurone, définie comme le prolongement unique pour diffuser le signal vers d’autres cellules. - Synapses : sont les connexions ou les points de jonction entre l’axone du neurone émetteur et les dendrites du neurone récepteur. En d’autres termes, les synapses forment les connexions entre différents neurones. Figure II.1: Schéma simplifié du neurone biologique
  • 24. 24 Pour résumer, un neurone biologique est une cellule vivante du système nerveux. Cette dernière est composée de deux axes de prolongement (un axone, des dendrites) et des synapses de connexion. II.1.2 Le réseau de neurones biologiques Le réseau de neurones biologique est un ensemble de cellules nerveuses interconnectées, par la transmission de signaux chimiques et électriques. Le cerveau humain est un exemple concret de réseau de neurones biologique, ayant en moyenne 86 milliards de neurones, d'après Suzanna Herculano-Houzel (chercheuse à l’université fédérale de Rio de Janeiro). De plus, les réseaux de neurones biologiques sont formés à la suite des connexions synaptiques établies par un neurone avec d’autres milliers de neurones (entre 1000 et 10000 synapses), ce qui fait près de 10 000 milliards de synapses dans un 1 𝑐𝑚3 du cerveau d’un être humain [17]. Par ailleurs, autre que les cellules nerveuses (neurones), le système nerveux est composé aussi de cellules gliales. Elles assurent la structuration du cerveau, en soutenant le réseau de neurones, en éliminant tous les rejets pour nettoyer les neurones. De plus, les cellules gliales entourent les axones des neurones afin d’accélérer la conduction de signaux, émient à d’autres neurones pas les synapses. Cependant, le principe fondamental de système connexionniste de l’être humain est une cognition qui relève de l’interaction du système nerveux grâce à des couches de neurones périphériques, avec son environnement. Par conséquent, les systèmes nerveux biologiques moins précablés comme le cerveau de l’être humain, s’adaptent lentement à leur environnement contrairement aux systèmes précablés génétiquement. Par exemple, les mammifères ont la capacité de marcher, reconnaître, fuir dès leurs naissances contrairement à un nouveau-né humain [18]. Somme toute, malgré cette simplification de la présentation des réseaux de neurones biologiques pour mieux les appréhender, nous pouvons d’or et déjà nous persuader de la difficulté d’interpréter le principe connexionniste et sa complexité dimensionnelle. II.1.3 Du réseau de neurones biologiques vers le réseau de neurones artificiels Le psychologue américain Franck Rosenblatt, s’est inspiré des études de recherches faites en neurosciences et psychologie pour proposer un modèle mathématique qui copie le comportement du neurone biologique.
  • 25. 25 Pour cela, il reprend l’idée du neurone artificiel proposée en 1943, par les deux cybernéticiens et neuroscientifiques américains Maren McCulloch et Walter Pitts. Leur présentation est de calculer la somme pondérée des activités du neurone. Si cette somme est inférieure à un certain seuil défini, le neurone reste inactif. Dans le cas contraire, le neurone produit une sortie, qui sera ensuite transmise aux neurones de connexion [19]. En outre, Franck Rosenblatt ajoute une nouvelle technique permettant à la machine de mieux apprendre, en modifiant les poids issus des résultats de calcule de la somme pondérée pour chaque neurone. En conséquence, il s’inspire des connexions synaptiques du neurone biologique pour inventer en 1957, le perceptron simple, un ancêtre des machine apprenantes. II.2Les réseaux de neurones artificiels La conception des réseaux de neurones artificiels (ANN) ou formels est inspirée des réseaux de neurones biologiques. Ainsi, un ANN est défini comme modèle connexionniste pour les machines apprenantes avec une adaptation rudimentaire des traitements synaptiques. II.2.1 Architecture La structure des réseaux de neurones artificiels est décrite par un graphe orienté, dont les nœuds sont les noyaux des neurones et les arcs leurs connexions [20]. La figure II.2 montre un graphe d’un réseau de neurones artificiels de 7 neurones. Figure II.2 : Graphe d’un réseau de neurones artificiels Une couche d’un ANN est composée d’un ensemble de nœuds. Pour chaque couche, les sorties de la couche N-1 deviennent les entrées de la couche N. Exceptionnellement, la couche d’entrées reçoit les valeurs de données de l’objet du traitement. U U U U U U U 𝑒1 𝑒2 𝑒3 𝑒4 S
  • 26. 26 Le schéma de la Figure II.2 ci-dessus montre une modélisation d’un réseau de neurone artificiel avec les entrées (e1, e2, e3, e4), l’ensemble des connexions (les arcs du graphe), les nœuds intermédiaires du réseau et la sortie « S ». Les couches d’un réseau de neurones artificiels sont : • Une couche d’entrées (Input layer) • Des couches cachées (Hidden layers) • Une couche de sorties (Output layer) Cependant, un réseau de neurones artificiels est appelé réseau de neurones profond (DNN) s’il possède au moins 2 couches cachées. II.2.2 Le perceptron Le perceptron est un modèle linéaire de classification binaire, avec des connexions entre les entrées et la sortie. Cependant, le résultat de la somme pondérée de la multiplication de chacune des entrées 𝑥𝑖 par les poids 𝑤𝑖 correspondante est classée 0 ou 1 par une fonction d’activation. Le neurone artificiel introduit par McCulloch et Pitts est définie comme un modèle simplifié du perceptron. En d’autres termes, c’est un perceptron monocouche (single- layer) d’une fonction à échelon de seuil θ, pour calculer le résultat de la classification binaire [16]. Figure II.3 : Le perceptron simple (single-layer) Le schéma de la figureII.3 représente le perceptron monocouche (single-layer) issu du modèle formel de McColluch et Pitts. En fait, le neurone reçoit en entrée X (x1, x2, x3, …, xn) et calcule le résultat f(X). ෍ 𝑥𝑖𝑤𝑖 𝑛 𝑖=1 𝑤1𝑖 𝑤2𝑖 𝑤𝑛𝑖 𝑥1 𝑥2 ⬚ 𝑥𝑛 Seuil 𝜃𝑗 Classification du perceptron Outputs Entrées Poids Fonction à échelon Somme pondérée
  • 27. 27 f(X) = ∑ 𝑥𝑖𝑤𝑖 𝑛 𝑖=1 Si f(X) > θ alors : s = 1, sinon : s = 0. Le perceptron monocouche créé par Franck Roseblatt, demeure une des solutions de classification linéaire, afin de calculer les poids des connexions synaptiques entre la couche des entrées et la couche de sortie. Néanmoins, Minsky et Papert ont bien illustré ses limites dans leur livre « Perceptrons : une introduction à la géométrie computationnelle » publié en 1969. En particulier, le fait que le perceptron monocouche soit incapable de résoudre des problèmes non linéaires produit un échec dans l’entrainement réseaux de neurones artificiels. II.2.3 Les réseaux de neurones multicouche feed-forward Le réseau de neurones multicouche est un réseau de neurones artificiels, avec une couche d’entrée, une ou plusieurs couches cachées et une couche de sorties. De plus, chaque neurone du réseau est un perceptron multicouche. II.2.3.1 Le perceptron multicouche Le perceptron multicouche est similaire à son prédécesseur, le perceptron simple. En revanche, la fonction d’activation répond mieux aux problèmes de classifications non linéaires, en remplaçant ainsi la fonction à échelon du perceptron monocouche. Ci-après une représentation du perceptron multicouche (PMC ou MLP) [16]: Figure II.4 : Le perceptron multicouche (PMC) Le neurone de PMC est composé de : • Un vecteur X de n entrées • Une fonction d’activation, 𝑇 ∶ ℝ → ℝ • Un vecteur de poids W ෍ 𝑤𝑖𝑋 𝑛 𝑖=1 + 𝑏𝑖 T 𝑤1𝑖 𝑤2𝑖 𝑤𝑛𝑖 Activations (Sortie ai) Connexions Poids Fonction d’activation (Fonction de transfert) Neurone i La somme pondérée
  • 28. 28 • Un vecteur de biais b (est nulle pour simplifier le modèle) En effet, le neurone fait le calcule suivant : 𝑨 = 𝑻( 𝒁 ) Avec : { 𝑋 = [𝑥1, 𝑥2, 𝑥3, … , 𝑥𝑛] 𝑍 = [𝑧1, 𝑧2, 𝑧3, … , 𝑧𝑛] 𝐴 = [𝑎1, 𝑎2, 𝑎3, … , 𝑎𝑛] 𝑊 = [ 𝑤0,0 ⋯ 𝑤0,𝑚 ⋮ ⋱ ⋮ 𝑤0,𝑚 ⋯ 𝑤𝑛,𝑚 ] et Z = W X + b C-à-d : Z = ∑ (𝑤𝑖𝑋 𝑛 𝑖=1 + 𝑏𝑖) avec : 𝒛𝒊 = 𝑤𝑖𝑋 + 𝑏𝑖 𝑨 = 𝑻( 𝒁 ) avec : 𝒂𝒊 = T(𝒛𝒊 ) = 𝑇(𝑤𝑖𝑋 + 𝑏𝑖) Notation Signification Z Le résultat de la somme pondérée X Le vecteur d’entrée du neurone W La matrice de poids du neurone b Le vecteur de biais A Les résultats de la fonction de d’activation Tableau II.1 Notations pour le perceptron multicouche a) Les poids : Les poids sont les connexions entre les couches d’un réseau de neurones, noté mathématiquement par W et représentés par des arcs dans un graphe. Également, les poids W du réseau de neurones sont définis par une matrice initialisée par des valeurs réels et aléatoires
  • 29. 29 entre 0 et 1. Cette matrice de poids W est mise à jour lors du processus l’entrainement du réseau de neurones. Le but de définir les poids dans les réseaux de neurones, est d’améliorer les résultats et converger vers une précision meilleure. b) Les biais : Les biais sont les valeurs scalaires ajoutées aux entrées du neurone, afin de s’assurer que quelques nœuds de la couche sont activés. Comme le poids, ce scalaire noté b est aussi mis à jour pour améliorer la performance d’un réseau de neurones lors du processus d’entrainement. II.2.3.2 Les fonctions d’activation Les fonctions d’activation transforment les résultats de la somme pondérée des entrées, à l’aide des poids et biais. Dès lors, ces résultats produit par cette transformation deviennent à leurs tour les entrées d’un neurone de la couche suivante du réseau. Généralement, les fonctions d’activation dites non linéaires normalisent les valeurs de la sortie de la somme pondérée en nombres réels compris entre 0 et 1 ou bien entre -1 et 1. Tandis que, les fonctions d’activation linéaires produisent un basculement brutal de la sortie du neurone : en passant de -1 à 1 ou vice-versa lors de changements suffisants des poids et biais de la couche précédente. De fait, un neurone est activé s’il transmet une valeur non nulle pour le neurone suivant. Ainsi, les activations sont les valeurs transmises pour la couche suivante par chacune des couches précédentes. En bref, les fonctions d’activations sont utilisées afin d’introduire la modélisation de la propagation non linéaire entre les couches d’un réseau de neurones. Parmi les fonctions d’activation non linéaire, la famille des fonctions sigmoïdales. En d’autres termes, les courbes de cette famille ressemblent à la lettre S. Ci-après, nous allons nous pencher sur quelques définitions de fonctions d’activation [16] : a) La fonction linéaire : Les fonctions d’ordre linéaire comme leur nom le signifie, sont toutes des fonctions ou des variables indépendantes en relation directe avec les variables dépendantes. L’exemple
  • 30. 30 le plus concrète dans les réseaux de neurones sont les neurones binaires appelés aussi le perceptron simple. Une fonction linéaire est représentée par l’équation suivante : La figure suivante est un tracé de la fonction f(x) = ax avec a = 0.1 Figure II.5 : La fonction linéaire c) La fonction partie positive (Relu) : La fonction positive appelé aussi la fonction linéaire rectifiée (Relu), élimine toutes les valeurs négatives. C’est-à-dire, le résultat de la sortie de la somme pondérée est classé 0 ou x. Donc, le résultat de sortie de cette fonction est le maximum entre le résultat de la somme pondérée et 0. Ce résultat produit un changement brutal et les petites modifications des paramètres comme le poids et le biais ne sont pas prises en comptes par le réseau de neurones. En effet, la fonction positive Relu est interprétée mathématiquement par la fonction : Cette équation a pour solution : { 𝑓(𝑥) = 0, 𝑠𝑖 𝑥 < 0 𝑠𝑖𝑛𝑜𝑛 𝑓(𝑥) = 𝑥 𝑓(𝑥) = max (0, 𝑥) 𝑓(𝑥) = ax
  • 31. 31 Le figure suivante est le tracé de la fonction positive f(x) : Figure II.6 : La fonction positive (Relu) d) La fonction sigmoïde : La fonction sigmoïde passant de 0 à 1 continuellement, est une des fonctions non linéaires de la famille des Sigmoïdes. De ce fait, les sorties de cette fonction sont des probabilités indépendantes pour chacune des classes du réseaux de neurones. Figure II.7 : La fonction sigmoïde L’équation mathématique tracée dans la figure II.7 est définie par la fonction sigmoïde suivante : 𝑓(𝑥) = 1 1+𝑒−𝑥
  • 32. 32 Cette équation a pour solution : { lim 𝑥→ +∞ 𝑓(𝑥) = 1 lim 𝑥→ −∞ 𝑓(𝑥) = 0 𝑓(𝑥) = 0.5 𝑠𝑖 𝑥 = 0 e) La fonction tangente hyperbolique (tanh) : La tangente hyperbolique, est d’un comportement similaire à la fonction sigmoïde. En revanche les valeurs de sorties comprises entre -1 et 1. La fonction tangente hyperbolique est égale au ratio de sinus hyperbolique et cosinus hyperbolique, définie par l’équation suivante : Cette équation a pour solution : { lim 𝑥→ +∞ 𝑓(𝑥) = 1 lim 𝑥→ −∞ 𝑓(𝑥) = −1 𝑓(𝑥) = 0 𝑠𝑖 𝑥 = 0 La figure suivante représente le graphe de cette fonction : Figure II.8 : La fonction tangente hyperbolique (tanh) f) La fonction exponentielle normalisée (Softmax) : La fonction exponentielle normalisée, est une généralisation de la fonction sigmoïde. Souvent utilisée pour résoudre des problèmes d’ordre multi-classes, tant dis que la fonction sigmoïde est appliquée pour la classification binaire (ex : prédire si une image est classée comme tumeur ou non). 𝑓(𝑥) = sinh(𝑥) cosh(𝑥)
  • 33. 33 Afin de calculer le résultat de prédiction de chacune des entrées (sommes pondérées), cette fonction prend en entrée le vecteur V de taille K. Ensuite, calcule un ratio des entrées par la formule suivante : Pour sélectionner le meilleur score depuis la liste des K résultats calculé par S(Z), nous appliquons la fonction argmax. Alors, la fonction argmax(S(Z)) retourne les meilleures valeurs de Z pour lesquelles la fonction S atteint son maximum. Le résultat est défini par l’équation suivante : II.2.3.3 La propagation et les réseaux profonds Pour rappelle, la fonction de coût et le gradient sont définie dans la partie dédiée pour l’apprentissage automatique. Pour en résumer, la fonction de coût est la somme des différences entre les sorties réelles et les sorties désirées. Ensuite, les dérivées partielles calculées par la descente du gradient sont soustraites des paramètres respectifs des neurones de la couche concernée. g) La propagation en avant (forward-propation) : Dans le titre précédent consacré pour les réseaux de neurones multicouches feed- forward, j’ai défini l’ensemble des paramètres et hyperparamètres indispensables pour propager les résultats des neurones d’une couche vers la couche suivante ; c’est la méthode de propagation en avant (forward-propagation). Pour l’essentiel, c’est le fait de propager les résultats entre différentes couches du réseau en allant de la couche d’entrée vers la couche de sortie d’un réseau de neurones multicouches [21]. 𝑆(𝑧)𝑗 = 𝑒𝑧𝑗 ∑ 𝑒𝑧𝑗 𝑘 𝑗=1 𝑝𝑜𝑢𝑟 𝑡𝑜𝑢𝑡 𝑗 ∈ {1,2,3, … , 𝐾} 𝑅𝑒𝑠𝑢𝑙𝑡𝑎𝑡 = 𝑎𝑟𝑔𝑚𝑎𝑥(𝑆(𝑍)) = 𝑆−1 ({𝑚𝑎𝑥 𝑆})
  • 34. 34 En outre, nous allons reprendre les équations de la somme pondérée (couche linéaire) et la fonction d’activation (couche non linéaire) et leurs notations, pour modéliser ce phénomène de propagation en avant : Un exposant ([𝑙]) est ajouté pour différencier la couche de traitement de la couche précédente. Tableau II.2 Tableau des équations de la propagation en avant (forward-propagation) h) La propagation en arrière (rétropropagation) Afin d’entrainer les réseaux de neurones multicouches de bout en bout, les chercheurs ont trouvé une manière simple pour calculer le gradient du coût de la fonction. Il s’agit de la méthode de la rétropropagation du gradient découverte au milieu des années 1980 [19]. Cette méthode permet de mettre à jour les paramètres (poids, biais et activations) du réseau lors de son entrainement pour minimiser le coût depuis la couche de sortie jusqu’à celle d’entrée. La propagation en arrière appelée également rétropropagation (back-propagation en anglais) en demeure utilisée dans presque tous les réseaux de neurones multicouches, ce qui fait qu’elle soit un pilier de l’apprentissage profond. Parallèlement à la propagation en avant, la rétropropagation est composée de deux formules qui sont les dérivées partielles de la fonction de coût par rapport aux résultats de la somme pondérée et de la fonction de transfert. Le tableau suivant montre les dérivées partielles de la fonction de coût par rapport à la somme pondérée et la fonction d’activation, appliquées lors de la rétropropagation de gradient [21]. Propagation en avant Couche de somme pondérée 𝑍[𝑙][𝑖] = ෍ 𝑊[𝑙][𝑖, 𝑗] ∗ 𝐴[𝑙−1] [𝑗] 𝑚 𝑗=1 Couche de fonction transfert 𝐴[𝑙][𝑖] = 𝑇[𝑙] (𝑍[𝑙][𝑖])
  • 35. 35 Rétropropagation Couche de somme pondérée 𝑑𝐶 𝑑𝐴[𝑖] = ෍ 𝑤[𝑖, 𝑗] ∗ 𝑛 𝑖=1 𝑑𝐶 𝑑𝑍[𝑖] Couche de fonction transfert 𝑑𝐶 𝑑𝑍[𝑖] = 𝑇′(𝑍[𝑖]) ∗ 𝑑𝐶 𝑑𝐴[𝑖] Tableau II.3 Tableau des équations de la rétropropagation II.2.3.4 Le bloc de propagation Les deux techniques de propagation du gradient que sont la propagation en avant et en arrière sont mutuellement complémentaires. D’abord, pour l’entrainement d’un réseau de neurones profond de bout en bout, puis pour minimiser la fonction de coût. Le vas et vient engendré par ces deux méthodes lors des itérations de la phase d’entrainement du réseau de neurones, unifie la tache de propagation en un seul bloc. Le schéma de la figure II.9 est une modélisation du bloc de propagation [21]: Figure II.9 : Schéma du bloc de propagation Le bloc de propagation fait donc partie intégrante du processus d’entrainement d’un réseau de neurones multicouches afin de mettre à jour les paramètres du réseau. Ces paramètres améliorés lors de l’entrainement serviront lors de chaque itération à calculer le coût d’apprentissage et le minimiser. 𝐴[0] 𝐴[1] 𝐴[2] 𝐴[𝐿] 𝐴[𝐿−1] 𝑑𝐴[1] 𝑑𝐴[2] 𝑑𝐴[𝐿] 𝑑𝐴[𝐿−1] 𝑌 ෠ 𝑑𝑊[1] , 𝑑𝑏[1] 𝑊[2] , 𝑏[2] 𝑑𝑍[2] 𝑊[1] , 𝑏[1] 𝑑𝑍[1] 𝑊[𝐿] , 𝑏[𝐿] 𝑑𝑍[𝐿] 𝑑𝑊[2] , 𝑑𝑏[2] 𝑑𝑊[𝐿] , 𝑑𝑏[𝐿] 𝑊[2] , 𝑏[2] 𝑊[1] , 𝑏[1] 𝑊[𝐿] , 𝑏[𝐿] ... …
  • 36. 36 Bien que les réseaux de neurones multicouches soient populaires et fournissent des résultats très prometteurs pour résoudre des problématiques polynomiales ou de régression. Néanmoins, ils ont des inconvénients quand il s’agit de traitement d’images. D’une part, leurs incapacités à traiter correctement des données de type image, comme l’extraction des courbures : un inconvénient majeur pour accomplir des tâches de vision par ordinateur. D’autre part, ils se repose sur le principe de couches adjacentes, sans lesquelles, ils ne sont pas complètement connectés. Par ailleurs, les réseaux de neurones convolutifs sont complètement connectés sans faire recourt au principe de couches adjacentes. De plus, ils ont pour avantage l’invariance de la transposition des données traitées, ce qui favorise l’extraction des caractéristiques comme les contours des formes lors du processus d’entrainement. Ces critères pour comparer des réseaux de neurones font un premier aperçu pour mieux comprendre l’utilité d’une architecture convolutive inspirée du modèle biologique du cortex visuelle chez les mammifères. II.3Les réseaux de neurones convolutifs (CNN) Introduction Les réseaux de neurones convolutifs sont inspirés de l’architecture du cortex visuel chez les animaux. En effet, les couche de ces réseaux sont une adaptation des couches de la rétine au même titre que leurs prédécesseurs (les réseaux de neurones multicouches feed-forward) inspirés des neurones biologiques du système nerveux central. Le cortex visuel primaire appelé aussi « air V1 » se situe dans la région occipitale de notre cerveau. Entre autres, il reçoit les informations rétiniennes véhiculées par la voie du système visuel. Cette aventure pour étudier le cortex visuel chez les animaux, avait déjà commencé en 1953 par Stephen Kuffer au tour des propriétés réactionnelles des cellules nerveuses rétiniennes et leur distinction. Cette distinction est basée sur le fait que les cellules répondaient différemment à des rayons lumineux présentés dans le champ récepteur. Ensuite, David Hubel et Torsten Wiesel ont examiné les propriétés des neurones de structures visuel, en 1962, et cela à l’aide d’enregistrement par micro-électrodes. Lors de leurs expérimentations, ces deux précurseurs distinguent alors trois types génériques de cellules (cellules simples, complexes et hypercomplexes). Premièrement, les cellules simples sont présentées comme extracteurs de
  • 37. 37 caractéristiques du champ récepteur et sensibles aux stimuli. Deuxièmement, les cellules complexes indépendantes des cellules simples et non sensibles aux stimuli, et finalement, les cellules hypercomplexes sensibles aux courbures. Afin de compléter les recherches de Hubel et Wiesel sur les relations entre les différentes cellules, Andelson et Bergen (1985) proposent que les cellules complexes calculent la somme moyenne des sorties des cellules simples, ainsi, elles établissent les connexions entre ces deux types de cellules indépendantes. Bien que ces recherches pour identifier les cellules simples et les cellules complexes d’un cortex visuel étaient fondamentales, d’autres examens et recherches ont été réalisés sur la rétine. Toutefois, afin de conclure sur l’architecture multicouches de la rétine, un examen des coupes radiale et sagittale ont permit d’identifier les différentes couches qui la composent. Pour simplifier cette composition, le schéma suivant présente une coupe sagittale (A) pour distinguer les différentes régions ; et radiale (B) pour différencier les différentes couches importantes de la rétine. Figure II.10 : Schéma de coupe sagittale(A) et radiale(B) de la rétine D’emblée, les définitions assez explicites des éléments de l’architecture du cortex visuel sont primordiales à l’établissement de l’architecture formelle des différentes couches d’un réseau de neurones convolutif. Ensuite, étudier le phénomène de propagation entre les différentes couches. En définitif, les réseaux de neurones convolutifs sont reconnus pour leurs efficacités à traiter des images. Cette famille des réseaux de neurones a pour théorie primordiale, celle de la convolution, qui reste un sujet de prédilection lors du processus d’entrainement.
  • 38. 38 En conséquence, lors du processus d’entrainement, ces modèles de réseaux convolutifs atteignent des résultats meilleurs tout en utilisant un nombre très restreint de paramètres. Contrairement, le nombre de paramètres explose et tend rapidement vers des millions, lors de l’entrainement de réseaux de neurones multicouches feed-forward. II.3.1 Architecture d’un CNN L’architecture des CNNs est inspirée du cortex visuel des animaux. De la sorte, les cellules du cortex sont modélisées par les couches du réseau de neurones à convolutions. En l’occurrence, les filtres ou les noyaux d’image sont adaptées de l’architecture des sous-régions du champs visuel. Les réseaux de neurones convolutifs sont composés de trois types de couches : • La couche d’entrée • Les couches d’entrainement (convolution, activation et pooling) • Les couches de classification En effet, l’architecture d’un ConvNet est globalement identifiée par ces trois couches, comme la représente la figure suivante [16]: Figure II.11 : Architecture générale d'un réseau de neurones convolutif (ConvNet) II.3.1.1 Les couches des réseaux de neurones convolutifs a) La couche d’entrée La couche d’entrée d’un réseau convolutif est la première couche qui sert à charger les données de traitement. Souvent, cette couche prend pour taille celle de l’image, ainsi elle est configurée pour recevoir une matrice de nombre réels ayant pour dimension (n, n). Convolution Convolution Pooling Activation Activation Pooling Couche d’entrée Couches d’entrainement Couches de classification Complétement connectées Entrées
  • 39. 39 Pour mieux adapter et généraliser les concepts fondamentaux aux traitements des images, j’ai décidé de me pencher sur une matrice carrée d’une hauteur et largeur égales. Les dimensions de la matrice carrée sont : • n : la hauteur, et la largeur de la matrice • nc : le nombre de canaux de la matrice (dimension de la matrice), appelé aussi profondeur de la matrice. Par exemple, une image en couleur de 100 pixels (10px * 10px) est reçue comme étant une matrice M de dimensions n = 10 et nc = 3 (canaux de couleurs rouge, vert et bleu). Figure II.12 : Schéma de la représentation matricielle d'une image La représentation matricielle de la figure II.12, montre comment la couche d’entrée d’un réseau de neurone convolutif interprète la matrice de l’image sous forme d’un tableau de 3 tableaux, chacun de dimension (10 x 10). Cette matrice de nombres réels sera la porte d’entrée de notre réseau pour extraire les caractéristiques de l’image. Alors, les caractéristiques de notre image (les traits horizontaux et verticaux ainsi que les courbures) sont extraites par les couches de convolution du CNN. b) La couche de convolution La couche de convolution est la première couche d’un bloque d’entrainement du réseau de neurones convolutif. Elle a pour tâche l’extraction de caractéristiques primaires depuis la couche d’entrée ou d’un bloque d’entrainement précédent. 10 10 3 Image Matrice ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ቎ 𝑥[0]0,0 ⋯ 𝑥[0]0,9 ⋮ ⋱ ⋮ 𝑥[0]9,0 ⋯ 𝑥[0]9,9 ቏ ቎ 𝑥[1]0,0 ⋯ 𝑥[1]0,9 ⋮ ⋱ ⋮ 𝑥[1]9,0 ⋯ 𝑥[1]9,9 ቏ ቎ 𝑥[2]0,0 ⋯ 𝑥[2]0,9 ⋮ ⋱ ⋮ 𝑥[2]9,0 ⋯ 𝑥[2]9,9 ቏ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬
  • 40. 40 La convolution est définie par l’application d’un ou plusieurs filtres sur chacun des canaux de couleurs de la matrice d’entrée. En fait, elle est décrite mathématiquement par le produit matriciel des filtres et les sous-régions filtrées de la couche précédente. Afin de mieux modéliser la convolution des couches d’un réseau CNN, bien des hyperparamètres sont à définir pour introduire le phénomène de rétropropagation. Parmi les hyperparamètres à utiliser lors de la phase de convolution, on en dénombre les filtres et les cartes de caractéristiques [21] : • Le filtre (le noyau) : est la matrice de poids W. Les tailles (hauteur et largeur) du filtre sont inférieurs ou égales à celles de la matrice d’entrée. • La carte de caractéristiques (features) : est la matrice résultante de la convolution d’une sous-région (feature ou image) par un filtre. Filtrer une image de couleurs RGB revient à entreposer le bloque de filtres, dont un filtre par canal de couleur. En effet, le bloque de filtres est une matrice de dimensions (f, f, 3), avec f (f = hauteur = largeur) la taille du filtre. Cela n’est pas sans paramètres à configurer lors de l’entrainement du modèle. Par ailleurs, deux paramètres sont à définir pour cerner un meilleur déplacement des filtres et leurs conditions d’arrêt. D’une part, les filtres se déplacent récursivement de manière horizontale pour parcourir l’ensemble des pixels des lignes et verticalement pour parcourir l’ensemble des pixels des colonnes de la matrice d’entrée. De cette manière, le filtre fait un parcourt en boustrophédon de gauche à droite et de haut en bas l’ensemble des pixels. D’autre part, pour mieux couvrir toutes les sous-régions de l’image d’entrée et harmoniser le résultat de sortie, le filtre peut dans certains cas avoir besoin d’entreposer quelques pixels à l’extérieur de la bordure de l’image. Cependant, nous avons le choix lors de la configuration de ce paramètre qu’est la marge (padding, en anglais) pour décider si le filtre peut dépasser la bordure de l’image d’entrée. En bref, le pas (stride en anglais) de déplacement d’un noyau par défaut est le même pour le parcourt horizontal et vertical. Ce pas peut être définie en deux partie, un pas horizontal et un pas vertical.
  • 41. 41 De même, la marge (padding en anglais) de la matrice d’entrée est positionné « Same » pour filtrer jusqu’au dernier pixel de notre ligne ou colonne, ou bien « Valid » pour filtrer tous les pixels avec moins de précision sur les pixels de la bordure de l’image. Dans le cas où la marge est à « same », le nombre de pas fait par un filtre est calculé par : 𝑛𝑏𝑝𝑎𝑠_ℎ = ⌊ 𝑛ℎ– 𝑓ℎ + 1 𝑠ℎ ⁄ ⌋ 𝑛𝑏𝑝𝑎𝑠_𝑣 = ⌊ 𝑛𝑣– 𝑓 𝑣 + 1 𝑠𝑣 ⁄ ⌋ Où : • s : le pas (Stride) du filtre • L’indice « h » est la taille de l’axe horizontal, et « v » pour vertical. Par conséquent, les 𝑛𝑏𝑝𝑎𝑠_ℎ est le nombre de pas horizontaux, et 𝑛𝑏𝑝𝑎𝑠_𝑣 est le nombre de pas verticaux. Si le résultat est un nombre réel, seule la partie entière est récupérée. Figure II.13 : Convolution sur une matrice à deux dimensions La figure II.13 est un schéma pour illustrer cette introduction formelle à la convolution. Ce schéma montre l’application d’un filtre (3x3) sur un seul canal de l’image (matrice (10x10)), avec un pas (stride) de 2. Cette figure montre les deux déplacements horizontal et vertical du filtre sur la matrice d’entrée, puis la carte de caractéristique générée comme sortie de cette Matrice d’entrée Filtre * Carte de caractéristiques Stride_h Stride_v
  • 42. 42 convolution. Ainsi, les dimensions de la carte de caractéristiques sont (𝑛𝑏𝑝𝑎𝑠_ℎ= 4) et (𝑛𝑏𝑝𝑎𝑠_𝑣 = 4). L’équation mathématique pour calculer le produit matriciel du couple (sous-région, filtre) est déjà présentée dans la partie consacrée pour le perceptron (somme pondérée). En adaptant cette somme avec les nouvelles variables de notre couche de convolution. Ainsi, le produit scalaire V est défini par l’équation : 𝑉(𝑥, 𝑦) = ∑ (𝐼. 𝐾)(𝑥, 𝑦) Où : { 𝐼: 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑐𝑒 𝑠𝑜𝑢𝑠 − 𝑟é𝑔𝑖𝑜𝑛 𝐾: 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑐𝑒 𝑑𝑢 𝑓𝑖𝑙𝑡𝑟𝑒 𝑜𝑢 𝑛𝑜𝑦𝑎𝑢 (𝐾𝑒𝑟𝑛𝑒𝑙) Maintenant que le processus de convolution est appliqué sur une seule matrice à deux dimensions, il est temps de l’appliquer sur notre matrice à trois canaux de couleurs tout en passant en appliquant la fonction d’activation. c) La couche d’activation : L’étape d’activation dans un réseau de neurones convolutif est primordiale. Elle s’appuie sur une fonction d’activation non linéaire, dite Relu par littérature. Cette étape est définie comme une couche de la phase d’entrainement d’un CNN. La carte de caractéristiques produite par la convolution sans activation est importante pour un bloque d’entrainement. Bien que cette carte ne contribue pas à l’accélération de l’entrainement, ni à l’amélioration des performances lors de l’apprentissage du modèle. En revanche, pour appliquer cette activation, je reprends la liste des familles et les types des fonctions d’activation linéaires et non linéaires les plus utilisées. Ces fonctions que j’ai déjà étalées dans la partie des réseaux multicouches feed-forward. Parmi ces fonctions d’activation, Relu est une fonction non linéaire utilisée dans les réseaux CNN. Cette fonction supprime les valeurs négative de la carte de caractéristiques en les remplaçant par 0 et garde les mêmes valeurs d’entrées positives. En effet, la carte d’activation (feature map) est le résultat d’activation de chaque carte de caractéristiques.
  • 43. 43 Figure II.14 : Schéma de convolution et activation matrice 3 canaux Le schéma présenté par la figure II.14 montre les étapes de convolution et d’activation. La couche d’activation peut être présenté aussi comme un processus en deux étapes. Premièrement, la couche d’activation prend en entrée les cartes de caractéristiques que je définie comme tenseur dans ce cas de figure (matrice (4,4,3)). Deuxièmement, elle additionne ce tenseur de caractéristiques avec le tenseur de biais. Le tenseur de biais est ajusté lors de chaque itération et a la même taille que celui des caractéristiques. Finalement, la fonction d’activation est appliquée sur chaque matrice du tenseur résultant. En effet, le tenseur issu de cette activation appelé aussi carte d’activation devient une l’entrée pour la couche de pooling. d) La couche de pooling Le pooling est une méthode de sous-échantillonnage utilisée dans un réseau de neurones convolutif. Cette méthode est un processus qui consiste à appliquer d’abord un filtre sur les données d’entrée (carte d’activation), ensuite une fonction de pooling. En effet, elle permet de filtrer la carte d’activation tout en gardant les caractéristiques utiles pour le réseau. Son objectif, est de sous-échantillonner la carte d’activation en éliminant les caractéristiques les moins importantes. De plus, le pooling permet aussi de réduire le nombre de paramètres entrainés par le modèle et donc une meilleure optimisation de l’invariance lors du calcul du coût d’apprentissage du modèle. Généralement, les hyperparamètres de pooling sont initialisés pour réduire la taille de l’entrée. Nonobstant, ils ne doivent en aucun cas déformer la dimension des caractéristiques de Matrice d’entrées (10,10,3) Carte de caractéristiques (4,4,3) Convolution Activation Carte d’activation (4,4,3)
  • 44. 44 l’entrée. C’est pourquoi, il est primordial de définir le pas « stride » et la marge de telle sorte que les formes des différentes caractéristiques soient inchangées. Le filtre de la couche de pooling est souvent initialisé par une matrice de taille (2 X 2) avec un pas de 2 et une marge « same » initialisée par défaut. Il est donc à exclure le fait d’ajouter une marge initialisée à zéro « zero-padding » pour un filtre de pooling, car les valeurs de la carte de sortie sont des caractéristiques définitives pour la couche de classification. En effet, sur une carte d’activation de 16 pixels, il y aura 4 tuiles ou fenêtres de (2 x 2) pixels. Donc, la couche de sortie comprendra au total (4 x 2 x 2) neurones, sur une fenêtre de 16 pixels. Le nombre de neurones de sorties (𝑛𝑏𝑛𝑒𝑢𝑟𝑜𝑛𝑒𝑠) de la couche de pooling est calculé par la formule mathématique suivante [21]: 𝑛𝑏𝑛𝑒𝑢𝑟𝑜𝑛𝑒𝑠 = ⌊ 𝑛 − 𝑓 + 2𝑝 𝑠 ⌋ + 1 Où : • n : la taille d’un axe de la matrice d’entrée. • f : la taille d’un axe du filtre de pooling. • p : la taille d’une marge « padding ». • s : la taille du pas « stride ». Les variables n, f, s et p doivent être adaptées pour calculer un nombre de neurones, selon l’axe vertical ou horizontal. Afin de concrétiser l’application de la méthode pooling, je schématise par la figure II.15 ci-après un maxPooling (2,2) sur la carte d’activation précédente de dimension (4,4,3) Figure II.15 : Schéma de pooling (MaxPooling) 1 15 32 6 11 8 7 4 9 1 3 2 12 16 19 6 Activation Carte d’activation (4,4,3) MaxPooling 15 32 16 19
  • 45. 45 En bref, la méthode de pooling est une opération analogue à celle des cellules complexes d’un cortex visuel de Hubel et Wiesel. En d’autres termes, afin d’extraire des caractéristiques importantes du champs visuel, les cellules complexes reçoivent les caractéristiques les plus importantes depuis les cellules simples du cortex visuel. De la même manière, le pooling extrait les caractéristiques les plus importantes de cartes issues de la convolution. Cette procédure repose sur deux opérations. Premièrement, appliquer un filtre sur l’ensemble des sous-régions. Ensuite, une fonction de pooling sur le résultat du filtre. Ainsi, l’ensemble des caractéristiques collectées deviennent les entrées la couche de classification du réseau. e) La couche complètement connectée (Fully-connected) La couche complètement connectée est la dernière couche d’un réseau de neurone convolutif. Elle est dite complément connectée car non seulement tous ses neurones sont connectés les uns aux autres, mais aussi connectés avec les cartes de caractéristiques de la dernière couche de pooling du réseau CNN. Les données dites d’entrainement sont finalement classifiées en N classes par cette dernière couche, tout en procédant à la mise à jour des paramètres du réseau. Premièrement, cette couche va affecter des poids selon l’importance des cartes d’activations reçues en entrées. En effet, les poids les plus élevés indiquent la correspondance des caractéristiques à une classe. Ensuite, dans une seconde étape, calculer la somme pondérée des caractéristiques et les poids. Finalement, appliquer la fonction de classification « Softmax » sur les résultats des sommes pondérées et retourne un vecteur de sortie de taille N. Chacune des valeurs affectées au préalable, détermine la probabilité que l’image d’entrée appartiennent à une classe. Aussi, la somme des valeurs du vecteur est égale à 1. Par exemple, pour classer des tumeurs de cerveau en 4 classes différentes (non-tumeur, pituitaire, méningiome, gliome), le vecteur de sortie [0.3, 0.2, 0.1, 0.4] permet de classifier l’image d’entrée en tumeur « gliome ».
  • 46. 46 Par ailleurs, pour réduire le coût d’apprentissage minimum, le réseau de neurones convolutifs améliore ses performances de classification lors de chaque période d’entrainement sur de nouvelles données. Les paramètres comme les poids et les biais de chacune ses couche cachées ou d’entrainements, sont mis à jour automatiquement par le réseau. Cette modification des poids et des biais par le principe de propagation, s’effectue grâce nombre d’hyperparamètres capitaux pour la bonne amélioration des performances du réseau. En l’occurrence, parmi ces hyperparamètres j’en dénombre : les hyperparamètres des couches (méthodes d’activation des couches cachés et de la couche complètement connectée), de l’optimiseur du gradient et du nombre de périodes d’entrainement. En effet, la couche complètement connectée utilise tous les paramètres et hyperparamètres pour minimiser le coût d’apprentissage par le principe de rétropropagation du gradient. C’est pourquoi, elle joue un rôle de porte pour l’évaluation de l’importance des caractéristiques et de la reconstitution des données d’entrée. II.3.1.2 La la classification et la segmentation Nous pouvons distinguer plusieurs réseaux de neurones à convolutions multi-échelles, parmi lesquels, je cite leNet-5, VGGNet et UNet utilisés pour faire la classification et la segmentation des images. Car, depuis l’apparition des CNNs, plusieurs modèles de réseaux de neurones convolutifs sont inventés [16]. Parmi les architectures des réseaux CNN pour traiter des images : • LeNet-5 : Ce réseau utilisé pour la classification de digits. Il est utilisé pour faire de la classification sur des images de 32x32 pixels. Composé de 2 couches à convolutions, deux couches de sous-échantillonnage et 2 couches complètements connectées. • VGGNet : Ce CNN est composé de 16 couches multiples. C’est-à-dire que chacune des couches d’entrainement soit composée de convolution, Relu et pooling. Et finalement, 3 couches complètement connectées.
  • 47. 47 • UNet : Le U-Net est un CNN complétement connecté, qui prend la forme de U comme son nom l’indique. Ainsi, son architecture répartie globalement en encodeurs et décodeurs. A priori, ce modèle est développé particulièrement pour la segmentation des images médicales. Pour résumer, les réseaux de neurones à convolutions et plus spécifiquement les CNNs complètement connectés sont fortement utilisés pour la classification et la segmentation des images médicales 2D et 3D tels que les images IRM et les TDM. Leurs efficacités et degrés de précisions atteintes et approuvées lors de l’expérimentation pour extraire les caractéristiques, si bien qu’ils soient introduits dans des logiciels 3D pour le diagnostic des tumeurs de cerveau. II.4 L’apprentissage automatique ou le Machine Learning Introduction : L’apprentissage automatique est une méthode d’analyse de données automatisant la construction de modèles analytiques. Ce domaine qui est une partie importante de l’intelligence artificielle peut résoudre des problèmes difficiles à résoudre avec les techniques traditionnelles de programmation. C’est-à-dire que les algorithmes apprennent itérativement à partir des données et permettent à la machine de trouver des informations cachées sans à les avoir explicitement programmées. Malgré l’efficacité des algorithmes d’apprentissage automatique, les données sont plus importantes pour leurs entrainements. En effet, les données doivent être soumises à des traitements avant de les soumettre aux algorithmes d’apprentissage. Il est donc primordial d’appliquer une analyse exploratoire des données avant de les entrainer. Une base de données utilisée en apprentissage automatique peut être issue de plusieurs support différents contenant des collections de données comme des fichier (csv, json…etc.), ou des extractions à partir de flux issues de systèmes de gestion de base de données. Les algorithmes d’apprentissage automatiuqe sont réparties en 3 parties principales suivantes : • L’apprentissage supervisé • L’apprentissage non-supervisé • L’apprentissage semi-supervisé
  • 48. 48 II.4.1 L’apprentissage supervisé Définition : Les algorithmes supervisés sont entrainés à l’aide d’exemple étiquetés, par exemple sur un jeu de données d’entrée ou les étiquettes des résultats souhaités sont connus à l’avance. Premièrement, un réseau de neurones reçoit une liste d’entrées déjà étiquetées par des spécialistes du domaine ou antérieurement par un programme dédié. Ensuite, il compare les résultats de la sortie avec les éléments en entrée et détecte les erreurs. Finalement, l’algorithme du réseau de neurones modifie le modèle en conséquence en ajustant les paramètres du modèle. L’apprentissage supervisé s’applique sur des bases de données historiques, grâce à lesquelles le modèle peut prédire des résultats futurs probables. Il existe une variété des algorithmes de classification en apprentissage automatique. Parmi cette liste de classifieurs : Les KNN, les arbres de décisions, les forêts aléatoires et la régression logistique [20]. Par ailleurs, je ne site que les algorithmes utilisés dans mon expérimentation pour la classification des images médicales. Ces deux algorithmes sont la classification catégorielle et la régression de la partie apprentissage supervisé. II.4.1.1 Le processus Le processus du machine learning supervisé est répartie en plusieurs étapes avec des passages séquentiels ou réccursifs lors de l’entainement d’un modèle. Quelque peut simplifié, la figure II.16 suivante illustre est un processus de ces différentes étapes, depuis l’acquisition de la donnée jusqu’à la phase de déploiement du modèle. Figure II.16 : Schéma simplifié du processus machine learning. Acquisition de données Nettoyage de données Test du modèle Entrainement et construction du modèle Données de test Déploiement du modèle
  • 49. 49 Ce processus n’est qu’un modèle simplifié de l’apprentissage supervisé. Toutefois, le fractionnement des données en jeu de données « Test » et de « Training » n’est pas satisfaisant pour aboutir le traitement du modèle. Pour cette raison, il est recommandé d’ajouter un jeu de données de validation. C’est pourquoi les données sont réparties sur les 3 jeux de données suivants : • Training • Validation • Test II.4.1.2 Evaluation des performances du modèle Une fois que le processus de machine Learning est terminé, nous utilisons des mesures de performances pour évaluer notre modèle. Afin de calculer les mesures de performances, il faudrait se pencher sur une anlyse statistique des valeurs prédites par le modèle lors de l’évaluation des données réservées à cet effet. Ces valeurs servent de constantes pour le calcule des mesures de performance et sont regroupées dans la matrice de confusion. i. La matrice de confusion : La prédiction du modèle obtient un des résultats suivants : • Correct • Incorrecte Une simple classification est la classification binaire avec deux classes seulement en sortie. Bien entendu, il est aussi possible de faire une classification sur plusieurs classes dites classification multi-classes. Dans un apprentissage supervisé, nous allons entrainer le modèle sur des données d’entrainement dites training, puis valider sur le set de validation et finalement le tester le modèle sur le set de test. Une fois que nous avions entrainé le modèle sur les données X_test, nous comparons avec les vraies valeurs Y (données avec les bonnes étiquettes).
  • 50. 50 Une seule mesure ne suffit pas à raconter toute l’histoire, dans un monde réel. Pour cette raison et dans le but d’organiser un rapport entre les valeurs prédites et les valeurs réelles, nous construisons ce que nous appelons une matrice de confusion [20]. Conditions de prédictions Données de la population Prédiction positive Prédiction négative Conditions Condition Positive Vrai positif VP Faux négatif FN Condition Négative Faux positif FP Faux négatif VN Tableau II.4 La matrice de confusion • VP : prédiction correcte. Dans le modèle expérimental pour les tumeurs cérébrales, c’est prédire correctement qu’une personne soit atteinte de la maladie. • VN : prédiction correcte qu’une personne ne soit pas atteinte de la maladie. • FP : prédiction incorrecte qu’une personne ne soit pas atteinte de la maladie. • FN : prédiction incorrecte qu’une personne soit atteinte de la maladie. ii. Les mesures de performance pour la classification : Les mesures de performances principales pour évaluer la performance du modèle sont les suivants : • Exactitude (Accuracy) • Rappel (Recall) • Précision (precision) • F1-score a) L’exactitude (accuracy) : 𝑨𝑪𝑪 = 𝑽𝑷 𝑽𝑷 + 𝑭𝑷 + 𝑽𝑵 + 𝑭𝑵 L’exactitude est une bonne mesure si nous l’appliquons sur un ensemble de classes équilibrées, par exemple si notre base de données ou le nombre d’images présentant des cas de tumeurs et le nombre d’images ne présentant pas de tumeur sont à peu près égaux. En contre partie, l’exactitude n’est pas le bon choix dans le cas d’une classification binaire dont les deux classes sont déséquilibrées par exemple.