Vous êtes sur la page 1sur 35

Réseau de neurones Convolutifs - CNN

Realise par : Addahoum Mohamed

1/35
Definition :
Les réseaux de neurones convolutifs (CNN) sont des algorithmes
d’intelligence artificielle basés sur des réseaux neuronaux multicouches
qui apprennent des caractéristiques pertinentes à partir d’images, étant
capables d’effectuer plusieurs tâches telles que la classification, la
détection et la segmentation d’objets.
Historique :
Une première idée de convolution a été proposée par Kunihiko
Fukushima en 1980 et s’appelait initialement Neocognitron.

3/35
Historique :
Le concept moderne de réseaux de neurones convolutifs provient des
travaux de Yann LeCun publiés en 1998. LeCun aprésenté un CNN appelé
LeNet pour la reconnaissance de l’écriture manuscrite.

Figure : Apprentissage basé sur les gradients appliqué à la reconnaissance de


documents

5/35
Historique :
En 2012, Alex Krizhevsky a remporté le ImageNet Large Scale Visual
Recognition Challenge avec un modèle CNN appelé AlexNet. Krizhevsky a
utilisé des GPUpour former l’AlexNet, ce qui a permis une formation plus
rapide des modèles CNN et a lancé une vague d’intérêt et de nouveaux
travaux basés sur les CNN.

Figure : Classification ImageNet avec réseaux de neurones convolutifs profonds

6/35
Est meilleur?

Pourquoi CNN est mieux ?


L’avantage des CNN par rapport aux autres algorithmes de classification
(SVM, K-NN, Random-Forest et autres) est que les CNN apprennent les
meilleures caractéristiques pour représenter les objets dans les images et
ont une grande capacité de généralisation, étant capable de classer avec
précision de nouveaux exemples avec seulement quelques exemples dans
l’ensemble d’apprentissage.

7/35
Applications populaires

Reconnaissance de voiture et de plaque

8/35
Applications populaires

BIOMETRIE

9/35
Applications populaires

Voiture autonome

10/35
Applications populaires

Detection des pietons

11/35
Applications populaires

Reconnaissance des environnements intérieurs

12/35
CNN COUCHES :

Un CNN est composé localement de quatre types de


couches:
Convolutif
Mutualisation
Rélu
Entièrement connecté

13/35
Couche convolutive :
Une couche convolutive est composée d’un ensemble de filtres,
également appelés noyaux, qui glissent sur les données d’entrée.
Chaque noyau a une largeur, une hauteur et une largeur ×
poidsélevés utilisés pour extraire les caractéristiques des données
d’entrée.
Dans l’étape d’entraînement, les poids dans le noyau commencent par des
valeurs aléatoires et apprendront en fonction de l’ensemble d’entraînement.

14/35
Chaque filtre de la couche convolutive représente une caractéristique.

15/35
Lorsque le filtre glisse sur l'image et trouve une correspondance...

16/35
L’opération de convolution génère un grand nombre, activant le filtre à
cette caractéristique.

17/35
Lorsque le filtre glisse sur l’image et ne trouve aucune correspondance, le
filtre ne s’active pas.
Le CNN utilise ce processus pour apprendre les meilleurs filtres pour
décrire les objets.

18/35
19/35
ReLu :

Les couches ReLU (Rectified Linear Units) sont une couche


d’activation liée après une couche convolutive pour générer de la
non-linéarité dans le réseau.
Le ReLu aide le réseau à apprendre des fonctions de
décision plus difficiles et à réduire le surajustement.
Le ReLu applique la function y = max(x,0)

20/35
ReLu

21/35
Pooling :

22/35
Mutualisation

La couche de mise en pool, ou couche de sous-échantillonnage, est


appliquée pour réduire la dimensionnalité des cartes d’entités de
manière à enregistrer les informations les plus pertinentes des
cartes d’entités.
Dans la couche de pooling, un filtre glisse sur les données
d’entrée et applique l’opération de pooling (max, min,
moy).
La mise en commun maximale est la plus utilisée dans la
littérature.

23/35
Couche entièrement connectée :
Un CNN est divisé en deux parties: les étapes convolutives et les étapes
denses. Le premier apprend les meilleures caractéristiques à extraire des
images et le second apprend à classer les caractéristiques dans
différentescatégories.

24/35
La couche etierement connectee est un Perceptron multicouche,
Compose de trois types couches : couches d’entree, masquees
et de sortie.

25/35
La couche d’entrée reçoit les fonctionnalités générées par le CNN
La couche cachée est une séquence de neurones avecdes poids
qui seront appris à l’étape de l’entraînement. Un MLP est composé
d’un ou plusieurs calques cachés.
La couche de sortie est également une séquence de neurones.
Cependant, il a une fonction d’activation différente. Habituellement,
la fonction softmax est utilisée pour générer les probabilités de
chaque catégorie dans la portée du problème.

26/35
Chaque neurone est composé de :
Un vecteur d’entrée x 0,x 1,...,xn, qui représente les entités
Un vecteur de poids w 0,w 1,...,wn, qui sera appris dans l’étape
d’entraînement
Le biais
Une fonction d’activation
La sortie

27/35
28/35
Le Perceptron effectue l’opération suivante :

output = ActivationFunction(x 0 ∗w 0 +x 1 ∗w1 +... +xn∗wn+bias) (1)

Les fonctions d’activation les plus couramment utilisées dans la littérature


sont les suivantes :
ReLu, Sigmoïde, Softmax, Tanh, Hardlim

29/35
Sigmoid :

30/35
Softmax :

31/35
Than :

32/35
Afin de former un modèle CNN, un jeu de donnéesd’apprentissage
c’est un ensemble d’images et d’étiquettes (classes, cadres de
sélection, masques).
L’algorithme utilisé pour former un CNN est appelé rétropropagation,
qui utilise la valeur de sortie de la dernière couche pour mesurer une
valeur d’erreur. Cette valeur d’erreur est utilisée pour mettre à jour
leshuit w de chaque neurone de cette couche.
Les nouveaux poids sont utilisés pour mesurer une valeur
d’erreur et mettre à jour les poids des précédents.
L’algorithme répète le processus jusqu’à ce qu’il atteigne la
première couche.

33/35
Entraînement (Training)

34/35
35/35

Vous aimerez peut-être aussi