Académique Documents
Professionnel Documents
Culture Documents
Jury :
Président : Pr. Cheikh Thiécoumba GUEYE UCAD
i
DÉDICACES
Je dédie ce modeste travail :
À mon père Djimé Dahaba Gallédou qui guide mes pas chaque jour, qui est
un exemple pour moi, qui a fait de moi la personne que je suis aujourd’hui
par son Amour, ces conseils, son soutien, je ne saurais exprimer l’Amour, la
gratitude, le respect et la reconnaissance que j’ai pour lui. Aucun hommage
ne pourra être à la hauteur de l’Amour qu’il me porte qui ne cesse de me
combler qu'ALLAH lui procure une bonne santé, une longue vie et je prie
qu’il nous réunît dans FIRDAWS son PARADIS ETERNEL.
À mon oncle Tahara Dahaba Gallédou que j'aime beaucoup qui a guidé
mes premiers pas à l'école, mon premier jour que je n’oublierais jamais en
fermant seulement les yeux, je peux remémorer ce souvenir mémorable, toi
qui ne cesse de me donner des Douas à chaque fois qu'on se
parle qu'ALLAH t'accorde AL-FIRDAWS son PARADIS ETERNEL.
À mes frères, mes sœurs, mes amis, à toutes les membres de ma famille et à mes
camarades avec qui j'ai partagé ces années d'études à mes voisines djiboutiennes
et comoriennes, je prie pour chacun de vous, qu'ALLAH vous accorde tout ce
que vous voulez dans la vie qui est bon pour vous et l'au-delà.
ii
REMERCIEMENTS
« Au nom d'Allah, le Tout Miséricordieux le très Miséricordieux et paix et salut sur Mouhamad
Rassoulilah son serviteur »
Je tiens à remercier Mr. Cheikh Djibril Sow pour sa grande générosité et pour ses bonnes
explications qui m’ont éclairé le chemin dans l’accomplissement de ce travail.
Je tiens à remercier les membres du jury pour l’intérêt qu’ils ont porté à ce mémoire acceptant
d’examiner et de l’enrichir par leurs propositions particulièrement au Professeur Boucar Ndong de
la Faculté de Médecine de Pharmacie et d’odontologie.
Mes profonds remerciements s’adressent à tous les membres du corps professoral de la TDSI
de m’avoir accompagné tout au long de ces 5 années de formation certes ils m’ont beaucoup
appris, avec générosité et patience.
Un grand merci au Dr. Dialla Traoré, au Dr. Mouhamed Diawara et à Mr. Ibrahima Soccé
Radiologue technicien à CIDIS.
iii
A LA MEMOIRE DE
Tous ceux qui ont contribué à mon éducation, à ma formation et à ceux qui étaient là pour moi,
mes rayons de soleil et qui ne sont plus là malheureusement.
iv
AVANT-PROPOS
Laboratoire d’Algèbre, de Cryptographie, de Géométrie Algébrique et Applications
(LACGAA): objectifs et Domaine de recherche.
Depuis 2004, le laboratoire LACGAA est le seul de la sous-région spécialisé sur la formation
et la recherche en cryptographie et dans les domaines de la sécurité de l’information. Le
laboratoire LACGAA a déjà formé en master, plus de 100 titulaires du master 2 (niveau
ingénieur) qui travaillent dans les entreprises en France, aux USA, au Sénégal et dans la sous-
région ; et en licence, plus de 40 techniciens. En Thèse, le labo est entrain de former plus de 10
thèses en codage et cryptologie à Dakar et en France dont 5 ont terminés.
Sous la direction du Professeur Mamadou Sangharé, le laboratoire LACGAA a pour
objectifs:
1. La formation à la recherche fondamentale et appliquée dans les domaines de La
Cryptographie, de la Théorie des codes, de l’Algèbre, de la Géométrie et de leurs
applications (en logique, en informatique, en sécurité de l’information, en biologie, en
robotique etc.) par :
des enseignements pour les jeunes doctorants durant leur première année
d’inscription en thèse ;
l’encadrement des jeunes doctorants durant toute la durée de leur thèse ;
la mise en place d’un cadre approprié pour l’épanouissement des jeunes
doctorants.
2. L’organisation de la recherche par la mise en place d’un cadre approprié pour
l’épanouissement des chercheurs et le développement de la recherche ;
3. la création de licences et de masters professionnels et recherches en algèbre, géométrie
et leur application notamment en sécurité informatique les principaux domaines de
recherche sont l’algèbre et ses différentes applications : Algèbre commutative, algèbre
non commutative, algèbre associative, algèbre non associative; géométrie algébrique
commutative et non commutative, Homologie et Cohomologie, Théorie algébrique et
analytique des nombres, Cryptographie, Théorie des Codes Correcteurs d’Erreurs,
Théorie du signal Informatique théorique, Sécurité informatique etc.
v
SOMMAIRE
INTRODUCTION GÉNÉRALE ---------------------------------------------------------------------- 1
PARTIE I : CADRE THÉORIQUE ET MÉTHODOLOGIQUE ------------------------------ 2
CHAPITRE 1: CADRE THÉORIQUE ----------------------------------------------------------- 3
INTRODUCTION -------------------------------------------------------------------------------- 3
1.1. PROBLÉMATIQUE -------------------------------------------------------------------- 3
1.2. LES OBJECTIFS DU PROJET ------------------------------------------------------- 3
1.3. LES HYPOTHÈSES DE RECHERCHE -------------------------------------------- 4
1.4. LA PERTINENCE DU SUJET ------------------------------------------------------- 4
CONCLUSION ----------------------------------------------------------------------------------- 4
CHAPITRE 2: CADRE MÉTHODOLOGIQUE ---------------------------------------------- 5
INTRODUCTION -------------------------------------------------------------------------------- 5
2.1. TECHNIQUES D’INVESTIGATION ----------------------------------------------- 5
2.2. PRÉSENTATION DES DONNÉES MAMMOGRAPHIQUES ----------------- 5
2.3. DIFFICULTÉS RENCONTRÉES ---------------------------------------------------- 6
CONCLUSION ----------------------------------------------------------------------------------- 7
PARTIE II : CADRE ANALYTIQUE ET IMPLÉMENTATION ---------------------------- 8
CHAPITRE 1: LE CANCER DU SEIN ----------------------------------------------------------- 9
INTRODUCTION -------------------------------------------------------------------------------- 9
1.1. ANATOMIE DU SEIN ----------------------------------------------------------------- 9
1.2. SYMPTÔMES ET SIGNES ---------------------------------------------------------- 10
1.3. TUMEURS DU SEIN ----------------------------------Erreur ! Signet non défini.
1.4. CANCER DU SEIN-------------------------------------------------------------------- 12
1.5. TYPES HISTOLOGIQUES DU CANCER DU SEIN ---------------------------- 15
1.6. CLASSIFICATION TNM ------------------------------------------------------------ 18
1.7. EVOLUTION --------------------------------------------------------------------------- 20
1.8. DIAGNOSTICS ------------------------------------------------------------------------ 21
1.9. TRAITEMENTS ----------------------------------------------------------------------- 26
CONCLUSION ---------------------------------------------------------------------------------- 26
CHAPITRE 2: INTELLIGENCE ARTIFICIELLE ------------------------------------------ 28
INTRODUCTION ------------------------------------------------------------------------------- 28
2.1. PRÉSENTATION DE L’INTELLIGENCE ARTIFICIELLE ------------------- 28
2.2. HISTOIRE DE L’INTELLIGENCE ARTIFICIELLE ---------------------------- 29
2.3. LES DIFFÉRENTS TYPES D’INTELLIGENCE ARTIFICIELLE ------------ 29
CONCLUSION ---------------------------------------------------------------------------------- 32
CHAPITRE 3: MACHINE LEARNING -------------------------------------------------------- 33
INTRODUCTION ------------------------------------------------------------------------------- 33
4.1. PRÉSENTATION DU MACHINE LEARNING ---------------------------------- 33
4.2. LA COLLECTE DE DONNÉES ---------------------------------------------------- 34
4.3. LA MODÉLISATION ----------------------------------------------------------------- 35
4.4. LA TÂCHE À ACCOMPLIR -------------------------------------------------------- 36
4.5. LES DIFFÉRENTS TYPES D’APPRENTISSAGE ------------------------------ 36
vi
4.6. LES ALGORITHMES D’APPRENTISSAGE ------------------------------------- 39
4.7. LE SURAPPRENTISSAGE ---------------------------------------------------------- 59
4.8. LA RÉGULARISATION ------------------------------------------------------------- 61
4.9. LE SOUS-APPRENTISSAGE ------------------------------------------------------- 62
CONCLUSION ---------------------------------------------------------------------------------- 63
CHAPITRE 4: DEEP LEARNING --------------------------------------------------------------- 64
INTRODUCTION ------------------------------------------------------------------------------- 64
4.1. PRÉSENTATION DU DEEP LEARNING ---------------------------------------- 64
4.2. LES DIFFÉRENTS TYPES D’ARCHITECTURE DEEP LEARNING ------- 67
CONCLUSION ---------------------------------------------------------------------------------- 69
CHAPITRE 5: LES RÉSEAUX DE NEURONES CONVOLUTIONELS --------------- 70
INTRODUCTION ------------------------------------------------------------------------------- 70
5.1. PRÉSENTATION DES RÉSEAUX DE NEURONES CONVOLUTIONELS --
-----------------------------------------------------------------------------------------------------70
5.2. TRANSFER LEARNING EN CNN ------------------------------------------------- 80
CONCLUSION ---------------------------------------------------------------------------------- 84
CHAPITRE 6: IMPLÉMENTATION ---------------------------------------------------------- 86
INTRODUCTION ------------------------------------------------------------------------------- 86
6.1. PRÉSENTATION DES OUTILS ---------------------------------------------------- 86
6.2. IMPLÉMENTATION ----------------------------------------------------------------- 92
6.3. PRÉ -TRAITEMENT ET DATA AUGMENTATION --------------------------- 94
6.2. ARCHITECTURE ET APPRENTISSAGE DU MODÉLE ---------------------- 95
6.3. RÉSULTATS OBTENUS ET INTERPRETATIONS ---------------------------- 96
6.4. PRÉSENTATION DE L’INTERFACE ------------------------------------------- 105
CONCLUSION -------------------------------------------------------------------------------- 107
CONCLUSION GÉNÉRALE ET PERSPECTIVES ------------------------------------------ 108
BIBLIOGRAPHIE ET WEBOGRAPHIE------------------------------------------------------- 109
vii
LISTE DES FIGURES
Figure 1: Structure anatomique du sein...................................................................................... 9
Figure 2: Présentation d'une tumeur du sein vue de face. ........................................................ 15
Figure 3: Cancer canalaire in situ (CCIS) - Macroscopie à gauche et histologie à droite. ...... 16
Figure 4: Cancer lobulaire in situ (CLIS) - Macroscopie à gauche et histologie à droite. ....... 16
Figure 5: Cancer canalaire infiltrant. ........................................................................................ 17
Figure 6: Cancer canalaire infiltrant (CCI) - Macroscopie à gauche et histologie à droite. .... 17
Figure 7: Cancer lobulaire infiltrant(CLI) - Macroscopie à gauche et histologie à droite. ...... 17
Figure 8: Le mamographe. ...................................................................................................... 21
Figure 9: Mammographie montrant une tumeur au sein vue d'en face à gauche et vue de profil
à droite. ............................................................................................................................. 22
Figure 10: Résultat d'un examen de mammographique. ......................................................... 23
Figure 11: Échographie montrant une masse kystique. ............................................................ 24
Figure 12: Cytoponction d'une tumeur. .................................................................................... 25
Figure 13: histologie d'une bénigne et d'une tumeur maligne. ................................................. 25
Figure 14: Étapes de l’apprentissage en ML. ........................................................................... 35
Figure 15: Illustration de la différence entre régression linéaire et classification linéaire. ..... 37
Figure 16: Exemple de représentation de Régression Linéaire. ............................................... 40
Figure 17: Prix d’une maison par sa taille. ............................................................................... 40
Figure 18: Une relation linéaire. .............................................................................................. 41
Figure 19: Représentation de la perte dans un cas de régression linéaire. ............................... 42
Figure 20: Représentation de Perte élevée dans le modèle à gauche, perte faible dans le modèle
à droite. ............................................................................................................................. 43
Figure 21: Fonction sigmoïde. ................................................................................................. 45
Figure 22: Résultat de la régression logistique. ....................................................................... 46
Figure 23: Taux de VP et de FP pour différents seuils de classification. ................................ 50
Figure 24: AUC (aire sous la courbe ROC). ............................................................................ 51
Figure 25: L’algorithme k-means regroupe les données en k cluster, ici k = 3. Les centres de
gravité sont représentés par de petits cercles. ................................................................... 52
Figure 26: Pour k = 3 la classe majoritaire du point central est la classe B, mais si on change la
valeur du voisinage k = 6 la classe majoritaire devient la classe A. ................................. 52
Figure 27: On cherche un hyperplan qui divise les observations en deux catégories. ............. 54
viii
Figure 28: Exemple d’un problème non linéairement séparable. La courbe devient une bande
linéaire après avoir appliqué la transformation non-linéaire. ........................................... 55
Figure 29: Neurone du cerveau humain. .................................................................................. 55
Figure 30: Réseau de neurone artificiel. ................................................................................... 56
Figure 31: Représentation d’un neurone artificiel. ................................................................... 57
Figure 32: Représentations de différentes fonctions d'activation............................................. 58
Figure 33: Représentation d’un Rétro-Propagation du Gradient. ............................................ 59
Figure 34: Perte de l'ensemble d'apprentissage et de l'ensemble de validation. ....................... 61
Figure 35: La relation entre l’intelligence artificielle, le ML et le Deep Learning. ................. 64
Figure 36: Synapse Neuronale. ................................................................................................ 65
Figure 37: Comparaison entre un NN et un Deep Learning Neural Network . ........................ 66
Figure 38: Représentation des trois couleurs RVB en proportion égale. ................................. 70
Figure 39: Matrice de matrice RVB. ........................................................................................ 71
Figure 40: Réseau de neurones avec plusieurs couches convolutives...................................... 72
Figure 41: Une matrice d’image multipliée par un noyau ou filtre de matrice. ....................... 72
Figure 42: Exemple de matrice d’image multiplie la matrice de noyau ou de filtre. ............... 73
Figure 43: Convolution d'une matrice avec 2 pas de pixels. .................................................... 76
Figure 44: Exemple d’application du ReLU. ........................................................................... 77
Figure 45: Max-Pooling avec un filtre 2x2. ............................................................................. 78
Figure 46: Average Pooling avec un filtre 2x2. ....................................................................... 78
Figure 47: Aplatissement d'une matrice. ................................................................................. 79
Figure 48: Mise en pool en tant que couche FC. ...................................................................... 79
Figure 49: Illustration du Transfer Learning. ........................................................................... 80
Figure 50: Architecture du modèle LeNet. ............................................................................... 81
Figure 51: Architecture du modèle AlexNet. ........................................................................... 82
Figure 52: Architecture du modèle Inception V3 de Google. .................................................. 82
Figure 53: Architecture du modèle VGGNet. .......................................................................... 83
Figure 54: Étude comparative des différents modèles VGGNet. ............................................. 83
Figure 55: Architecture du modèle ResNet. ............................................................................. 84
Figure 56: Le taux d’erreur dans ImageNet Visual recognition Challenge. ............................ 84
Figure 57: Python. .................................................................................................................... 86
Figure 58: Theano. ................................................................................................................... 87
Figure 59: TensorFlow. ............................................................................................................ 87
ix
Figure 60: Keras. ...................................................................................................................... 88
Figure 61: PYTORCH. ............................................................................................................. 89
Figure 62: Croissance de popularité de TensorFlow. ............................................................... 90
Figure 63: Logo Flask. ............................................................................................................. 91
Figure 64: Jinja. ........................................................................................................................ 91
Figure 65: MySQL. .................................................................................................................. 91
Figure 66: Répartition des données dans les dossiers cas normal/anormal. ............................. 92
Figure 67: Répartition des données dans les dossiers cas normal, bénin et malin. .................. 93
Figure 68: Répartition des données dans les dossiers cas normal et bénin/malin(masse et
calcification)...................................................................................................................... 93
Figure 69: Architecture de notre modèle. ................................................................................. 96
Figure 70: Architecture du modèle - cas normal/anormal........................................................ 97
Figure 71: Résultat obtenu - cas normal/anormal. ................................................................... 98
Figure 72: Histogrammes de l’apprentissage et de la validation du cas normal/anormal. ....... 98
Figure 73: Test sur les données cas normal/anormal - Matrice de confusion. ......................... 99
Figure 74: Architecture du modèle - cas normal, bénin et malin. .......................................... 100
Figure 75: Résultat obtenu - cas normal, bénin et malin. ....................................................... 100
Figure 76: Histogrammes de l’apprentissage et de la validation du cas normal, malin et bénin.
......................................................................................................................................... 101
Figure 77: Test sur les données cas normal, bénin et malin - Matrice de confusion. ............ 101
Figure 78: Architecture du modèle - cas normal et bénin/malin (masse et calcification). ..... 102
Figure 79: Résultat obtenu - cas normal et bénin/malin (masse et calcification)................... 103
Figure 80: Histogrammes de l’apprentissage et de la validation du cas normal et
malin/bénin(masse et calcification). ............................................................................... 103
Figure 81: Test sur les données cas normal et bénin/malin(masse et calcification): Matrice de
confusion. ........................................................................................................................ 104
Figure 82: Présentation de l'interface de l'application. ........................................................... 105
Figure 83: Inscription et connexion d'un utilisateur. .............................................................. 106
Figure 84: Aperçus de la base de données MySQL (les mots de passe sont chiffrés). .......... 106
Figure 85: Test de prédiction sur une mammographie dans l'interface de l'application. ....... 107
x
LISTES DES TABLEAUX
Tableau 1: Classification TNM. ............................................................................................... 19
Tableau 2: Classification de cancer du sein par stade. ............................................................. 20
Tableau 3: Gradient du Linéaire régression. ............................................................................ 44
Tableau 4: Classification vrai ou faux et positif ou négatif. ................................................... 49
Tableau 5: Histoire du Deep Learning. .................................................................................... 67
Tableau 6: Quelques exemples d'effets pouvant être obtenus par la convolution des noyaux et
des images. ........................................................................................................................ 75
Tableau 7: Nombre d’étoile par framework sur github. ........................................................... 90
Tableau 8: Interprétation des résultats cas normal/anormal. .................................................... 99
Tableau 9: Interprétation des résultats cas normal, bénin et malin. ....................................... 102
Tableau 10: Interprétation des résultats cas normal et bénin/malin(masse et calcification). . 104
xi
LISTE DES ABRÉVIATIONS
CC Cranio-Caudal
DL Deep Learning
FN Faux Négatif
FP Faux Positif
IA Intelligence Artificielle
xii
IARC International Agency for Research on Cancer
MCP McCulloch–Pitts
ML Machine Learning
MLO MedioLateral-Oblique
NN Neural Network
VN Vrai Négatif
VP Vrai Positif
xiii
WFU Wake Forest University
xiv
INTRODUCTION GÉNÉRALE
INTRODUCTION GÉNÉRALE
Le diagnostic et la prévention dans les hôpitaux et dans les établissements de soin de santé sont
des tâches difficiles pour le personnel médical qualifié. Le personnel médical n’a pas souvent
la possibilité d’observer chacun de ces patients à temps plein et faire des diagnostics précis très
rapidement. Bien que le personnel médical soit efficace pour identifier les besoins immédiats,
ils ne parviennent pas toujours à faire le diagnostic des pathologies sur la base d’un
interrogatoire et d’un examen clinique. Il a souvent recours à des moyens de diagnostic
biologique et d’imagerie médicale. Malgré cet arsenal utilisé, il peut avoir recours au traitement
de l’image dans sa forme matricielle pour une aide un diagnostic. C’est pourquoi au cours de
ces dernières années, avec le récent accroissement des performances de l’Intelligence
Artificielle (IA) notamment avec le Machine Learning (ML), le Deep Learning (DL), le
stockage massif des données sur des serveurs et la prouesse des calculs des machines, nous
assistons à une véritable révolution. En effet, l’avènement de l’IA a permis de nombreux
avancées dans le traitement de l’image améliorant ainsi le diagnostic médical.
1
PARTIE I : CADRE THÉORIQUE ET MÉTHODOLOGIQUE
2
CHAPITRE 1 : CADRE THÉORIQUE
INTRODUCTION
La médecine est la science qui accompagne l’humanité depuis des millénaires. C’est la
discipline qui cherche à préserver la santé physique et mentale des êtres humains par la
prévention et le traitement des maladies. Au fur et à mesure qu’on avance dans le temps, de
nouvelles maladies sont découvertes et d’autres sont devenues plus fréquentes. L’ampleur et
les progrès de l’imagerie, le développement des tests biologiques, ainsi que la mise sur le
marché de nouveaux médicaments et d’autres procédures thérapeutiques ont beaucoup amélioré
la prise en charge des patients. Dans ce présent chapitre, nous aborderons la problématique
rencontrée lors d’un diagnostic de cancer du sein, les objectifs et les hypothèses de recherche
puis la pertinence de notre sujet.
1.1. PROBLÉMATIQUE
Les performances médicales bien qu’elles soient très évoluées en terme de diagnostic ne
permettent pas de faire le diagnostic différentiel de certaines pathologies médicales. Et même
si le diagnostic de cancer est fait la stadification peut souvent poser de sérieux problèmes. C’est
pourquoi nous collaborons avec ces médecins en utilisant les algorithmes mathématiques pour
une aide au diagnostic et à la classification des tumeurs mammaires. Celles-ci étaient stratifiées
jusque-là sur la base d’une interprétation qui faisaient intervenir l’expérience du radiologue
mais également le pouvoir discriminatoire de l’œil humain malgré une relecture par un autre
radiologue pour établir la classification ACR de BI-RADS. Ce qui justifie notre étude.
3
complexes, plus rapide avec une certaine précision. Cette application permettra au radiologue
de prédire le cas de la présence d’une anomalie dans une mammographie qui résultera par des
examens plus approfondies.
Le cancer du sein n’est qu’une étape pour pouvoir se lancer dans l’étude des autres types de
cancer. Le cancer du sein est le premier cancer de la femme dans le monde avec 1 million de
nouveaux cas par an et au Sénégal c’est le deuxième cancer chez la femme (2014) [B, 1]. En
2015, le cancer du sein a fait 8,8 millions morts, près d’un (1) décès sur six (6) est dû au cancer
ces chiffres ne cesse de s’accroître, on estime que pour l’année 2018, près de 18 millions de
personnes recevront le diagnostic de cancer, et 9.6 millions en décéderont [W, 8] Source : World
Cancer Report 2018 - International Agency for Research on Cancer (IARC).
CONCLUSION
Dans ce chapitre, nous avons présenté les problèmes rencontrés pour l’identification des
cellules cancéreuses du sein. On a proposé une solution pour avoir des précisions plus exactes
sur un diagnostic et on a expliqué les raisons qui nous ont poussés à réaliser cette étude.
4
CHAPITRE 2 : CADRE MÉTHOLOGIQUE
INTRODUCTION
Dans ce présent chapitre, nous allons aborder les recherches faites afin de trouver des
mammographies (des images médicales) avec lesquelles nous allons travailler dans ce mémoire.
Présenter ces données leurs caractéristiques et les difficultés rencontré lors de la recherche et
de la collecte des données.
En avril 2018, nous avons cherché dans les hôpitaux de Dakar notamment à Aristide
Le Dantec et Fann des données mammographiques, mais en vain. Les documents produits
n’étaient pas sauvegardés dans un serveur, autrement dit il n’y avait pas d’archivage et que les
données recueillies étaient supprimées au fur et à mesure.
Nous avons pensé à visiter d’autres centres parmi lequel le centre Centre d'Imagerie
Diagnostique et Interventionnelle de Soumbédioune (CIDIS). Ils ont bien voulu collaboré avec
nous en nous expliquant la procédure de diagnostic de cancer du sein. Et malheureusement, ils
ont dit qu’ils ne possédaient pas de serveur de stockage d'images mammographiques pour
l’instant, mais qu'il en avait déjà commandé. Et dans un avenir proche une collaboration serait
possible.
Donc on s'est retourné vers les archives de mammographie internationale celui qui avait le plus
de données était Digital Database for Screening Mammography (DDSM).
5
"Massachusetts General Hospital" (MGH), l’université "Wake Forest University" (WFU) et
l’hôpital "Washington University of St. Louis School of Medicine" (WUSTL), il contient des
cas normaux, bénins et malins avec des informations de pathologie vérifiées. DDSM a
largement été utilisée par la communauté scientifique dans le domaine du diagnostic cancer du
sein ; elle a l’avantage d’utiliser le même lexique normalisé par l’American College of
Radiology (ACR) dans le BI-RADS (Breast Imaging-Reporting And Data System).
Nous avons prélevé un échantillon composé de 4 473 images : 1 377 normales, 1 739 bénignes
et 1 357 malignes les mammographies sont de taille différente, ces exemples seront partitionnés
en trois dossiers exemples d’apprentissage, exemple de validation et exemple de test.
Le DDSM qui est une base de données plus intéressante que les autres par sa grande quantité
de donnée mammographique, mais cependant pour télécharger les images, il a fallu faire
plusieurs semaines vu la connexion internet de bas débit utilisé. Ensuite les
données DDSM sont enregistrées au format JPEG sans perte (LJPEG, Less Lost JPEG) il a
fallu les décompresser.
Les images CBIS-DDSM ont été pré-traitées par type d’anomalie, c’est-à-dire sur chaque
image on a identifié l’anomalie et pris les limites de la tumeur sur les images on appelle ça
6
extraction du ROI Region Of Interest et enregistrées en tant qu'image DiCom, mais puisque cet
ensemble de données ne contient que des numérisations présentant des anomalies. Donc les
données mammographies normales, ont été téléchargées dans le site DDSM et les données
anormales des cas de bénins et malins, on était téléchargé à partir du site CBIS-DDSM afin de
créer un jeu de données pouvant être utilisé pour prédire la présence d'anomalies.
CONCLUSION
Dans ce chapitre, nous avons pu aborder la manière dont on a collecté nos données, des
universités qui héberge les données mammographiques. Ensuite présenter les données et leurs
caractéristiques et enfin on a parlé des difficultés rencontrés lors des recherches.
7
PARTIE II : CADRE ANALYTIQUE ET IMPLÉMENTATION
8
CHAPITRE 1 : LE CANCER DU SEIN
INTRODUCTION
Le cancer du sein comme son nom l’indique est localisé dans l’organe humain qu’on appelle le
sein, il résulte d’un dérèglement de certaines cellules qui se multiplient et forme une masse
appelée tumeur. Il en existe différents types qui n’évoluent pas de la même manière certains
sont « agressifs » et évoluent très rapidement, d’autres lentement. Le développement du cancer
du sein peut prendre plusieurs mois, voire plusieurs années.
Dans ce présent chapitre, nous allons étudier la structure du sien, les symptômes cancer du sein
(ce que la patiente à remarquer chez elle d’anormal) et les signes (ce que le docteur à découvert
en l’examinant). Par la suite décrire une tumeur du sein et de ces différents aspects, aborder les
facteurs de risque du cancer du sein, son diagnostic et enfin de certains traitements.
Les seins sont situés au niveau de la face antérieure du thorax, reposent en arrière sur le muscle
pectoral, centrés par les mamelons, ces derniers entourés d’une zone pigmentée appelée
l’aréole. La peau de l’aréole est très fine, légèrement déformée par les orifices des glandes
sébacées, des glandes sudoripares et des follicules pileux. La glande mammaire est constituée
d’une vingtaine de lobes glandulaires noyés dans du tissu graisseux. Les canaux excréteurs de
ces lobes, appelés canaux galactophores, débouchent sur le mamelon.
9
Avant de connaître une anomalie on doit différencier un sein normal d’un sein anormal, c’est-
à-dire reconnaître l’aspect normal du tissu glandulaire (des lobules) aussi bien que chez la jeune
fille que chez la personne âgée c’est à partir de ce moment qu’on pourra déterminer si une lésion
est pathologique pour pouvoir identifier une anomalie dans un sein.
Type A : le sein présente plus de graisse que de glande (chez les personnes âgées) ;
Type D : le sein est glandulaire et tout à fait blanc (chez les jeunes filles).
Les symptômes sont découverts par la patiente elle-même un cancer du sein peut se manifester
chez une patiente par « une grosseur » (nodule), un écoulement de liquide clair ou sanglant par
le mamelon, une déformation du galbe du sein ou du mamelon (rétraction), plus rarement par
une douleur. Mais il peut aussi ne pas présenter parfois aucun symptôme.
1.3. TUMEURS DU
Le terme de tumeur (synonyme : « néoplasme » ou « néoplasie ») désigne une prolifération
cellulaire excessive aboutissant à SEIN une masse tissulaire ressemblant plus ou moins au tissu
normal homologue (adulte ou embryonnaire), ayant tendance à persister et à croître, témoignant
de son autonomie biologique.
10
1.3.1. CRITÈRES DES TUMEURS BÉNIGNES
Les tumeurs bénignes ont des contours bien délimités donnent un nodule opaque, dense,
hétérogène, aspect stellaire, spéculer, plus souvent de petite taille. Cependant, on peut en
trouver de grande taille. Elles ont une croissance lente et restent localisées dans le tissu où
l’organe dans lequel elles sont apparues. Elles n’entraînent pas de métastases dans d’autres
endroits du corps. Les tumeurs bénignes sont composées de cellules qui ressemblent aux
cellules normales du tissu concerné. On dit qu’elles sont bien différenciées. La tumeur bénigne
qui se développe le plus souvent dans le sein est appelé fibroadénome. Les autres affections
bénignes du sein sont les kystes, les changements fibrokystiques, l'hyperplasie, la
gynécomastie.
Une tumeur bénigne est localisée dans un seul endroit la tumeur en un moment donné, peut
augmenter de taille, sans risque de métastase.
Les tumeurs malignes ont des contours le plus souvent mal délimités. Certaines sont toutefois
bien limitées et peuvent alors être considérées un temps comme bénignes, ceci pouvant retarder
le diagnostic de cancer. Les cellules cancéreuses qui composent les tumeurs malignes
présentent diverses anomalies par rapport à des cellules normales : forme et taille différentes,
contours irréguliers… On parle de cellules indifférenciées, car elles ont perdu leurs
caractéristiques d’origine. Les tumeurs malignes ont tendance à envahir les tissus voisins. Elles
peuvent entraîner des métastases : des cellules cancéreuses s’échappent de la tumeur primitive
et vont coloniser une autre région du corps tel que le foie, le cerveau, poumon pour y former
une nouvelle tumeur qu’on appelle tumeur secondaire ou métastase.
1.3.3. CALCIFICATIONS
Les calcifications mammaires sont des dépôts de calcium qui se forment dans le tissu
mammaire. Elles n’ont aucun lien avec la quantité de calcium absorbée au cours de
11
l’alimentation ou obtenue par l’intermédiaire de compléments alimentaires. En effet, la
calcification donne un aspect dure à la tumeur
Les macrocalcifications sont des dépôts grossiers de calcium dans le sein. Elles sont
plus fréquentes chez les femmes âgées de plus de 50 ans. Elles sont souvent associées à
des modifications bénignes qui se produisent dans le sein et qui sont liées par exemple
au vieillissement des artères du sein, à des anciennes lésions, à une inflammation ou à
des masses telles qu'un fibroadénome.
Les microcalcifications sont de minuscules dépôts de calcium dans le sein. Leur
présence signifie parfois que l'activité de certaines cellules du sein est accrue. Une
cellule plus active absorbe en effet davantage de calcium que celle qui l’est moins. Les
microcalcifications peuvent faire suspecter un cancer du sein (comme un carcinome
canalaire in situ-CCIS), notamment lorsqu’elles apparaissent isolées ou regroupées en
grappes à la mammographie. Si tel est le cas, le radiologue recommande de réaliser une
biopsie afin de vérifier qu’il ne s’agit pas d’un cancer, et en fonction des résultats, on
détermine le traitement qui sera suivit par la patiente.
On distingue les cancers in situ (confinés dans les canaux ou les lobules) et les cancers invasifs
ou infiltrants. La tumeur cancéreuse érode (incruste) tout son entourage par dans la lymphe
atteint les organes tels que le cerveau, le poumon, le foie.
On pense que le cancer du sein n’arrive qu’aux femmes, mais environ 1% des cancers du sein
se produisent chez les hommes. Les hommes ont une petite quantité de tissu derrière le mamelon
et bien qu’elle ne soit pas aussi importante que chez les femmes, un cancer peut quand même
12
se développer. Peu d’hommes en sont conscients si bien qu’il est généralement diagnostiqué
plus tardivement que chez les femmes. Par conséquent, le cancer du sein masculin est
généralement plus avancés quand il est diagnostiqué et donc plus difficile à traiter.
Malgré les progrès qui ont permis de mieux connaître les mécanismes de développement des
cancers, les causes du cancer du sein ne sont actuellement pas connues. Néanmoins, les études
ont mis en évidence certains facteurs de risque qui favorisent le cancer du sein. Il existe
différents types de facteurs de risque de survenue d’un cancer du sein.
1.4.2. L’AGE
L’âge est le facteur de risque le plus important vis-à-vis du cancer du sein, la maladie est rare
chez les femmes de moins de 30 ans. Le risque augmente entre 50 et 75 ans (près des deux tiers
des cancers du sein). Le cancer du sein masculin apparaît surtout chez les hommes de plus de
60 ans.
Il semble que les femmes ayant une puberté précoce, une ménopause tardive, n’ayant pas
d’enfants ou ayant des enfants tardivement, n’ayant pas allaité, auraient un risque plus
important d’avoir un cancer du sein.
13
1.4.5. L’ALIMENTATION
L’effet le plus important est celui de la quantité de calories absorbées, plus elle est élevée, plus
le risque augmente. L’obésité, une consommation importante d’alcool (équivalent de ½ Litre
de vin par jour), la faible consommation de fruits et de légumes sont également suspectées
d’augmenter le risque. Toutes ces données ne sont valables que sur un plan statistique et non
pas individuel.
1.4.6. LE TABAC
La fumée du tabac est une importante source de substances cancérogènes. Le tabagisme passif
est aussi nocif pour le cancer du sein que le tabagisme actif. Selon une étude de l'Inserm de la
France (Institut National de la Santé Et de la Recherche Médicale) une augmentation de risque
associé au tabagisme. Le fait d’inhaler involontairement de la fumée dégagée par la cigarette
ou cigares (tabagisme passif) semble associé à un risque augmenté d’environ 60% ; ce risque
est multiplié par trois chez les femmes après la ménopause. Il a été rapporté que les fumeuses
ont une ménopause précoce et une concentration urinaire réduite d’œstrogènes pendant la phase
lutéale du cycle menstruel.
1.4.7. LA PILULE
Pour les contraceptions orales, les études faites aux Etats-Unis conclut à une augmentation
minime du risque (+14%). Le risque serait un peu plus élevé (+20%) pour les femmes ayant
pris des contraceptions orales pendant plus de 5 ans avant une première grossesse.
Il existe un risque élevé d’augmentation du cancer du sein chez les femmes utilisant des THM.
Le risque de cancer est augmenté avec la durée du traitement. Aucune différence n’est
démontrée en fonction de la voie d’administration (orale, parentéral), le risque de cancer du
sein lié au traitement œstroprogestatif pourrait varier en fonction du type de progestatif, mais
ces données nécessitent d’être confirmées par d’autres études [W, 27].
Les femmes qui ont déjà présenté un cancer du sein ont plus de risques que les autres n’ayant
pas des antécédents de cancer (risque de deuxième cancer est de 10 %). Elles seront suivies
attentivement après. Même la présence d’un ou de plusieurs de ces facteurs favorise le
14
développement d’un cancer du sein, il faut savoir que, mis à part les facteurs familiaux ou
génétiques, ces autres facteurs augmentent généralement assez peu le risque : une femme qui
possède une ou plusieurs de ces caractéristiques peut ne jamais développer un cancer du sein.
En revanche, il est possible qu’une femme n’ayant aucune de ces caractéristiques soit atteinte
d’un cancer du sein. Les facteurs de risque ne permettent donc pas de déterminer les causes
exactes à l’origine d’un cancer du sein chez une femme.
Le cancer du sein non-infiltrant (in situ) se réfère à un cancer qui est encore dans le conduit du
lait et/ou les lobules du sein. En d’autres termes, le cancer n’a pas envahi les murs des canaux
galactophores ou des lobules c’est repartie en deux les CCIS et les CLIS.
15
élargie à cause des cellules cancéreuses qui s’accumulent à l’intérieur. Le calcium a
tendance à s’accumuler dans les canaux bloqués et est visible sur la mammographie.
Le Cancer Lobulaire in situ (CLIS) comme le montre la figure 4 fait référence à des
cellules cancéreuses qui se sont formés dans les glandes mammaires et qui sont encore
confinées dans cet espace. Ce type de cancer est souvent constaté chez les femmes
autour de la ménopause. CLIS est différente de CCIS, celui-ci présente un risque plus
élevé, l’ensemble du tissu des deux seins peut développer un cancer. Par conséquent, le
traitement de CLIS doit viser les deux seins.
Le cancer du sein infiltrant se réfère à des cellules qui se sont développé à travers les parois des
canaux galactophores et des glandes dans le tissu normal graisseux du sein. Les cellules
continuent de croître entraînant une masse. Ils peuvent alors former des métastases à travers la
16
circulation sanguine ou les vaisseaux lymphatiques vers d’autres parties du corps. Les
principaux types du sein infiltrant sont les suivants :
le Cancer Canalaire Infiltrant (CCI) est le plus populaire et est également appelé
cancer mammaire ou adénocancer infiltrant (figure 5) ;
17
Il existe d’autres types de cancer du sein que nous pouvons rencontrer (des cas plus rares) :
Cancer mucineux (colloide), Cancer médullaire, Cancer papillaire, Cancer tubuleux, Cancer
adénoïde kystique, Cancer sécrétant juvénile, Cancer apocrine, Cancer métaplasique de type
épidermoïde, Cancer métaplasique de type à cellules fusiformes, Cancer métaplasique de type
chodroide et osseux, Cancer métaplasique de type mixte, Maladie de Paget du mamelon.
Le système TNM possède des notations décrivant le stade d'un cancer, provenant d'une tumeur
solide, à l'aide de codes alphanumériques ainsi, les trois lettres symbolisant la propagation de
la maladie cancéreuse sont les suivants [B, 1] :
T décrit la taille de la tumeur initiale (primitive) et indique si elle a envahi les tissus
voisins ;
N décrit les ganglions lymphatiques voisins (Node) impliqués ;
M décrit les métastases à distance (propagation du cancer d'une partie du corps à une
autre).
T = Tumeur primitive
T2 : Tumeur de 20 à 50 mm
18
T3 : Tumeur de plus de 50 mm
T4a : Extension à la paroi thoracique
T4b : Extension à la peau y compris,
N = Adénopathies régionales
M = Métastases
19
1.7. EVOLUTION
Comme la plupart des cancers, le cancer du sein évolue d’abord localement, avec extension
aux organes de voisinage et aux ganglions lymphatiques axillaires, puis se propage par voie
sanguine (métastases), surtout aux os, au cerveau, au foie, et aux poumons. Ces métastases
peuvent apparaître tardivement, jusqu’à 10 ans après la découverte du cancer initial.
Stade I T1 N0 M0 85%
T0 N1 M0
T2 N0 M0
T2 N1 M0
Stade IIB 66%
T3 N0 M0
T0 N2 M0
T1 N2 M0
T3 N1 M0
T3 N2 M0
T4 N0 M0
T4 N2 M0
20
1.8. DIAGNOSTICS
Un cancer du sein est découvert soit à l’occasion d’un examen systématique par le gynécologue,
soit par la patiente elle-même au cours d’un auto-palpation mammaire qui découvre un nodule
ou une masse mammaire qui très souvent fait l’objet d’examens d’imagerie médicale en
l’occurrence l’échographie et la mammographie qui peuvent plaider en faveur d’un cancer du
sein. Ce diagnostic est objectivé par la biopsie.
Par ailleurs le cancer peut être découvert au cours de complications ou de localisation régionale
ou à distance.
1.8.1. LA MAMMOGRAPHIE
Le cancer du sein est à l’heure actuelle, est mis en évidence par une mammographie (examen
radiologique du sein) réalisé à titre systématique dans le cadre du suivi médical individuel ou
lors d’une campagne de dépistage (découvert de manière fortuite). La mammographie est un
examen aux rayons X, qui emploie de faibles doses de rayonnements, mais qui néanmoins doit
être évitée chez la femme enceinte. C’est une technique de radiographie qui vise à détecter les
tumeurs mammaires. Elle est réalisée lorsqu’une patiente présente des symptômes pouvant faire
évoquer un cancer du sein. Cet examen est réalisé avec un mamographe comme le montre la
figure suivante.
Figure 8: Le mamographe.
21
Les mammographies sont des clichés (des images en noir et blanc) centrés sur les zones
suspectes. La mammographie est l’examen de référence de dépistage du cancer du sein elle est
effectué sur chaque sein chacun sous des angles différents essentiellement, on peut citer le MLO
è_Médio-Latéral Oblique qui offre une vue de profil du sein et le CC Cranio-Caudal une vue
de face du sein. Elles permettent de mettre en évidence des cancers de petite taille, à un stade
précoce, avant l’apparition de symptômes. Cet examen permet d’orienter le médecin dans son
diagnostic. L’examen ne s’accompagne d’aucun effet secondaire.
Figure 9: Mammographie montrant une tumeur au sein vue d'en face à gauche et vue de
profil à droite.
Une mammographie systématique est conseillée tous les 2 ans chez les femmes à partir de 50
ans. Elle est aussi effectuée sur un avis médical lorsqu’une femme présente un risque accru de
cancer du sein (famille à risque, antécédents personnels).
On utilise la classification BIRADS (Breast Imaging Reporting And Data System) de l’ACR
qui est une classification internationale établie par l’American College of Radiology.
22
ACR 4 : il existe une anomalie indéterminée ou suspecte, pour laquelle la poursuite des
investigations reste nécessaire (microbiopsie échoguidée, macrobiopsie stéréotaxique,
cytoponction, IRM mammaire…). Souvent, une subdivision en ACR4a, ACR4b, et
ACR4c est réalisée pour mieux apprécier le risque de pathologie maligne ;
ACR 5 : il existe une anomalie évocatrice d’un cancer et pour laquelle la poursuite des
investigations reste indispensable (microbiopsie sous échographie, macrobiopsie
stéréotaxique, cytoponction…) ;
ACR 6 : correspond à une mammographie ayant un cancer prouvé, le plus souvent sous
traitement (chimiothérapie, hormonothérapie). [B, 1]
En cas d’images ACR 4 ou ACR 5 présente des cas ou la tumeur est localisé donc, des
prélèvements par biopsie percutanée sont nécessaires pour effectuer un examen
d’anatomopathologie.
Dans la figure qui suit on voit les résultats donnés par le médecin un examen de
mammographique.
23
1.8.2. ECHOGRAPHIE MAMMAIRE
Une échographie mammaire est un examen pratiqué par le radiologue qui utilise des ultrasons
pour produire des images de l’intérieur du sein. Elle est très utile pour voir la nature liquide ou
solide des nodules palpés ou découverts sur la mammographie.
Cet examen précise les images obtenues par mammographie. Il ne remplace pas une
mammographie qui est un examen de référence pour le sein. Pour les adolescentes, les jeunes
femmes et les femmes enceintes, la mammographie est moins importante : l’échographie
mammaire est donc l’examen de référence. Pour les femmes âgées, la mammographie reste
l’examen de référence.
Une échographie fournit des images « en temps réel », c’est-à-dire visibles immédiatement. Elle
permet ainsi de comparer ce que l’on sent avec les doigts (lors de la palpitation) et ce que l’on
voit sur l’écran elle permet aussi de guider un prélèvement. Cependant, l’échographie ne permet
pas toujours de voir avec certitude s’il s’agit ou non d’un cancer. Pour cela, il faut réaliser
d’autres examens complémentaires.
24
1.8.3. LA CYTOPONCTION ET LA MICROBIOPSIE ECHOGUIDÉE
25
1.9. TRAITEMENTS
Il existe quatre types de traitements qui peuvent être entrepris, parfois isolément, parfois en
association les traitements sont les suivants :
Les buts des traitements selon les cas sont d’extirper la tumeur et ralentir son extension, éviter
la récidive ou les métastases et améliorer la qualité de vie de la patiente.
CONCLUSION
Dans le monde, le cancer du sein est le premier type de cancer le plus fréquent chez la femme.
Ici, au Sénégal c’est le deuxième cancer féminin (46% en 2014) [B, 1], il vient après celui de
l’endomètre. Son diagnostic passe par plusieurs étapes en commençant par un examen clinique
systématique soit par un gynécologue ou bien par la patiente elle-même. Le cas de présence
d’une tumeur est confirmé par une mammographie et ou une échographie mammaire. Mais le
26
diagnostic de certitude reste l’examen anatomopathogie. Après l’identification de la tumeur, un
bilan sénologique (mise au point globale) : entretien, examen de la patiente, une
mammographie et souvent une échographie seront faites en vus d’étudier les signes de la
tumeur. Le cas d’une tumeur cancéreuse ou non sera confirmé par une analyse dite histologique,
un traitement sera alors pris selon le type de tumeur.
27
CHAPITRE 3 : INTELLIGENCE ARTIFICIELLE
INTRODUCTION
L'Homme a toujours cherché à comprendre et à reproduire les mécanismes naturels qui
l'entourent. Un des domaines les plus passionnants reste celui de l'étude du cerveau. Qu'il soit
humain ou animal, nous restons fascinés par sa capacité à analyser, à comprendre et à
généraliser les problèmes que pose l'environnement.
L’intelligence artificielle (IA) est un domaine de l’informatique qui met l’accent sur la création
de machines intelligentes qui fonctionnent et réagissent comme des humains. Il est devenu un
élément essentiel de l’industrie des technologies, les principaux problèmes de l’intelligence
artificielle comprennent la programmation des ordinateurs pour certaines caractéristiques telles
que :
la reconnaissance vocale ;
l’apprentissage ;
la planification ;
possibilité de manipuler et déplacer des objets ;
etc…
28
La robotique est également un domaine majeur lié à l'IA. Les robots ont besoin d'intelligence
pour gérer des tâches telles que la manipulation d'objets et la navigation, ainsi que des sous-
problèmes de localisation, de planification de mouvement et de cartographie.
La recherche en intelligence artificielle a vraiment commencé après une conférence tenue sur
le campus de Dartmouth College pendant l'été 1956 aux Etats Unis. À la suite de cette réunion,
certains participants se sont investis dans une recherche sur l'intelligence artificielle.
Certains idéalistes avaient prédit qu'une machine aussi intelligente qu'un être humain existerait
en moins d'une génération et des millions de dollars ont alors été investis dans un organisme de
prédiction. Avec le temps, il est apparu que les difficultés inhérentes à cette annonce avaient
été grossièrement sous-estimées.
Au début de 1973 jusqu'à la fin des années 1980, nous pouvons dire que ce cycle est discontinu,
les périodes de gel et de dégel en alternance, on disposait d'un support pour l'intelligence
artificielle. Mais il y a encore un idéal qui n’est pas encore atteint pour faire des prédictions
audacieuses.
Depuis 1980 jusqu’au présent. L’intelligence artificielle est devenue au fil du temps une matière
scientifique de plus en plus rigoureuse et formelle. La plupart des approches étudiées
aujourd’hui sont basées sur des théories mathématiques ou des études expérimentales plutôt
que sur l’intuition, et sont appliquées plus souvent aux problèmes issus du monde réel.
L'intelligence artificielle distribuée (Distributed Artificial Intelligence, DAI) est l'une des
nombreuses approches de l'intelligence artificielle. L’ors de l'apprentissage, il effectue une
méthode d'apprentissage complexe, une planification et des prises de décisions à grande échelle.
Il peut utiliser un large éventail de ressources informatiques dans différents domaines (CPU,
29
RAM, GPU...). Cela signifie qu'il peut facilement traiter et analyser de grandes quantités de
données et résoudre rapidement les problèmes.
Il existe de nombreux agents ou nœuds d'apprentissage autonomes dans un tel système. Ces
nœuds sont très distribués et indépendants les uns des autres. De ce fait, les systèmes
d’apprentissage automatique (ML) utilisant l’intelligence artificielle distribuée sont tout à fait
adaptables et fiables. Cela signifie que les systèmes DAI ne doivent pas être complètement
redéployés après toute modification apportée aux fichiers de données en entrée du problème.
L'intégration des solutions se fait par un système de communication efficace entre les agents ou
les nœuds. Cela garantit que le traitement est élastique. Contrairement au système d'IA
centralisé, les données dans les systèmes DAI ne doivent pas être transmises à un seul
emplacement. Les données peuvent être mises à jour au fil du temps. Les nœuds peuvent
interagir avec les uns avec les autres en ce qui concerne la solution de manière dynamique et
disposer des compétences nécessaires pour parvenir à la solution. Ainsi, le DAI est considéré
comme l'une des meilleures approches de l'apprentissage automatique et de l'intelligence
artificielle.
Les sociétés n’ont pas encore atteint le stade de la super intelligence artificielle. En effet, les
ingénieurs et les scientifiques tentent toujours d’atteindre un point qui serait considéré comme
une intelligence artificielle complète, où l’on pourrait dire qu’un ordinateur possède la même
capacité cognitive qu’un être humain.
30
2.3.3. L’INTELLIGENCE ARTIFICIELLE (IA) FAIBLE
L'intelligence artificielle faible (IA faible) connu aussi sous le nom d'intelligence artificielle
étroite est une approche de la recherche et du développement de l'intelligence artificielle,
sachant que l'IA est et restera toujours une simulation de l'intelligence humaine et que les
ordinateurs ne peuvent pas penser. L'IA faible agit simplement sur les règles qui lui sont
imposées et est liée à celle-ci et elle ne peut pas aller au-delà de ces règles.
Elle est conçue pour se concentrer et pour sembler très intelligente sur une tâche bien spécifique.
Ce fonctionnement est en totale contradiction avec celui de l'Intelligence Artificielle forte, dans
laquelle une Intelligence Artificielle est capable de toutes les fonctions cognitives que peut
avoir un humain, et n'est pas vraisemblablement différente d'un véritable esprit humain. L'IA
faible n'est jamais prise comme une intelligence générale, mais plutôt comme une construction
conçue pour être intelligente dans une tâche bien spécifique à laquelle elle est assignée.
Comme Intelligence faible on peut citer les robots utilisés dans le processus de fabrication de
produits, les chatbots comme Siri d'Apple, Cortana de Microsoft Windows (intégré dans
Windows 10) qui utilise internet comme une base de données. Ils semblent très intelligents, car
ils sont capables de tenir une conversation avec des personnes réelles, même en faisant des
remarques qui ne sont pas sérieux et quelques blagues, mais ils fonctionnent de manières très
spécifiques et bien prédéfinies. Cependant, la spécificité de leur fonction peut être mise à rude
épreuve donnant ainsi des résultats inexacts lorsqu’ils sont engagés dans des conversations
auxquelles ils ne sont pas programmés pour répondre.
L'Intelligence Artificielle forte (IA forte) est une construction d'Intelligence Artificielle qui
possède des capacités mentales et des fonctions qui imitent le cerveau humain. Dans la théorie
de l'IA forte, il n'y a pas de différence essentielle entre le logiciel, qui est l'Intelligence
Artificielle, imitant ainsi exactement les actions du cerveau humain et les actions d'un être
humain, y compris son pouvoir de compréhension et même sa conscience. L'intelligence
artificielle forte est également appelée Intelligence Artificielle complète. Elle est davantage une
philosophie qu'une approche réelle de la création d'IA. C'est une perception différente de l'IA
dans laquelle elle assimile l'IA aux humains. Il stipule qu'un ordinateur peut être programmé
pour fonctionner comme un esprit humain, être intelligent dans tous les sens du terme, avoir
une perception et avoir d‘autres état cognitifs normalement attribués humains.
31
Cependant, comme les humains ne peuvent même pas définir correctement ce qu'est
l'intelligence, il est très difficile de donner un critère clair quant à ce qui constituerait un succès
dans le développement d'une intelligence artificielle forte. La faible IA citée ci-dessus, par
contre, est très réalisable en raison de la manière dont elle définit l’intelligence. Plutôt que
d'essayer d'imiter pleinement un esprit humain, l'insuffisance de l'IA peut seulement se
concentrer sur le développement de l'intelligence liée à une tâche ou à un domaine d'étude
particulier. C’est un ensemble d’activités qui peuvent être décomposées en processus plus petits
et peuvent donc être réalisées à l’échelle définie.
L'amplification de l'intelligence est l'idée que les technologies peuvent être utiles à l'intelligence
humaine, plutôt que d'être composées de technologies qui créent une intelligence artificielle
indépendante. Les systèmes d'amplification de l'intelligence améliorent l'intelligence d'un être
humain, améliorant d'une certaine manière le fonctionnement ou la capacité d'un décideur
humain. L'amplification de l'intelligence est également appelée intelligence assistée,
intelligence augmentée, augmentation cognitive ou intelligence augmentée par machine.
CONCLUSION
Dans ce chapitre, nous avons fait un tour d’horizon dans le monde l’intelligence artificielle un
monde bien fascinant et on peut dire que l’étendue de l’intelligence des robots et des machines
est limitée, car ils ne savent pas quoi faire dans les situations pour lesquelles ils ne sont pas
programmés (entraîner) et en dehors de cela, ils n'ont aucun moyen de déterminer quoi faire.
L'IA équipée pour l'apprentissage automatique qu'on verra dans ce qui suit ne peut qu'apprendre
et appliquer que ce qu'elle a appris et à la portée pour laquelle elle est programmée.
L’Intelligence Artificielle est définie comme l'une des principales menaces pour l'avenir de
l'humanité, mythe ou réalité l'avenir nous le dira.
32
CHAPITRE 4: MACHINE LEARNING
INTRODUCTION
D’une façon générale, l’apprentissage humain est un processus adaptatif grâce à laquelle
l’individu fournit des réponses adéquates à certaines situations. En Psychologie ou en Science
Cognitives, le terme « Apprentissage » désigne le processus d’augmentation de l’efficacité de
l’activité mentale ou comportementale sous l’effet de l’expérience.
Cependant on a à faire un autre type d’apprentissage, vous l’utilisez certainement des centaines
voire des milliers de fois par jour sans même le savoir, chaque jour des millions d’utilisateurs
effectue des recherches sur Google ou Bing, comment font les applications de photos comme
celle de Facebook ou Apple qui reconnaissent des personnes sur les photos. À chaque fois que
quelqu’un lit un e-mail et que le filtre anti-spam évite à la personne de parcourir des tonnes de
spam encore une fois les questions qu’on doit se poser comment l’ordinateur a appris à
distinguer entre les e-mails spam des non-spam et comment tout cela marche si bien, c’est parce
que tout cela est possible grâce à une technologie qu’on appelle le Machine Learning en
français apprentissage automatique.
Apprendre, dans ce cas signifie être capable d’adapter son comportement dans une situation
inconnue (n’ayant pas été prévues par les concepteurs de la machine dans l’accomplissement
d’une tâche) et pouvoir extraire des caractéristiques à partir de bases de données
33
d’apprentissage. L’apprentissage se fait donc par des outils qui permettent d’acquérir, élargir et
améliorer les connaissances disponibles au système.
L'apprentissage automatique est utilisé pour doter des ordinateurs ou des machines de systèmes
de perception de leur environnement : vision, reconnaissance d'objets (visages, schémas,
langages naturels, écriture, formes syntaxiques…), moteurs de recherche, aide aux diagnostics
médical, bio-informatique, chimio-informatique, interfaces cerveau-machine, détection de
fraudes à la carte de crédit, analyse financière, dont analyse du marché boursier, classification
des séquences d’ADN, jeu, génie logiciel, adaptation de sites Web, locomotion de robots,
analyse prédictive en matière juridique et judiciaire…
Cette étape est cruciale, il consiste à récupérer, sélectionner, nettoyer et transformer les données
pertinentes de telle sorte qu’il soit compréhensible par la machine, pour cela, il va falloir
prétraiter les données, c’est-à-dire visualiser les différentes variables, essayer de comprendre
les valeurs extrêmes ou anormales, les liens, etc... Une fois qu’on a une idée de ce à quoi on a
affaire, on peut définir un problématique plus précise.
Les bases de données constituent la source principale de récupération lors d’une étude de cas
en Machine Learning. Il existe des technologies pour récupérer ces données (sql, xml, json…)
ces bases de données peuvent comprendre les différents types d’information :
Les données peuvent être du texte, rédiger en langage naturel (humain) ainsi, on peut inclure
tous les types de texte (articles, livres, messages, etc.) le traitement du texte (appelé NLP
Natural Language Processing) constitue un domaine de recherche à lui seul. Elles peuvent être
aussi du code HTML ou encore des séquences d’ADN, mais aussi des audios, des images (et
vidéo) le traitement des images et de vidéos constitue un domaine de recherche à part
(Computer Vision en anglais).
34
4.3. LA MODÉLISATION
En Machine Learning, l’idée est que l’algorithme construit une représentation interne tout seul
afin de pouvoir effectuer une tâche qui lui est demandé (prédiction, identification, etc.). Pour
cela, il va falloir lui donner un ensemble de données d’exemples (ou d’entraînement) afin qu’il
puisse s’entraîner et s’améliorer, d’où le mot apprentissage. Cet ensemble de données s’appelle
le training set (ou training dataset). On peut appeler une entrée dans l’ensemble de données une
instance ou une observation.
Le schéma ci-dessus montre les différentes phases de l’utilisation d’un algorithme de Machine
Learning.
35
Comme nous le montre le schéma ci-dessus un problème de Machine Learning est composé des
différents éléments :
Les données (les données d’entraînement, mais aussi les nouvelles données) ;
36
(𝒙(𝟏) , 𝒚(𝟏) ), (𝒙(𝟐) , 𝒚(𝟐) ), … , (𝒙(𝑴) , 𝒚(𝑴) )
Chaque 𝑦 (𝑖) a été généré par une fonction 𝑭(𝒙) = 𝒚 inconnue, le but est découvrir la fonction
𝑓 qui se rapproche de 𝐹.
Le Supervised Learning est composé de deux catégories qui sont les problèmes de « Régression
» et de « classification », dans un problème de régression : il s’agit de prédire les résultats dans
une sortie continue (faire correspondre les variables d’entrée à fonction continue), dans un
problème de classification, il s’agit de prédire les résultats dans une sortie discrète (faire
correspondre les variables d’entrée en catégories discrète). Cette distinction aidera dans le choix
d’un algorithme de Machine Learning et le type de sortie que l’on attend du programme : est-
ce une valeur continue (un nombre) donc c’est le cas d’une régression ou bien une valeur
discrète (une catégorie) donc c'est le cas d’une classification ?
Un modèle de régression est un modèle de ML dont les sorties y sont des nombres (exemple: la
température de demain). Un modèle de classification est un modèle de ML dont les sorties y
appartiennent à un ensemble fini de valeurs (exemple : bon, mauvais).
Il existe un autre type de prédiction possible qui est de sortir plusieurs labels de manière
ordonnée (Machine-Learning Ranking en anglais). L’algorithme PageRank de Google retourne
des résultats de recherche dans l’ordre, du plus pertinent au moins pertinent.
37
4.5.2. UNSUPERVISED LEARNING
𝑥𝑖 → 𝑦𝑖
Il est mis en œuvre essentiellement quand des données(étiquettes) manquent, le modèle doit
utiliser des exemples non étiquetés pouvant néanmoins renseigner.
38
4.5.4. REINFORCEMENT LEARNING
Transfer Learning (l’apprentissage par transfert) peut être vu comme la capacité à une machine
de reconnaître et appliquer des connaissances et des compétences, apprises à partir de tâches
antérieures sur une nouvelle tâche ou domaine partageant des similitudes. Son objectif est de
savoir comment alors identifier les similitudes entre la ou les tâche(s) cible(s) et la ou les
tâche(s) source(s), puis comment transférer la connaissance de là ou des tâche(s) source(s) vers
la ou les tâche(s) cible(s).
Régression Linéaire;
Logistique Régression ;
K-means ;
K-nn ;
Neural Network…
39
4.6.1. LA RÉGRESSION LINÉAIRE
Une régression linéaire est un algorithme supervisé, avec en entrée 𝑥 et en sortie 𝑌 la sortie
(la prédiction) est de la forme 𝑌 = 𝑤0 + 𝑤1 𝑋 ou [𝑤0 et 𝑤1 ] sont des valeurs réelles à calculer.
Prenons l’exemple suivant s’acheter une maison à Sally est l’objectif de certains Sénégalais,
mais aussi des touristes qui viennent visiter Sénégal pour ainsi s’installer au Sénégal après leur
retraite. Pour établir une relation entre le prix en million de FCFA d’une maison à Sally et la
taille de la maison, on peut ainsi prédire une relation entre ces deux.
Bien évidemment, le graphique montre que le prix d’une maison augmente en même temps que
la taille. On peut tracer une droite comme celle-ci pour réaliser une approximation de cette
relation donc la relation entre le prix et la taille est linéaire.
40
Figure 18: Une relation linéaire.
Cette droite ne passe pas exactement par chaque point, mais elle montre clairement la relation
entre les prix et les tailles. Avec un peu d’algèbre, nous pouvons décrire cette relation ainsi :
𝑦 = 𝑎𝑥 + 𝑏
𝑦 est le prix d’une maison en million de franc cfa, les valeurs qu’on essaie de prédire ;
𝑎 est la pente de la droite ;
𝑥 est la taille en mètre carré, c’est la valeur de notre caractéristique d’entrée ;
𝑏 est l’ordonnée à l’origine.
Pour le Machine Learning, la Linear Regression (la régression linéaire) s’obtient pour un
modèle, en changeant légèrement l’équation précédente, l’équation de prédiction devient
comme suit:
𝑦 ′ = 𝑏 + 𝑏1 𝑥1
On écrit aussi
𝑦 ′ = 𝑤0 + 𝑤1 𝑥1
41
𝑥1 : est une caractéristique connue (input/feature) / variable d’entrée
Pour prédire le prix 𝑦 ′ pour une nouvelle valeur de la taille en 𝑚2 il suffit d’introduire la
nouvelle valeur de 𝑥1 dans le modèle.
Les indices (𝑤1 et 𝑥1 ) du modèle précèdent repose sur une seule caractéristique. Pour un modèle
reposant sur plusieurs caractéristiques l’équation de prédiction deviens comme suit :
𝑦 ′ = 𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 + ⋯ + 𝑤𝑛−1 𝑥𝑛−1 + 𝑤𝑛 𝑥𝑛
On peut l’écrire sous cette forme :
𝑦 ′ = 𝑤0 + 𝑤1 𝑥1 + 𝑤2 𝑥2 + ⋯ + 𝑤𝑛−1 𝑥𝑛−1 + 𝑤𝑛 𝑥𝑛
Pour un modèle, l’apprentissage a pour objectif de déterminer les bonnes valeurs pour tous les
paramètres (pondérations et le biais) à partir d’exemples d’apprentissage. Pour la régression
linéaire, l’algorithme de Machine Learning crée un modèle en examinant de plusieurs exemples
en vue de trouver un modèle qui minimise la perte, on appelle ce processus minimisation du
risque empirique.
La perte permet de mesurer la précision de la prédiction pour un ensemble de donnée. Si la
perte est nulle, c’est-à-dire égale à zéro dans ce cas la prédiction est parfaite. Sinon la perte est
supérieure à zéro, on doit dans ce cas chercher à le minimiser. Comme l’illustre la figure
suivante ici les points les points en vert représentent nos valeur d’entrée et celles en rouge
représentent les prédictions faites et la droite en noir représente la fonction de prédiction 𝑦̂ =
𝑏0 + 𝑏1 𝑥 . Les pertes sont représentées par 𝑟𝑖 = (𝑦̂𝑖 − 𝑦̂𝑖 ).
42
Figure 20: Représentation de Perte élevée dans le modèle à gauche, perte faible dans le
modèle à droite.
On peut remarquer que les flèches rouges dans le graphique de gauche sont plus longues que
celles de l’autre graphique à droite. C’est parce que la ligne bleue dans le modèle de droite a
une perte faible correspond à un modèle prédictif plus performante celui dans le graphique de
gauche. Les modèles de régression linéaire utilisent une fonction de perte quadratique. Pour un
seul exemple, la perte quadratique est :
(𝒐𝒃𝒔𝒆𝒓𝒗𝒂𝒕𝒊𝒐𝒏 − 𝒑𝒓𝒆𝒅𝒊𝒄𝒕𝒊𝒐𝒏(𝒙))𝟐
On peut l’écrire comme suit : (𝒚 − 𝒚′ )𝟐
L’erreur quadratique moyenne (MSE) est couramment utilisé en Machine Learning il
correspond à la perte quadratique moyenne pour chaque exemple. Pour calculer l’erreur MSE,
il faut additionner toutes les pertes quadratiques de l’exemple, puis diviser par le nombres
d’exemples :
𝟏
𝑴𝑺𝑬 = ∑ (𝐲 − 𝒑𝒓𝒆𝒅𝒊𝒄𝒕𝒊𝒐𝒏(𝒙))𝟐
𝑵
(𝒙,𝒚)𝝐𝑫
𝒙 est l'ensemble des caractéristiques (par la taille d’une maison) que le modèle utilise
pour réaliser des prédictions ;
43
𝒑𝒓𝒆𝒅𝒊𝒄𝒕𝒊𝒐𝒏(𝒙) est une fonction des pondérations et biais en combinaison avec
l'ensemble des caractéristiques .
𝑫 est un ensemble de données contenant de nombreux exemples étiquetés, qui sont des
paires .
Bien que l'erreur MSE soit couramment utilisée dans le Machine Learning, ce n'est ni la seule
fonction de perte pratique, ni la meilleure fonction de perte pour toutes les circonstances.
Pour minimiser la perte dans un problème de linéaire régression on fait appelle au gradient
descente qui permet de trouver les paramètres optimaux.
Gradient Descente
One variable (n=1) Multiple variables (𝑛 ≥ 1)
L’ancien algorithme : Le nouvel algorithme
Repeat { Repeat {
𝑚 𝑚
1 1 (𝑖)
𝑤0 = 𝑤0 − 𝛼 ∑(ℎ𝑤 (𝑥 (𝑖) ) − 𝑦 (𝑖) ) 𝑤𝑗 = 𝑤𝑗 − 𝛼 ∑(ℎ𝑤 (𝑥 (𝑖) ) − 𝑦 (𝑖) ) ∙ 𝑥𝑗
𝑚 𝑚
𝑖=1 𝑖=1
𝑚
1 (changement simultané de 𝑤𝑗 pour
𝑤1 = 𝑤1 − 𝛼 ∑(ℎ𝑤 (𝑥 (𝑖) ) − 𝑦 (𝑖) )
𝑚 𝑗 = 0, … , 𝑛)
𝑖=1
∙ 𝑥 (𝑖) }
𝑚
(changement simultané de 𝑤0 , 𝑤1 ) 1 (𝑖)
𝑤0 = 𝑤0 − 𝛼 ∑(ℎ𝑤 (𝑥 (𝑖) ) − 𝑦 (𝑖) ) ∙ 𝑥0
} 𝑚
𝑖=1
𝑚
1 (𝑖)
𝑤1 = 𝑤1 − 𝛼 ∑(ℎ𝑤 (𝑥 (𝑖) ) − 𝑦 (𝑖) ) ∙ 𝑥1
𝑚
𝑖=1
𝑚
1 (𝑖)
𝑤2 = 𝑤2 − 𝛼 ∑(ℎ𝑤 (𝑥 (𝑖) ) − 𝑦 (𝑖) ) ∙ 𝑥2
𝑚
𝑖=1
44
4.6.2. LOGISTIC REGRESSION
𝟏
𝒚′ =
𝟏 + 𝒆−𝒛
Si 𝑧 représente le résultat de la couche linéaire d'un modèle formé avec la régression logistique,
alors le sigmoïde (z) donnera une valeur (une probabilité) entre 0 et 1. En termes
mathématiques :
1
𝑦′ =
1 + 𝑒 −𝑍
𝑧 = 𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥 2 + . . . +𝑤𝑛 𝑥𝑛 = 𝑤 𝑇 𝑥
𝑥0
𝑥
[𝑤0 𝑤1 ⋯ 𝑤𝑛 ] [ 1 ] = 𝑤 𝑇 𝑥
⋮
𝑥𝑛
45
avec :
Les valeurs x sont les valeurs des caractéristiques pour un exemple particulier.
Notez que z est également appelé logarithme de probabilité parce que l'inverse du sigmoïde dit
que z peut être défini comme le logarithme de la probabilité de l'étiquette "1" (par ex. "le chien
aboie") divisé par la probabilité de l'étiquette "0" (par ex. "le chien n'aboie pas") :
𝑦
𝑧 = 𝑙𝑜𝑔
1−𝑦
Notre probabilité que notre prédiction soit égale à 0 (𝑦 ′ = 0) n'est que le complément de notre
probabilité qu'elle soit 1 (par exemple, si la probabilité qu'elle soit de 1 soit de 70%, alors la
probabilité qu'elle soit de 0 soit de 30%).
46
𝐿𝑜𝑔𝐿𝑜𝑠𝑠 = ∑ −𝑦𝑙𝑜𝑔(𝑦 ′ ) − (1 − 𝑦)log(1 − 𝑦 ′ )
(𝑥,𝑦)∈𝐷
avec:
(x, y) ϵ D est l'ensemble de données contenant de nombreux exemples étiquetés, qui sont des
paires (x, y).
y est l'étiquette dans un exemple étiqueté. Puisqu'il s'agit de régression logistique, chaque valeur
de y doit être 0 ou 1.
y' est la valeur prédite (comprise entre 0 et 1), étant donné l'ensemble d'éléments dans x.
L'équation pour la perte logistique est étroitement liée à la mesure d'entropie de Shannon de
la théorie de l'information. C'est également le logarithme négatif de la fonction de
vraisemblance, en supposant une distribution de Bernoulli de y. En effet, la minimisation de
la fonction de perte donne une estimation maximum de la vraisemblance.
Le Gradient Descente
Repeat{
𝜕
𝑤𝑗 ≔ 𝑤𝑗 − 𝛼 𝐽(𝑤)
𝜕𝑤𝑗
Nous pouvons travailler sur la partie dérivée en utilisant le calcul pour obtenir :
Repeat {
𝑚
𝛼 (𝑖)
𝑤𝑗 ≔ 𝑤𝑗 − ∑(𝑦′(𝑥 (𝑖) ) − 𝑦 (𝑖) )𝑥𝑗
𝑚
𝑖=1
Notons que cet algorithme est identique à celui que nous avons utilisé dans la régression
linéaire. Nous devons encore mettre à jour simultanément toutes les valeurs de thêta.
47
𝛼 𝑇
𝑤≔𝑤− 𝑋 (𝑔(𝑋𝑤) − 𝑦⃗ )
𝑚
Les régressions logistiques permettent d’obtenir une probabilité en l’état c’est-à-dire obtenir
pour une classe A 0,0049 et pour l’autre classe B 0,9951 bien sur la somme totale des
probabilités doit être égale à 1 ou bien le convertir en valeur binaire 0 ou 1.
Suivant un modèle de prédiction des classes A et B on peut en déduire que classe B 0,9951
présente un aspect positif et la classe A un aspect négatif mais quand est-il lorsqu’on a un score
de 0,6 pour une classe donnée. C’est là qu’on introduit la notion de valeur seuil Afin d'identifier
la catégorie binaire correspondant à une valeur obtenue par régression logistique on doit définir
un seuil de classification (également appelé seuil de décision).
Dans cette section, nous définissons les bases des critères que nous utiliserons pour évaluer les
modèles de classification avec 𝑘 = 2 classes à prédire.
Un Vrai Positif (VP) est un résultat où le modèle prédit correctement la classe positive.
De façon analogue, un Vrai Négatif (VN) est un résultat où le modèle prédit correctement la
classe négative.
Un Faux Positif (FP) est un résultat où le modèle prédit incorrectement la classe positive.
Et un Faux Négatif (FN) est un résultat où le modèle prédit incorrectement la classe négative.
Soit la classe positive (résultat cherché) est égal à 0 (classe 0) et la classe négative (le contraire
du résultat cherché) est égal 1 (classe 1), alors on obtient le tableau suivant :
48
Classe prédite
Classe 0 Classe 1
Classe 0 VP FP
Classe réelle
Classe 1 FN VN
2 ∗ (𝑃𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 ∗ 𝑅𝑎𝑝𝑝𝑒𝑙)
𝐹 − 𝑚𝑒𝑠𝑢𝑟𝑒𝑑𝑒 𝑙𝑎 𝑐𝑙𝑎𝑠𝑠𝑒1 =
𝑃𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑎𝑝𝑝𝑒𝑙
Il est possible de calculer tous ces indicateurs pour chaque classe (𝑘 = 1 … 𝑖 classes à prédire.).
La moyenne sur chaque classe de ces indicateurs donne des indicateurs globaux sur la qualité
du classifieur.
𝑘
1 𝑉𝑃𝑖
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = ∑
𝑘 𝑉𝑃𝑖 + 𝐹𝑃𝑖
𝑖=1
𝑘
1 𝑉𝑃𝑖
𝑅𝑎𝑝𝑝𝑒𝑙 = ∑
𝑘 𝑉𝑃𝑖 + 𝐹𝑁𝑖
𝑖=1
2 ∗ (𝑃𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 ∗ 𝑅𝑎𝑝𝑝𝑒𝑙)
𝐹 − 𝑚𝑒𝑠𝑢𝑟𝑒 =
𝑃𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑎𝑝𝑝𝑒𝑙
49
4.6.2.4. La courbe ROC et AUC
Dans le cas d’un classifieur binaire, il est possible de visualiser les performances du classifieur
sur ce que l’on appelle une courbe ROC. La courbe ROC est une représentation du taux de vrais
positifs en fonction du taux de faux positifs. Son intérêt est de s’affranchir de la taille des
données de test dans le cas où les
données sont déséquilibrées.
Le taux de vrais positifs(TVP) est l’equivalent du rappel. Il est donc défini comme suit :
𝑉𝑃
𝑇𝑉𝑃 =
𝑉𝑃 + 𝐹𝑁
Le taux de faux positifs (TFP) est défini comme suit :
𝐹𝑃
𝑇𝐹𝑃 =
𝐹𝑃 + 𝑉𝑁
Cette représentation met en avant un nouvel indicateur qui est AUC l’aire sous la courbe.
AUC mesure l’intégrale de l’aire à deux dimensions située sous l’ensemble de la courbe ROC
(par calculs d’intégrales) de (0,0) à (1,1). Plus elle se rapproche de 1, plus le classifieur est
performant.
50
Figure 24: AUC (aire sous la courbe ROC).
4.6.3. 𝒌-Means
L’algorithme des k-moyennes (𝒌 -means) est un algorithme non supervisé. Chaque observation
est représentée par un point dans un espace à 𝒏 dimensions ou 𝒏 est le nombre de variables
descriptives.
À partir d’un ensemble d’apprentissage de 𝑴 observations 𝒙(𝟏) , … , 𝒙𝑴 cet algorithme va
repartir ces observations en 𝒌 clusters de manière à ce que la distance euclidienne qui sépare
les points au centre de gravité du groupe auquel ils sont affectés soit minimale. Les étapes de
l’algorithme sont :
Choisir 𝒌 points qui représentent la position moyenne des clusters
Répéter jusqu’à stabilisation des points centraux :
o Affecter chacun des 𝑴 points au plus proche des 𝒌 points centraux ;
o Mettre à jour les points centraux en calculant les centres de gravité des 𝒌 cluster.
Avantages :
o Implémentable pour des grands volumes de données.
Inconvénients
o Le choix du paramètre 𝒌 n’est pas découvert mais choisi par l’utilisateur ;
o La solution dépend des 𝒌 centre de gravité choisi lors de l’initialisation.
51
Figure 25: L’algorithme k-means regroupe les données en k cluster, ici k = 3. Les centres
de gravité sont représentés par de petits cercles.
4.6.4. Les k plus proches voisins
L’algorithme des K-Nearest Neighbors (KNN) (𝑲 plus proches voisins) est un algorithme de
classification supervisé. Chaque observation de l’ensemble d’apprentissages est représentée
par un point dans un espace à 𝒏 dimensions ou 𝒏 est le nombre de variables prédictives. Pour
prédire la classe d’une observation, on cherche les 𝒌 points les plus proches de cet exemple. La
classe de la variable cible, est celle qui est la plus représentée parmi les 𝒌 plus proches voisins.
Figure 26: Pour k = 3 la classe majoritaire du point central est la classe B, mais si on
change la valeur du voisinage k = 6 la classe majoritaire devient la classe A.
52
Avantages :
Simple à concevoir
Inconvénients
Les Support Vector Machine (SVM) (machines à vecteur de support) font partie des
algorithmes de classification supervisé, ce sont des algorithmes classification binaire non-
linaire très puissant. Le principe des SVM consiste à construire une bande séparatrice non-
linéaire de largeur maximale qui sépare deux ensembles d’observations et à l’utiliser pour faire
des prédictions.
SVM étant une méthode de classification supervisée, est vue comme un perceptron dans le sens
où ils cherchent à trouver le meilleur hyperplan de séparation de données de deux classes.
Cependant, un SVM est différent d’un perceptron dans le sens où ce dernier n’a pas de
préférence parmi les séparateurs possibles alors que la SVM fait un choix particulier entre les
séparateurs possibles en cherchant celui avec la « marge maximale ».
La première idée cas linéairement séparable consiste à trouver un séparateur linéaire de largeur
maximale, c’est la notion de marge maximale. La marge est la distance entre la frontière de
séparation et les échantillons les plus proches. Ces derniers sont appelés vecteurs supports. Le
problème est de trouver cette frontière séparatrice optimale.
Dans le cas où le problème est linéairement séparable, le choix de l’hyperplan séparateur n’est
pas évident. Il existe en effet une infinité d’hyperplans séparateurs, dont les performances en
53
phase d’apprentissage sont identiques, mais dont les performances en phase de test peuvent être
très différentes.
Pour résoudre ce problème, il a été montré, qu’il existe un unique hyperplan optimal, défini
comme l’hyperplan qui maximise la marge entre les échantillons et l’hyperplan séparateur.
Il existe des raisons théoriques à ce choix. Un chercheur russe au nom de Vapnik a montré que
la capacité des classes d’hyperplans séparateurs diminue lorsque leur marge augmente.
Figure 27: On cherche un hyperplan qui divise les observations en deux catégories.
Considérons un exemple 𝑥 qu’on veut classer, si 𝑓(𝑥) > 0, il appartient à la classe des cercles,
sinon il appartient à la classe des carrés. Dans cette figure on peut voir qu’il existe une infinité
d’hyperplans séparateurs possibles.
Afin de pouvoir traiter des cas où les données ne sont pas linéairement séparables, la deuxième
idée clé des SVM est de transformer l’espace de représentation des données d’entrées en un
espace de plus grande dimension, dans lequel il est probable qu’il existe une séparation linéaire.
Ceci est réalisé grâce à une fonction noyau, qui doit respecter les conditions du théorème de
Mercer, et qui a l’avantage de ne pas nécessiter la connaissance explicite de la transformation
à appliquer pour le changement d’espace.
Les fonctions noyaux permettent de transformer un produit scalaire dans un espace de grande
dimension, ce qui est coûteux, en une simple évaluation ponctuelle d’une fonction. Cette
technique est connue sous le nom de kernel trick.
Les deux fonctions noyaux les plus utilisées sont le noyau polynomial et le noyau gaussien.
54
Figure 28: Exemple d’un problème non linéairement séparable. La courbe devient une
bande linéaire après avoir appliqué la transformation non-linéaire.
Avantages :
o Il permet de traiter des problèmes de classification non linéaire complexe.
o Les SVM constituent une alternative aux réseaux de neurones car plus faciles à
entraîner.
Inconvénients :
o Les SVM ne sont souvent pas performants.
Neural Network NN (réseau neuronal) peut être utilisé dans le cas d’un Supervised Learning
(apprentissage supervisé) et aussi dans le cas d’un Unsupervised Learning (apprentissage non
supervisé) d’un proposé par Warren McCulloch et Walter Pitts en 1943, qui deviendra la base
des réseaux de neurones artificiels un des premiers modèles de neurone artificiel, connu aussi
sous le nom de « Artificiel Neural Network », est une technologie conçue pour simuler l’activité
du cerveau humain en particulier, la reconnaissance des formes et le passage des données à
travers différentes couches de connexions neuronales simulées.
55
De nombreux experts définissent les réseaux de neurones profonds comme des réseaux dotés
d'une couche d'entrée (Input Layer) faisant référence aux dendrites, d'une couche de sortie
(Output Layer) faisant référence aux axones et d'au moins une couche masquée.
Chaque couche effectue des types spécifiques de tri et de classement dans un processus que
certains appellent « hiérarchie des fonctionnalités ». L'une des utilisations clés de ces réseaux
neuronaux sophistiqués concerne le traitement des données non étiquetées ou non structurées.
Ce modèle de neurone utilise la sommation des intrants pesés ou poids (weighted inputs)
comme intrant « net » X (intrant direct de la fonction du neurone) et comme fonction
d’activation, la fonction de signe (comparé avec le seuil 𝑤).
𝑛
𝑋 = ∑ 𝑥𝑖 ∗ 𝑤𝑖
𝑖=1
+1 𝑠𝑖 𝑋 > 𝑤
𝑌={
−1 𝑠𝑖 𝑋 < 𝑤
Les réseaux de neurones artificiels sont des réseaux fortement connectés de processeurs
élémentaires fonctionnant en parallèle. Chaque processeur élémentaire (neurone artificiel)
calcule une sortie unique sur la base des informations qu’il reçoit.
Avantages :
o Capacité à découvrir les dépendances par lui-même ;
o Résistance aux bruits.
56
Inconvénients
o C’est un modèle boite noire qui n’explique pas ses décisions.
Un perceptron multicouche (MLP) comprend au moins trois couches de nœuds: une couche
d'entrée (Input Layer), une couche cachée (hidden Layer) et une couche de sortie (Output
Layer). À l'exception des nœuds d'entrée, chaque nœud est un neurone utilisant une fonction
d'activation non-linéaire. MLP utilise une technique d'apprentissage supervisée appelée
rétropropagation pour l’apprentissage.
Un neurone est l'unité de base du calcul dans un réseau de neurones couramment appelé « nœud
» ou « unité ». Le nœud reçoit une entrée d'autres nœuds ou reçoit une entrée d'une source
externe, puis calcule la sortie. Chaque entrée est complétée par un « poids » (w), dont le poids
dépend de l'importance relative des autres entrées. Le nœud applique la fonction f (définie
comme suit) à la somme d'entrée pondérée, comme illustré dans la figure ci-dessous
L'importance du biais (b): La fonction principale du biais est de fournir une valeur constante
pouvant être entraînée pour chaque nœud (au-delà de l'entrée normale reçue par le nœud) et
éviter ainsi que la sortie 𝑌 soit égal à 0.
La fonction 𝑓 est non linéaire et est appelée fonction d'activation. La fonction d'activation a
pour fonction d'introduire la non-linéarité dans la sortie du neurone. Comme la plupart des
données du monde réel sont non-linéaires, on espère que les neurones pourront apprendre des
57
représentations fonctionnelles non-linéaires. Chaque fonction d'activation (non-linéaire) reçoit
un nombre et effectue un calcul mathématique spécifique et fixe.
𝒆 𝒛𝒊
Softmax : f (z) = ∑𝑲 𝒛𝒊 pour i=1,…,K
𝒊=𝟏 𝒆
Dans le cas de perceptrons multicouches, comme on ne connait pas les sorties(output) désirés
des couches cachées, mais seulement de la dernière couche, il faut propager la responsabilité
des erreurs de la dernière couche à la première dans le sens contraire du calcul de la prédiction,
d’où son nom rétro-propagation. De plus, les perceptrons multicouches utilisent des neurones
58
munis de la fonction d’activation sigmoïde, celle-ci permettant les nuances nécessaires à une
bonne utilisation de la retro-propagation. Rétro-Propagation permet à l’ordinateur «
d’apprendre à partir de ces erreurs ».
Pour l’algorithme de Rétro-Propagation initialement, tous les poids sont attribués de manière
aléatoire. Pour toutes les entrées de l'ensemble de données d'apprentissage, le réseau de
neurones artificiels est activé et sa sortie est observée. Ces sorties sont comparées à ce que nous
savons déjà et attendons, l’erreur «se propage » au niveau précédent. L'erreur sera marquée et
le poids sera « ajusté » en conséquence. Ce processus est répété jusqu'à ce que l'erreur de sortie
soit inférieure à la norme établie. C’est une terminologie de neural-network pour minimiser la
perte, tout comme ce que nous faisions avec le GRADIENT DESCENT dans la Logistique et
Linéaire Régression.
4.7. LE SURAPPRENTISSAGE
Un modèle qui a surappris génère une faible perte lors de l’apprentissage, mais ne parvient pas
à prédire efficacement les nouvelles données. Plus le nombre d’itérations pour lesquelles nous
utilisons le même ensemble d’évaluation est important, plus le risque de surapprentissage est
élevé. L'objectif d’un modèle du Machine Learning est d’apprendre bien l'échantillon en cours
pour d'effectuer des prédictions correctes sur de nouvelles donnée. Le fait de rendre un modèle
plus complexe que nécessaire est une cause de surapprentissage. Toute la difficulté du Machine
Learning consiste à bien apprendre nos données, tout en veillant à ce que cet apprentissage reste
le plus simple possible.
59
Si un modèle apprend correctement les exemples en cours, comment être sûr qu'il fera
également des prédictions correctes sur des exemples qu'il n'a encore jamais vus ? C’est deux
choses doivent être évité :
la complexité du modèle ;
les performances du modèle au niveau des données d'apprentissage.
Ceci étant une analyse théorique dans la pratique, leur application peut s’avérer difficile.
L'objectif d'un modèle de Machine Learning est de formuler des prédictions exactes sur de
nouvelles données qui n'étaient pas visibles précédemment. Mais comment obtenir ces données
si vous construisez un modèle à partir de votre ensemble de données ?
Les subtilités du Machine Learning repose sur trois hypothèses de base qui influencent la
généralisation :
Lorsque l'on sait que l'une de ces trois hypothèses n'est pas respectée, il convient de prêter une
attention toute particulière aux métriques (mesure).
60
4.8. LA RÉGULARISATION
Dans le cas d’un surapprentissage des données par le modèle avec l'ensemble d'apprentissage
pour éviter une telle situation on fait appel au principe de la régularisation au lieu de seulement
chercher à minimiser la perte, comme suit :
𝑚𝑖𝑛𝑖𝑚𝑖𝑠𝑒𝑟(𝑃𝑒𝑟𝑡𝑒(𝐷𝑜𝑛𝑛é𝑒𝑠|𝑀𝑜𝑑è𝑙𝑒))
𝑚𝑖𝑛𝑖𝑚𝑖𝑠𝑒𝑟(𝑃𝑒𝑟𝑡𝑒(𝐷𝑜𝑛𝑛é𝑒𝑠|𝑀𝑜𝑑è𝑙𝑒) + 𝑐𝑜𝑚𝑝𝑙𝑒𝑥𝑖𝑡é(𝑀𝑜𝑑è𝑙𝑒))
Cette minimisation est constituée du facteur de perte, qui mesure l'efficacité d'apprentissage du
modèle, et le facteur de régularisation, qui mesure la complexité du modèle.
Machine Learning présente deux façons courantes (et apparentées) d'aborder la complexité d'un
modèle :
61
Si la complexité du modèle est en fonction des pondérations, la pondération d'une
caractéristique est plus ou moins complexe selon que sa valeur absolue est plus ou moins élevée.
La régularisation 𝑳𝟏
La régularisation 𝐿1 aide à mettre à zéro les pondérations des caractéristiques (paramètres) peu
ou pas pertinentes, ce qui a pour effet de supprimer celles-ci du modèle.
La régularisation 𝑳𝟐
4.9. LE SOUS-APPRENTISSAGE
Pour ajuster l’effet global facteur de régularisation on multiplie par une grandeur scalaire
appelée lambda (ou taux de régularisation) dont l’objectif est de :
𝑚𝑖𝑛𝑖𝑚𝑖𝑠𝑒𝑟(𝑃𝑒𝑟𝑡𝑒(𝐷𝑜𝑛𝑛é𝑒𝑠|𝑀𝑜𝑑è𝑙𝑒) + 𝜆 𝑐𝑜𝑚𝑝𝑙𝑒𝑥𝑖𝑡é(𝑀𝑜𝑑è𝑙𝑒))
Le lambda choisi doit permettre d'obtenir un juste équilibre entre simplicité et efficacité
d'apprentissage :
si le lambda est trop élevé, le modèle sera simple, mais il présentera un risque
d’overfitting (sous-apprentissage) des données. Le modèle n'en apprendra pas
suffisamment sur les données d'apprentissage pour réaliser des prédictions utiles ;
62
si le lambda est trop faible, le modèle sera plus complexe, et il présentera un risque de
surapprentissage des données. Le modèle apprendra trop sur les spécificités des
données d'apprentissage, et il ne pourra pas généraliser celles-ci à de nouvelles données.
CONCLUSION
Le Machine Learning est l'apprentissage d'un modèle par la machine, grâce à des données
d'entraînement le ML est un sujet très vaste en évolution permanente nous avons présenté
quelques algorithmes qui ont des sources d’inspiration variées en passant par la théorie des
probabilités etc.... Un problème de Machine Learning comporte plusieurs éléments spécifiques
tels que des données, une tâche à accomplir, un algorithme d’apprentissage, une mesure des
performances. En une phrase, le ML permet à un ordinateur apprendre à partir de données pour
résoudre une tâche en faisant attention à mesurer les performances. S'il améliore les
performances sur cette tâche, lorsqu'on lui fournit les données d'entraînement, on dit alors
qu'il apprend.
63
CHAPITRE 5: DEEP LEARNING
64
Essentiellement, le Deep Learning est la mise en œuvre de Neural Network (NN) comportant
plus d’une seule couche caché (plusieurs hidden Layers) de neurones le mot Deep (profond)
fait référence au nombre de couches cachées généralement supérieur à trois, il s’agit toutefois
d’une vision très simpliste du Deep Learning et cette affirmation n’est pas unanime. Ces
architectures profondes » varient également considérablement, différentes implémentations
étant optimisées pour différentes tâches ou objectifs. Il existe actuellement une vaste recherche
sur de nouveaux et innovants modèles d’apprentissage profond (DL).
Le Deep utilise de nombreux architectures comme celle du Deep Neural Network (DNN), Deep
Belief Network et Reccurent Neural Network, pour résoudre divers problèmes dans le
traitement du langage naturel, la reconnaissance vocale, la vision par ordinateur, la bio-
informatique et la conception de médicament, entre autres. Dans les figures ci-après on
représente une connexion entre les neurones (synapse neuronale) du cerveau suivi de ceux suivi
de ceux du Neural Network et Deep Neural Network.
65
Figure 37: Comparaison entre un NN et un Deep Learning Neural Network .
Voici l’évolution vers la création des réseaux de Neurones Artificiel jusqu’au Deep Learning.
Introduction du Neocognitron,
1980 Kunihiko Fukushima
qui a inspiré les réseaux de neurones convolutif
66
1982 John Hopfield Introduction des réseaux de Hopfield
Introduction de LeNet
1990 Yann LeCun et montra la capacités des réseaux de neurones
profond
Introduction des réseaux de neurones récurrent
1997 Schuster and Paliwal
bidirectionnelles
Introduction de LSTM, qui ont résolu le problème
Hochreiter and
1997 du vanishing gradient dans les réseaux de
Schmidhuber
neurones récurrent
Salakhutdinov and
2009 Introduction des Deep Boltzmann Machines
Hinton
Introduction de AlexNet qui remporta le challenge
2012 Alex Krizhevsky
ImageNet
Un réseau de neurones profonds (Deep Neural Network ou DNN) est un réseau de neurones
(Neural Network) avec un certain niveau de complexité, possédant plusieurs couches cachées
entre la couche d’entrée et la couche de sortie. Le DNN doit prendre en compte de nombreux
paramètre d’entraînement, tels que la taille (nombres de couches et nombres d’unités par
couche), le taux d’apprentissage et les poids initiaux. Le réseau parcourt les couches en
calculant la probabilité de chaque sortie.
67
4.2.2. DEEP BELIEF NETWORK
La machine de Boltzmann profonde (Deep Belief Network, DBN) est une classe de réseau
de neurones profonds qui est composé de deux types de réseaux de neurones qui sont les
couches de Machines Boltzmann Restreintes (RBM) pour la phase de pré-entraînement, puis
d'un réseau à réaction pour la phase de réglage. Contrairement au perceptron et les réseaux
neuronaux à rétro-propagation, DBN est un algorithme d'apprentissage non supervisé. Il est
composé de plusieurs couches de nœuds cachées.
Où chaque couche est connectée entre elles, il s'agit de couches d'unités binaires stochastiques
où chaque couche connectée a un certain poids. Les unités binaires stochastiques dans les Deep
Belief Network ont un état de 0 ou 1 et la probabilité de devenir 1 est déterminée par un biais
et une entrée pondérée provenant d'autres unités.
Les réseaux de neurones récurrents (ou RNN pour Recurrent Neural Network) sont des
réseaux de neurones dans lesquels l’information peut se propager dans les deux sens, en cela,
ils sont plus proches du vrai fonctionnement du système nerveux, qui n’est pas à sens unique.
Ces réseaux possèdent des connexions récurrentes au sens où elles conservent des informations
en mémoire : ils peuvent prendre en compte à un instant 𝒕 un certain nombre d’états passés. Ils
sont particulièrement adaptés au traitement de signaux séquences comme l’apprentissage et la
génération de signaux, c’est-à-dire quand les données forment une suite et ne sont pas
indépendantes les unes des autres.
Cependant, pour les applications faisant intervenir de longs écarts temporels (typiquement la
classification de séquences vidéo), cette « mémoire à court-terme » n’est pas suffisante. En
effet, les RNNs « classiques » (réseaux de neurones récurrents simples ou Vanilla RNNs) ne
sont capables de mémoriser que le passé dit proche, et commencent à « oublier » au bout d’une
cinquantaine d’itérations environ.
68
Ce transfert d’information à double sens rend leur entraînement beaucoup plus compliqué, et
ce n’est que récemment que des méthodes efficaces ont été mises au point comme les LSTM
(Long Short Term Memory). Ces réseaux à large « mémoire court-terme » ont notamment
révolutionné la reconnaissance de la voix par les machines (Speech Recognition) ou la
compréhension et la génération de texte (Natural Langage Processing).
Une des architectures les plus répandue est le réseau de neurones convolutionels (Convolutional
Neural Network ou CNN). Les réseaux de neurones convolutionels sont une forme particulière
de réseau de neurones multicouche dont l’architecture des connexions est inspirée de celle du
cortex visuel des mammifères. Chaque nœud n’est connecté qu’a un petit nombre de nœud
voisins dans la couche précédente. Chaque problème est divisé en sous partie, et pour chaque
partie, un «cluster» de neurones sera créer afin d’étudier cette portion spécifique. Par exemple,
pour une image en couleur, il est possible de diviser l’image sur la largeur, la hauteur et la
profondeur (les couleurs). On va donner plus de détails sur les CNN sur le chapitre suivant.
CONCLUSION
Dans ce chapitre, nous avons vu qu’est-ce que le Deep Learning et comment il se différencie
des autres algorithmes traditionnels du ML. On a également vu l’historique de l’évolution du
Deep Learning avec ces exploits accomplis. Ensuite, on a parlé du principe de quelques
architectures (modèles) Deep Learning utilisé par la communauté, les deux architectures
majeures restent Réseaux Convolutifs, les Réseaux Récurrents ces derniers font toujours l’objet
de recherche.
69
CHAPITRE 6: LES RÉSEAUX DE NEURONES CONVOLUTIONELS
70
Chaque image est représentée par h = hauteur, w = largeur, d = dimension par exemple, une
image de 6 x 6 x 3 matrice de RVB (3 se réfère à des valeurs RVB) avec une hauteur = 6 et
largeur = 6, comme nous le montre la figure suivante.
Comme nous le montre la figure suivante on a deux phases dans la construction d’un CNN
Phase Extraction caractéristiques : il s’agit de l’extraction des traits dominant dans
l’image.
Phase de Classification : il s’agit de faire la prédiction sur l’image.
71
Figure 40: Réseau de neurones avec plusieurs couches convolutives.
La convolution est la première couche permettant d'extraire des entités d'une image d'entrée. La
convolution préserve la relation entre les pixels en apprenant les caractéristiques de l'image à
l'aide de petits carrés de données d'entrée. C’est une opération mathématique qui prend deux
entrées comme une matrice d’image et un filtre ou noyau (kernel).
L’opération de convolution
La convolution est une opération qui est essentielle dans tout ce qui est reconnaissance
d’images, ces opérations qui permettent de mélanger deux matrices, dans une autre matrice qui
représente l’image. Il convient de noter que l'opération de matrice en cours d'exécution -
convolution - n'est pas une multiplication de matrice traditionnelle, bien qu'elle soit également
notée par *.
Figure 41: Une matrice d’image multipliée par un noyau ou filtre de matrice.
72
Les opérations de convolutions sont notées :
𝑠(𝑡) = (𝑥 ∗ 𝑤)𝑡
Exemple de calcul de convolution soit deux matrices le premier pour l’image et le second pour
le noyau chacun de dimensions 3 × 3 la convolution est le processus consistant à retourner les
lignes et les colonnes du noyau, puis à multiplier localement les entrées similaires et à les
additionner. L'élément aux coordonnées [2, 2] (c'est-à-dire l'élément central) de l'image
résultante serait une combinaison pondérée de toutes les entrées de la matrice d'image, avec les
pondérations données par le noyau :
𝑎 𝑏 𝑐 1 2 3
([𝑑 𝑒 𝑓] ∗ [4 5 6]) [2,2]
𝑔 ℎ 𝑖 7 8 9
= (𝑖 ∙ 1) + (ℎ ∙ 2) + (𝑔 ∙ 3) + (𝑓 ∙ 4) + (𝑒 ∙ 5) + (𝑑 ∙ 6) + (𝑐 ∙ 7) + (𝑏 ∙ 8) + (𝑎 ∙ 9)
Les valeurs d'un pixel donné dans l'image de sortie sont calculées en multipliant chaque valeur
de noyau par les valeurs de pixel de l'image d'entrée correspondantes.
Considérons un 5 x 5 dont les pixels d'image sont 0, 1 et une matrice de filtrage 3 x 3 comme
indiqué ci-dessous :
Le principe de CNN est qu’on prendre une matrice de convolution (noyau) on applique à une
image et en sortie on a une autre image, donc on peut effectuer la convolution d'une image avec
différents filtres (noyau) ainsi on peut effectuer des opérations telles que la détection des
contours, le flou et la netteté en appliquant des noyaux à l’image voici quelques exemples :
73
Opération Noyau (Kernel) Description Résultat de l’image
Si on
l’applique à
une image
0 0 0
Identité [0 1 0] on a l’image
0 0 0 en retour
sans
modification
C O N V O L U T I O N
1 0 −1
[0 0 0]
−1 0 0
Permet de
Edge détection mettre en
0 1 0
(Détection de [1 −4 1] évidence les
0 1 0 contour de
contours)
l’image
−1 −1 −1
[−1 8 −1]
−1 −1 −1
0 −1 0 Effet
Sharpen [−1 5 −1]
0 −1 0 cartoné
Applique un
Box blur
filtre sur une
(Normalisation)
image
74
1 1 1 1
[1 1 1]
9
1 1 1
Gaussian Blur
Résulte du
(approximation)
flou d'une
1 1 2 1
Image [2 4 2] image par
16
dimension 1 2 1
une fonction
gaussienne
3×3
Unsharp
masking
1 4 6 4 1 une
5×5
−1 4 16 24 16 4 technique de
Basé sur le flou 6 24 −476 24 6
256 netteté
4 16 24 16 4
gaussien avec [1 4 6 4 1] d'image
un montant de 1
et seuil égal à 0
Tableau 6: Quelques exemples d'effets pouvant être obtenus par la convolution des
noyaux et des images.
La couche de convolution est le bloc de construction de base d’un CNN. Trois paramètres
permettent de dimensionner le volume de la couche de convolution la profondeur, le pas et
la marge.
1. Profondeur de la couche : nombre de noyaux de convolution (ou nombre de neurones
associés à un même champ récepteur).
2. Le pas (stride): est le nombre de pixels décalés sur la matrice d’entrée. Lorsque le pas
est égal à 1, on déplace les filtres de 1 pixel à la fois. Lorsque le pas est de 2, on déplace
75
les filtres de 2 pixels à la fois, etc. Le pas contrôle le chevauchement des champs
récepteurs. Plus le pas est petit, plus les champs récepteurs se chevauchement et plus le
volume de sortie sera grand.
76
5.1.2. COUCHE DE CORRECTION (ReLU)
ReLU signifie Unité Linéaire Rectifiée pour une opération non-linéaire, il est possible
d’améliorer l’efficacité du traitement en intercalant entre les couches de traitement une couche
qui va opérer une fonction mathématique (fonction d’activation) sur les signaux de sortie.
La fonction de ReLU (Unités Réctifié linéaires) : 𝑓(𝑥) = max(0, 𝑥) , cette fonction force les
neurones à retourner des valeurs positives.
0, 𝑥<0
𝑓(𝑥) = {
𝑥, 𝑥≥0
Cette fonction permet de mettre à 0 toutes les valeurs négatives dans la matrice (c’est-à-dire la
représentation de l’image en pixel) donc tous les valeurs négatives vont être de couleur noire
dans l’image et les valeurs positif ou égal à 0 on garde ces valeurs-là.
À chaque fois qu’il y a une valeur négative dans un pixel, on la remplace par un 0. Ainsi, on
permet au CNN de rester en bonne santé (mathématiquement parlant) en empêchant les valeurs
apprises de rester coincer autour de 0 ou d’exploser vers l’infini.
77
Dans le Max pooling on définit une couche de mise en commun avec une dimension 2 × 2
(Largueur × Hauteur) et l’objectif est d’avoir comme valeur de sortie la valeur maximale en
entrée comme l’illustre la figure ci-après:
pour le reste:
Le Max-Pooling est considéré comme plus efficace donc plus utilisé, car lors des calculs celui-
ci augmente l’importance des activations fortes.
78
5.1.4. FLATEEN
Il s’agit d’aplatir la matrice dans une colonne, comme dans la figure suivante. Ce qui se passe
après l'étape d'aplatissement, c'est qu’on se retrouve avec un long vecteur de données d'entrée
qu’on peut passer ensuite à travers le réseau de neurones artificiels.
Dans le diagramme, ci-dessus, représente la matrice des caractéristiques d’une image après
aplatissement qui sera convertie avec couches entièrement connectées FC en vecteur de nœuds
d’entrés (x1, x2, x3, …) dans un NN.
79
5.1.6. LA FONCTION SOFTMAX
Enfin, nous disposons d’une fonction d’activation telle que softmax ou sigmoïde pour classer
les sorties (calculer la distribution de probabilités sur les classes). On a vu le calcul des fonctions
d'activations dans la régression logistique avec des fonctions de coût dans le chapitre Machine
Learning.
NB1 :
La couche de perte spécifie comment l'entraînement du réseau pénalise l'écart entre le signal
prévu et le signal réel. Elle est normalement la dernière couche dans le réseau.
NB2 :
Toutes ces couches sont déjà implémentées dans des fonctions prêtes à être utilisé. Il existe
aussi diverses fonctions de perte adaptées à différentes tâches qui peuvent être utilisées.
Un modèle pré-entrainé est un modèle créé par quelqu’un d’autres pour résoudre un problème
similaire. Au lieu de créer un modèle à partir de rien pour résoudre un problème similaire, on
peut prendre un modèle déjà pré-entrainé comme point de départ. Un modèle pré-entrainé peut
80
ne pas être précis à 100% dans des applications, mais il épargne d'énormes efforts pour
réinventer la roue.
Ici, on entraîne tout le réseau, donc il faut rendre toutes les couches "entraînables".
Comme modèle pré-entrainé nous allons énumérer les plus célèbre. Ces modèles-là sont
flexibles, offrent de meilleurs résultats après réentrainement la plupart sont gagnant de la
compétition ILSVRC et ils sont les plus utilisé. Ce sont des modèles qui sont déjà implémentés
dans une API célèbre dont on présentera par la suite. Voici une liste non- exhaustive de ces
modèles :
LeNet: Les premières applications réussies des réseaux convolutifs ont été développées
par Yann LeCun en 1994. Parmi ceux-ci, le plus connu est l’architecture LeNet utilisée
pour lire les codes postaux, les chiffres, etc.
AlexNet: Le premier travail qui a popularisé les réseaux convolutifs dans la vision par
ordinateur était AlexNet, développé par Alex Krizhevsky, Ilya Sutskever et Geoffrey
Hinton. AlexNet a été soumis au défi ImageNet ILSVRC en 2012 et a nettement
surpassé ses concurrents. Le réseau avait une architecture très similaire à LeNet, mais
81
était plus profond, plus grand et comportait des couches convolutives empilées les unes
sur les autres (auparavant, il était commun de ne disposer, que d’une seule couche
convolutifs toujours immédiatement suivie d’une couche de pooling).
82
VGGNet: il a été inventé par le VGG (groupe de géométrie visuelle) de l'Université
d'Oxford, bien qu'il soit le premier finaliste et non le gagnant du concours ILSVRC
(concours de reconnaissance visuelle à grande échelle ImageNet ) 2014 dans la tâche de
classification , ce qui a considérablement amélioré son efficacité est que , VGGNet bat
GoogLeNet et a remporté la tâche de localisation dans ILSVRC 2014. Et c'est la
première année qu'il existe des modèles d'apprentissage en profondeur obtenant un taux
d'erreur inférieur à 10% il existe de nombreux autres modèles construits sur VGGNet
basés sur l’idée 3 × 3 de VGGNet à d’autres fins ou dans d’autres domaines le plus
célèbre est VGG16 et VGG19.
83
ResNet: Residual Network développé par l’équipe de chercheur de Microsoft à la tête
Kaiming He été le vainqueur de ILSVRC 2015. Il présente des sauts de connexion et
une forte utilisation de la batch normalisation. Il utilise aussi le global AVG pooling au
lieu du Max Pooling à la fin.
Les gagnants de la compétions ImageNet ILSVRC (ImageNet Large Scale Visual Recognition
Challenge) sont en 2016 l’équipe CUImage, c’est equipe l’équipe BDAT qui a remporté la
compétition en 2017.
La figure suivante nous montre que le Deep Learning dépasse la performance humaine.
CONCLUSION
Dans ce chapitre, on a vu comment mettre en place un CNN ce qui consistent à faire les étapes :
fournir une image d'entrée dans la couche de convolution ;
choisir des paramètres, appliquer des filtres avec des foulées, un remplissage si
nécessaire ;
Effectuer une convolution sur l'image et appliquer l'activation ReLU à la matrice ;
84
effectuer la mise en commun pour réduire la dimension ;
ajouter autant de couches convolutives jusqu'à ce qu’on soit satisfait ;
aplatir la sortie et l’insérer dans une couche entièrement connectée (couche FC) ;
afficher la classe à l'aide d'une fonction d'activation (régression logistique avec des
fonctions de coût) et classer les images.
On a vu également les modèles de référence qui existe qui permettre de créer d’autres à partir
de ces modèles et de les ré-entraîner.
85
CHAPITRE 7: ÉTUDE ET MISE EN OEUVRE
CHAPITRE 6: IMPLÉMENTATION
INTRODUCTION
Dans ce chapitre, nous allons aborder la labélisation des images mammographiques. Ainsi que les
différents Framework qui existent pour effectuer un apprentissage profond afin de pouvoir créer
notre modèle intelligent. Par la suite faire l’implémentation, c’est-à-dire créer une application qui
hébergera notre modèle intelligent qui sera capable de classifier des tumeurs sur une
mammographie.
Il s’agit d’un langage interprété, qui ne nécessite donc pas d’être compilé pour fonctionner. Un
programme « interpréteur » permet d’exécuter le code Python sur n’importe quel ordinateur.
Ceci permet de voir rapidement les résultats d’un changement dans le code. En revanche, ceci
rend ce langage plus lent qu’un langage compilé comme le C malgré tout Python est le plus
utilisé dans le domaine du Machine Learning, du Big Data et de la Data Science.
Tout d’abord, il est facile à apprendre et à utiliser. Ses caractéristiques sont peu nombreuses, ce
qui permet de créer des programmes rapidement et avec peu d’efforts. De plus, sa syntaxe est
conçue pour être lisible et directe.
Un autre avantage du Python est sa popularité. Ce langage fonctionne sur tous les principaux
systèmes d’exploitation et plateformes informatiques. De plus, même s’il ne s’agit clairement
pas du langage le plus rapide, mais il compense sa lenteur par sa Polyvalence.
86
Plusieurs Framework open sources sont disponibles, la grande majorité supporte le langage
Python. Voici une liste non-exhaustive de quelques Framework.
6.1.1. THEANO
Avantages :
python ;
performant si utilisé correctement.
Inconvénients :
6.1.2. TENSORFLOW
TensorFlow fut créé par l’équipe Google Brain la première version est sortie en 2015 pour
mener des recherches sur le ML et le Deep Learning. Il est considéré comme une version
moderne de Theano.
87
Avantages:
Python ;
supporté par Google ;
une très grande communauté ;
le support du multi-GPU.
Inconvénients:
plus lent que les autres framework dans de nombreux benchmarks, bien que
Tensorflow se rattrape ;
le soutien des RNN est encore surclassé par Theano.
6.1.3. KERAS
Keras est une bibliothèque de réseau de neurones open source écrite en python conçu pour une
implémentation rapide de réseaux de neurones profond, c’est le Framework le plus haut niveau,
le plus convivial de la liste. Il permet aux utilisateurs de choisir si les modèles qu’ils construisent
sont exécutés sur Theano ou TensorFlow. Il est écrit et entretenu par Francis Chollet, un autre
membre de l’équipe Google Brain.
Avantages
Inconvénients
6.1.4. PYTORCH
PyTorch est soutenu par l’équipe de recherche en intelligence artificielle de Facebook. Il permet
le traitement des entrées et des sorties de longueur variable (dynamic computation graphs), ce
88
qui est utile lorsque on travaille avec des RNN. Une caractéristique absente de TensorFlow et
Theano.
Avantages
Inconvénients
beaucoup moins mûr que ses concurrents (Dans leurs propres termes : “We are in an
early-release Beta. Expect some adventures.”) ;
références / ressources limitées en dehors de la documentation officielle.
89
Figure 62: Croissance de popularité de TensorFlow.
Flask est un micro-framework web écrit en Python. Il s’agit d’un micro-framework, car il ne
nécessite ni outils ni bibliothèques particuliers avec peu ou pas de dépendances à des
bibliothèques externes. Flask va nous permettre de déployer le modèle entraîner dans une
application web.
90
Figure 63: Logo Flask.
Les avantages de flask sont que le cadre est léger, il y a peu de dépendance à mettre à jour et
de bugs de sécurité à surveiller par contre, on doit augmenter nous-même la liste des
dépendances pour notre cas on va ajouter un plugin il s’agit de Jinja.
jinja2 est un moteur de Template python pour définir les routes entre les pages HTML
charger le css et le js …
Pour la base de donnée on utilisera une base de donnée Mysql qui est un système de gestion
de Base de Données Relationnelles (SGBDR) qui utilise le langage SQL pour les requêtes.
C’est un logiciel OpenSource.
91
6.2. IMPLÉMENTATION
6.2.1. PRÉSENTATION DE L’ENSEMBLE DES DONNÉES (DATASET)
Nous avons prélevé un échantillon composé de 4 141 images : 1 049 Normales, 1 738 Bénignes
(dont Benin Masse et Benin Calcification) et 1 354 Malignes (dont Malin Masse et Malin
Calcification) ces exemples seront partitionnés en trois dossiers exemples d’apprentissage,
exemple de validation et exemple de test.
Labels (étiquettes)
Premier ensemble de données d’entraînement (Dataset 1) sur les données DDSM sont les labels
Anormal
Normal
Les dossiers « anormal » contiennent les mammographies dont il y a présence d’une anomalie :
malin (masse et calcification) et bénin (masse et calcification) et les dossiers « normal »
contiennent les mammographies normales. Les chemins de ces dossiers seront indiqués dans
les fonctions Keras pour faire le l’apprentissage.
NB :
Masse : une tumeur non calcifiante qui peut être d’un aspect mou.
Figure 66: Répartition des données dans les dossiers cas normal/anormal.
92
Deuxième ensemble de données d’entraînement (Dataset 2) sur les données DDSM sont les
labels :
Normal
Bénigne (masse et calcification)
Malin (masse et calcification)
Figure 67: Répartition des données dans les dossiers cas normal, bénin et malin.
Troisième ensemble de données d’entraînement (Dataset 3) sur les données DDSM sont les
labels
Normal
Bénigne Calcification
Maligne Calcification
Bénigne Masse
Maligne Masse
Figure 68: Répartition des données dans les dossiers cas normal et bénin/malin(masse et
calcification).
93
6.3. PRÉ -TRAITEMENT ET DATA AUGMENTATION
6.3.1. Prétraitement des données (preprocessing) :
Les images recueillies aux niveaux du site de DDSM sont de tailles différentes. En raison de la
présence de couches entièrement connectées FC dans la plupart des réseaux de neurones, les
images envoyées au réseau devront être de taille fixe. Grace à une fonction écrite en python, on
va prétraiter les images de tel sorte qu’il soit de même taille. Avec des images de taille fixe,
nous bénéficions des avantages de leur traitement par lots. Cette fonction est faite avec Keras
en appellant l’option target_size =(longeur, largeur), avec longueur = largeur
de même taille bien sûr.
Voici différentes techniques d’augmentation des données en prenant comme exemple une
tumeur dans une image :
Avoir une tumeur de taille différente dans les images est l'aspect le plus important de la
diversité des images. Lorsque le réseau est entre les mains d'un utilisateur réel, la tumeur
dans l'image peut être petite ou grande.
Nous souhaitons que notre réseau CNN reconnaisse les tumeurs dans n’importe quelle partie
de l’image. De plus, la tumeur peut être présente partiellement dans le coin ou les bords de
l'image. Pour cette raison, on peut déplacer la tumeur vers différentes parties de l'image.
Rotation (à 90 degrés)
Le réseau doit reconnaître la tumeur présente dans n'importe quelle orientation. En
supposant que l’image soit carrée, une rotation de l’image à 90 degrés n’ajoutera aucun
bruit de fond à l’image.
Retournement (Flipping)
94
Ce scénario est plus important pour le réseau afin de supprimer les biais en partant du
principe que certaines fonctionnalités de la tumeur ne sont disponibles que dans un côté
particulier. Par exemple on ne veut pas que le réseau apprenne que l'inclinaison de la tumeur
ne se produit que du côté droit, comme observé dans l'image de base. On remarque
également que le retournement produit différents ensembles d’images provenant de la
rotation par multiple de 90 degrés.
Ajout de sel et de poivre fait référence à l'ajout de points blanc et noir dans l'image. Bien
que cela puisse sembler inutile, il est important de se rappeler qu'un utilisateur général qui
prend une image pour alimenter le réseau peut ne pas être un photographe professionnel.
« Le mammographe peut produire des images floues avec beaucoup de points blanc et
noir ».
Il s'agit d'un type de diversité très important nécessaire dans l’ensemble de données d'image,
non seulement pour que le réseau puisse apprendre correctement la tumeur qui l'intéresse, mais
également pour simuler le scénario pratique des images prises par l'utilisateur. Les conditions
d'éclairage des images sont modifiées en ajoutant du bruit gaussien à l'image.
Dans les mammographies DDSM, on a extrait le ROI Region Of interest (zoom sur la tumeur)
dans chaque image les zones où on détecte les tumeurs sur les mammographies, elles seront
ajoutées à notre ensemble de données ainsi va contribuer à grandir notre ensemble
d’apprentissage.
95
On a réussi avec le modèle VGG16 à faire le cas de la stratégie #2 : extraction des caractéristiques
en entraînant seulement le nouveau classifieur et on ne ré-entraîne pas les autres couches.
VGG16 fait la classification (prédiction) de 1000 catégories dans la compétition imageNet voici
son architecture dans la figure qui suit :
96
Figure 70: Architecture du modèle - cas normal/anormal.
Comme le montre la figure suivante lors entraînement du modèle nous avons obtenus 0,993 soit
99% de prédiction (accuracy) correct sur l’ensemble des données de validation. Et une perte
(Loss) de 0,015 l’ensemble des données de validation.
La perte est calculée sur l’apprentissage et la validation est la qualité du modèle, plus faible est
la perte meilleure est le modèle. La perte de valeur 0 est le modèle parfait contrairement à la
prédiction la perte n’est pas en pourcentage c’est la somme des erreurs commises pour chaque
lot d’entraînement.
97
Figure 71: Résultat obtenu - cas normal/anormal.
L’apprentissage des données a duré 5 jours durant laquelle la machine est en marche, le nombre
de passage sur l’ensemble de données d’apprentissage est effectué 120 fois representé en
abscisse sur la figure et avec une prédiction variant de 0 à 1.00 (0% à 100%) representé en
ordonnée, la courbe sur la figure suivante nous montre l’évolution de l’apprentissage et de la
validation.
Le test sur les images suivantes est basé sur un lot de Test de 40 images mammographiques.
La figure suivante nous montre la matrice de confusion de nos ensemble de données test après
l’apprentissage.
98
Figure 73: Test sur les données cas normal/anormal - Matrice de confusion.
Valeur prédite
anormal normal
anormal 14 VP 6 FP
Vrai valeur
normal 9 FN 11 VN
Le cas le plus dangereux est certes le cas de Faux Positif disant qu’il n’y a pas d’anomalie dans
la mammographie alors que la patiente peut être atteinte de tumeur cancéreuse.
99
Figure 74: Architecture du modèle - cas normal, bénin et malin.
Comme le montre la figure suivante lors entraînement du modèle nous avons obtenus 0,681 soit
68% de prédiction (accuracy) correct sur l’ensemble des données de validation. Et une perte
(Loss) de 0,56 l’ensemble des données de validation.
100
Figure 76: Histogrammes de l’apprentissage et de la validation du cas normal, malin
et bénin.
Le test sur les images suivantes est basé sur un ensemble Test de 400 images
mammographiques.
Figure 77: Test sur les données cas normal, bénin et malin - Matrice de confusion.
101
Valeur prédite
Benin 41 VP 26 97
Normal 24 6 75 VP
102
Comme le montre la figure suivante lors entraînement du modèle nous avons obtenus 0, 3939
soit 39 % de prédiction (accuracy) correct sur l’ensemble des données de validation. Et une
perte (Loss) de 1,499 l’ensemble des données de validation.
103
Figure 81: Test sur les données cas normal et bénin/malin(masse et calcification):
Matrice de confusion.
Les résultats VP (Vrai Positif) sur le tableau précèdent indiques les prédictions correctes, ce
sont les cas où la machine a bien fait le diagnostic.
Valeur prédite
Benin
Benin Mass Malin Calc Malin Mass Normal
Calc
Benin Calc 17 VP 23 0 7 35
Benin Mass 13 36 VP 0 6 26
Malin Mass 12 27 0 5 VP 28
Normal 15 44 0 7 39 VP
104
Notre meilleur modèle d’apprentissage est le modèle du cas Normal et Anomalie présente.
Si nous souhaitons rendre compte de la qualité de la prédiction sur le label anormal sur les 20
mammographies tester, on définit :
Précision : Proportion d’éléments bien classés pour la classe « anormal »:
𝑉𝑃 14
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑑𝑒 𝑙𝑎 𝑐𝑙𝑎𝑠𝑠𝑒 𝑎𝑛𝑜𝑟𝑚𝑎𝑙 = = = 0,7
𝑉𝑃 + 𝐹𝑃 14 + 6
Rappel : Proportion d’éléments bien classés par rapport au nombre d’éléments de la
classe « anormal":
𝑉𝑃 14
𝑅𝑎𝑝𝑝𝑒𝑙𝑑𝑒 𝑙𝑎 𝑐𝑙𝑎𝑠𝑠𝑒 𝑎𝑛𝑜𝑟𝑚𝑎𝑙 = = = 0,6
𝑉𝑃 + 𝐹𝑁 14 + 9
105
Figure 83: Inscription et connexion d'un utilisateur.
Voici sur la figure suivante la base de donnée où l’on enregistre les administrateurs de
l’applications.
Figure 84: Aperçus de la base de données MySQL (les mots de passe sont chiffrés).
106
Cas d’une mammographie Normal Cas de présence d’une Anomalie
Figure 85: Test de prédiction sur une mammographie dans l'interface de l'application.
Sur la figure ci-dessus à gauche, la prédiction donne qu’il y a une anomalie à 6,73% dans la
mammographie et qu’on est face à une mammographie normale à 93,26%. Et à droite, la
prédiction donne qu’il y a une anomalie à 100% dans la mammographie et qu’on est face à une
mammographie normale à 0%.
CONCLUSION
Dans ce dernier chapitre, nous avons vu le prétraitement des données, c’est-à-dire la préparation
des données avant l’apprentissage (le training). Mais aussi comment nous avons pu faire
augmenter nos données pour un meilleur apprentissage. Ensuite, présenté l’architecture de notre
modèle, nos résultats obtenus et leur interprétation. Enfin on a présenté et fait un test sur deux
mammographies, dans l’application qu’on a déployé le modèle « intelligent ».
107
CONCLUSION GÉNÉRALE ET PERSPECTIVES
Dans ce mémoire, nous avons fait le prétraitement des données, c’est-à-dire la préparation des
données avant l’apprentissage (le training). Mais aussi comment nous avons pu faire augmenter
nos données pour un meilleur apprentissage. Ensuite, présenté l’architecture de notre modèle,
les résultats obtenus et leurs interprétations. Enfin pour conclure l’interface de l’application qui
va accueillir le modèle entraîné.
Il a fallu acquérir des connaissances en médecine plus exactement sur le cancer du sein
entres autre comprendre les différents aspects d’une tumeur, comment on effectue le
diagnostic d’un cancer, les traitements effectués;
La collecte des données : il existe de nombreuses recherches sur l'application de
l'apprentissage profond au diagnostic médical, mais pas beaucoup de recherche sur
l'application de CNN à la mammographie le manque de données d'apprentissage
disponibles est un facteur limitant à fin d’avoir des prédictions assez satisfaisantes, il faut
une très grande quantité de donnée ainsi, la machine pourra apprendre encore davantage
nous n'avons pas pu avoir de donnée dans les hôpitaux qui n'ont pas accepté de collaborer
avec nous et le centre qui a bien voulu nous accueillir hélas ne possède pas un serveur qui
stocke les données mammographiques. On était obligée de se retourner vers les bases de
données ;
La limite des ressources : pour entraîner un modèle il faut des machines puissantes de
plusieurs Giga octet de RAM mais aussi un CPU de dernier génération et en plus de ça il
faut un GPU très puissant pour faire le training (apprentissage d’un modèle) la machine
effectue beaucoup de calcul sur des données dont la taille est très grande.
Comme perspective dans un avenir proche, on compte créer d’autres modèles puissantes afin
d’avoir de meilleurs résultats, qui permettront de faire le contour sur les mammographies afin
de rendre visibles les endroits dont il y a la présence d'une anomalie, mais aussi travailler avec
des mammographies locales et travailler avec des machines puissante en calcul.
108
BIBLIOGRAPHIE ET WEBOGRAPHIE
BIBLIOGRAPHIE
[B, 1] Pr Serigne Magueye GUEYE, Dr Moussa Diallo. Cancer du sein - Cours des
étudiants en 6ème année de Médecine de la Facultés de Médecine et d’Odontologie de
l’Universités Cheikh Anta Diop de Dakar. Le 25 janvier 2016. 12 pages.
[B, 2] Dr Ahmadou Dem, Dr Sofia Merzaq. Cancer du sein chez la femme âgée : à propos
de 110 cas colligés à l’Institut du Cancer de Dakar – Bibliothèque Central de l’Université
Cheikh Anta Diop de DAKAR. Présenté et soutenue publiquement le 29 Juillet 2011. 110
pages.
[B, 3] Dr Fatou Bintou Sarr, Dr Doha Skalli. Role du pharmacien d’officine dans la prise
en charge du cancer du sein – Bibliothèque Central de l’Université Cheikh Anta Diop de
DAKAR. Présenté et soutenue publiquement le 31 Mai 2016. 96 pages.
[B, 4] Dr Ahmadou Dem, Dr Loubna Bourgana. Cancer du Sein Chez la Femme Jeune à
propos de 178 cas – Bibliothèque Central de l’Université Cheikh Anta Diop de DAKAR.
Présenté et soutenue publiquement le 19 Avril 2010. 163 pages.
WEBOGRAPHIE
[W, 1] Site officiel de L’Organisation Mondiale de la Santé (OMS)
http://apps.who.int/iris/bitstream/handle/10665/37660/9242761028_fre.pdf;jsessionid=C072A
0C977FB35EB71691A7F3ED6DD7E?sequence=1 . Consulté le 29 avril 2018.
[W, 5] Site LeQuotien - Article sur la déclaration du Docteur Abdoul Aziz Kassé
Cancérologue - Dakar, SÉNÉGAL https://www.lequotidien.sn/declaration-dr-abdoul-aziz-
109
kasse-cancerologue-le-cancer-tue-trois-fois-plus-que-le-sida-et-le-paludisme-reunis Consulté
le 03 juin 2018.
[W, 7] Site ResearchGate Réseau Social pour les Scientistes et chercheurs - Berlin,
ALLEMAGNE
https://www.researchgate.net/publication/222460298_Urine_estrogen_profiles_in_European_
countries_with_high_or_low_breast_cancer_rates . Consulté 02 juillet 2018.
[W, 10] Site SQLI DIGITAL EXPERIENCE – Collaboration entre plusieurs pays
https://www.technologies-ebusiness.com/enjeux-et-tendances/le-deep-learning-pas-a-pas.
Consulté le 20 juillet 2018).
[W, 13] Article sur le cancer du sein Docteur LORINET – PHTP Radiothérapie – CHU
Fort de France, FRANCE https://chrysalides1215.files.wordpress.com/2014/12/u-e-2-9-
2014-11-27-mme-lorinet-cancer-du-sein-doc.pdf .Consulté le 23 aout 2018.
110
[W, 16] Site Toward Data Science Platform d’échange d’idée et d’approfondissement de
connaissance en Data Sciences https://towardsdatascience.com/introducing-deep-learning-
and-neural-networks-deep-learning-for-rookies-1-bd68f9cf5883 . Consulté le 08 octobre
2018.
[W, 17] Mammographic Image Analysis Homepage Site qui répertorie les liens vers
divers groupes de recherche travaillant dans le domaine de l'analyse d'images
http://www.mammoimage.org/databases/ . Consulté le 20 octobre 2018.
[W, 18] Site hébergent l’ensemble des mammographies DDSM University of South
Florida Digital Mammography Home Page – Floride, USA
http://www.eng.usf.edu/cvprg/Mammography/Database.html Consulté le 20 octobre 2018.
[W, 21] Site du blog Medium des fondateurs de Twitter - San Francisco , USA
https://medium.com/@CharlesCrouspeyre/comment-les-r%C3%A9seaux-de-neurones-
%C3%A0-convolution-fonctionnent-b288519dbcf8 . Consulté le 08 octobre 2018.
[W, 22] Site Znet de la compagnie et media americain CBS Interactive Inc.
https://www.zdnet.com/article/what-is-deep-learning-everything-you-need-to-know/ .
Consulté le 10 octobre 2018.
111
https://www.agora-inscription.ca/documents/294/files/11h15_Desbiens,%20Christine.pdf
Consulté 27 novembre 2018.
112
ANNEXE
Python
Pip
Anaconda
Docker
Tensorflow
Keras
Matplotib
Scipy
Scikit-learn
Jupyter
Flask
Mysql
OpenSSL
Installation de l'environnement de développement Python et de pip sur
notre système (Ubuntu).
113
Installation de pip qui est un système de gestion de paquets utilisé pour installer et
gérer des librairies écrites en Python.
114
Installation d’Anaconda
On choisit Python 3.7 version qui supporte aussi notre python 3.6 déjà installer.
Après téléchargement, on se déplace dans le dossier dans lequel se trouve notre fichier anaconda
comme le montre la figure suivante.
115
On a aussi la possibilité de vérifier l’intégrité de notre fichier téléchargé.
$ bash « Nom_fichier_anaconda_télécharger »
Installation de Docker
Docker utilise des conteneurs pour créer des environnements virtuels qui isolent une installation
TensorFlow du reste du système. Les programmes TensorFlow sont exécutés dans cet
environnement virtuel et peuvent partager des ressources avec sa machine hôte (répertoires
d'accès, utilisation du processeur graphique, connexion à Internet, etc.).
Les paquets d’installation pour autoriser apt à utiliser un référentiel sur HTTPS.
116
$ sudo apt-get install apt-transport-https ca-certificates
curl software-properties-common
Après exécution de la commande vérifions que nous avons maintenant la clé avec l'empreinte.
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88.
117
$ sudo add-apt-repository "deb [arch=amd64]
https://download.docker.com/linux/ubuntu $(lsb_release -cs)
stable"
Installation de DOCKER CE
Pour cela on répertorie les versions disponibles dans le référentiel, puis on sélectionne et on
installe ici notre référentiel est 18.06.1~ce~3.0~~ubuntu.
118
$ sudo apt-get install docker-ce=<VERSION>
Installation de TENSORFLOW
Création d’un nouvel environnement virtuel en choisissant un interpréteur Python dont le nom
sera env_tensoflow.
119
Ensuite pour l’activation de l’environnement, on fait ceci.
Installation des packages pip pour TensorFlow bien sûr en étant activant
l’environnement (env_tensoflow).
120
Vérification de l’installation avec la commande suivante.
121
Installation de Keras
Installation de Matplot
Installation scipy
Installation de scikit-learn
On se rend sur anaconda, on appuie sur le bouton « install » pour installer jupyter qui nous
permettras de compiler les codes (nos programme tensorflow).
122
On écrit et ensuite, on compile notre code.
Installation de FLASK
Installation de MySQL
123
Installation du connecteur python-mysql
Installation de Flask-MySQL
Voici le code de Génération du clé et certificat sur OpenSSL dans l’image suivante.
124
Voici la Clé est key.pem et le certificat cert.pem ont été généré, dans l’image suivante.
125
RÉSUMÉ
L’intelligence artificielle a le luxe non seulement d’observer et d’analyser les données des
patients 24 heure/24, 7 jours/7, mais aussi de combiner les informations collectées à partir de
sources multiples : dossiers historiques, l'évaluation quotidienne faite par le personnel médical,
mesures en temps réel de la pression artérielle. L’application du Machine Learning et du Deep
Learning dans l’évaluation et la prévision des crises cardiaques, des accidents vasculaires
cérébraux est actuellement en cours dans le monde entier. Avec l’avancé majeur de
l’intelligence artificielle dans la classification, pourquoi ne pas l’appliquer dans un domaine
médical pour voir les résultats que nous aurons.
Le cancer du sein est le premier cancer le plus répandu chez les femmes dans le monde. Pour
le diagnostic d'une anomalie dans le sein, on fait appelle à la radiographie pour l’identification
des zones à surveillé (faire des analyses complémentaires) ou à traiter si nécessaire et c'est le
médecin radiologue qui est chargé d'interpréter l'image radiographie du sein appelée
mammographie. L’être humain pour l'identification des anomalies est sujet au doute et à des
incertitudes, ce qui signifie que beaucoup d'anomalies peuvent ne pas être détectées. C’est dans
ces deux sujets énoncés que va se porter notre étude.
Objectifs : Créer des modèles de classification des mammographies dans les trois cas suivants :
Résultats :
Cas 1 : 99,3%
Cas 2 : 68%
Cas 3 : 39%
Mots-clés : Cancer du sein, Mammographie, BI-RADS ACR, Intelligence Artificielle,
Machine Learning, Deep Learning, Réseaux de Neurones Convolutionels, Classification.
126