Vous êtes sur la page 1sur 20

C’EST QUOI LE CNN ?

Avant de parler de CNN nous


allons d’abord aborder la notion
de neurone.
C’EST QUOI UN NEURONE?
En Informatique les tous premiers neurones étaient un modèle des vrai neurones (en
Biologie) représente par une fonction f de transfert qui prend en entrée des valeurs
X=(x1,x2…xn) et qui retourne une valeur y.
Dans la fonction f se produit d'abord l'agrégation ou les valeurs x sont additionnées
tous multipliées par un coefficient Wi appelle poids. Ainsi on obtient
f=w1.x1+w2.x2+……..+wn.xn Ainsi
Ensuite la phase d’activation ici on ajoute au f précèdent le biais b et on retourne la
valeur du calcul. Si f>0 alors y=1 sinon y=0.
C’EST QUOI UN RÉSEAU DE
NEURONE?
C’est une collection de neurone connecte de façon acyclique ou les valeurs de sortie
de certain sont les valeurs d'entrés d’autres neurones. Ils sont organises en couche de
neurones.
COMMENT UTILISE T-ON UN
RÉSEAU DE NEURONE
Pour la prédiction on doit trouver les valeurs du poids W et du biais b et définir une
fonction de mappage pour les outputs des différentes couches, W et b sont appelés
paramètres entrainables.
QUELS SONT DONC SES
FONCTIONS?
-FONCTIONS DE COMBINAISON
Elle produit l’entrée du neurone en fonction des valeurs des outputs des neurones de a couche
précédente. C’est une fonction de vecteur a scalaire.
-les réseaux MPL(Multi layer Perception) dans ce cas la fonction de combinaison va renvoyer le
produit scalaire des vecteurs des entrées et celui des poids.
-les réseaux RBF(radial basis function) ici c'est la norme du vecteur issu de la différence vectorielle
entre les vecteurs d’entrées.
-LES FONCTIONS D’ACTIVATION
-LA RETRIPROPAGATION
Ici le but est de retro propager l’erreur commise par un neurone a ses synapses (zone de jonction pour
un neurone) et aux neurones qui y sont relies. La méthode la plus utilisée est celle du gradient de
l’erreur qui consiste a corriger l’erreur selon l’importance des éléments ayant participe a cet erreur.
INTRODUCTION
L'architecture CNN(Convolutional Neuronal Network) voit le jour en 1980 mais
devient populaire seulement en 2012 avec la performance d'Axelnet. Elle est
constituée d'une ou plusieurs couches de convolution, d'une couche de
regroupement, d'une ou plusieurs couches entièrement connectés(FC) et d'une
couche de sortie. Elle fonctionne en deux principales parties: l'extraction de
caractéristiques qui est faite par les couches de convolution et de regroupement et la
classification effectué par les couches FC. Elle permet d'avoir une sortie organisée et
plus dépendante des caractéristiques extraites car la couche de classification et
d'extraction de caractéristiques apprennent ensemble. De plus la généralisation est
améliorée car le nombre de paramètres pouvant être entrainés est réduit par la
fonction de partage de poids propre à la convolution.
C’EST QUOI LE CNN?
C’est un réseau avec des neurones aux poids W et biais b entrainables, qui va utiliser
comme input des images. C’est également un MLP ou chaque couche transforme les
sorties de la couche précédente via une autre fonction différentiable.
LA COUCHE CONVOLUTIVE
C'est le composant le plus important du CNN(elle offre la connectivité clairsemée car le nombre
de connexion est petit). Elle est formé de noyaux convolutionnels (grille de valeurs considérées
comme poids de ce dernier) qui génèrent des caractéristiques de sortie lorsqu'ils sont convolués
avec une image d'entrée. L'initialisation des poids se fait de manière aléatoire puis le noyau
apprend à extraire les caractéristiques progressivement.
Lors de la convolution une image en échelle de gris est entrée, puis le noyau est initialisé
aléatoirement. Il faut alors faire glisser le noyau sur toute l'image de manière horizontale et
verticale avec un pas défini tout en calculant la somme des produits scalaires. Chaque résultat est
retourné dans la carte de caractéristiques. Pour calculer la taille de celle ci on utilise la formule:
H=(h-f+p+1)/s; W=(w-f+p+1)/s
Où H est la hauteur de la carte, W sa largeur, h la hauteur de l'image, w sa largeur, f la taille du
noyau, p le rembourrage et s la foulée(pas).
Le rembourrage permet d'augmenter la taille de l'image.
LA COUCHE DE REGROUPEMENT

Elle est utilisée pour sous échantillonner les cartes de caractéristiques. C'est à dire les
réduire en préservant les caractéristiques dominantes. Elle utilise des techniques
telles la mise en commun maximale la plus populaire, minimale, moyenne, fermée et
d'arbres. On détermine le max des valeurs d'une partie de la carte caractéristique
choisie selon la taille de la région de regroupement(f) afin d'obtenir une carte
d'entités. La taille de celle ci est donnée par H|W=(h|w- f)/s. Par contre elle peut
diminuer les performances de CNN car elle détermine la présence sans se soucier de
la position.
LA FONCTION D'ACTIVATION

Elle décide du déclenchement d'un neurone en mappant l'entrée à la sortie. Elle est utilisé dans
les couches d'activation situées après les couches apprenables(convolutionnels et FC) et permet
d'apprendre des choses complexes et de façon non linéaire. Par contre elle doit être différentiable
pour permettre la rétropropagation des erreurs afin de former le modèle. Celles utilisés sont:
Sigmoïdes (sortie de 0 à 1; formule 1/1+e^-x),
Tanh (sortie de -1 à 1; formule e^x-e^-x/e^x+e^-x),
ReLu ( utilité linéaire de redressement qui nécessite une charge de calcul minimal; ne compte
pas les entrées négatives; formule max(0,x)). Il a plusieurs variantes à cause du Dying ReLU.
Ex: Leaky ReLU: il a pour formule x si x positif et mx si x négatif (m est une constante de petite
valeur appelée facteur d fuite), Noisy ReLU de formule max(x+y) avec y N(0,sigma(x)), unité
linéaire paramétrique.
LA COUCHE ENTIEREMENT CONNECTEE

Ici chaque neurone est connecté à chaque neurone de la couche précédente. Les
couches FC prennent les cartes caractéristiques pour en faire un vecteur puis généré
la sortie finale de CNN.
LA FONCTION DE PERTE

Elle calcule l'erreur de prédiction du CNN pour la couche de sortie. Elle utilise la
sortie estimée et la sortie réelle. Il en existe plusieurs types:
-La fonction Cross-Entropy ou Soft-Max Loss
-La fonction de perte euclidienne
-La fonction de perte charnière
LE PROCESSUS DE FORMATION DE CNN 1

1-Pretraitement et Augmentation des Données


Le prétraitement a un impact direct sur les performances du CNN car il rend les
données plus complètes, plus facile à apprendre et dans un format uniforme. Les
techniques les plus utilisés sont: la moyenne soustraction ou centrage zéro(on
soustrait la moyenne de chaque point de données individuel pour la centrer sur zéro
formule), la normalisation divise chaque dimension par son écart-type.
L'augmentation quant à elle permet de rendre le CNN plus habile et d'appliquer la
régularisation dans le CNN en évitant le surajustement. On peut dons effectuer le
recadrage, les rotations, le retournement, les traductions, le réglage du contraste...
LE PROCESSUS DE
FORMATION DE CNN 2
2-Initialisation des Paramètres
Elle détermine la vitesse du CNN et sa précision. Elle se fait :
-De maniéré aléatoire soit avec l'initialisation aléatoire gaussienne, uniforme ou orthogonale
-Avec l'initialisation Xavier qui équilibre la variance des fonctions d'activation mais elle ne fonctionne qu'avec la
fonction sigmoïde
-Avec l'initialisation préformation non supervisée qui initialise un réseau avec un autre. Ce qui permet de gérer les
problèmes d'optimisation et de surajustement.
Exemple de problèmes:
-Problème de gradient de disparition: Les couches apprennent très lentement car les poids ne sont mis à jour que
très légèrement. Il peut être résolu en utilisant ReLU/leaky ReLU comme fonction d'activation ou en utilisant les
couches de normalisation par lots.
- Problème de gradient explosif: Ici la croissance exponentielle des gradients entraine de très grandes mises à jour
des poids ce qui rends le modèle instable. pour le résoudre on peut utiliser les techniques de régularisation de poids ou
reconcevoir l'architecture du modèle
LE PROCESSUS DE
FORMATION DE CNN 3
3-Regularisation de CNN
Les algorithmes d'apprentissage ont pour principal but de pouvoir s'adapter à des données nouvelles. On
parle de généralisation. Ici le principal problème qui se pose est celui du surajustement. C'est lorsque le
modèle fonctionne sur les données d'apprentissage mais pas sur les données de test. Dans le cas contraire
on parle de sous-ajustement et lorsqu'il fonctionne à la fois sur les données d'apprentissage et de test on
parle de juste -ajusté. Afin de résoudre le problème de surajustement on utilise des techniques de
régularisation tels:
-Le Dropout Ici on supprime les neurones ne participant pas à la propagation
-Le Drop-weights Ici on supprime plutôt les poids à chaque époque d'entrainement
-La l^2 régularisation Encore appelé "perte de poids", il force les poids du réseau à décroitre vers 0 en
utilisant la magnitude au carré.
-La l^1 régularisation qui fonctionne comme la technique précédente mais en utilisant la valeur absolue
de la magnitude des coefficients comme pénalité.
LE PROCESSUS DE
FORMATION DE CNN 3
-Augmentation des données
Il s'agit du moyen le plus simple
-Arrêt anticipé
On évalue les performances du modèle sur la base d'une petite quantité de données de
traitement et le processus s’arrète lorsque les performances sur cet ensemble se détériorent
-Normalisation par Lots
Il soustrait la moyenne et divise par l’écart-type la sortie de chaque couche afin de réduire
le décalage de covariance interne des couches d'activation qui peut rendre le modèle lent. Il
est donc implémenté comme couche dans l'architecture CNN. Il permet d’éviter le
problème du gradient de fuite, gère la mauvaise initialisation de poids et réduit les risques
de surajustement.
LE PROCESSUS DE
FORMATION DE CNN 4
4-Selection de l'Optimiseur
L’ALGORITHME DU CNN
1-la Convolution:
L’Image d’entrée est convolué avec des filtres pour produire une carte de
caractéristiques. Les caractéristiques capturées peuvent être les bords, couleurs,
textures…
2-Fonction d’activation:
Ici une fonction d’activation est utilisée pour introduire la non linéarité dans la carte
de caractéristique.
3-Mise en commun:
La carte de caractéristique est réduite afin que le nombre de paramètre à entrainer
soit réduit et le modèle soit plus robuste.
L’ALGORITHME DU CNN 2
4-La répétition:
Ici les trois premières étapes sont répétées plusieurs fois pour extraire le plus de
caractéristiques possibles de l’image.
5-Connection des couches:
Ici on prend les outputs des couches précédentes pour les connecter à une couche de
neurones entièrement connectée.
6-Fonction de perte:
Ici on calcul l’erreur entre les prédiction de notre modèle et les étiquettes
(caractéristiques) réelles de notre image.
L’ALGORITHME DU CNN 3
7-Retropropagation:
Ici on ajuste les poids du modèle pour minimiser la fonction de perte.
8-La répétition 2:
Ici on répète plusieurs fois les 7 premières étapes pour entrainer les modèles.
9-Les Test

Vous aimerez peut-être aussi