Sujets Spciaux en informatique II PIF 6004 Rseaux
- Slides: 90
Sujets Spéciaux en informatique II PIF 6004
Réseaux de neurones Introduction Réseaux sans couches cachées Réseaux avec des couches cachées Algorithme de propagation-arrière CNN LECTURES: Chapitre 18 Russell & Norvig, Learning from examples • Notes de cours (site ftp UQTR) • • •
Introduction • Réseaux de neurones artificiels
Introduction • Premier modèle mathématique d’un neurone (Mc. Culloch et Pitts) – Les entrées sont définies par x 1, …. . x. M. – Calcul d’une somme pondérée s en utilisant les poids w 1, …w. M. – Seuillage de s SI s > T ALORS sortie = 1 SI s <= T ALORS sortie = 0
Introduction • Les connexions avec des poids positifs sont excitatives et celles avec des poids négatifs sont inhibitives • La sortie d’un neurone est 1 SI
Introduction u Nous pouvons réécrire cette expression u Le poids w 0 est un poids biaisé
Introduction • Ce nouveau modèle est représenté
Introduction • L’entraînement des réseaux de neurones est l’aspect le plus difficile de leurs utilisations • L’entraînement revient à trouver les poids wi permettant aux réseaux de fonctionner avec une performance acceptable
Introduction (Taxonomie des réseaux de neurones)
Réseaux sans couches cachées • Ces réseaux sont aussi appelés réseaux à deux couches, une couche en entrée et une en sortie xi Dj wij
Réseaux sans couches cachées • Rosenblatt a crée un classificateur pouvant être entraîné (PERCEPTRON) • L’algorithme d’entraînement permet de déduire les poids du PERCEPTRON qui sont eux, identiques aux coefficients de la fonction discriminante
Réseaux sans couches cachées • Par exemple
Réseaux sans couches cachées • La fonction discriminante prend la forme
Réseaux sans couches cachées • Recherche (estimation) des poids wi – Nous cherchons les valeurs de poids qui minimise la fonction u dp: sorties désirées de l’observation p u xp 1, …. , xp. M: valeurs caractéristiques de l’observation p u Les poids sont optimisés d’un seul coup pour tout l’échantillon d’entraînement en posant les dérivées partielles E/ wi égale à 0 et en trouvant la solution du système d’équations linéaires résultant pour chaque wi
Réseaux sans couches cachées • Recherche (estimation) des poids wi – L’algorithme MSE séquentiel est une technique adaptative avec laquelle les observations d’entraînement sont présentées au système une à la fois – Une observation est classifiée par le réseau et le résultat (D) est comparé aux sorties (d) de la vraie classe de cette observation – Si l’observation est mal classée, les poids wi sont corrigés proportionnellement aux valeurs caractéristiques p multipliées par la différence entre les sorties désirées et celles actuelles
Réseaux sans couches cachées • L’algorithme MSE séquentiel à un seul nœud – L’algorithme MSE utilise la procédure steepest descent minimisation (SDM) pour corriger les poids de chaque observation – Les poids sont changés selon les directions qui permettent à la fonction E de décroître rapidement – La direction de décroissance maximale de la fonction d’erreur est donnée par le vecteur
Réseaux sans couches cachées • L’algorithme MSE séquentiel à un seul nœud – Notions de gradient
Réseaux sans couches cachées • L’algorithme MSE séquentiel à un seul nœud – Notions de gradient inversé
Réseaux sans couches cachées • L’algorithme MSE séquentiel à un seul nœud (1 sortie) (procédure SDM) – Choisir des poids de départ w 1, …w. M, et une constante c positive – Calculer les dérivées partielles F/ wi ( E/ wi) pour i=1, …, M, et remplacer wi par wi - c F/ wi pour i=1, …, M ( E/ wi) correction – Répéter l’étape précédente jusqu’à ce que les poids w 1, …, w. M ne changent plus significativement
Réseaux sans couches cachées • L’algorithme MSE séquentiel à un seul nœud (exemple de procédure SDM)
Réseaux sans couches cachées • L’algorithme MSE séquentiel à un seul nœud (exemple de procédure SDM) (c = 0. 1)
Réseaux sans couches cachées • La procédure SDM (difficultés) – Choix des wi au départ – Choix de la constante c • Le choix de wi peut influencer la convergence vers des minima locaux si wi est trop loin des valeurs wi qui donnent un minimum global • Si la constante c est trop petite la convergence est lente, si c est trop grand l’algorithme peut passer par dessus des minima sans converger
Réseaux sans couches cachées • L’algorithme MSE séquentiel à un seul nœud – Nous faisons une mise à jour séquentiel des poids en considérant une observation à la fois
Réseaux sans couches cachées • L’algorithme MSE séquentiel à un seul nœud – Choix des poids de départ w 0, …. w. M, et une constante c – Présenter les observations 1 à N au classificateur, revenant à l’observation 1 après N. En calculant pour chaque observation – Remplacer wi par wi - c(D-d)xi pour chaque i – Répéter les 2 étapes précédentes tant que les wi changent
Réseaux sans couches cachées • L’algorithme MSE séquentiel à nœuds multiples • Pour chacune des N observations nous avons: – un vecteur de caractéristiques x 0, x 1, …. x. M. – Un vecteur en sortie d 1, d 2, …, d. N. – Les poids wij correspondent à la connexion entre l’entrée i et le nœud de sortie j
Réseaux sans couches cachées • L’algorithme MSE séquentiel à nœuds multiples
Réseaux sans couches cachées u L’algorithme MSE séquentiel à nœuds multiples – Choix des poids de départ w 0, …. w. M, et une constante c – Présenter les observations 1 à N au classificateur, revenant à l’observation 1 après N. En calculant pour chaque observation
Réseaux sans couches cachées u L’algorithme MSE séquentiel à nœuds multiples – Remplacer wij par wij - c(Dj-dj)xi pour chaque entrées (lien) i – Répéter les 2 étapes précédentes tant que les wij changent u Les algorithmes MSE séquentiel à un et multiples nœuds sont reconnus pour être efficace lorsque les classes sont bien séparées
Réseaux avec couches cachées u En général, un réseau à plusieurs couches est caractérisé: – K+1 couches de nœuds, dénotées 0, 1, …. , K – La sortie du nœud i de la couche k est dénotée xi(k) et représente la valeur seuillée de la somme pondérée des entrées – La couche 0 est appelée couche rétine (entrée) – La couche K est la couche de sortie – Les couches entre les deux sont les couches cachées
Réseaux avec couches cachées u Réseau à plusieurs couches
Algorithme de propagation-arrière u L’entraînement d’un réseau multicouche ne peut être fait par la méthode SDM puisqu’une variation d’un poids ne change généralement pas les sorties du réseau u La sortie d’un nœud sera changée seulement si les poids changent suffisamment pour que la somme pondérée change de signe u Même si une sortie change de valeur dans une couche donnée cela ne signifie pas que les sorties de la prochaine vont changer
Algorithme de propagation-arrière Les sorties finales du réseau sont alors résistantes aux petites variations des poids dans le réseaux u Pour éliminer le besoin des seuils T nous pourrions être tenté d’éliminer ces seuils et de calculer simplement la somme pondérée à chaque nœud u Par contre, les réseaux à couches multiples deviennent inutiles puisque dans ce contexte nous pou-vons déduire un réseau à 2 couches équivalents u
Algorithme de propagation-arrière u Réseaux sans seuil
Algorithme de propagation-arrière u Réseaux sans seuil
Algorithme de propagation-arrière u Nous pouvons trouver un compromis entre l’utilisation d’un seuil discontinu ou d’une combinaison linéaire à chaque nœud en utilisant une fonction sigmoïde de la forme
Algorithme de propagation-arrière La fonction R à chaque nœud permet aux sorties du réseau d’être des fonctions différentiables des poids. u L’ensemble des poids peut alors être déterminé par la méthode SDM u
Algorithme de propagation-arrière L est le nombre de couches
Algorithme de propagation-arrière L est le nombre de couches
Algorithme de propagation-arrière u Pour l’entraînement du réseau l’algorithme PA utilise la procédure SDM et une fonction sigmoïde (logistique) u Les couches sont dénotées k=0, 1, …. K avec k=0 pour la couche d’entrée et k=K pour la couche de sortie u La sortie du noeud j dans la couche k est dénotée par xj(k) pour j=1, …Mk ou Mk est le nombre de nœuds de la couche k (sans compter le nœud avec un poids biaisé)
Algorithme de propagation-arrière u Pour la couche d’entrée: xj(0) = xj pour j=1, …, M 0 u Pour chaque couche sauf la couche de sortie la sortie du nœud à poids biaisé est x 0(k)=1 pour k=0, …, K-1 u Les sorties sont xj(K) pour j=1, …, MK u Les poids des connexions entre le nœud i de la couche k-1 et le nœud j de la couche k est wij(k)
Algorithme de propagation-arrière u Les poids des connexions entre le nœud i de la couche k-1 et le nœud j de la couche k est wij(k)
Algorithme de propagation-arrière u Étapes de l’algorithme PA – Phase d’alimentation-avant (feed-forward) par laquelle les sorties des nœuds sont calculées à partir de la couche 1 vers la couche K – Phase de propagation arrière où les poids sont ajustés pour que les sorties x 1(K) , …. , x. MK(K) et les sorties désirées d 1, …d. MK soient en accord
Algorithme de propagation-arrière u 1) Initialisation des poids wij(k) à de petites valeurs aléatoires et choix d’une constante c positive u 2) Pour chaque observation 1 à N, initialisée les entrées x 1(0) , …. , x. M 0(0) , revenant à l’observation 1 après avoir atteint l’observation N u 3) Alimentation-avant. Pour k=0, …, K-1 calculer
Algorithme de propagation-arrière u 4) Propagation-arrière. Pour les nœuds de la couche de sortie j= 1, …, MK calculer u Pour les couches k = K-1, …, 1 calculer
Algorithme de propagation-arrière u 5) Remplacer les poids u 6) Répéter les étapes 2 à 5 TANT QUE les poids changent significativement
Algorithme de propagation-arrière u Si la valeur de sortie d’un nœud est proche de 0 ou 1 la valeur de j(k) -> 0, cela signifie alors que la valeur des poids est stable u La phase de PA utilise la méthode SDM pour ajuster les poids de façon à minimiser la fonction d’erreur
Algorithme de propagation-arrière u Les dérivées partielles de E sont calculées par rapport aux poids de la couche K et ainsi de suite jusqu’à la couche 1 u De plus, les dérivées partielles de la couche k découlent de celles calculées de la couche k+1
Algorithme de propagation-arrière u La fonction de correction j(K) découle
Exemple (Algorithme PA) x = [2, -1] y=1
Exemple (Algorithme PA)
Exemple (Algorithme PA)
Exemple (Algorithme PA)
Exemple (Algorithme PA)
Exemple (Algorithme PA)
Exemple (Algorithme PA)
Exemple (Algorithme PA)
Exemple (Algorithme PA)
Exemple (Algorithme PA)
Exemple (Algorithme PA)
Exemple (Algorithme PA)
Exemple (Algorithme PA)
Exemple (Algorithme PA)
Convolutional Neural Network
Convolutional Neural Network
Convolutionnal Neural Network
Convolutionnal Neural Network • Un RN convolutionnel (Conv. Net) est une succession de couches, chaque couche transforme un volume d’activations à un autre niveau et ce par l’application d’une fonction différenciable. • Trois types de couches permettent de construire un Conv. Net: • Couche convolutionnelle (Convolutional Layer) • Couche d’échantilonnage (Pooling Layer) • Couche RN (Fully-Connected Layer)
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • INPUT [32 x 3]: image RGB de 32 X 32. • CONV: calcul de la convolution d’une petite région dans l’image avec un opérateur (filtre). Résultat: un volume de [32 x 12] avec par exemple 12 filtres. • RELU: Opération sur chaque élément d’un volume, ex: max(0, x), max(0, x) seuillage à zero. Le volume reste ([32 x 12]). • POOL: Échantillonnage (ex: 2 X 2). Le volume devient [16 x 12]. • FC: RN qui calcule le coefficient de chaque classe, résultant dans un volume de [1 x 1 x 10], donc 10 classes.
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Voir: http: //cs 231 n. github. io/convolutional-networks/
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Couches Convolutionnelles • Voir: http: //cs 231 n. github. io/convolutional-networks/ Couches convolutionnelles: 5 filtres
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Couches Convolutionnelles (forward pass) • Voir: http: //cs 231 n. github. io/convolutional-networks/ • Voir: https: //becominghuman. ai/back-propagation-inconvolutional-neural-networks-intuition-and-code 714 ef 1 c 38199 =
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Couches Convolutionnelles (forward pass) • Voir: http: //cs 231 n. github. io/convolutional-networks/ • Voir: https: //becominghuman. ai/back-propagation-inconvolutional-neural-networks-intuition-and-code 714 ef 1 c 38199
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Couches convolutionnelles (forward pass) • Voir: http: //cs 231 n. github. io/convolutional-networks/ Exemples de formes de filtre
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Couches convolutionnelles (backward pass) • Voir http: //cs 231 n. github. io/convolutional-networks/ • Voir: https: //becominghuman. ai/back-propagation-inconvolutional-neural-networks-intuition-and-code 714 ef 1 c 38199 Chain rule
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Couches convolutionnelles (backward pass) • Voir http: //cs 231 n. github. io/convolutional-networks/ • Voir: https: //becominghuman. ai/back-propagation-inconvolutional-neural-networks-intuition-and-code 714 ef 1 c 38199
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Couches convolutionnelles (backward pass) • Voir http: //cs 231 n. github. io/convolutional-networks/ • Voir: https: //becominghuman. ai/back-propagation-inconvolutional-neural-networks-intuition-and-code 714 ef 1 c 38199 * Ajustement des poids wij =
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Couches RELU (forward pass) • Voir http: //cs 231 n. github. io/convolutional-networks/ • Voir: https: //en. wikipedia. org/wiki/Rectifier_(neural_networ ks) • Voir: https: //www. quora. com/How-do-we-compute-the -gradient-of-a-Re. LU-for-backpropagation
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Couches RELU (forward pass)
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Couches RELU (forward pass) • Forme dérivée de softplus
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Couche POOL (échantillonnage): forward pass • http: //cs 231 n. github. io/convolutional-networks/ Principes de l’échantillonnage
Convolutionnal Neural Network • Exemple d’architecture de Conv. Net (CIFAR-10) : • Couche POOL (échantillonnage): backward pass • http: //cs 231 n. github. io/convolutional-networks/ • Voir: https: //software. intel. com/en-us/daalprogramming-guide-2 d-max-pooling-backward-layer • La couche POOL 2 D max fait une propagation arrière du gradient en input calculé à partir de la couche précédente • La couche backward propage à la couche suivante (vers la gauche) les éléments du gradient correspondant à la valeur max de cette même couche calculée lors de la phase forward
Convolutionnal Neural Network • Exemple de CNN pour la classification de chiffres manuscrits (MNIST) : • https: //github. com/aymericdamien/Tensor. Flow. Examples/blob/master/notebooks/3_Neural. Networks/con volutional_network_raw. ipynb • Voir exemple CNN-MNIST. py
Convolutionnal Neural Network • Exemple de CNN pour la classification de chiffres manuscrits (MNIST) : • Forme du CNN
Convolutionnal Neural Network • Exemple de CNN pour la classification de chiffres manuscrits (MNIST) : • Rappel sur la base de données MNIST • Images de 28 X 28 binaires (0/1), vecteur en entrée de 784 • Images (exemples) d’entraînement (training): 60000 • Images de test (testing): 10000
Convolutionnal Neural Network • Exemple de CNN pour la classification de chiffres manuscrits (MNIST) : • Lecture (importation) des données
Convolutionnal Neural Network • Exemple de CNN pour la classification de chiffres manuscrits (MNIST) : • Initialisations des paramètres
Convolutionnal Neural Network • Exemple de CNN pour la classification de chiffres manuscrits (MNIST) : • Fonctions utilitaires: neurone artificiel et max pooling
Convolutionnal Neural Network • Exemple de CNN pour la classification de chiffres manuscrits (MNIST) : Création du modèle du CNN
Convolutionnal Neural Network • Exemple de CNN pour la classification de chiffres manuscrits (MNIST) : – Sauvegarde des poids du modèle du CNN
Convolutionnal Neural Network • Exemple de CNN pour la classification de chiffres manuscrits (MNIST) : – Construction et évaluation du modèle du CNN
Convolutionnal Neural Network • Exemple de CNN pour la classification de chiffres manuscrits (MNIST) : Entraînement et évaluation du modèle du CNN
- Irbcam
- Rseaux
- Scurit
- Rseaux sociaux
- Rseaux
- Texte dopinion
- Accord du verbe avec plusieurs sujets
- Cosmetic pif template
- Pps marrants gratuits
- Dissertation princesse de clèves passion condamnable
- Graf-pif
- Kamdou pps
- Uni global pif
- Pençe el deformitesi
- Diaporamas varies de differents sujets de kamdou
- Cse pif
- Gestion de centre informatique
- Maabout
- Scurit informatique
- Informatique
- Licence informatique constantine
- Informatique
- Dut informatique option imagerie numérique
- Mardine brevet informaticien
- Iscod
- Ubo informatique
- Codification mnémonique
- Réversibilité informatique
- Installation d'un poste informatique
- Fiche processus informatique
- Laurent koutchouk
- Cyber ethics definition
- Dut stid programme
- Heartbeat informatique
- Cartographie système d'information exemple
- Recette informatique
- Conseil ingenierie informatique
- Introduction à la sécurité informatique
- Licence informatique pau
- Bts sio stage
- Informatique
- Esp dakar formation payante gestion
- Inventaire parc informatique excel
- Informatique légale
- Veille technologique securite informatique
- Canevas informatique
- Informatique
- Upec informatique
- Veille push pull
- Trigone informatique
- Sif informatique
- Grc bts muc
- Reseau informatique
- Compétences livret informatique
- Une petite histoire de l'informatique
- Comparatif logiciel gestion de parc informatique
- Contrat de prestation de service informatique
- Licence sciences technologies santé mention informatique
- Service informatique sncf
- Quizz informatique
- Cots informatique
- Informatique