présentation du projet data sciencesprésentation du projet data sciences author: karine tribouley...
TRANSCRIPT
Classification d’images
Stéphane GaiffasetKarine Tribouley
Brief. Description Data
Objectif : Construire un moteur permettant de classer des images «chiffres »
Base de données MNIST:
70 000 images
Labellisées de 0 à 9 Sauvegardées dans 2 fichiers train/test A peu près équiréparties entre les 10 labels
Observation issue du fichier « train »associée au label 0
Pour leur représentation, les images sont vues comme des matrices x = (x_ij) de dimension p x p x 1 . Ici p=28 les x_ij sont des nombres (niveaux de gris)
Pour la modélisation, les images sont vues comme des vecteurs x = (x_i) de longueurs d = p x p x 1. Ici d = 784
pixels
1: Noir & Blanc3 : Couleur 3 RVB
Opération « flatten »
Démarche méthodologique
Modélisation logistique : cas d’une cible multimodale. Ici la cible prend 9 valeurs.
Modélisation Réseau de neurones à propagation avant : FFNN (Feed-Forward Neural Network)
Réseaux de neurones à convolution CNN ou ConvNet: (ConvolutionNeural Network) - spécialisé pour le traitement d’images
Choisir une modélisation
Tester la qualité du modèle sur le fichier « test »
Entrainer le modèle avec les fichiers « train »
Décisions à prendre sur la fonction de pertesur l’architecture
Complexité : Nombre de couches cachées + Taille des couchesFonction d’activation
Décisions à prendre sur la fonction de pertesur l’architecture
Choix des couches de l’architecture : CONVolution, POOLing, fonction d’activation ReLU, DropOut, FullyConnectedChoix de l’enchaînement des couchesChoix des paramètres internes à chaque couche Réduction de dimension
(remplacement d’un sous ensemble des entrées par leur max – par ex)
Premières couches pour l’extraction de features Dernières couches pour calcul du score
++ lien non linéaire
++ extraction features
Décisions à prendre sur la fonction de perte – écart entre prévision/vraisur l’algorithme d’optimisation
Régularisation (désactive aléatoirement un % de neurones) pour éviter le sur-apprentissage
Cadrage et décisions Fonction de perte LOSS :
softmax : transforme un score en probabilité. Règle d’affectation : à chaque image x, on associe le label de plus grande probabilité
Algorithme d’optimisationNombre d’itérations : 10Nombre de batchs - taille des observations considérées à chaque itération : 64Critère à optimiser : l’entropie croisée label/probabilitéVitesse d’apprentissage : par défaut ou adaptée et éventuellement variable
Architecture Propagation Avant - FFNNNombre de couches cachées : 1 Taille – nombre de neurones - de la couche cachée : 128 = 2^7 Fonction d’activation ReLU(x) = max(x,0)
Architecture ConvNet- CNN
CONV + POOL + CONV + POOL + FC + ReLU + FC
Dimensionnement de la sortie de la couche CONV:
Dim : taille des sous-images balayéesDepth : taille de la couche = nombre de noyaux superposés = nombre defeatures
Entrées CONV1 + ReLU + CONV2 + ReLU + POOL + Drop1+ FC1 + ReLU + Drop2 + FC2 + LOSS Sorties
dimensionnement gain tech
Normalisation éviter de rester coincé en 0 (ou infini)
Petit pour ne pas perdre trop d’information
Paramètres CONV1 : dim = 3*3 ; depth = 32 Paramètres CONV2 : dim = 3*3 ; depth = 64 Paramètres POOL : dim = 2*2 ; pas = 1Paramètres Drop1 : neurones désactivés = 25%Paramètres Drop2 : neurones désactivés = 50%Paramètres FC1 : Taille de la couche 128Paramètres FC2 : Taille de la couche 10filtrage
MaxPOOL(2,2) sans chevauchement pas = 2
Feuille de route
Data MNIST
Chargement et audit des données. Reformatage éventuel.
Logistique
FFNN
CNN
Data noMNIST
Chargement et audit des données. Reformatage éventuel.
Logistique
FFNN
CNN
Data fashionMNIST
Questions ?