Réseaux de neurones Multicouches

Documents pareils
Coup de Projecteur sur les Réseaux de Neurones

Optimisation de la compression fractale D images basée sur les réseaux de neurones

Chapitre 6 Apprentissage des réseaux de neurones et régularisation

Introduction au Data-Mining

Programmation linéaire

Quantification Scalaire et Prédictive

Traitement bas-niveau

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Une comparaison de méthodes de discrimination des masses de véhicules automobiles

Transmission d informations sur le réseau électrique

Projet de Semestre. Page Web Didactique de Visualisation d Algorithme. Université de Genève - semestre de printemps 2012

Calcul différentiel. Chapitre Différentiabilité

4.2 Unités d enseignement du M1

Programmation Linéaire - Cours 1

Algorithmique des Systèmes Répartis Protocoles de Communications

Résolution d équations non linéaires

L apprentissage automatique

EXERCICE 4 (7 points ) (Commun à tous les candidats)

Introduction au Data-Mining

Projet de Traitement du Signal Segmentation d images SAR

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

La fonction exponentielle

NON-LINEARITE ET RESEAUX NEURONAUX

Codage vidéo par block matching adaptatif

Détection de la défaillance des entreprises tunisiennes par la régression logistique semi paramétrique et les réseaux de neurones

RO04/TI07 - Optimisation non-linéaire

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Cours d Analyse. Fonctions de plusieurs variables

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

PROBABILITES ET STATISTIQUE I&II

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France


TP N 57. Déploiement et renouvellement d une constellation de satellites

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

ESSEC. Cours «Management bancaire» Séance 3 Le risque de crédit Le scoring

Introduction au datamining

CAPTEURS - CHAINES DE MESURES

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

L exclusion mutuelle distribuée

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Traitement numérique de l'image. Raphaël Isdant

Trouver un vecteur le plus court dans un réseau euclidien

TSTI 2D CH X : Exemples de lois à densité 1

Correction du Baccalauréat S Amérique du Nord mai 2007

Chapitre 10 Arithmétique réelle

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Systèmes de transmission

SAS ENTERPRISE MINER POUR L'ACTUAIRE

STATISTIQUES. UE Modélisation pour la biologie

Fonctions de deux variables. Mai 2011

Arbres binaires de décision

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

SudoClick Reconnaissance de grilles de sudoku pour téléphones portables

Modélisation multi-agents - Agents réactifs

Texte Agrégation limitée par diffusion interne

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

Géométrie discrète Chapitre V

Université Paris-Dauphine DUMI2E 1ère année, Applications

choisir H 1 quand H 0 est vraie - fausse alarme

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Fonctions de plusieurs variables

Détection des deux roues motorisés par télémétrie laser à balayage

Feuille TD n 1 Exercices d algorithmique éléments de correction

UNIVERSITÉ DE STRASBOURG ÉCOLE DOCTORALE DES SCIENCES CHIMIQUES UMR 7177 THÈSE. présentée par. Ioana OPRISIU. soutenue le : 28 mars 2012

PROJET MODELE DE TAUX

Chapitre 3. Les distributions à deux variables

La classification automatique de données quantitatives

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables

La nouvelle planification de l échantillonnage

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Comment optimiser dans ImageReady?

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Expérience 3 Formats de signalisation binaire

FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc)

Intérêt du découpage en sous-bandes pour l analyse spectrale

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

2015 kmeans. September 3, 2015

L utilisation des réseaux de neurones artificiels en finance. Philippe PAQUET Professeur de Gestion

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

DÉCOUVERTE DE CAPTURE ONE

Druais Cédric École Polytechnique de Montréal. Résumé

Simulation de variables aléatoires

Représentation des Nombres

Bureau : 238 Tel : dominique.muller@upmf-grenoble.fr

C1 : Fonctions de plusieurs variables

Cours de méthodes de scoring

Vérification audiovisuelle de l identité

1.1 Codage de source et test d hypothèse

TABLE DES MATIÈRES. PRINCIPES D EXPÉRIMENTATION Planification des expériences et analyse de leurs résultats. Pierre Dagnelie

données en connaissance et en actions?

Plus courts chemins, programmation dynamique

Apprentissage Automatique

Outils pour les réseaux de neurones et contenu du CD-Rom

APPLICATION DE RESEAUX DE NEURONES ARTIFICIELS A LA RECONNAISSANCE AUTOMATIQUE DE CARACTERES MANUSCRITS

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Détection et suivi d'objets dans une séquence d'images par contours actifs

Transcription:

Réseaux de neurones Multicouches Partie 1 Caractérisé par: état interne s S voisinage s 1,., s n fonction de transfert f changement d état s=f(s 1, s 2,.,s n ) s 1 s 2 Neurone élémentaire s=f(s 1, s 2,.,s n ) s n synapse Exemples S={0,1} ou {-1,1} neurone binaire 1 : actif 0/-1 : inactif S={0,1,2,,k} neurone discret Si un neurone représente un pixel dans une image, i S représente le niveau de gris utilisé dans le codage. S=[a,b] neurone continu 1

s 1 s k s n entrées s 1 s k sommation Σ f Sortie S s i s n fonction de transfert s = i f ( A ) i A seuil s i S = {0,1} ou {-1,1} A i f(a) = 1 si A 0 f(a) = 0 ou -1 si A<0 Linéaire s i A i f = Id Quasi-linéaire 1-1 A i S = [-1,1] 2

Fonctions sigmoïde Connaissant la position d un point, déterminer automatiquement sa classe. D un point de vue géométrique: Déterminer les surfaces séparatrices entre les classes. Solution: Rechercher des surfaces séparatrices parmi une famille paramétrée donnée. Apprentissage: Déterminer les bons paramètres pour réaliser «au mieux» la tâche de séparation. 3

Quelle famille de surfaces choisir? 2 classes linéairement séparables y-ax-b>0 y-ax-b=0 y-ax-b<0 Cas simple : une séparation linéaire 2 classes non linéairement séparables y>f(x) classe C 1 y=f(x) y<f(x) classe C 2 Les surfaces séparatrices peuvent être complexes Notations : x R n (input) C 1 : ensemble des formes de la classe 1 C 2 : ensemble des formes de la classe 2 Hyperplan dans R n défini par l équation : Vecteur orthogonal à H 4

Distance algébrique h de x à l hyperplan (D 1 ) (H) x Distance algébrique (D 2 ) g > 0 g < 0 g = 0 Si on pose : g(x) = 0 x (H) L hyperplan (H) sépare l espace en 2 demi-espaces qui correspondent à : D 1 = {x / g(x) > 0} D 2 = {x / g(x) < 0} Formulation neuronale : Cas de 2 classes Neurone à seuil s f fonction seuil S = f(a) = 1 si A 0 S = f(a) = -1 si A < 0 1 x 1 x 2 s = 1 si x n s = -1 si 5

Les neurones sont réparties dans des couche successives (C K ) k=0,, C+1 La couche C 0 : «Couche d entrée», contient n neurones imposées de l extérieur. La couche C C +1: «Couche de sortie», contient p neurones. Les couches (C k )1 k C sont les «Couches cachées». La couche C k contient n k neurones (1 k C) Les états des neurones de C 0 sont dans R. Les états des autres neurones sont en général dans [-a, a]. Les seules connexions autorisées sont d un neurone de C k à un neurone de C l avec k<l. Les fonctions de transferts des neurones Les neurones d entrées n ont pas de fonctions de transferts, leurs états étant imposés par l extérieurs. Les neurones cachées ont des fonctions de transferts sigmoïdes. Les neurones de sorties, suivant les applications, ont des fonctions de transfert : sigmoïdes, linéaires, exponentielles ou autres 6

Les entrées La couche des neurones Les sorties On présente un vecteur input x = (x 1, x 2,, x n ) à la couche d entrée qui sera propagé d une couche à une autre vers la couche de sortie. y : étant le vecteur de sortie «output» calculé. G : fonction définie par le réseau : y = G(x,W) W représente l ensemble des poids Synaptiques et des seuils Exemple de propagation avant Seuil w 3 x 1 x 2 1 2 u 1 u 2 u 3 u4 3 4 v 1 v 2 5 Seuil w 5 Les neurones 3, 4 et 5 ont la même fonction de transfert f Seuil w 4 Etat des neurones : 3 : s 3 = f(u 1 x 1 + u 3 x 2 + w 3 ) 4 : s 4 = f(u 2 x 1 + u 4 x 2 + w 4 ) 5 : s 5 = f(v 1 s 3 + v 2 s 4 + w 5 ) Ainsi dans ce cas : Y =G(X,W)=f[v 1 f(u 1 x 1 + u 3 x 2 + w 3 )+v 2 f(u 2 x 1 + u 4 x 2 + w 4 ) +w 5 ] 7

Choisir l architecture du réseau (ayant n entrées et p sorties). On note par W l ensemble des poids et des seuils. Calculer les états : propagation de couche en couche. x = Entrée du réseau y = Sortie calculée Le réseau définit une famille de fonctions paramétrée par W : Avec y = G(x,W) On note cette famille de fonctions par : Apprentissage On dispose d un ensemble d apprentissage : App = {(x k,d k ) ; k=1,, N} Où x k est la représentation d un individu et d k est la réponse qui lui est associée. Pour une architecture fixée et un système de poids donnés W, le réseau définie une fonction G(.,W). Pour un individu x k le réseau calcule la sortie y k : y k = G(x k,w) L apprentissage consiste à trouver les poids W * de façon que pour tout x k : y k d k Minimiser une fonction erreur J(A pp,w) 8

Erreur Quadratique L erreur entre d k et y k sera mesurée par la distance euclidienne : Où et sont les i ième composantes de y k et d k La fonction «erreur quadratique» est alors définie par : Il s agit d une erreur globale L apprentissage consiste à minimiser cette fonction : La minimisation se fait par une méthode de gradient Qui nécessite le calcule des : Algorithme de la rétro-propagation du gradient Détermination de Erreur sur la k ième forme Calcul la dérivée de par rapport w ij de : Il suffit de savoir calculer : Afin de simplifier les notations, on note par la suite ce terme par 9

j w ij neurone i Α i f i k pred(i) succ(i) Car On pose : On a : (1) s j j w ij i z i Pour i : neurone de la couche de sortie La quantité A i intervient directement dans J : et (2) (1) et (2) (3) 10

Pour i : neurone sur une couche cachée La quantité A i intervient dans la fonction J par le biais du calcul des états de l ensemble des neurones successeurs de i succ(i). Comme On tire alors : (4) (2) permet de calculer z i pour les neurones de sortie. (4) permet (par récurrence) de calculer z i pour les autres neurones (cachées). On commence le calcule pour les neurones de sortie, puis pour les neurones de l avant dernière couche et ainsi de suite jusqu aux neurones de la seconde couche 11

Tenant compte de : Conclusion J étant l erreur relative à un couple (x, d) de la base d apprentissage. Le calcule du gradient se présente ainsi : - Présenter x aux neurones de la couche d entrée et faire un propagation avant afin de calculer les états des neurones du réseau MLP - Initialiser les neurones de sorties par (2) et appliquer l algorithme de la rétro-propgation du gradient afin de calculer les z i des neurones. - Pour chaque poids synaptique w ij appliquer la formule : Remarque : Le seuil ω i d un neurone i peut être considéré comme un poids synaptique particulier. Il suffit d ajouter un neurone fictif à la couche d entrée ayant un état constant égale à 1 et d interpréter ω i comme étant son poids synaptique. 12

p classes Cas particulier :Classification Codage des classes Classification Détermination de frontières de décision complexes Mise au point pratique d'un réseau multicouche Exemple 1 Problème: détecter un évènement dans un signal "3 dans 8" Exemple Contre exemple 256 exemples Réseau Connection complète complexe Représentation interne a b c d 13

Exemple d une architecture multicouche pour la reconnaissance de visages [Viennet 91]. 14

Exemple d un réseau de neurones TDNN. Architecture utilisée pour l identification vocale du locuteur [Bennani 92]. 15

16

Apprentissage : Un exemple de la régression On dispose d une base d apprentissage : {(x k, d k ) ; k =1,,N} Où x k appartient à R et d k à R. L apprentissage consiste à déterminer une fonction G(., w) de R dans R et qui minimise l erreur quadratique : Il s agit donc d un problème de régression simple. Si nous faisons l hypothèse que les réponse désirée d k sont générées de la manière suivante : d k = g(x k ) + ε k (5) Où g est une fonction de R dans R et ε k est un bruit blanc tiré suivant la loi normale N(0,σ). Normalement, le but de l apprentissage, dans ce cas, est de retrouver g qui est la fonction soujacente aux données. 17

Un exemple simple de la régression : Ensemble généré suivant (*) et qui a servi à l apprentissage Ensemble Test1 généré suivant (5) et qui n a servi lors de l apprentissage Ensemble test2 généré suivant (5) et qui n a servi lors de l apprentissage Remarques concernant l exemple Les réseaux A et B sont formés d un couche cachée ayant respectivement 2 et 5 neurones. Ainsi, lors de l apprentissage, le réseau B arrive à générer une courbe plus complexe et qui passe par les points de l ensemble d apprentissage (donc il annule l erreur quadratique). Par contre, le réseau A arrive à mieux reproduire la fonction (g) qui est sous-jacente aux données générées. Quand on visualise le comportement ces deux réseaux sur les deux bases TEST1 et TEST2 on remarque que : Le réseau A un comportement plus robuste sur les deux bases Test1 et Test2. Le réseau B un comportement beaucoup moins robuste puisqu il est très mauvais relativement à test1 et beaucoup mieux relativement à Test2 Remarque : L apprentissage ne consiste pas à trouver l architecture qui minimise jusqu au bout la fonction erreur définie sur l ensemble d apprentissage 18

Apprentissage "par coeur" : le modèle ne "connaît" que les points utilisés pour l'apprentissage et fait n'importe quoi ailleurs. Modèle trouvé après apprentissage Modèle théorique sous-jacent Un système est décrit comme un vecteur aléatoire x dont les valeurs sont régies par la densité de probabilité p(x). A chaque vecteur x est associée un vecteur y qui se réalise suivant la loi conditionnelle p(y/x). L apprentissage consiste à ajuster les paramètres W, pour une famille de fonctions {F(x,W} w, en minimisant l erreur d apprentissage calculée sur un ensemble de N exemples: App = {(x k, d k ) ; k =1,,N} Mais la fonction F(x,W * ) ne minimise pas nécessairement l erreur en généralisation : En effet, l objectif de l apprentissage est de proposer un modèle capable d avoir de «bonnes performances» sur l ensemble des exemples possibles. 19

Estimation, de l erreur en généralisation L erreur en généralisation E gene est théorique, on ne peut pas la calculer. Il faut donc lui définir un estimateur. Si l on dispose de suffisamment de données, on pourra alors retenir une partie pour l ensemble d apprentissage (App) et utiliser une partie de ce qui reste afin de constituer une sorte base appelée base de teste : Test = {(x i, y i ) ; i =1,,p} On définit alors l erreur moyenne quadratique sur cet ensemble : E test dépend du choix aléatoire de l ensemble de teste, elle représente donc une variable aléatoire. On démontre que la moyenne de E test relativement à tous les ensembles d apprentissages possibles et de taille p est égale à Egene. E test est un estimateur non biaisé de E gene Quelques remarques E gene représente la valeur moyenne de E test. La précision avec laquelle E test approche E gene dépend de la variance de E test. Plus la variance est petite plus on a la garantie que l estimation est meilleure. Il faut donc : Choisir les exemples de l ensemble Test en respectant au mieux la distribution des données p(x,y). Prendre le nombre p suffisamment élevé. La variance de E test diminue lorsque p augmente. p=30 p=50 p=200 p=250 p=1000 Erreur en généralisation Erreur en test 20

Comparaison de J app (W, App) et J val (W, Test) pour 2 architectures différentes et deux ensembles de tests différents Le réseau B apprend par cœur, il a de mauvaises performances sur la base de validation Le réseau A montre qu'il y a une relation presque linéaire entre les données et réalise de meilleurs performances sur la base de validation. 21