SlideShare une entreprise Scribd logo
1  sur  9
Rapport du projet
Réalisée par : Khalil ISMAIL
Classe : BD-BI 3-2
Introduction :
L'intelligence artificielle est l'utilisation de méthodes et de techniques pour simuler
l'intelligence humaine, tandis que l'apprentissage automatique est un mécanisme qui
permet à un système d'apprendre de l'expérience et de continuer à améliorer ses
compétences et sa capacité de prise de décision.
Il existe deux catégories d'algorithmes d'apprentissage automatique :supervisés et non
supervisés. Dans l'industrie, l'apprentissage automatique est utilisé dans divers
domaines tels que le diagnostic médical et le traitement d'image.
I. Contexte du projet et travail demandé :
Le projet réalisé dans la matière "Intelligence artificielle" consiste à créer un
classificateur basé sur un réseau de neurones convolutif (CNN). Ce type de réseau de
neurones est une méthode d'apprentissage profond qui permet de classer les 4
catégories d'objets du jeu de données fourni : chats, chiens, chevaux et humains. Le but
est de développer un modèle capable de reconnaître ces différentes catégories d'objets
en utilisant des techniques d'apprentissage automatique.
II. Le réseau de neurones convolutif CNN :
1. La méthode d’apprentissage profond « Deep Learning » :
L'apprentissage profond (ou Deep Learning) est un type d'intelligence artificielle dérivé
du machine Learning (apprentissage automatique) où la machine est capable
d'apprendre par elle-même. Il s'appuie sur un réseau de neurones artificiels inspiré par
le cerveau humain, composé de plusieurs couches de neurones, chacune recevant et
interprétant les informations de la couche qui la précède. Il existe plusieurs types
d'algorithmes utilisés en apprentissage profond, chacun ayant ses propres spécificités
et applications.
Les algorithmes les plus couramment utilisés :
 les réseaux de neurones convolutifs (CNN)
 réseaux de neurones récurrents (RNN)
 réseaux de fonction de base radiale (RBFN)
 réseaux de mémoire à long et court terme (LSTM)
 réseaux adversariaux génératifs (GAN) et machines de Boltzmann restreintes
(RBM).
Dans notre projet, nous nous intéressons aux réseaux de neurones convolutifs (CNN)
pour classer les catégories d'objets fournies dans le Dataset.
2. Le réseau de neurones convolutif :
Un « convolutional neural network » (CNN) est un type de réseau neuronal artificiel
utilisé dans le domaine de la reconnaissance et le traitement d’images et il est
spécifiquement développé pour traiter les données de pixels.
Les réseaux de neurones convolutives sont de puissants systèmes de traitement
d’images, d’intelligence artificielle qui utilisent un apprentissage approfondi pour
effectuer des tâches à la fois génératives et descriptives, en incluant le Machine Vision
qui aide à reconnaitre les images et les vidéos.
Les CNN ou ConvNets, sont constitués d'une multitude de couches chargées de traiter
et d'extraire les caractéristiques des données. Ils sont conçus pour l'analyse et la
détection d'objets.
Les CNN peuvent donc servir par exemple à reconnaître des images satellites, traiter
des images médicales, détecter des anomalies ou prédire des séries chronologiques.
III. Environnement de réalisation :
1. Jupyter Notebook :
Jupyter Notebook est une application web qui permet de stocker et d'exécuter du code
écritenPython,ainsiquedevisualiserlesrésultatsdel'exécutiondececodesousforme
de graphiques, tableaux, etc.
Il permetégalementdecréer et departagerdes documents interactifs quicombinent du
code, des visualisations, des textes de documentation et des équations. C'est un outil
populaire pour les scientifiques, les ingénieurs, les data scientists et les développeurs
qui travaillent avec Python, car il permet une collaboration facile, une documentation
interactive et une visualisation de données.
2. Le langage python :
Python est un langage de programmation populaire pour sa flexibilité et sa facilité
d'utilisation. Il est utilisé dans de nombreux domaines, notamment le développement
web, le développement d'applications financières et l'automatisation de tâches. Il est
également largement utilisé dans le domaine de l'apprentissage automatique, de
l'apprentissage en profondeur et de l'intelligence artificielle en raison de sa facilité
d'utilisation et de sa grande communauté de développeurs. Il est facilement intégrable
àd'autresbibliothèquesetoutilspourleMachineLearningetleDeepLearning,cequien
fait un choix populaire pour les projets de ces domaines.
3. Les bibliothèques python utilisés dans notre projet :
Matplotlib est une bibliothèque Python pour créer des graphiques et des visualisations
de données. Il est souvent utilisé en combinaison avec NumPy et SciPy pour visualiser
les résultats de calculs scientifiques.
NumPy est une bibliothèque Python pour la manipulation de tableaux
multidimensionnels et des fonctions mathématiques opérant sur ces tableaux. Il est
souvent utilisé en combinaison avec Matplotlib et SciPy pour des calculs scientifiques.
Keras est une API de réseau de neurones écrite en Python qui facilite la création de
modèles de Deep Learning. Il est exécuté sur des Framework tels que TensorFlow ou
Theano.
TensorFlow est une bibliothèque open source utilisée pour créer des modèles de Deep
Learning et pour effectuer des tâches d'apprentissage automatique complexes. Il
fournit une boîte àoutils pour résoudre des problèmes mathématiques complexes avec
aisance et simplicité. Il peut être utilisé avec Keras pour faciliter l'implémentation des
modèles de Deep Learning.
IV. Réalisation du projet :
Nous devons importer toutes les librairies qui nous serons nécessaires par la suite :
 Préparation des données :
 Affichage du contenu de répertoire dans une liste :
 Entrainement du modèle :
On commence toujours par créer un modèle de type Séquentiel.
On crée une première couche qui va permettre d’aplatir la matrice
Puis on construit nos couches cachées et la couche de sortie.
On utilise les couches de convolution (Conv2D), de normalisation par lots
(BatchNormalization), de max-pooling (MaxPooling2D), de découpage (Dropout) et de
densité (Dense) pour construire le modèle.
LapremièrecoucheConv2Davec32filtresdetaille3x3etunefonctiond'activationReLU
est utilisée pour extraire des caractéristiques de l'image d'entrée de taille 100x100x3.
La deuxième couche Conv2D avec 32 filtres de taille 3x3 et une fonction d'activation
ReLU est utilisée pour extraire des caractéristiques plus profondes. La normalisation
par lots est utilisée pour réduire les variations de données entre les différents lots.
La couche MaxPooling2D est utilisée pour réduire la dimension de l'image en divisant
par 2 les dimensions de l'image avec des pas de 2.
Les deux prochaines couches sont similaires àla première et ladeuxième couche, mais
avec 64 filtres cette fois-ci.
La couche Flatten est utilisée pour aplatir les caractéristiques extraites en un vecteur.
La couche Dropout est utilisée pour réduire l'overfitting en éteignant aléatoirement
certains neurones pendant l'entraînement.
La dernière couche Dense avec la fonction d'activation softmax est utilisée pour
effectuer la classification en utilisant les caractéristiques extraites par les couches
précédentes.
Une fois ces cellules exécutées, on peut faire un résumé de ce que l’on a :
 Le résultat est le suivant.
Cela nous permet de nous assurer qu’il n’y a pas d’erreurs.
 Il faut maintenant compiler le modèle :
La première ligne définit le nombre d'époques pour l'entraînement à 20.
La méthode compile() est utilisée pour configurer l'entraînement en spécifiant
l'optimiseur Adam, la fonction de coût de la croix catégorique et les métriques
d'évaluation de précision.
La méthode fit_generator() est utilisée pour entraîner le modèle en utilisant un
générateur de données d'entraînement (train_batches) et un générateur de données de
validation (valid_batches). Le nombre de pas par époque est défini par steps_train et
steps_valid respectivement.
La variable history contient les informations de l'entraînement comme les valeurs de la
fonction de coût et les métriques d'évaluation pour chaque époque.
Les lignes suivantes calculent le temps d'entraînement en utilisant la fonction time(),
puis affichent les résultats de l'évaluation de la précision en utilisant le générateur de
données de validation (valid_batches) et en spécifiant le nombre de pas (steps=1).
 Les époques s’exécuter l’une après l’autre.
L’époque (epochs) correspond au nombre de passage effectués sur les poids. Plus il y a
d’époques plus l’entrainement prendra de temps mais plus le modèle sera efficace.
 Suivit de l’entrainement :
Maintenant que le réseau est entraîné, nous pouvons regarder l’évolution de nos
performances époque après époque. Cette étape est importante.
Elle permet d’abord de nous assurer que les résultats sont bons. Et elle peut aussi
permettre de détecter un éventuel over-fitting.
 Voici les courbes obtenues :
. La courbe en bleu correspond aux données d’entraînement tandis que la courbe en
orange présente les données de validation :
 Si la courbe bleue suit et la courbe orange l’entraînement est bien réalisé.
 Quandle modèle augmente ses performancessur lesdonnées d’entraînement, il
augmente aussi ses performances sur les données de validation.
 Le test :
Dans cette partie on a fait le test d’une image pour reconnaître la race :
Conclusion :
En résumé, nous avons implémenté un réseau de neurones convolutionnel en utilisant
Python pour classifier des images en quatre catégories différentes (chats, chiens,
chevaux et humains).

Contenu connexe

Tendances

Identification des empreintes digitales
Identification des empreintes digitalesIdentification des empreintes digitales
Identification des empreintes digitalesSarah
 
Deep Learning : Application à la reconnaissance d’objets de classes multiples...
Deep Learning : Application à la reconnaissance d’objets de classes multiples...Deep Learning : Application à la reconnaissance d’objets de classes multiples...
Deep Learning : Application à la reconnaissance d’objets de classes multiples...Haytam EL YOUSSFI
 
Projet réalisé par ameny Khedhira & Arij Mekki
Projet réalisé par  ameny Khedhira & Arij MekkiProjet réalisé par  ameny Khedhira & Arij Mekki
Projet réalisé par ameny Khedhira & Arij MekkiAmeny Khedhira
 
Mise en place d’une application mobile de géolocalisation
Mise en place d’une application mobile de géolocalisationMise en place d’une application mobile de géolocalisation
Mise en place d’une application mobile de géolocalisationCléa Aurianne Leencé BAWE
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Anouar Kacem
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiquejihene Ab
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
 
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Khalid EDAIG
 
Conception et réalisation d’un MINI SMART HOME
Conception et réalisation  d’un MINI SMART HOMEConception et réalisation  d’un MINI SMART HOME
Conception et réalisation d’un MINI SMART HOMESoukainawarach
 
Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012jedjenderedjian
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagioschristedy keihouad
 
Projet fin d’étude Conception et Mise en place d'un système fleet-tracking
Projet fin d’étude Conception et Mise en place d'un système fleet-trackingProjet fin d’étude Conception et Mise en place d'un système fleet-tracking
Projet fin d’étude Conception et Mise en place d'un système fleet-trackingBorhane Eddine Boulhila
 
Maaouia Hamza Rapport de stage
Maaouia Hamza Rapport de stageMaaouia Hamza Rapport de stage
Maaouia Hamza Rapport de stageMaaouia Hamza
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...Madjid Meddah
 
Conception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSConception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSFaissoilMkavavo
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux fehmi arbi
 

Tendances (20)

Identification des empreintes digitales
Identification des empreintes digitalesIdentification des empreintes digitales
Identification des empreintes digitales
 
Deep Learning : Application à la reconnaissance d’objets de classes multiples...
Deep Learning : Application à la reconnaissance d’objets de classes multiples...Deep Learning : Application à la reconnaissance d’objets de classes multiples...
Deep Learning : Application à la reconnaissance d’objets de classes multiples...
 
QCM Sécurité Informatique
QCM Sécurité InformatiqueQCM Sécurité Informatique
QCM Sécurité Informatique
 
Projet réalisé par ameny Khedhira & Arij Mekki
Projet réalisé par  ameny Khedhira & Arij MekkiProjet réalisé par  ameny Khedhira & Arij Mekki
Projet réalisé par ameny Khedhira & Arij Mekki
 
PFE_Report
PFE_ReportPFE_Report
PFE_Report
 
Présentation des IoT
Présentation des IoTPrésentation des IoT
Présentation des IoT
 
Mise en place d’une application mobile de géolocalisation
Mise en place d’une application mobile de géolocalisationMise en place d’une application mobile de géolocalisation
Mise en place d’une application mobile de géolocalisation
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatique
 
PFE Master.pdf
PFE Master.pdfPFE Master.pdf
PFE Master.pdf
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
 
Conception et réalisation d’un MINI SMART HOME
Conception et réalisation  d’un MINI SMART HOMEConception et réalisation  d’un MINI SMART HOME
Conception et réalisation d’un MINI SMART HOME
 
Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagios
 
Projet fin d’étude Conception et Mise en place d'un système fleet-tracking
Projet fin d’étude Conception et Mise en place d'un système fleet-trackingProjet fin d’étude Conception et Mise en place d'un système fleet-tracking
Projet fin d’étude Conception et Mise en place d'un système fleet-tracking
 
Maaouia Hamza Rapport de stage
Maaouia Hamza Rapport de stageMaaouia Hamza Rapport de stage
Maaouia Hamza Rapport de stage
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
 
Conception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSConception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTS
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
 

Similaire à Rapport-du-projet CNN.docx

BIPEA 2023 Yvon Gervaise : L'IA Matrice du Laboratoire du Futur ..
BIPEA 2023 Yvon Gervaise : L'IA Matrice du Laboratoire du Futur ..BIPEA 2023 Yvon Gervaise : L'IA Matrice du Laboratoire du Futur ..
BIPEA 2023 Yvon Gervaise : L'IA Matrice du Laboratoire du Futur ..YvonGervaise
 
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024YvonGervaise
 
L'Intelligence Artificielle I.A. au service des Laboratoires
L'Intelligence Artificielle I.A. au service des LaboratoiresL'Intelligence Artificielle I.A. au service des Laboratoires
L'Intelligence Artificielle I.A. au service des LaboratoiresYvon Gervaise
 
BIPEA 2023 L'IA Matrice du Laboratoire du Futur par Yvon Gervaise
BIPEA 2023 L'IA Matrice du Laboratoire du Futur par Yvon GervaiseBIPEA 2023 L'IA Matrice du Laboratoire du Futur par Yvon Gervaise
BIPEA 2023 L'IA Matrice du Laboratoire du Futur par Yvon GervaiseYvon Gervaise
 
Convolutional Neural Networks (CNNs)
Convolutional Neural Networks (CNNs)Convolutional Neural Networks (CNNs)
Convolutional Neural Networks (CNNs)Hajar Bouchriha
 
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfTP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfSafaeElOmari
 
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébr...
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébr...Les réseaux de neurones convolutifs pour la classification des tumeurs cérébr...
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébr...Juba Ait idir
 
conference Y. Gervaise à Université M2 Chimie Rouen 10-1-24.pdf
conference Y. Gervaise à Université M2 Chimie Rouen 10-1-24.pdfconference Y. Gervaise à Université M2 Chimie Rouen 10-1-24.pdf
conference Y. Gervaise à Université M2 Chimie Rouen 10-1-24.pdfYvon Gervaise
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data MiningTakfarinas KENOUCHE
 
cours logiciels de simulation.docx
cours logiciels de simulation.docxcours logiciels de simulation.docx
cours logiciels de simulation.docxssuser0dbd4e
 
Forum Labo Version DEF par Yvon Gervaise.pdf
Forum Labo Version DEF par Yvon Gervaise.pdfForum Labo Version DEF par Yvon Gervaise.pdf
Forum Labo Version DEF par Yvon Gervaise.pdfYvon Gervaise
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Les réseaux de neurones convolutifs CNN
Les réseaux de neurones convolutifs CNNLes réseaux de neurones convolutifs CNN
Les réseaux de neurones convolutifs CNNSALMARACHIDI1
 
Séminaire IA & VA- Dominique Gruyer, Univ Gustave Eiffel
Séminaire IA & VA- Dominique Gruyer, Univ Gustave EiffelSéminaire IA & VA- Dominique Gruyer, Univ Gustave Eiffel
Séminaire IA & VA- Dominique Gruyer, Univ Gustave EiffelMahdi Zarg Ayouna
 
Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)Olivier Eeckhoutte
 

Similaire à Rapport-du-projet CNN.docx (20)

BIPEA 2023 Yvon Gervaise : L'IA Matrice du Laboratoire du Futur ..
BIPEA 2023 Yvon Gervaise : L'IA Matrice du Laboratoire du Futur ..BIPEA 2023 Yvon Gervaise : L'IA Matrice du Laboratoire du Futur ..
BIPEA 2023 Yvon Gervaise : L'IA Matrice du Laboratoire du Futur ..
 
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
 
L'Intelligence Artificielle I.A. au service des Laboratoires
L'Intelligence Artificielle I.A. au service des LaboratoiresL'Intelligence Artificielle I.A. au service des Laboratoires
L'Intelligence Artificielle I.A. au service des Laboratoires
 
BIPEA 2023 L'IA Matrice du Laboratoire du Futur par Yvon Gervaise
BIPEA 2023 L'IA Matrice du Laboratoire du Futur par Yvon GervaiseBIPEA 2023 L'IA Matrice du Laboratoire du Futur par Yvon Gervaise
BIPEA 2023 L'IA Matrice du Laboratoire du Futur par Yvon Gervaise
 
Convolutional Neural Networks (CNNs)
Convolutional Neural Networks (CNNs)Convolutional Neural Networks (CNNs)
Convolutional Neural Networks (CNNs)
 
Deep learning
Deep learningDeep learning
Deep learning
 
test
testtest
test
 
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfTP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
 
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébr...
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébr...Les réseaux de neurones convolutifs pour la classification des tumeurs cérébr...
Les réseaux de neurones convolutifs pour la classification des tumeurs cérébr...
 
Analyzing a churn data set
Analyzing a churn data set Analyzing a churn data set
Analyzing a churn data set
 
Résumé ai
Résumé aiRésumé ai
Résumé ai
 
conference Y. Gervaise à Université M2 Chimie Rouen 10-1-24.pdf
conference Y. Gervaise à Université M2 Chimie Rouen 10-1-24.pdfconference Y. Gervaise à Université M2 Chimie Rouen 10-1-24.pdf
conference Y. Gervaise à Université M2 Chimie Rouen 10-1-24.pdf
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data Mining
 
cours logiciels de simulation.docx
cours logiciels de simulation.docxcours logiciels de simulation.docx
cours logiciels de simulation.docx
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
Forum Labo Version DEF par Yvon Gervaise.pdf
Forum Labo Version DEF par Yvon Gervaise.pdfForum Labo Version DEF par Yvon Gervaise.pdf
Forum Labo Version DEF par Yvon Gervaise.pdf
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Les réseaux de neurones convolutifs CNN
Les réseaux de neurones convolutifs CNNLes réseaux de neurones convolutifs CNN
Les réseaux de neurones convolutifs CNN
 
Séminaire IA & VA- Dominique Gruyer, Univ Gustave Eiffel
Séminaire IA & VA- Dominique Gruyer, Univ Gustave EiffelSéminaire IA & VA- Dominique Gruyer, Univ Gustave Eiffel
Séminaire IA & VA- Dominique Gruyer, Univ Gustave Eiffel
 
Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)
 

Rapport-du-projet CNN.docx

  • 1. Rapport du projet Réalisée par : Khalil ISMAIL Classe : BD-BI 3-2 Introduction : L'intelligence artificielle est l'utilisation de méthodes et de techniques pour simuler l'intelligence humaine, tandis que l'apprentissage automatique est un mécanisme qui permet à un système d'apprendre de l'expérience et de continuer à améliorer ses compétences et sa capacité de prise de décision. Il existe deux catégories d'algorithmes d'apprentissage automatique :supervisés et non supervisés. Dans l'industrie, l'apprentissage automatique est utilisé dans divers domaines tels que le diagnostic médical et le traitement d'image. I. Contexte du projet et travail demandé : Le projet réalisé dans la matière "Intelligence artificielle" consiste à créer un classificateur basé sur un réseau de neurones convolutif (CNN). Ce type de réseau de neurones est une méthode d'apprentissage profond qui permet de classer les 4 catégories d'objets du jeu de données fourni : chats, chiens, chevaux et humains. Le but est de développer un modèle capable de reconnaître ces différentes catégories d'objets en utilisant des techniques d'apprentissage automatique. II. Le réseau de neurones convolutif CNN : 1. La méthode d’apprentissage profond « Deep Learning » : L'apprentissage profond (ou Deep Learning) est un type d'intelligence artificielle dérivé du machine Learning (apprentissage automatique) où la machine est capable d'apprendre par elle-même. Il s'appuie sur un réseau de neurones artificiels inspiré par le cerveau humain, composé de plusieurs couches de neurones, chacune recevant et interprétant les informations de la couche qui la précède. Il existe plusieurs types d'algorithmes utilisés en apprentissage profond, chacun ayant ses propres spécificités et applications.
  • 2. Les algorithmes les plus couramment utilisés :  les réseaux de neurones convolutifs (CNN)  réseaux de neurones récurrents (RNN)  réseaux de fonction de base radiale (RBFN)  réseaux de mémoire à long et court terme (LSTM)  réseaux adversariaux génératifs (GAN) et machines de Boltzmann restreintes (RBM). Dans notre projet, nous nous intéressons aux réseaux de neurones convolutifs (CNN) pour classer les catégories d'objets fournies dans le Dataset. 2. Le réseau de neurones convolutif : Un « convolutional neural network » (CNN) est un type de réseau neuronal artificiel utilisé dans le domaine de la reconnaissance et le traitement d’images et il est spécifiquement développé pour traiter les données de pixels. Les réseaux de neurones convolutives sont de puissants systèmes de traitement d’images, d’intelligence artificielle qui utilisent un apprentissage approfondi pour effectuer des tâches à la fois génératives et descriptives, en incluant le Machine Vision qui aide à reconnaitre les images et les vidéos. Les CNN ou ConvNets, sont constitués d'une multitude de couches chargées de traiter et d'extraire les caractéristiques des données. Ils sont conçus pour l'analyse et la détection d'objets. Les CNN peuvent donc servir par exemple à reconnaître des images satellites, traiter des images médicales, détecter des anomalies ou prédire des séries chronologiques. III. Environnement de réalisation : 1. Jupyter Notebook :
  • 3. Jupyter Notebook est une application web qui permet de stocker et d'exécuter du code écritenPython,ainsiquedevisualiserlesrésultatsdel'exécutiondececodesousforme de graphiques, tableaux, etc. Il permetégalementdecréer et departagerdes documents interactifs quicombinent du code, des visualisations, des textes de documentation et des équations. C'est un outil populaire pour les scientifiques, les ingénieurs, les data scientists et les développeurs qui travaillent avec Python, car il permet une collaboration facile, une documentation interactive et une visualisation de données. 2. Le langage python : Python est un langage de programmation populaire pour sa flexibilité et sa facilité d'utilisation. Il est utilisé dans de nombreux domaines, notamment le développement web, le développement d'applications financières et l'automatisation de tâches. Il est également largement utilisé dans le domaine de l'apprentissage automatique, de l'apprentissage en profondeur et de l'intelligence artificielle en raison de sa facilité d'utilisation et de sa grande communauté de développeurs. Il est facilement intégrable àd'autresbibliothèquesetoutilspourleMachineLearningetleDeepLearning,cequien fait un choix populaire pour les projets de ces domaines. 3. Les bibliothèques python utilisés dans notre projet : Matplotlib est une bibliothèque Python pour créer des graphiques et des visualisations de données. Il est souvent utilisé en combinaison avec NumPy et SciPy pour visualiser les résultats de calculs scientifiques. NumPy est une bibliothèque Python pour la manipulation de tableaux multidimensionnels et des fonctions mathématiques opérant sur ces tableaux. Il est souvent utilisé en combinaison avec Matplotlib et SciPy pour des calculs scientifiques. Keras est une API de réseau de neurones écrite en Python qui facilite la création de modèles de Deep Learning. Il est exécuté sur des Framework tels que TensorFlow ou Theano. TensorFlow est une bibliothèque open source utilisée pour créer des modèles de Deep Learning et pour effectuer des tâches d'apprentissage automatique complexes. Il
  • 4. fournit une boîte àoutils pour résoudre des problèmes mathématiques complexes avec aisance et simplicité. Il peut être utilisé avec Keras pour faciliter l'implémentation des modèles de Deep Learning. IV. Réalisation du projet : Nous devons importer toutes les librairies qui nous serons nécessaires par la suite :  Préparation des données :  Affichage du contenu de répertoire dans une liste :
  • 5.  Entrainement du modèle : On commence toujours par créer un modèle de type Séquentiel. On crée une première couche qui va permettre d’aplatir la matrice Puis on construit nos couches cachées et la couche de sortie. On utilise les couches de convolution (Conv2D), de normalisation par lots (BatchNormalization), de max-pooling (MaxPooling2D), de découpage (Dropout) et de densité (Dense) pour construire le modèle. LapremièrecoucheConv2Davec32filtresdetaille3x3etunefonctiond'activationReLU est utilisée pour extraire des caractéristiques de l'image d'entrée de taille 100x100x3. La deuxième couche Conv2D avec 32 filtres de taille 3x3 et une fonction d'activation ReLU est utilisée pour extraire des caractéristiques plus profondes. La normalisation par lots est utilisée pour réduire les variations de données entre les différents lots. La couche MaxPooling2D est utilisée pour réduire la dimension de l'image en divisant par 2 les dimensions de l'image avec des pas de 2. Les deux prochaines couches sont similaires àla première et ladeuxième couche, mais avec 64 filtres cette fois-ci. La couche Flatten est utilisée pour aplatir les caractéristiques extraites en un vecteur. La couche Dropout est utilisée pour réduire l'overfitting en éteignant aléatoirement certains neurones pendant l'entraînement.
  • 6. La dernière couche Dense avec la fonction d'activation softmax est utilisée pour effectuer la classification en utilisant les caractéristiques extraites par les couches précédentes. Une fois ces cellules exécutées, on peut faire un résumé de ce que l’on a :  Le résultat est le suivant. Cela nous permet de nous assurer qu’il n’y a pas d’erreurs.
  • 7.  Il faut maintenant compiler le modèle : La première ligne définit le nombre d'époques pour l'entraînement à 20. La méthode compile() est utilisée pour configurer l'entraînement en spécifiant l'optimiseur Adam, la fonction de coût de la croix catégorique et les métriques d'évaluation de précision. La méthode fit_generator() est utilisée pour entraîner le modèle en utilisant un générateur de données d'entraînement (train_batches) et un générateur de données de validation (valid_batches). Le nombre de pas par époque est défini par steps_train et steps_valid respectivement. La variable history contient les informations de l'entraînement comme les valeurs de la fonction de coût et les métriques d'évaluation pour chaque époque. Les lignes suivantes calculent le temps d'entraînement en utilisant la fonction time(), puis affichent les résultats de l'évaluation de la précision en utilisant le générateur de données de validation (valid_batches) et en spécifiant le nombre de pas (steps=1).  Les époques s’exécuter l’une après l’autre.
  • 8. L’époque (epochs) correspond au nombre de passage effectués sur les poids. Plus il y a d’époques plus l’entrainement prendra de temps mais plus le modèle sera efficace.  Suivit de l’entrainement : Maintenant que le réseau est entraîné, nous pouvons regarder l’évolution de nos performances époque après époque. Cette étape est importante. Elle permet d’abord de nous assurer que les résultats sont bons. Et elle peut aussi permettre de détecter un éventuel over-fitting.  Voici les courbes obtenues : . La courbe en bleu correspond aux données d’entraînement tandis que la courbe en orange présente les données de validation :  Si la courbe bleue suit et la courbe orange l’entraînement est bien réalisé.  Quandle modèle augmente ses performancessur lesdonnées d’entraînement, il augmente aussi ses performances sur les données de validation.
  • 9.  Le test : Dans cette partie on a fait le test d’une image pour reconnaître la race : Conclusion : En résumé, nous avons implémenté un réseau de neurones convolutionnel en utilisant Python pour classifier des images en quatre catégories différentes (chats, chiens, chevaux et humains).