SlideShare ist ein Scribd-Unternehmen logo
1 von 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).

Weitere ähnliche Inhalte

Was ist angesagt?

Rapport de-stage-technecien
Rapport de-stage-technecienRapport de-stage-technecien
Rapport de-stage-technecienghazwanikhouloud
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile Raoua Bennasr
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique ayoub daoudi
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learningQuentin Ambard
 
Exposé réseaux des neurones (NN) - (RN)
Exposé réseaux des neurones (NN) - (RN)Exposé réseaux des neurones (NN) - (RN)
Exposé réseaux des neurones (NN) - (RN)Soumia Elyakote HERMA
 
Rapport de pfe format doc 2013
Rapport de pfe format doc 2013Rapport de pfe format doc 2013
Rapport de pfe format doc 2013Addi Ait-Mlouk
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
 
Cour simulation ns2
Cour simulation ns2Cour simulation ns2
Cour simulation ns2Gilles Samba
 
Rapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humainesRapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humainesHosni Mansour
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développementDonia Hammami
 
Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Saâd Zerhouni
 
TP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de TextureTP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de TextureAhmed EL ATARI
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionInes Ouaz
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiqueOussama Yoshiki
 
Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Ghali Rahma
 
Intelligence artificielle
Intelligence artificielleIntelligence artificielle
Intelligence artificiellehadjerdermane
 

Was ist angesagt? (20)

Rapport de-stage-technecien
Rapport de-stage-technecienRapport de-stage-technecien
Rapport de-stage-technecien
 
ségmentation d'image
ségmentation d'imageségmentation d'image
ségmentation d'image
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Deep learning
Deep learningDeep learning
Deep learning
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
 
Exposé réseaux des neurones (NN) - (RN)
Exposé réseaux des neurones (NN) - (RN)Exposé réseaux des neurones (NN) - (RN)
Exposé réseaux des neurones (NN) - (RN)
 
Rapport de pfe format doc 2013
Rapport de pfe format doc 2013Rapport de pfe format doc 2013
Rapport de pfe format doc 2013
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
 
Cour simulation ns2
Cour simulation ns2Cour simulation ns2
Cour simulation ns2
 
Rapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humainesRapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humaines
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
 
Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++
 
TP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de TextureTP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de Texture
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015
 
Intelligence artificielle
Intelligence artificielleIntelligence artificielle
Intelligence artificielle
 
Rapport pfa
Rapport pfaRapport pfa
Rapport pfa
 

Ähnlich wie 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
 
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
 
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
 
Comment le Data et Deep Learning révolutionnent la science
Comment le Data et Deep Learning révolutionnent la scienceComment le Data et Deep Learning révolutionnent la science
Comment le Data et Deep Learning révolutionnent la sciencehabib200
 
CHimie & Inteligence Artificielle cours YG.pdf
CHimie & Inteligence Artificielle cours YG.pdfCHimie & Inteligence Artificielle cours YG.pdf
CHimie & Inteligence Artificielle cours YG.pdfYvon Gervaise
 

Ähnlich wie 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
 
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)
 
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)
 
Comment le Data et Deep Learning révolutionnent la science
Comment le Data et Deep Learning révolutionnent la scienceComment le Data et Deep Learning révolutionnent la science
Comment le Data et Deep Learning révolutionnent la science
 
CHimie & Inteligence Artificielle cours YG.pdf
CHimie & Inteligence Artificielle cours YG.pdfCHimie & Inteligence Artificielle cours YG.pdf
CHimie & Inteligence Artificielle cours YG.pdf
 

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).