16/02/2022
Chapitre 5 :
Réseau de Neurone Convolutif (CNN)
LMI 3
Dr. Asma MEKKI 81
Introduction
● Au cours des dernières décennies, le Deep Learning s'est avéré être un outil
très puissant en raison de sa capacité à gérer de grandes quantités de données.
L'intérêt d'utiliser des couches cachées a dépassé les techniques traditionnelles,
notamment en reconnaissance de formes. L'un des réseaux de neurones
profonds les plus populaires est le CNN.
● Depuis les années 1950, les premiers jours de l'IA, les chercheurs ont eu du mal
à créer un système capable de comprendre les données visuelles. Dans les
années suivantes, ce domaine est devenu connu sous le nom de vision par
ordinateur.
LMI 3
Dr. Asma MEKKI 82
1
16/02/2022
Introduction
● En 2012, la vision par ordinateur a fait un bond en avant lorsqu'un groupe de
chercheurs de l'Université de Toronto a développé un modèle d'IA qui
surpassait de loin les meilleurs algorithmes de reconnaissance d'images.
● Le système d'intelligence artificielle, connu sous le nom d'AlexNet, a remporté le
concours de vision par ordinateur ImageNet 2012 avec une précision de 85% (le
finaliste a obtenu 74% au test).
● Au cœur d'AlexNet se trouvait le CNN, un type spécial de réseau neuronal qui
imite grossièrement la vision humaine. Au fil des ans, le CNN est devenu une
partie très importante de nombreuses applications de vision par ordinateur et
donc une partie de tout cours de vision par ordinateur.
LMI 3
Dr. Asma MEKKI 83
Qu'est-ce qu'un CNN ?
● Dans le DL, un réseau de neurones convolutif (CNN/ConvNet) est une classe de
réseaux de neurones profond, le plus souvent appliqués pour l’analyse d'image.
Maintenant, quand nous pensons à un réseau de neurones, nous pensons aux
multiplications matricielles, mais ce n'est pas le cas avec CNN.
→ Il utilise une technique spéciale appelée Convolution.
● Or, en mathématiques, la convolution est une opération mathématique sur deux
fonctions qui produit une troisième fonction qui exprime comment la forme de
l'une est modifiée par l'autre.
LMI 3
Dr. Asma MEKKI 84
2
16/02/2022
Qu'est-ce qu'un CNN ?
• L'essentiel est que le rôle du CNN est de réduire les images sous une forme plus
facile à traiter, sans perdre les fonctionnalités essentielles pour obtenir une bonne
prédiction.
LMI 3
Dr. Asma MEKKI 85
Qu'est-ce qu'un CNN ?
Identifier les objets dans deux images données
• Comment feriez-vous cela ?
→ Observez l'image,
→ Essayez d'identifier différentes caractéristiques, formes et bords de l'image.
→ Sur la base des informations que vous recueillez, vous direz que l'objet est un
chien ou une voiture, etc.
C'est précisément ce que font les couches cachées d'un CNN - trouver des
caractéristiques dans l'image.
LMI 3
Dr. Asma MEKKI 86
3
16/02/2022
Représentation de l’image
● Avant d'aborder le fonctionnement de
CNN, couvrons les bases telles que ce
qu'est une image et comment est-elle
représentée.
● Une image RGB n'est rien d'autre qu'une
matrice de valeurs de pixels ayant trois
plans alors qu'une image en niveaux de
gris est la même mais elle a un seul plan.
LMI 3
Dr. Asma MEKKI 87
Couche de convolution
LMI 3
Dr. Asma MEKKI 88
4
16/02/2022
Couche de convolution
● Un moyen simple d'identifier les bords consiste à comparer la valeur du pixel
voisin.
● Avons-nous besoin de parcourir pixel par pixel et de comparer ces valeurs ?
● Non ! Pour capturer ces informations, l'image est convoluée avec un filtre
(également appelé « noyau (kernel) »).
● La convolution est souvent représentée mathématiquement par un astérisque
*. Si nous avons une image d'entrée représentée par X et un filtre représenté
par f , alors l'expression serait : Z=X*f
LMI 3
Dr. Asma MEKKI 89
Couche de convolution
LMI 3
Dr. Asma MEKKI 90
5
16/02/2022
Couche de convolution
● Nous prenons un filtre/noyau (kernel) (matrice 3 × 3) et l'appliquons à l'image
d'entrée pour obtenir la fonction convoluée. Cette fonction convoluée est transmise
à la couche suivante.
LMI 3
Dr. Asma MEKKI 91
Couche de convolution
● Convolution est une opération mathématique sur deux objets pour produire un
résultat qui exprime comment la forme de l'un est modifiée par l'autre. Avec ce
calcul, nous détectons une caractéristique particulière à partir de l'image d'entrée et
obtenons le résultat contenant des informations sur cette caractéristique. C'est ce
qu'on appelle la « carte des fonctionnalités ».
LMI 3
Dr. Asma MEKKI 92
6
16/02/2022
Couche de convolution
Taille de la sortie de la couche de convolution :
• Dimension de l'image = (n, n)
• Dimension du filtre = (f, f)
• La dimension de la sortie sera ((n-f+1) , (n-f+1))
LMI 3
Dr. Asma MEKKI 93
Convolution : Exemple (Gris)
LMI 3
Dr. Asma MEKKI 94
7
16/02/2022
Convolution : Exemple (RGB)
LMI 3
Dr. Asma MEKKI 95
Convolution : Exemple (RGB)
LMI 3
Dr. Asma MEKKI 96
8
16/02/2022
Couche de convolution
● Les CNN sont composés de plusieurs
couches de neurones artificiels. Ces
neurones sont des fonctions
mathématiques qui calculent la
somme pondérée de plusieurs entrées
et sorties d'une valeur d'activation.
● Lorsque vous entrez une image dans
un CNN, chaque couche génère
plusieurs fonctions d'activation qui
sont transmises à la couche suivante.
LMI 3
Dr. Asma MEKKI 97
Couche de convolution
● La première couche extrait généralement
les caractéristiques de base telles que les
bords horizontaux ou diagonaux. Cette
sortie est transmise à la couche suivante
qui détecte des caractéristiques plus
complexes telles que des coins ou des
arêtes combinatoires.
● Au fur et à mesure que nous progressons
dans le réseau, il peut identifier des
caractéristiques encore plus complexes
telles que des objets, des visages, etc.
LMI 3
Dr. Asma MEKKI 98
9
16/02/2022
Couche de convolution
● Sur la base de la carte d'activation de la couche de convolution finale, la
couche de classification génère un ensemble de scores de confiance (valeurs
comprises entre 0 et 1) qui spécifient la probabilité que l'image appartienne à
une "classe".
Exemple :
● Si vous avez un CNN qui détecte les chats, les chiens et les chevaux, la sortie
de la couche finale est la possibilité que l'image d'entrée contienne l'un de ces
animaux.
LMI 3
Dr. Asma MEKKI 99
Couche de convolution
LMI 3
Dr. Asma MEKKI 100
10
16/02/2022
Couche de convolution
Convolution avec rembourrage (padding) et foulée (stride) :
● Il existe d'autres astuces que nous pouvons appliquer avec la convolution, dont
l'une est le rembourrage.
● Vous avez peut-être déjà remarqué que les pixels de l'image ne sont pas
traités avec le même nombre. Les pixels du coin sont moins comptés que ceux
du milieu. Cela signifie que les pixels ne reçoivent pas la même quantité de
poids.
● De plus, si nous continuons à appliquer la convolution, nous risquons de
perdre les données trop rapidement.
● Le rembourrage est l'astuce que nous pouvons utiliser ici pour résoudre ce
problème. Comme son nom l'indique, le rembourrage signifie donner des
pixels supplémentaires à la limite des données.
LMI 3
Dr. Asma MEKKI 101
Couche de convolution
Convolution avec rembourrage (padding) et foulée (stride) :
LMI 3
Dr. Asma MEKKI 102
11
16/02/2022
Couche de convolution
Convolution avec rembourrage (padding) et foulée (stride) :
● Le premier exemple sur l'image montre ce que nous avons
fait dans la section précédente. L'image d'entrée a 4x4
pixels et le filtre a 3x3. Il n'y a pas de rembourrage, qui est
appelé « valide ». Le résultat devient des données de 2x2
pixels (4–3+1 = 2). Nous pouvons voir que les données de
sortie sont réduites.
LMI 3
Dr. Asma MEKKI 103
Couche de convolution
Convolution avec rembourrage (padding) et foulée (stride) :
● Pour le troisième exemple, il y a un rembourrage de couche
avec les pixels vides. L'image d'entrée a 5x5 pixels et le
filtre a 3x3.
● Ainsi, le résultat obtient 5x5 pixels (5 + 1*2–3 + 1= 5), ce qui
correspond à la même taille que l'image d'entrée. Nous
appelons cela « même ». Nous pouvons même rendre le
résultat plus grand que les données d'entrée, mais les deux
cas sont les plus utilisés.
LMI 3
Dr. Asma MEKKI 104
12
16/02/2022
Couche de convolution
Convolution avec rembourrage (padding) et foulée (stride) :
● Au fait, un filtre doit-il toujours se déplacer d'un pixel à la
fois ?
● Bien sûr que non.
● Nous pouvons également le faire bouger deux pas ou
trois pas à la fois dans le sens horizontal et vertical.
● C'est ce qu'on appelle la « foulée ».
LMI 3
Dr. Asma MEKKI 105
Couche de convolution
Convolution avec rembourrage (padding) et foulée (stride) :
● Supposons qu'il existe :
● Une image d'entrée N x N et u
● Un nombre Nc` de filtres f x f.
● Nous allons :
● Créer un nombre p de couches de rembourrage et
● Déplacer les filtres avec la valeur S de la foulée.
LMI 3
Dr. Asma MEKKI 106
13
16/02/2022
Couche de convolution
Convolution avec rembourrage (padding) et foulée (stride) :
LMI 3
Dr. Asma MEKKI 107
Couche de regroupement (Pooling)
● Semblable à la couche convolutive, la couche de regroupement (pooling) est
responsable de la réduction de la taille spatiale de l'entité convoluée. Il s'agit
de diminuer la puissance de calcul nécessaire pour traiter les données en
réduisant les dimensions. Il existe deux types de pooling, le pooling moyen et
le pooling maximal.
LMI 3
Dr. Asma MEKKI 108
14
16/02/2022
Couche de regroupement (Pooling)
LMI 3
Dr. Asma MEKKI 109
Couche de regroupement (Pooling)
● Pour le Max Pooling, nous trouvons la valeur maximale d'un pixel à partir d'une
partie de l'image couverte par le noyau. Max Pooling fonctionne également
comme un suppresseur de bruit. Il supprime complètement les activations
bruyantes et effectue également un débruitage ainsi qu'une réduction de la
dimensionnalité.
● D'autre part, Average Pooling renvoie la moyenne de toutes les valeurs de la
partie de l'image couverte par le noyau. Le Pooling moyen effectue simplement
une réduction de la dimensionnalité en tant que mécanisme de suppression du
bruit. Par conséquent, nous pouvons dire que Max Pooling est beaucoup plus
performant que Average Pooling .
LMI 3
Dr. Asma MEKKI 110
15
16/02/2022
Couche de regroupement (Pooling)
LMI 3
Dr. Asma MEKKI 111
Couche de regroupement (Pooling)
LMI 3
Dr. Asma MEKKI 112
16
16/02/2022
Couche d’aplatissement (Flattening)
● À la dernière étape de CNN, nous avons des couches aplaties et
entièrement connectées.
● Input : doit être sous la forme d'un vecteur linéaire unidimensionnel.
→ Les formes rectangulaires ou cubiques ne peuvent pas être des entrées
directes.
→ Les couches aplaties et entièrement connectées sont nécessaire.
LMI 3
Dr. Asma MEKKI 113
Couche d’aplatissement (Flattening)
● L'aplatissement consiste à convertir les données en un tableau
unidimensionnel pour les saisir dans la couche suivante.
● Nous aplatissons la sortie des couches convolutives pour créer un seul long
vecteur de caractéristiques.
● Et il est connecté au modèle final de classification, appelé couche
entièrement connectée.
● En d'autres termes, nous mettons toutes les données de pixels sur une
seule ligne et établissons des connexions avec la couche finale.
LMI 3
Dr. Asma MEKKI 114
17
16/02/2022
Limites
LMI 3
Dr. Asma MEKKI 115
Conclusion
● Malgré les limites des réseaux de neurones convolutifs, nous pouvons
constater qu'ils ont révolutionné l'intelligence artificielle.
● Aujourd'hui, les CNN sont utilisés dans de nombreuses applications de vision
par ordinateur telles que la reconnaissance faciale, la recherche et l'édition
d'images, la réalité augmentée, etc.
● Comme le montrent les progrès des réseaux de neurones convolutifs, nos
réalisations sont remarquables et utiles, mais nous sommes encore très loin de
reproduire les composants clés de l'intelligence humaine .
LMI 3
Dr. Asma MEKKI 116
18