Mémoire Carte de Kohonen pour la quantification de...

105
Mémoire Mémoire Carte de Kohonen pour la Carte de Kohonen pour la quantification de fonction quantification de fonction 1 Carte de Kohonen pour la quantification de fonction Responsable spécialité SSIR Responsable spécialité SSIR : Mr Zarader. : Mr Zarader. Responsable parcours RSI Responsable parcours RSI : Mr Milgram. : Mr Milgram. Tuteur Tuteur : Mr Gas. : Mr Gas. Master SDI. Master SDI. Spécialité SSIR. Spécialité SSIR. parcours SDI. parcours SDI. mars 2006 / septembre 2007. mars 2006 / septembre 2007.

Transcript of Mémoire Carte de Kohonen pour la quantification de...

Page 1: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

MémoireMémoire

Carte de Kohonen pour laCarte de Kohonen pour la quantification de fonctionquantification de fonction

1

Carte de Kohonen pour la quantification de fonction

Responsable spécialité SSIRResponsable spécialité SSIR : Mr Zarader.: Mr Zarader.Responsable parcours RSIResponsable parcours RSI: Mr Milgram.: Mr Milgram.TuteurTuteur : Mr Gas.: Mr Gas.

Master SDI.Master SDI.Spécialité SSIR.Spécialité SSIR.parcours SDI.parcours SDI.mars 2006 / septembre 2007.mars 2006 / septembre 2007.

Page 2: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

2

Carte de Kohonen pour la quantification de fonction

Page 3: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Tables des matièresTables des matières

Table des matièresIntroduction..............................................................................................................11

I°/ Présentation du laboratoire...............................................................................12II°/Présentation du stage........................................................................................14

II­1°/ Description.................................................................................................14II ­2°/ Bibliothèque NPCLIB...............................................................................14

III°/ Historique du travail.......................................................................................15IV°/ Quelques connaissances sur les réseaux de neurones...................................16

IV­1°/ Présentation..............................................................................................16IV­2°/ Utilité.........................................................................................................17IV­3°/ Structure du réseau..................................................................................18IV­3°/ Apprentissage...........................................................................................19IV­4°/ Cartes de Kohonen ..................................................................................19

a°/ L'apprentissage compétitif........................................................................21b°/ Le Calibrage...............................................................................................23c°/ La Classification........................................................................................23

1 ère partie:  Présentation l’interface graphique....................................................................24

I­ A) L'afficheur mapview.......................................................................................25I ­A1°/ Introduction.............................................................................................25I­A2°/ Description modes....................................................................................26

a°/ Démarrage (4)............................................................................................27b°/ mode démo(1).............................................................................................27c°/ mode local(2)..............................................................................................28d°/ mode réseau(3)...........................................................................................29

I­A3°/ Fonctionnalités.........................................................................................29a°/ Menu (4).....................................................................................................29b°/ Fenêtre d'affichage(5)................................................................................30

 b­1°) Carte de Kohonen.............................................................................30 b­2°) Statistiques.......................................................................................33

3

Carte de Kohonen pour la quantification de fonction

Page 4: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

 b­3°) Bilan..................................................................................................35b­31°) Nombre d'activation par neurone...............................................35b­32°) Quantification vectorielle...........................................................38

I­ B) L'interface uinpclib.........................................................................................45I ­B1°/ Introduction.............................................................................................45I­B2°/ Spécificités................................................................................................46

 a°/ Zone mémoire (1)......................................................................................47 b°/Nom des fonctions (2 )...............................................................................48 c°/Fenêtre d'aide(3)........................................................................................49 d°/ Fenêtre d'usage(4)....................................................................................50

I ­B3°/ Spécificités...............................................................................................50I­ C) Petite étude sur la carte de Kohonen normal...............................................52

I­C1) Description du signal.................................................................................53I­C2) méthodes....................................................................................................53I­C3 ) Résultats...................................................................................................54

a°/ Visualisation Carte...................................................................................54b°/ Autres Courbes..........................................................................................55

 b­1°) Distance entre deux neurones victorieux........................................55 b­2°)Nombre de neurone actif...................................................................56  b­3°) Bilan nombre d’activation par neurone..........................................57

c°/ Conclusion..................................................................................................57

Seconde partieDescription de la carte NPC..................................................................................58

II­A°) La carte NPC.................................................................................................59II­A1°) Différence Kohonen/SOM­NPC.............................................................59

a°/ Structure du réseau..................................................................................59II­A2°) Fonctions.................................................................................................61

II­B°) Étude performances carte SOM­NPC.........................................................62II­B1°)Vecteur d'entrée dimension un...............................................................62

a°/  Test en apprentissage..............................................................................62      a­1°) Représentation des 10 fonctions de la base d'apprentissage:...62 a­2°) Expressions:......................................................................................63 a­3°) Création de la base d'apprentissage:...............................................63 a­4°) Codage NPC......................................................................................64

 a­41°) Structure du réseau...................................................................64

4

Carte de Kohonen pour la quantification de fonction

Page 5: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

 a­42°) Codage.........................................................................................65 a­5°) Résultats...........................................................................................65 a­6°) Test pour une carte 10*3:.................................................................67 a­7°) Test Pour une carte 30*3..................................................................68

b°/ bruit............................................................................................................68 b­1°/ Expression base non bruité(f):.........................................................69 b­2°/ Expression base bruité(b3):..............................................................69 b­3°/ Apprentissage ...................................................................................69

b­31°)  Apprentissage base non bruité..................................................69b­32°)  Apprentissage base  bruité........................................................71

c°/ Test en généralisation...............................................................................73 c­1°) Étude simple......................................................................................73

 c­11°) Représentation des 10 fonctions de la base d'apprentissage:. .73c­12°) Expressions fonction d'apprentissage:........................................73c­13°) Expressions fonction de test:.......................................................74c­14°) Résultats.......................................................................................74

 c­2°) Étude approfondie.............................................................................76c­21°) Représentation des 5 fonctions de la base d'apprentissage:.....76c­22°) Expressions:.................................................................................76c­23°) Codage NPC.................................................................................76c­24°) Résultats.......................................................................................77

 c­3°) Étude vecteur entrée.........................................................................80c­31°) Base de test:.................................................................................80c­32°) Résultats.......................................................................................80

d°/ clusterisation.............................................................................................82 d­1°) Représentation des  fonctions de la base d'apprentissage:............82 d­2°) Résultats...........................................................................................83 d­3°) Schématisation.................................................................................84

 II­B2°)Vecteur d'entrée dimension supérieur 1...............................................85a°/ Fonction gaussienne..................................................................................85

 a­1°) Expressions des  fonctions de la base d'apprentissage:.................85 a­2°) Résultats en apprentissage..............................................................85

b°/ Fonction sinus............................................................................................86 b­1°) Expressions des  fonctions de la base d'apprentissage:.................86 b­2°) Algorithme:........................................................................................87 b­3°) Résultats:...........................................................................................87

5

Carte de Kohonen pour la quantification de fonction

Page 6: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

II­B3°)Conclusion................................................................................................88 

Troisième partieTest sur un signal complexe..................................................................................89

 III­A°) Qu'est qu'un phonème................................................................................90 III­A1°) Description............................................................................................90III­A2°)Présentation BASE NTIMIT.................................................................90

III­B°) Test...............................................................................................................90III­B1°) phonème ao et s.....................................................................................90

a°/ Test en apprentissage:...............................................................................91b°/ Test sur des mots.......................................................................................92

 b­1°) Mot  sass............................................................................................92 b­2°) Mot cot...............................................................................................93 b­3°) Mot caught........................................................................................93 b­4°) Mot coat.............................................................................................94

c°/ Comparaison de deux mots.......................................................................95III­C°) Conclusion....................................................................................................96

Conclusion.................................................................................................................97

Bibliographie............................................................................................................97

Annexes:....................................................................................................................100

6

Carte de Kohonen pour la quantification de fonction

Page 7: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Tables des Tables des figuresfiguresFigure 1: Vue simplifiée d'un réseau artificiel de neurones.....................................16Figure 2: Structure d'un neurone artificiel................................................................18Figure 3:  Architecture d'un modèle de Kohonen......................................................20Figure 4:  fonction d'apprentissage compétitif...........................................................21Figure 5: présentation de l'interface graphique mapview........................................26Figure 6: fenêtre Menu................................................................................................27Figure 7: fenêtre mode Démo......................................................................................28Figure 8: fenêtre mode Local......................................................................................28Figure 9: fenêtre mode réseau....................................................................................29Figure 10: options menu..............................................................................................30Figure 11: Affiche carte fichier test.txt......................................................................31Figure 12: affichage carte...........................................................................................32Figure 13: fenêtre statistiques....................................................................................33Figure 14: courbe du haut...........................................................................................34Figure 15: courbe du bas.............................................................................................34Figure 16: Fenêtre bilan..............................................................................................35Figure 17:Affichage carte............................................................................................37Figure 18: nombre d'activations par neurone............................................................37Figure 19: nuage de points (neurone,voisin)..............................................................41Figure 20: Décomposition en région...........................................................................42Figure 21: Interface uinpclib.......................................................................................46Figure22: fenêtre répertoire de travail.......................................................................47Figure 23: nom des fonctions......................................................................................48Figure 24: fenêtre d'aide..............................................................................................49Figure 25: fenêtre d'usage...........................................................................................50Figure 26: fenêtre simulation.....................................................................................52Figure 27: résultat test................................................................................................54Figure 28: résultat distance inter­neurone................................................................55Figure 29: résultat nombre neurone actif..................................................................56Figure 30: résultat nombre d'activation.....................................................................57Figure 31:description codeur SOM­NPC....................................................................60Figure 32: fonctions à apprendre................................................................................62Figure 33: base à apprendre.......................................................................................63

7

Carte de Kohonen pour la quantification de fonction

Page 8: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Figure 34: structure réseau........................................................................................64Figure 35: résultat apprentissage..............................................................................66Figure 36: Ordonnancement résultat grille 30*3......................................................68Figure 37: allure b3 sur 100 échantillons...................................................................69Figure 38: Base d'apprentissage.................................................................................73Figure 39: Base de test................................................................................................74Figure 40: Base d'apprentissage.................................................................................76Figure 41: carte NPC­1................................................................................................79Figure 42: sous carte...................................................................................................79Figure 43: base d'apprentissage.................................................................................82Figure 44: schématisation...........................................................................................84Figure 45: résultat gaussienne...................................................................................85Figure 46: signal sinusoïdal........................................................................................86Figure 47: résultat mot sass........................................................................................92Figure 48: résultat mot cot..........................................................................................93Figure 49: résultat mot caught...................................................................................93Figure 50: résultat mot coat........................................................................................94Figure 51: résultat comparaison.................................................................................95

8

Carte de Kohonen pour la quantification de fonction

Page 9: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Tables des tableauxTables des tableaux

Tableau 1: Matrice nombre activation par neurone..................................................36Tableau 2: Vectorisation..............................................................................................36Tableau 3: Algorithme première ligne.......................................................................39Tableau 4: Algorithme dernière ligne........................................................................39Tableau 5: Algorithme  ligne(s) intermédiaire(s)......................................................40Tableau 6: Algorithme dernière colonne....................................................................40Tableau 7: exemples appartenant  zone 1..................................................................42Tableau 8: exemples appartenant  zone 2..................................................................43Tableau 9: exemples appartenant  zone 3..................................................................43Tableau 10: exemples appartenant  zone 4................................................................44 Tableau 11: Ordonnancement résultat grille 10*10.................................................66Tableau 12: Ordonnancement résultat grille 10*3....................................................67Tableau 13: neurones référents..................................................................................70Tableau 14: résultat fonctions bruité ........................................................................70Tableau 15: neurone référent......................................................................................71Tableau 16:  résultat fonctions non bruité.................................................................72Tableau 17: Ordonnancement généralisation............................................................75Tableau 18: résultat d'apprentissage.........................................................................77Tableau 19: résultat en généralisation.......................................................................78Tableau 20: Ordonnancement généralisation............................................................81Tableau 21: résultat apprentissage............................................................................83Tableau 22: résultat en généralisation.......................................................................87Tableau 23: résultat en apprentissage des deux phonèmes......................................91

9

Carte de Kohonen pour la quantification de fonction

Page 10: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

RemerciementRemerciement

Je remercie M. le Directeur Philippe BIDAUD, de m'avoir permis d'effectuer mon stage de Master II, au sein de l'institut ISIR. Les locaux du laboratoire ISIR, m’ont permis d’avoir toutes les ressources nécessaires à l’aboutissement du stage.

Je   tiens   à   remercier   vivement   Monsieur   Gas,   chargé   de   recherche   et développement au sein de l'équipe Systèmes intégrés mobiles et autonomes, qui m'a encadré tout au long du stage. Sa disponibilité, son aide et ses idées m'ont énormément apporté.

Je   tiens  enfin  à   remercier   l’ensemble  des   collègues   stagiaires  qui  m'ont aidés dans mon travail.

10

Carte de Kohonen pour la quantification de fonction

Page 11: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

IntroductionIntroduction

Ce mémoire présente les résultats du stage que j'ai effectué entre le mois de mars et celui de septembre 2007 au sein de l'Institut des Systèmes Intelligents et Robotique [ISIR07].

Ce stage intitulé:   «Carte de Kohonen pour la  quantification de  fonction» [Gas06] a pour but d'effectuer:

➢ Une étude exhaustif  au sujet  d'un nouvel  algorithme d'apprentissage  de carte de Kohonen prédictive [GCZF05] [GCZ06]. 

➢ La réalisation d’une interface graphique capable de produire un affichage en temps réel.

Après   une   présentation   du   stage   et   des   généralités   sur   les   réseaux   de neurones [BEN06] [DRE99] [BOU93] nous verrons, dans une première partie, la programmation des outils nécessaire au travail demandé. 

Puis, dans la seconde partie, nous étudierons les performances de ce nouveau réseau de neurone [BEN06] [DRE99] [BOU93]. 

Ensuite, dans une troisième partie, nous analyserons les tests  pratiqués sur des signaux réels. 

Pour finir une conclusion,  des annexes ainsi qu'une bibliographie viendront clore ce rapport. 

11

Carte de Kohonen pour la quantification de fonction

Page 12: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

I°/ Présentation du laboratoireI°/ Présentation du laboratoireTout d’abord nous allons fournir quelques informations   sur le laboratoire  

ISIR [ISIR07].

L'institut   des   Systèmes   Intelligents   et   de   Robotique   (ISIR)   est   un laboratoire de recherche de l'université Pierre et Marie Curie (UPMC) associé au Centre National de le Recherche Scientifique (CNRS),  département Sciences et Technologies de l'Information et de l'Ingénierie (STII).

L'ISIR a été créé au 1er Janvier 2007  par le regroupement de trois équipes de l'UPMC relevant de la nouvelle UFR des Sciences de l'Ingénieur. 

• le Laboratoire de Robotique de Paris dans son ensemble (LRP). • le groupe Perception et Réseaux Connexionnistes (PRC) du Laboratoire des 

Instruments et Systèmes d'Ile de France (LISIF).• l'équipe AnimatLab du Laboratoire d'Informatique de Paris 6 (LIP6).

Ce   regroupement   vise   à   fédérer   des   compétences   complémentaires   et synergétiques dans les domaines de : 

• La modélisation des systèmes et des interactions complexes.• Les commandes robustes des systèmes, la téléopération et l'identification.• La perception et Traitement du Signal (vision, toucher et parole).• Les architectures de contrôle : évolution, développement et apprentissage.

De plus elle  réunit un potentiel significatif, humain (près d'une centaine de personnes : 40 chercheurs, enseignants­chercheurs et ingénieurs , 60 doctorants et post­doctorants)  et  matériel,  dans   le  cadre de  deux des  domaines  scientifiques majeurs couverts par l'UPMC : Ingénierie et Médecine.

12

Carte de Kohonen pour la quantification de fonction

Page 13: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

L'ISIR est dirigé par Philippe Bidaud . Il est structuré en trois équipes de recherches:

• Systèmes robotiques et micro­robotiques pour la manipulation assistée.    Responsables: Guillaume Morel et Stéphane Régnier 

• Perception et mouvement.    Responsables: Maurice Milgram et Jean­Luc Zarader 

• Systèmes intégrés mobiles et autonomes.   Responsables: Stéphane Doncieux et Bruno Gas 

J'ai  été  accueilli  au sein de l'équipe signal « Système intégrés mobiles et autonome »   par   Monsieur   Bruno   GAS,   Maître   de   conférences.   Monsieur   GAS travaille sur l'étude de modèles connexionnistes pour le traitement du signal et sur les applications en traitement de la parole et en traitement de signaux Lidar. Il   assure   aussi   des   enseignements   en  Traitement   du   signal,   traitement   de l'information, Reconnaissance des forme.

13

Carte de Kohonen pour la quantification de fonction

Page 14: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

II°/Présentation du stageII°/Présentation du stage

II-1°/ DescriptionII-1°/ Description

Un nouveau modèle d’extraction de caractéristiques du signal de parole a été mis au point par l’équipe signal, le modèle SOM­NPC [GCZF05] (Self­Organizing­Map   –   Neural   Predictive   Coding),   permettant   de   réaliser   l’extraction   non supervisée de caractéristiques sonores. L’algorithme s’apparente à une carte auto­organisée de Kohonen à  une couche cachée, à  laquelle on applique l’algorithme d’apprentissage     utilisé   pour   le   Perceptron   Multicouches   en   prédiction, typiquement l’algorithme de rétropropagation de l’erreur. 

A y regarder de près, l’on se rend compte que le système proposé effectue une quantification vectorielle de fonctions que l’on pourrait peut­être appeler tout simplement « quantification fonctionnelle » . Le but du stage est précisément de vérifier  cela  sur   le  plan expérimental.   Il  s’agit  donc  d’apprendre  des   fonctions élémentaires (en quelque sorte des fonctions « jouet ») et de mettre en évidence la propriété  de tonotopie :  « deux fonctions proches au sens de  la distance définie dans l’espace des fonctions sont codées par des neurones proches sur la carte». L’algorithme pourra être également testé sur des signaux réels (signaux de parole des bases de données TIMIT et NTIMIT ou issus de flux audio en provenance d’émissions   radiophoniques).     La   réalisation   d’une   plate­forme   logicielle   de démonstration serait un plus. 

II -2°/ Bibliothèque NPCLIBII -2°/ Bibliothèque NPCLIB

L'ensemble   des   algorithmes   d’apprentissage   de   cartes   de   Kohonen ‘prédictives’ ont été développées sous Linux .   Ces algorithmes ont été regroupés dans une librairie appelée NPCLIB.   Elle est  l'outil principal pour le travail  à effectuer.

De plus cette  librairie comporte les outils  d'acquisition,  de   codage et de classification de signaux de parole (speech acquisition, coding and classification routines). 

14

Carte de Kohonen pour la quantification de fonction

Page 15: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

III°/ Historique du travailIII°/ Historique du travail

Voici les différents travaux qui ont été opérés, avec plus ou moins de succès,  durant ces six mois. Nous les avons séparés en cinq grandes phases distinctes.

Première étape : Recherche concernant les réseaux de neurones.    Le premier mois a surtout consisté à faire, dans un premier temps, toute les 

recherches nécessaires dans la littérature sur les réseaux de neurones [BEN06] et plus précisément sur les cartes de Kohonen  [DRE99] [BOU93]  puis  ,  dans un second temps, étudier la création de d'interface via la bibliothèque C++: QT [QT­1] [QT­2]. 

  Seconde étape : Programmation d'un afficheur et interfaçage de la 

bibliothèque NPCLIB.     Les six semaines qui suivirent ont données lieu à la programmation de deux 

interfaces graphique; une pour afficher les tests en apprentissages/généralisations et une seconde pour rendre la programmation via les fonctions de la NPCLIB plus conviviale.   Sans   oublier   une   révision  poussé   en   C/C++   [Cast03]   car     cette bibliothèque est développée sous ce langage de programmation.

Troisième  étape : Études des Performances du réseau.Pour   connaître   les   différentes   particularité   du   modèle   SOM­NPC   j'ai, 

durant  près  de  deux mois,   réalisé  une  étude  exhaustive  sur  ses  performances (généralisation, indépendance du bruit, clusterisation .....).

Quatrième étape : Test sur des signaux réels.     Trois semaines furent ensuite nécessaire pour analyser  les résultats fournis 

par le réseau sur des signaux de paroles.

Cinquième étape : Élaboration du rapport et de la présentation Enfin les derniers semaines du stage ont servi à la formalisation:*  des  améliorations des différents programmes que j'ai développé.*  des notices d'utilisations pour chacune des interfaces.*  du rapport.*  de la présentation PowerPoint.

15

Carte de Kohonen pour la quantification de fonction

Page 16: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

IV°/ Quelques connaissancesIV°/ Quelques connaissances sur les réseaux de neuronessur les réseaux de neurones

IV-1°/ PrésentationIV-1°/ PrésentationUn réseau de neurones  est un modèle de calcul dont la conception est très 

schématiquement   inspirée   du   fonctionnement   de   vrais  neurones.   Ils   sont généralement optimisés par des méthodes d’apprentissage de type statistique.

Le réseau de neurones  [BEN06] [DRE99] [BOU93]  est constitué d’un très grand   nombre   de   petites   unités   de   traitement   identiques   appelées   neurones artificiels   (voir   figure   1).   Elles   étaient   électroniques   dans   les   premières implémentations (perceptrons de Rosenblatt);  on les simule le plus souvent sur ordinateur aujourd’hui pour des questions de coût et de commodité.

Les  réseaux neuronaux sont  utilisés  dans  de  nombreux domaines   (entre autres,   vie   artificielle   et   intelligence   artificielle)   pour   leurs   capacités d'apprentissage.

Figure 1: Vue simplifiée d'un réseau artificiel de neurones

(tirée de  [Wik-01])

16

Carte de Kohonen pour la quantification de fonction

Couche cachée

Entrée

Sortie

Page 17: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

IV-2°/ UtilitéIV-2°/ Utilité

Les réseaux de neurones, en tant que système capable d'apprendre, mettent en oeuvre le principe de l'induction, c'est­à ­dire l'apprentissage par l'expérience. Par   confrontation   avec   des   situations   ponctuelles,   ils   infèrent   un   système   de décision   intégré   dont   le   caractère   générique   est   fonction   du   nombre   de   cas d'apprentissages rencontrés et de leur complexité par rapport à  la complexité du problème   à   résoudre.   Par   opposition,   les   systèmes   symboliques   capables d'apprentissage, s'ils implémentent également l'induction, le font sur base de la logique algorithmique, par complexification d'un ensemble de règles déductives.

Grâce à   leur capacité de classification et de généralisation, les réseaux de neurones sont généralement utilisés dans des problèmes de nature statistique, tels que   la   classification   automatique   de   codes   postaux   ou   la   prise   de   décision concernant un achat boursier en fonction de l'évolution des cours. 

Il est à   noter que le réseau de neurones ne fournit pas toujours de règle exploitable par un humain. Le réseau reste souvent une boite noire qui fournit une réponse  quand on   lui  présente  une  donnée,  mais   le   réseau  ne   fournit  pas  de justification facile à  interpréter.Les réseaux de neurones sont réellement utilisés, par exemple:

• pour la classification ; par exemple pour la classification d'espèces animales par espèce étant donnée une analyse ADN. 

• reconnaissance de motif ; par exemple pour la Reconnaissance optique de caractères (OCR), et notamment par les banques pour vérifier le montant des chèques, par La Poste pour trier le courrier en fonction du code postal, etc.   ;   ou  bien  encore  pour   le  déplacement  automatisé   de  robots  mobiles autonomes. 

• approximation d'une fonction inconnue. • modélisation accélérée d'une fonction connue mais très complexe à  calculer 

avec exactitude ; par exemple certaines fonctions d'inversions utilisées pour décoder   les   signaux   de   télédétection   émis   par   les   satellites   et   les transformer en données sur la surface de la mer. 

17

Carte de Kohonen pour la quantification de fonction

Page 18: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

IV-3°/ Structure du réseauIV-3°/ Structure du réseau

Un réseau de neurone est en général composé d'une succession de couches dont chacune prend ses entrées sur les sorties de la précédente. chaque couche (i) est composée de Ni  neurones, prenant leurs entrées sur les Ni­1  neurones de la couche précédente. À chaque synapse est associée un poids synaptique, de sorte que les Ni­1  sont multipliés par ce poids,  puis  additionnés par  les  neurones de niveau i, ce qui est équivalent à  multiplier le vecteur d'entrée par une matrice de transformation. Mettre l'une derrière l'autre les différentes couches d'un réseau de neurones reviendrait à  mettre en cascade plusieurs matrices de transformation et pourrait   se   ramener  à   une   seule  matrice,  produit  des  autres,   s'il  n'y   avait  à chaque couche, la fonction de sortie qui introduit une non linéarité à chaque étape. 

Ceci montre l'importance du choix judicieux d'une bonne fonction de sortie : un réseau de neurones dont les sorties seraient linéaires n'aurait aucun intérêt.

Au delà  de cette structure simple,  le réseau de neurones peut également contenir des boucles qui en changent radicalement les possibilités mais aussi la complexité. De la même façon que des boucles peuvent transformer une logique combinatoire  en   logique   séquentielle,   les  boucles  dans  un   réseau  de  neurones transforment   un   simple   dispositif   de   reconnaissance  d'entrée   en   une   machine complexe capable de toute sortes de comportements.

Figure 2: Structure d'un neurone artificiel

(tirée de  [Wik-01])

18

Carte de Kohonen pour la quantification de fonction

Page 19: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

IV-3°/ ApprentissageIV-3°/ Apprentissage

La   large   majorité   des   réseaux   de   neurones   possède   un   algorithme   « d'entraînement » qui consiste à modifier les poids synaptiques en fonction d'un jeu de données présentées en entrée du réseau. Le but de cet entraînement est de permettre   au   réseau   de   neurones   «   d'apprendre   »   à   partir   des   exemples.   Si l'entraînement   est   correctement   réalisé,   le   réseau   est   capable   de   fournir   des réponses   en   sortie   très   proches   des   valeurs   d'origines   du   jeu   de   données d'entraînement.

Mais   tout   l'intérêt  des  réseaux de  neurones   réside  dans   leur   capacité  à généraliser à partir du jeu de test.

Il existe deux grandes familles d'apprentissage:

● Les apprentissages supervisés.● Les apprentissages non supervisés.

  Un apprentissage est dit supervisé lorsque l'on force le réseau à converger vers un état final précis, en même temps qu'on lui présente un motif.

À l'inverse, lors d'un apprentissage non­supervisé, le réseau est laissé libre de   converger   vers   n'importe   quel   état   final   lorsqu'on   lui   présente   un   motif.  

L'intérêt   est   que   le   réseau   s'auto­organise   de   tel   manière   à   attribuer aléatoirement sur la carte  un ou plusieurs neurones et ceux pour chaque vecteur d'entrée. 

Le modèle SOM­NPC que l'on va étudier au cours de ce stage, se trouve être une carte de Kohonen un peu particulière, ce type de réseau appartiennent à la deuxième   famille.   Voyons   maintenant   comment   une   carte   de   Kohonen   basic fonctionne et nous verrons, dans la partie 2, le fonctionnement du modèle SOM­NPC. 

IV-4°/ Cartes de KohonenIV-4°/ Cartes de Kohonen

Il   existe   des   zones   du   cerveau   (dans   le   cortex   visuel   par   exemple)   qui présentent la même topologie que les capteurs sensoriels. C'est à dire deux zones proches dans le cortex visuel correspondent à deux zones proches dans la rétine, c'est   ce   que   l'on   appelle   une   relation   tonotopique   (des  observations identiques on été faites dans le bulbe olfactif, ou l'appareil auditif).

19

Carte de Kohonen pour la quantification de fonction

Page 20: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

 Ces observations ont mené T. Kohonen à proposer un modèle de réseau de 

neurones équivalent à une carte topographique dont les neurones sont différenciés selon leur position dans le réseau afin de les spécialiser pour traiter certain types de données [ OL02].

La   théorie   de   Kohonen   consiste   à   réaliser   un   réseau   de   neurones (équivalent à  une carte topographique) pour laquelle l'intensité des liaisons entre les  neurones et  les  stimuli  donneraient   l'information de relief.  L'intérêt  est  de savoir, pour un ensemble de stimulus, quels neurones seront les vainqueurs (ou se situe les pics aux sens du relief). Suite à  l'analyse de ces réponses, il est possible d'affecter des stimuli aux neurones.

On   distingue   deux   étapes   indispensables   dans   l'adaptation   du   modèle théorique au cas concret : l'apprentissage  et le  calibrage. L'apprentissage est indispensable pour le réglage de l'intensité des liaisons entre les neurones et leurs stimuli. Le calibrage est indispensable pour affecter la réponse d'un neurone à un stimuli.

La carte de Kohonen est en général à  deux dimensions. (voir figure 3 ci­dessous). Il existe plusieurs structures de carte de Kohonen ayant des propriétés différentes : rectangulaire, carrée, hexagonale.

Figure 3: Architecture d'un modèle de Kohonen

(tirée de  [Wik­01])

20

Carte de Kohonen pour la quantification de fonction

Page 21: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

 Nous allons voir en détail les phases importantes de cette théorie :• Apprentissage compétitif .• Calibrage. • Classification .

a°/ L'apprentissage compétitifCette première notion, est simplement basée sur la notion d'interaction d'un 

neurone avec son stimulus. La nature a souvent pour règle d'aller au plus simple, c'est le cas pour le choix des neurones devant répondre à un stimulus. Ce sont les neurones   les  plus  proches  du stimulus  qui  auront  en   charge   le   traitement  de l'information,  nous   parlons   alors   d'interactions   neuronales.   Cette   notion d'interaction est tout simplement liée à la distance qui sépare le neurone du (des) stimulus (i). 

Donc s'il ne fallait retenir qu'une seule chose , c'est qu'il y a différenciation des neurones, afin de les spécialiser pour traiter certain types de stimuli.

Figure 4: fonction d'apprentissage compétitif

L'apprentissage consiste à présenter sur la couche des entrées du réseau, les éléments sur lesquels on souhaite réaliser l'apprentissage.Il existe plusieurs types d'apprentissages dont :

➢ The Winner Take All

➢ La Cartographie Associative

21

Carte de Kohonen pour la quantification de fonction

(tirée de [ OL02])

Page 22: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Pour   le  moment  nous  n'avons   considéré   comme  lien  entre   les  différents neurones de notre réseau, que les vecteurs poids, cependant chaque neurone est lié aux autres, diront nous de manière physique, formant ainsi un maillage neuronal. On pourra noter que différents maillages peuvent être envisagés , rectangulaire, en nid d'abeille,  octogonale,  décagonale etc...  Le modèle  sélectionné  pour notre étude   sera   le   modèle   rectangulaire   car   plus   simple   à   implémenter,   bien   qu'il semble assez naturel qu'un maillage en nid d'abeille puisse fournir de meilleurs résultats.

Donc   ici   intervient   la   notion   d'interaction   latérale   entre   neurones   :   les voisinages ont leur importance.

Équations d'apprentissages :On considère "n" neurones dans le réseau.Soit   X   le   vecteur   en   entrée,  X=[x1  x2   ...   xn],   les   (xi)   étant   les   valeurs 

caractéristiques   de   la   forme   à   apprendre,   soit   W   le   vecteur   des   coefficients synaptiques, W=[w1 w2 ... wn], i correspond aux dimensions du vecteur d'entrée X, j correspond au neurones.

Les poids wi sont au préalable initialisés aléatoirement.Les réponses des neurones Y =[y1 y2 ... yn] sont calculés : 

Le neurone vainqueur v (p,q) est celui qui donne la réponse la plus faible ; avec p et q représentant les coordonnées du neurone v sur la carte.Les poids des neurones sont mis à  jour grâce à la relation suivante :

 

Avec   :   [xi(t)   ­  wi(t)]   :   distance   euclidienne   entre   les   vecteurs  X   et  W  à l'instant t. 

(t) : coefficients d'apprentissage, fonction linéaire décroissante, grand au début pour accélérer cette phase, et petit après pour affiner. Ce coefficient a une valeur qui décroît aussi pour les neurones voisins, de manière à les spécialiser un peu moins que le neurone vainqueur

22

Carte de Kohonen pour la quantification de fonction

Page 23: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

(t) dépend de la distance au neurone vainqueur et du temps. Il existe plusieurs formes possibles.

t représente le nombre d'itération de l'apprentissage, c'est à dire le nombre de fois où les données sont apprisent.

Remarque:Il est conseillé de mélanger les données d'entrées de l'apprentissage pour que le vecteur de poids Wij ne soit pas influencé par l'ordre des données d'apprentissage.

b°/ Le Calibrage

            Le   calibrage   intervient   après   l'apprentissage,   il   sert   à   affecter   chaque neurones   à   une   classe   parmi   les   classes   souhaités.   Il   est   donc   nécessaire   de posséder  des  échantillons  déjà  étiquetés  pour   chaque   classes  pour   chacun  des calibrage à réaliser. 

Le   calibrage   consiste   à  présenter   sur   la   couche   d'entrée   (comme   dans l'apprentissage) les échantillons étiquetés, trouver le neurone vainqueur v  pour chaque échantillon, et compter pour chaque neurone pour combien d'échantillons de chaque classe il et le vainqueur.

Pour étiqueter chaque neurone, il faut regarder pour quelle classe il fut le vainqueur le plus grand nombre de fois. Il est possible dans certains cas que des neurones ne répondent pour aucune classe.

c°/ La Classification

La classification utilise la carte de Kohonen construite avec les deux étapes précédentes (matrice des poids et résultat de l'étiquetage). Il s'agit simplement de présenter  les données à  classer en entrées,   trouver  le  neurone vainqueur pour chaque donnée, et lui affecter une classe grâce au résultat de l'étiquetage.

Il  est possible  de vérifier   la qualité  de  l'apprentissage en classifiant  des données étiquetés conformes aux classes désirées et en observant la répartition des données classées sur chaque classe. 

23

Carte de Kohonen pour la quantification de fonction

Page 24: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

1 ère partie: 1 ère partie:

Présentation l’interface graphique

Cette  partie  présente   l'ensemble  des   logiciels,   ou outil,  que  j'ai  développé  pour faciliter l'utilisation des fonctions de la bibliothèque NPCLIB.

24

Carte de Kohonen pour la quantification de fonction

Page 25: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

I- A) L'afficheur mapviewI- A) L'afficheur mapview

I -A1°/ IntroductionI -A1°/ Introduction

L’activité d’un neurone d’une carte de Kohonen étant liée à sa position sur une   carte,   Il   est   donc   primordial   d'avoir   un   afficheur capable   d'effectuer     la visualisation d’une carte de Kohonen en cours d’apprentissage.

 L’interface à réaliser doit recevoir directement, depuis un programme de la librairie NPCLIB, des ordres concernant l’état de la carte et l’activité de chacun de ses neurones. L’interface n’a plus qu’à interpréter ses ordres et à les afficher.

Le programme que j'ai crée ce nomme mapview, il permet d'afficher avec succès les tests en apprentissage ou en généralisation d'une carte de Kohonen à topologie carré ou rectangulaire.

Nous allons, dans le prochain chapitre, voir  les différents mode de transfert  de   données   des   programme   (ou   fichier)   vers   l'afficheur,   puis   dans   le   chapitre  suivant, nous décrirons les  fonctionnalités que comporte le menu et les affichages.

25

Carte de Kohonen pour la quantification de fonction

Page 26: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

I-A2°/ Description modesI-A2°/ Description modes

Nous pouvons répertorier   les  différentes   fonctionnalités  de   l'interface  en cinq parties comme le montre la figure suivante:

  

Figure 5: présentation de l'interface graphique mapview

26

Carte de Kohonen pour la quantification de fonction

2

1

35

  Dès que l'interface reçoit des données,  un  chronomètre  se met en route. 4

Toutes les informations et  instructions à suivre sont indiquées sur cette ligne d'édition.

Page 27: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

a°/ Démarrage (4)

Figure 6: fenêtre Menu

L'interface mapview dispose de plusieurs modes qui se distinguent par la manière   dont   s'effectue   l'acquisition   des   données   (nous   le     verrons   plus précisément par la suite).

Nous allons maintenant voir le fonctionnement de chacun des mode. 

b°/ mode démo(1)

Ce mode permet d'initier un nouvel utilisateur à  l'interface ou peut faire office d'introduction aux cartes de Kohonen. 

27

Carte de Kohonen pour la quantification de fonction

Au démarrage de  l'application, seul deux boutons du Menu (figure 6) sont activés:

Bouton Marche:  Permet de  choisir parmi  les  trois mode de fonctionnement disponible.

Bouton  Quitter:  permet  à  tout  moment  de  fermer l'interface.

Page 28: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Figure 7: fenêtre mode Démo

c°/ mode local(2)Ce  mode  permet  d'afficher   sur   la   carte  des  données   contenus  dans  des 

fichiers.

Figure 8: fenêtre mode Local

28

Carte de Kohonen pour la quantification de fonction

Mode d'emploi

*  Bouton démarrer: permet d'activer ce mode.

*  Bouton  Lire  Fichier:  permet  d'afficher  le  contenue  de fichier texte ou binaire.

*Bouton En entrée:  Permet d'afficher  les données du port d'entrée de l'interface.* Bouton Quitter mode  : nous fait quitter ce mode.

Mode d'emploi1.  L'impulsion sur « démarrer » permet d'activer ce mode.   

2. On rentre les dimensions (en x et y) de la grille puis on appuie  sur  « enter »  ou  on  clique  sur  « Dim  Grille »  pour        

valider la grille.

3. On peux ensuite cliquer sur «Affiche Grille » pour faire  

apparaître la grille.

4. Enfin il faut rentrer les coordonnées et la concentration  du  neurone  et  cliquer  sur  « Coord »  pour  l'afficher  sur  la    

carte.

5. « Quitter mode » nous fait quitter ce mode.   

Page 29: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

d°/ mode réseau(3)

Ce   mode   permet   d'afficher   les   données   provenant   d'un   quelconque ordinateur via une connexion TCP/IP.

Figure 9: fenêtre mode réseau

I-A3°/ FonctionnalitésI-A3°/ Fonctionnalités

a°/ Menu (4)

Nous avons déjà vus que le menu permettait  de quitter l'application ou de choisir le mode de transfert de données, mais ce n'est pas tout. Il présente d'autres intérêts ainsi, après un traitement,  dès que l'on quitte un mode, on retrouve les différentes possibilités décrites ci­dessous:

29

Carte de Kohonen pour la quantification de fonction

 Description

* Bouton démarrer: permet d'activer ce mode.

*  Bouton  TCP/IP:  permet  d'effectuer  une  connection  TCP/IP ( port 1024). 

* Bouton Déconnecté: Permet de se déconnecter  de uinpclib.

* Bouton Quitter mode  : nous fait quitter ce mode.

Page 30: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Figure 10: options menu

         

b°/ Fenêtre d'affichage(5)

Nous venons de voir l'acquisition des données mais Ce rapport serait très  incomplet si on n'abordait pas l'essentiel, à savoir l'affichage des neurones sur la  grille.

                b-1°) Carte de Kohonen

 En fonction des dimensions de la grille, nous avons deux types d'affichage possible,ainsi si on appelle :

dimx: le nombre de case suivant l'axe des abscisse.dimy: le nombre de case suivant l'axe des ordonnées.

30

Carte de Kohonen pour la quantification de fonction

 Description

* Bouton Marche:      Permet le choix entre les différents modes.

* Bouton Comparer:  Permet de comparer deux tests. 

* Bouton Rapport:     Génère un rapport automatique  à la sortie d'un mode (voir annexe I­1)* Bouton STOP  :        Arrête l'exécution pendant traitement.

* Bouton Quitter  :       Ferme l'application.

Page 31: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

On aura:

● Pour dimx+dimy < 100   

1 2 3 4 5 6 7 8 9 10

Figure 11: Affiche carte fichier test.txt

31

Carte de Kohonen pour la quantification de fonction

1

2

3

4

5

6

7

8

9

10

   Le  neurone  a  une  forme circulaire.          Son  rayon  représente  la concentration du neurone    Sa  couleur  est  lié  à  son  nombre d'activation  (plus  la  couleur  est chaude  et  plus  le  neurone  est activé).        Par  exemple  dans  la représentation de droite le neurone qui a la plus grande concentration a pour  coordonnée  (1,1)  et  le  plus activé (1,7).

Page 32: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

● Pour dimx+dimy > 100              

           Figure 12: affichage carte

32

Carte de Kohonen pour la quantification de fonction

       Le  neurone  a  une  forme rectangulaire,  il  occupe  en  fait  la case entière.

    La  couleur  est  lié  à  la concentration  du  neurone,  plus  la couleur  est  chaude  et  plus  le neurone a une forte concentration.         On  perd  donc  l'information nombre d'activation.

Page 33: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

b-2°) StatistiquesAprès   la   visualisation   des   neurones   effectuée,   je   trouvais   qu'il   était 

dommage de garder sous silence certaines variables du programme; c'est pourquoi, des courbes ont été rajoutés:

Si on clique sur l'onglet « Statistique » on peux visualiser des courbes (flèche bleu).

Figure 13: fenêtre statistiques    Propriétés des courbes:

● Ces dernières évoluent en même temps que l'affichage des neurones. ● Les  axes  évoluent  de  manière  à   toujours  avoir   la   représentations  de   la 

courbe en entier.● Possibilité de zoomer et dézoomer sur des parties de la courbes.● De plus nous avons les touches « + » et « ­ » pour le gérer la pile de zoom et 

les touches: « avant », « arrière », « gauche » et « droite » pour translater la courbe.

33

Carte de Kohonen pour la quantification de fonction

Page 34: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Regardons plus précisément ce que nous affiche l'écran «Statistique »:

Figure 14: courbe du haut Figure 15: courbe du bas

34

Carte de Kohonen pour la quantification de fonction

                  La  courbe  que  l'on  voit  ci­dessus représente  la  distance  euclidienne  entre deux neurones gagnant successifs et ceux pour chaque itération.

Remarque:          L'axe  des  ordonnées  a  toujours  pour valeur maximal la distance de la diagonal, cela  nous  donne  une  idée  précise  de l'importance des distances représentées.

Deux courbes sont représentées ici:

      Dès  qu'un  nouveau  neurone  est activé on incrémente un compteur.      On  affiche  en  vert  pour  chaque itération la valeur de ce compteur.      Le  problème  c'est  qu'un  neurone peux  gagner  mais  avoir  une concentration  nul  donc  nous représentons  en  bleu,  pour  chaque itération  le  nombre  de  nouveau(x) neurone(s)  activé(s)  à  concentration non nul.

Remarque:      Ici les deux courbes sont confondus, ce  qui  signifie  que  tout  les  neurones activés ont une concentration non nul.

Page 35: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

b-3 °) Bilan

Lorsqu'un   traitement   se   termine   avec   succès   deux   autres   courbes apparaissent:

Figure 16: Fenêtre bilan

Nous   allons   d'abord   analyser   la     courbe   du   haut,   sachant   que   le  raisonnement est le même pour la seconde.

b-31°) Nombre d'activation par neurone       Sachant que   chaque neurone de la carte apparaît un certain nombre de fois pendant un traitement, nous disposons finalement d'un  nombre d'activation par neurone. Nous avons donc la possibilité d'avoir une courbes 3D où, au couple (x,y) correspondant à la position du neurone sur la carte, nous   associons son nombre d'activation.

35

Carte de Kohonen pour la quantification de fonction

Page 36: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

N'ayant pas réussit a créer un objet susceptible de visualiser des courbes 3D,  j'ai  opté  pour  vectoriser  la    matrice(  composé  du nombre d'activation pour chaque neurone) pour pouvoir ensuite afficher le vecteur sur une courbe 2D. 

Comment je fais?méthode:    Voici un petit exemple où je montre comment je procède pour vectoriser la carte:

    Ici nous avons une carte 4*4 où est représenté le nombre d'activation final pour chaque neurone.

Tableau 1: Matrice nombre activation par neurone

11 22 33 44

11  10 200  30     0

22 14 60 50 0

33 0 255 20 100

44 0 125 0 0

Tableau 2: Vectorisation

11 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515 1616

 10 200  30  0 14 60 50 0 0 255 20 100 0 125 0 0 Comme on le voit sur le tableau ci­dessus, la matrice est segmenté, ligne 

par ligne.

36

Carte de Kohonen pour la quantification de fonction

Page 37: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Enfin pour afficher le résultat, nous mettons en abscisse l'indice du neurone (ici compris entre 1 et 16) et en ordonnée le nombre d'activation correspondant.

Pour en revenir au programme du fichier «test.txt», voici le résultat obtenus sur la carte (10*10) du programme:

Figure 17:Affichage carte Figure 18: nombre d'activations par neurone

Nous perdons  la notion de tonotopie entre les deux représentations (figure 17 et figure 18).

Exemple:Le neurone indicé 51 et celui indicé 61 sont proches sur la carte mais il ne le 

sont plus sur le graphe 2D.

37

Carte de Kohonen pour la quantification de fonction

Page 38: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

b-32°) Quantification vectoriellePour   palier   au   problème   cité   précédemment,   un   nouvelle   espace   de 

représentation a été rajouté. En cliquant sur le bouton « plus » sous la courbe représentant le nombre 

d'activation, nous obtenons la visualisation de tout les couples d'activations   de neurones voisins sur la carte.

Remarque:      On peut voir la carte de Kohonen comme une image en niveau de gris où 

chaque case représente un pixel et le nombre d'activation son intensité.

Explication:Nous balayons donc toute la carte en extrayant l'ensemble des couples de 

nombre   d'activation voisins puis nous les affichons sur un graphe pour   voir le comportement de proche en proche d'un neurone et de ses voisins.

Algorithme:      Voici un petit exemple d'une carte 4*4 où est représenté le nombre d'activation  final pour chaque neurone. Je montre ici comment je procède pour extraire tout les  couples d'une matrice en évitant les redondances.

Le programme parcours   la  carte de gauche à  droite  et  se  décompose en quatre parties qui dépendent essentiellement de l'emplacement de la ligne traitée: 

● Pour la première ligne (Tableau 3)   Le   neurone   (i,j)   a   pour   voisin   les   neurones   (i+1,j),(i+1,j+1)   et   (i,j+1).  L'algorithme crée un point(x,y), en attribuant  la valeur du neurone(i,j) en x 

et la valeur d'un de chacun de ses voisins en y. Puis on recommence l'opération pour   le   neurone   de   coordonnées   (i+1,j)   et   ainsi   de   suite   jusqu'au   neurone   de coordonnées (i+2,,j).

Légende:

38

Carte de Kohonen pour la quantification de fonction

:   Sens d'avancement du programme:   Valeur en y.

:   Valeur en x.

Page 39: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Tableau 3: Algorithme première ligne

ii i+1i+1 i+2i+2 i+3i+3

jj 10 30 0 100

j+1j+1 0 50 10 56

j+2j+2 200 84 80 40

j+3j+3 0 0 10 30

Nous   obtenons   les   couples   suivant   {(10,30)   (10,50)   (10,0)   (30,0)   (30,10) (30,50) (0,100) (0,56) (0,10)}.

● Pour la dernière ligne (Tableau 4)   

Nous effectuons le raisonnement établi par la figure ci­dessous.

Tableau 4: Algorithme dernière ligne

ii i+1i+1 i+2i+2 i+3i+3

jj 10 30 0 100

j+1j+1 0 50 10 56

j+2j+2 200 84 80 40

j+3j+3 0 0 10 30

Nous obtenons les couples suivant {(0,200) (0,84) (0,0) (0,84) (0,80) (0,10) (10,80) (10,40) (10,30)}.

39

Carte de Kohonen pour la quantification de fonction

Page 40: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

● Pour les autres lignes (Tableau 5)   

Nous effectuons le raisonnement établi par la figure ci­dessous.

              Tableau 5: Algorithme ligne(s) intermédiaire(s)

ii i+1i+1 i+2i+2 i+3i+3

jj 10 30 0 100

j+1j+1 0 50 10 56

j+2j+2 200 84 80 40

j+3j+3 0 0 10 30

Nous obtenons les couples suivant {(0,30) (0,50) (0,84) (0,200) (50,0) (50,10) (50,80) (500,84) (10,100) (10,56) (10,40) (10,80)}.

● Pour la dernière colonne   

Il ne faut pas oublier la dernière colonne si l'on veut obtenir tout les couples possibles.

Tableau 6: Algorithme dernière colonne

ii i+1i+1 i+2i+2 i+3i+3

jj 10 30 0 100

j+1j+1 0 50 10 56

j+2j+2 200 84 80 40

j+3j+3 0 0 10 30

Nous obtenons les couples suivant {(100,56) (56,40) (40,30)}.

40

Carte de Kohonen pour la quantification de fonction

Page 41: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Maintenant que nous avons récupérer l'ensemble des couples,  il  suffit de représenter chaque point dans un repère 2D.

Pour en revenir a l'affichage du fichier « test.txt », voici le nuage de points que l'on obtient:

Figure 19: nuage de points (neurone,voisin)  

                  L'interprétation   du   résultat   ce   fait   en   décomposant   l'espace   de représentation en quatre régions distincte, elle sont représenté sur la figure 20.

41

Carte de Kohonen pour la quantification de fonction

Page 42: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Figure 20: Décomposition en région

Propriétés:

● Les régions hachurés en bleu (zone 1) nous indique   l'ensemble de points ayant au moins une coordonnée de valeur faible.

Exemple:

Tableau 7: exemples appartenant zone 1

0 100 100

25 100 12

40 28 32Les coordonnées (0,25), (0,100) et (0,100) appartiendront à la zone 1. 

42

Carte de Kohonen pour la quantification de fonction

valeur en x

valeur en yLégende:

Page 43: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

   Tout les éléments appartenant à ses régions décrirons les contours d'activations.

Remarque:      Si nous n'avons que des neurones isolés, tout les points seront sur la zone 1.

● La région hachurés en rouge (zone 2) nous indique   l'ensemble des points ayant deux coordonnés de même valeur.

Exemple:

Tableau 8: exemples appartenant zone 2

0 100 100

25 100 12

40 28 32Les coordonnées (100,100) et (100,100) appartiendront à la zone 2. 

Tout   les   éléments   appartenant   à   cette   région   décrirons  l'homogénéité d'activation.

● La région hachurés en jaune (zone 3) nous indique   l'ensemble de points ayant la coordonnés en x supérieur à celle de y.

Exemple:Tableau 9: exemples appartenant zone 3

0 100 100

25 100 12

40 28 32

43

Carte de Kohonen pour la quantification de fonction

Page 44: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Les coordonnées (100,28),(100,12) et (100,32) appartiendront à la zone 3. 

Tout   les   éléments   appartenant   à   cette   région   décrirons   la  décroissance d'activation quand on se déplace de la gauche vers la droite.

● La région hachurés en jaune (zone 4) nous indique   l'ensemble de points ayant la coordonnés en x supérieur à celle de y.

Exemple:

Tableau 10: exemples appartenant zone 4

0 100 100

25 100 12

40 28 32

Les coordonnées (25,100),(25,100) et (25,40) appartiendront à la zone 4. 

Tout   les   éléments   appartenant   à   cette   région   décrirons   la  croissance d'activation quand on se déplace de la gauche vers la droite.

Observation final:Selon l'important du nombre de point présent dans une zone ou dans une 

autre,   nous   pouvons   extraire   des   informations   sur   l'attitude   des   neurones   de proche en proche.

Cette représentation pourrait être intéressante pour la caractérisation du bruit.

44

Carte de Kohonen pour la quantification de fonction

Page 45: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

I- B) L'interface uinpclibI- B) L'interface uinpclib

I -B1°/ IntroductionI -B1°/ Introduction

Le   programme   uinpclib   est   un   petit   logiciel,   pensé   pour   répondre   à   la programmation utilisant les fonctions de la bibliothèque NPCLIB ou tout autres fonctions adhérant à la même philosophie de codage.

Nous verrons   d'abord les différentes fonctionnalités qu'elle comporte, pour  ensuite voir quelques spécificités qui la rendent vraiment intéressante.

45

Carte de Kohonen pour la quantification de fonction

Page 46: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

I-B2°/ SpécificitésI-B2°/ Spécificités

       Nous pouvons répertorier les différentes spécificités de l'interface en cinq parties:

Figure 21: Interface uinpclib

46

Carte de Kohonen pour la quantification de fonction

4

5

1

2 3

Page 47: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Remarques:Les fonctions de la NPCLIB s'inspirent de la programmation sous matlab, il 

était donc logique que l'interface c'en inspire aussi. La tache la plus ardue, lors de son élaboration, était d'avoir un code assez 

robuste  pour  qu'une  mise  à   jour  de   la   bibliothèque  ne   nécessite  pas   celle   de l'interface.

Nous allons maintenant voir le fonctionnement de chacune des parties. 

a°/ Zone mémoire (1)

Si il y a une chose à savoir sur la NPCLIB c'est que ses fonctions génèrent    

    Figure22: fenêtre répertoire de travail

47

Carte de Kohonen pour la quantification de fonction

Page 48: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

des   fichiers  de  données.   Il  serait  donc   intéressant  de  visualiser   le  résultat  du travail que l'on produit. Pour ce faire nous avons sur la partie gauche de l'interface une fenêtre représentant le répertoire de travail.

b °/ Nom des fonctions (2 )

  Figure 23: nom des fonctions

Un nom de fonction est utile mais  ne suffit certainement pas à décrire son rôle (sans parler des arguments à  lui fournir), il faut donc pouvoir consulter le fichier d'aide.

48

Carte de Kohonen pour la quantification de fonction

Pour  un  nouvel  utilisateur  ,  il  est important de connaître le nom des différentes fonctions qui compose  la biblothèque. Comme leurs  noms  sont  assez  explicite,  il  pourra  se faire une idée sur le rôle de chacune d'elle.

Pour répondre à cette nécessité, l'onglet « aide »  a  été  ajouté  en  haut  à  droite  de    

l'interface.

Page 49: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

c°/Fenêtre d'aide(3)

Pour répondre au besoin cité précédemment, une fenêtre au centre à droite (figure 24) , est prévu à cette effet.

 Figure 24: fenêtre d'aide

Ainsi des qu'on tape le nom d'une fonction (ici npc1khnparam) et bien sûre après impulsion sur le bouton «Ok», nous obtenons la description établie dans le fichier d'aide.

49

Carte de Kohonen pour la quantification de fonction

Page 50: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

d°/ Fenêtre d'usage(4)

Comme l'aide n'existe pas toujours,   la deuxième fenêtre, en bas à droite, indique l'usage à de la fonction.

 Figure 25: fenêtre d'usage

Il suffit enfin d'appuyer sur « exécuter » pour lancer l'instruction.

I -B3°/ SpécificitésI -B3°/ Spécificités

Dans   cette   partie   nous   verrons   les   quelques   améliorations   qui   ont   été  apportés à l'interface.

➢ Bouton Répéter:   Il  est possible qu'un utilisateur ait  seulement besoin d'utiliser une seule 

fonction mais qu'il doit réaliser des tests pour différentes options.

50

Carte de Kohonen pour la quantification de fonction

Taper argument(s)

Page 51: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

➢ Bouton historique:   Dès  qu'une   instruction  est   réalisé   avec   succès,   la   ligne  d'instruction  est 

inscrite dans une fenêtre « Historique »

➢ Bouton Variable:   Il   est   parfois   ennuyeux   de   ré­écrire   plusieurs   fois   de   longues   lignes 

d'argument, il était donc intéressant de les regrouper dans ce que l'on pourrait appeler des  variables d'environnement locales à l'interface.

➢ Bouton connecte   Le bouton  « connecte »  doit  être vu comme un voyant qui  indique si  une 

connexion TCP/IP est établie avec l'interface mapview.

Pour que uinpclib envoie des données vers mapview, il faut:

➔ Autoriser le port 1024 (firewall).

➔ La fonction qui doit envoyer les données dispose de l'option « ­m » (m comme mapview).

➔ Bouton connecte activé.

➔ Les données envoyées doivent être de type short et   provenir du port de sortie (cout).

➔ Les données doivent respectent un certains ordre (voir readme du dossier mapview).

51

Carte de Kohonen pour la quantification de fonction

Page 52: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

➢ Bouton simuler:   

Figure 26: fenêtre simulation

 

I- C) I- C) Petite étude sur la cartePetite étude sur la carte de Kohonen normalde Kohonen normal

Après  la réalisation de ces deux interfaces, un premier  test sur une carte de   Kohonen   classique   a   été   effectué.   Nous   avions   un   signal   sonore   de   deux minutes provenant d’une radio FM (RMC).

52

Carte de Kohonen pour la quantification de fonction

L'impulsion sur  le bouton « simuler »    

ouvre la petite interface ci­contre.

 ­>  Quelle est sa fonction?

Le port de  sortie du processus source  est  connecté  au  port  d'entrée du  processus  destinataire.  Enfin  le processus  destinataire  envoi,  via  la connexion TCP/IP, les données de son port  de  sortie  (cout)  vers  l'interface mapview.

Page 53: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

I-C1) Description du signalI-C1) Description du signal

- Durant près d’une   minute et quarante secondes un journaliste sportif commente   les   résultats   sportifs.   Ces   commentaires   sont   toutefois ponctués par  deux  jingles.  Le premier  n’est  constitué  que de  musique alors que le second est composé de parole sur fond musical.

- Durant les 20 dernières secondes un nouveau locuteur vient commenter l’actualité.

I-C2) méthodesI-C2) méthodes   Voici les différentes étapes pour pouvoir visualiser le fichier radio sur une 

carte de Kohonen:

➢ Ce signal est découpé en trame.

➢ Chaque trame subit l’extraction de douze coefficients LPC.

➢ Initialisation aléatoire des  poids du réseau. 

➢ Entraînement du réseau avec le fichier test.

➢ Visualisations des données du test en apprentissage.

L’annexe I­2 montre le code utilisé.

53

Carte de Kohonen pour la quantification de fonction

Page 54: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

I-C3 ) RésultatsI-C3 ) Résultats

a°/ Visualisation Carte

Nous  avons  travaillés  sur  une carte   [10*10]  et  voici   l'affichage  que  l’on obtient au final (après 2633 itérations).

Figure 27: résultat test

Pour rappel:La couleur indique si un neurone a été très souvent activé, ainsi plus la couleur vire au rouge et plus le neurone a été activé.

Observation:On observe que les neurones les plus activés sont globalement très proches. 

Le premier neurone à avoir été activé est le neurone 12.Les neurones en haut à gauche ont globalement activé  pour le locuteur 1 

tandis que les neurones du bas pour le locuteurs 2.

54

Carte de Kohonen pour la quantification de fonction

Page 55: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

b°/ Autres CourbesAfin  d’avoir   une   vision  plus   complète  des   spécificité   du   réseau  d’autres 

courbes ont été déterminé…

b-1°) Distance entre deux neurones victorieuxA   chaque   itération   nous   calculons   la   distance   euclidienne   du   nouveau 

neurone gagnant avec son prédécesseur.

Légende:     Locuteur 1.

     Locuteur 2.

     Jingle sans font musical.

      Jingle avec font musical.

Figure 28: résultat distance inter-neurone

55

Carte de Kohonen pour la quantification de fonction

Page 56: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Observations:On observe que la distance moyenne est plus élevée pour le locuteur 2 que 

pour le locuteur 1.Pour les deux jingles; la distance inter neurone est nul ce qui signifie qu’un 

seul neurone activé!!

b-2°)Nombre de neurone actifVoici une courbe qui indique le nombre total de neurone(s) activé(s) donc 

lorsque qu’un nouveau neurone est actif on incrémente un compteur.

Figure 29: résultat nombre neurone actif On observe que le nombre de neurone augmente de façon significative que 

lorsque un nouveau locuteur s’exprime sans fond musical.

56

Carte de Kohonen pour la quantification de fonction

Page 57: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

b-3°) Bilan nombre d’activation par neurone   Voici le nombre d’activation pour chaque neurone de la carte, nous avions 

une carte 10 *10 donc nous avons bien au total 100 neurones. On Voit que le 12ème neurone à gagner 1811 fois, le second neurone (22ème) a gagné 180 fois. 

Figure 30: résultat nombre d'activation

On observe qu’un seul neurone a gagné 1811 fois sur 2633 itérations ce qui représentent 70 % des victoires, la carte a donc mal appris car elle n'a pas utilisé toute la dynamique de codage dont elle disposé.

c°/ ConclusionLa carte a donc réalisée la segmentation des deux locuteurs. Nous avons 

pas besoin d'un système aussi élaboré  pour distinguer deux personnes mais ce premier test était surtout un coup d'essais pour étudier les différentes fonctions de   la   NPCLIB.   Enfin   on   voit   ici   l'importance   d'un   bon   paramétrage   des arguments de la  fonction d'apprentissage,  sans cette condition pas de résultat possible.

57

Carte de Kohonen pour la quantification de fonction

Page 58: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Seconde partieSeconde partie

Description de laDescription de la carte NPCcarte NPC

58

Carte de Kohonen pour la quantification de fonction

Page 59: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

II-A°) La carte NPCII-A°) La carte NPC

II-A1°) Différence Kohonen/SOM-NPCII-A1°) Différence Kohonen/SOM-NPC

Une carte de Kohonen [ OL02] réalise de la quantification vectoriel, c'est à dire qu'à un vecteur de dimension N seront associé, après apprentissage,   un ou plusieurs neurones (dimension 2). La carte s'auto­organisera de manière aléatoire, donc il n'y aura pas de relation (connue) entre deux vecteurs et la position de leurs représentants sur la carte.

Par   contre   le   modèle   SOM­NPC   [GCZF05],   dont   nous   allons   décrire   sa structure, a toute les propriétés d'une carte mais semble être munis en plus d'une relation d'ordre: deux fonctions proche dans l'espace des fonctions seront codés par deux   neurones   proche   sur   la   carte:   c'est   ce   que   nous   appelons   une   relation tonotopique. 

a°/ Structure du réseau

Soit {Fi} un ensemble de fonction de RN vers un R. 

 SOM­NPC [GCZF05] dispose de deux étages: 

Le premier étage est constitué d'un réseau de neurone supervisé [BEN06], en  entrée  nous  aurons  un vecteur  et  nous  imposons  en  sortie   (la  sortie désirée) l'image du vecteur par Fi. Les poids de ce réseau modéliserons à terme l'espace des fonctions .

Le deuxième étage est constitué  par la connexion de toute les sorties du réseau de neurone à une carte de Kohonen [OL02]. 

Pour   synthétiser,   nous   pouvons   affirmer   que   le   premier   étage   réalise l'apprentissage   des   fonctions   et   le   second   étage   effectue   la   classification automatique des fonctions.

59

Carte de Kohonen pour la quantification de fonction

Page 60: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Nous allons voir , à travers un petit exemple sa structure:

Exemple:      Pour chaque vecteur d'entrée X de la fonction Fi, on aura:

  R3        ­­­>                R  X ­­­>           Fi(X)

Figure 31:description codeur SOM-NPC

Remarque: L'apprentissage se fait, bien sûr, sur  l'ensemble de définition des  fonctions 

à apprendre.

Pour récapituler:

Kohonen:           X             ­­>     neurone(s)        ==       Quantification vectorielle.

SOM­NPC:    (X,f(X))       ­­>     neurone(s)         ==       Quantification fonctionnelle. 

60

Carte de Kohonen pour la quantification de fonction

Vecteur Entrée

Neuronescouche 1

Neuronescouche 2

Sortie réel

Sortie désiré

Carte Kohonen

Page 61: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

II-A2°) Fonctions

Les trois fonctions de la NPCLIB nécessaires pour la paramétrisation et les tests d'un codeur SOM­NPC ( où encore NPC­1) sont:

● npc1def:                npc1def   définit   un  codeur NPC­1 : initialisation aléatoire ou unitaire des poids de la première couche (paramètres du codeur).

● npc1khnparam:         npc1khnaparam   effectue   la   paramétrisation     par     auto­organisation   d’un codeur   NPC­1   partant d’une structure initiale donnée en premier argument . L’algorithme d’apprentissage  utilisé  est  du type  gradient  total  ou  stochastique avec pas  d’apprentissage fixe .

● npc1krun:   npc1krun permet de réaliser des tests de la carte apprise avec la fonction 

npc1khnparam.

61

Carte de Kohonen pour la quantification de fonction

Page 62: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

II-B°) Étude performancesII-B°) Étude performances carte SOM-NPCcarte SOM-NPC

Ce   chapitre   présente   une   petite   étude   sur   la   quantification   de   fonction  d’ordre 1 et d’ordre 2 sur la carte de Kohonen SOM­NPC. 

Des   tests   en  apprentissage   et   en  généralisation   y   ont   été   effectués.  Nous  aborderons  la  notion de   tonotopie.  De  plus  nous  analyserons   la  répartition des  neurones pour l’apprentissage de plusieurs classe de fonctions (quatre).

II-B1°)Vecteur d'entrée dimension unII-B1°)Vecteur d'entrée dimension un

a°/ Test en a pprentissage

a-1°) Représentation des 10 fonctions de la base d'apprentissage:

Voici la représentation de dix fonctions paraboliques concaténés que nous allons apprendre au réseau.

Figure 32: fonctions à apprendre

62

Carte de Kohonen pour la quantification de fonction

 f1       f2         f3          f4        f5        f6         f7        f8       f9        f10

Page 63: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

a-2 °) Expressions:

Les fonctions ont pour expressions:

avec Ki = [2.5 3 3.5 4 4.5 5 5.5 6 6.5 7] et i = [|1 10|]Nous   allons   maintenant   construire   une   base   formée   de   chacune   de   ces 

fonctions.

a-3°) Création de la base d'apprentissage:

   Pour créer la base d'apprentissage nous concaténons, pour chaque   fonction fi, le vecteur d'entrée (de dimension 1) et son image par fi. 

Figure 33: base à apprendre

Nous obtenons  le  motif  de  la   figure 33 que nous répétons  100  fois  en y incorporant du bruit (nous faisons l'hypothèse de  l'indépendance du bruit mais nous y reviendrons) pour créer la base final.

63

Carte de Kohonen pour la quantification de fonction

   f1          f2           f3         f4          f5         f6         f7          f8          f9         f10

Page 64: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

a-4°) Codage NPC

Voyons maintenant le codage effectué pour apprendre ces fonctions au réseau

FRAMESIZE= 128          une trame correspond à une fonctionFRAMESHIFT= 0 Pas d'entrelassementCODESIZE= 2 deux cellules pour la couche 1.WINPRED=1 Vecteur d'entrée de dimension 1.NPCK_DIMX= 10 dimension en abscisse.NPCK_DIMY=10  dimension en ordonnée.NPCK_W1=npc4.param0  couche 1 avant apprentissageNPCK_NW1=npc4.param1  couche 1 après apprentissageNPCK_NW2=npc4.map1      couche carte Kohonen après apprentissage.

NPCK_VOISINAGE="­D square ­g 10 ­G 0.1" Nous prendrons toujours le voisinage maximalNPCK_PARAMITER= 30

a-41°) Structure du réseau  Pour une meilleur compréhension voici la schématisation physique du code.

  

Figure 34: structure réseau

64

Carte de Kohonen pour la quantification de fonction

entreesortie

.

.

.

entreesortie

Page 65: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Remarque:

     a-42° ) C odage

Les différentes instructions à saisir sont représenté ci­dessous.

• Découpage en trame   segframe base.bin base.frm $FRAMESIZE $FRAMESIFT ­t short

• Permutation des données   permut base.frm $FRAMESIZE base.frm ­t short

• Définition du réseau prédictif   npc1def $CODESIZE $WINPRED ­o $NPCK_W1

• Algorithme d'apprentissage   npc1khnparam  $NPCK_W1  base.frm  $FRAMESIZE  $NPCK_PARAMITER $NPCK_DIMX $NPCK_DIMY   ­o  $NPCK_NW1 ­l 0.1 ­f  $NPCK_NW2 ­Q error.Q $NPCK_VOISINAGE ­E

a-5°) RésultatsAprès calcul, nous avons effectués un test en apprentissage sur la carte, a 

l’aide de la commande npc1krun, dont voici les arguments,

npc1krun npc4.param1 npc4.map1 $FRAMESIZE $FRAMESIFT $NPCK_DIMX $NPCK_DIMY ­i testf1 ­G 100 ­b 6400 ­m

Remarque: Le ficher d’entrée «testf1» n’est autre que le motif d’apprentissage de la figure 32.

65

Carte de Kohonen pour la quantification de fonction

Le programme originel passe d’un vecteur d'entrée à un autre en réalisant une translation d’une seul case, il a donc fallut modifier le code pour pouvoir réaliser une translation de deux cases (Il en va de même pour l’algorithme de test « npc1krun »). 

Page 66: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Figure 35: résultat apprentissage

Ordonnancement des fonctions:Pour mieux observer la relation d’ordre de la carte voici  le cheminement 

pour chaque fonction.

Tableau 11: Ordonnancement résultat grille 10*10

Y/XY/X 11 22 33 44 55 66 77 88 99 1010

11 f4 f3 f1

22

33 f2

44 f5

55

66 f6

77 f8

88

99 f9 f7

1010 f10

66

Carte de Kohonen pour la quantification de fonction

Page 67: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Observations:Nous remarquons que nous avons bien une spécialisation d’un neurone pour 

chaque fonction.Cependant   nous   n’avons   pas   totalement   une   relation   tonotopique   entre 

chaque fonction. Cette relation est local (exemple: {f1,f2, f3} ou {f8, f9, f10} {f6,f7}).

Interprétation:Nous   constatons   que   l'algorithme   tente   d'avoir   un   répartition   la   plus 

homogène possible sur la carte au détriment de la relation tonotopique. 

Conclusion:Le   programme   tente   donc   de   répondre   au   mieux   au   compromis 

tonotopie/répartitions des données.

Hypothèse:Pour palier à  ce problème, pourquoi ne pas avoir une carte rectangulaire 

pour ainsi avoir une direction privilégié.

a-6°) Test pour une carte 10*3:

Nous   reprenons   le   même   programme   pour   une   carte   10*3   est   voici   le résultat:

Tableau 12: Ordonnancement résultat grille 10*3

11 22 33 44 55 66 77 88 99 1010

11 f8 f7

22 f9 f6 f5 f4 f3 f2 f1

33 f10

67

Carte de Kohonen pour la quantification de fonction

Page 68: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

a-7°) Test Pour une carte 30*3

Nous prenons maintenant une carte 30*3:

Figure 36: Ordonnancement résultat grille 30*3

Observation:            Nous avons bien ici deux fonctions proches pour deux neurones proches.

Conclusion:En   effectuant   une   di­symétrisation  de   la   carte  nous   obtenons   bien  une 

relation tonotopique.

b°/ bruit

Ce chapitre présente une petite étude sur le biais apporté par le bruit . Nous verrons dans une première partie les tests en apprentissage d'une  base bruité alors  que cette dernière ne l'était pas lors de l'apprentissage.     Puis nous verrons le processus inverse: une base bruité apprise pour un test sur  la même base mais débruité.

68

Carte de Kohonen pour la quantification de fonction

Page 69: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

b-1°/ Expression base non bruité(f):La base utilisé est celle du chapitre précédent sans le bruit bien sûr.On exprime la base non bruité par la fonction f tel que:

     f(x) =U(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10)(x)

b-2°/ Expression base bruité(b3):

Figure 37: allure b3 sur 100 échantillons

b-3°/ Apprentissage         Nous reprenons les paramètres du chapitre précédent pour l'apprentissage a un détail près la dimension de la grille est maintenant 30*3.

b-31°) Apprentissage base non bruitéDans   cette   partie   nous   étudions   les   effets   du   bruit   sur   le   test   en 

apprentissage. La base non bruité est apprise par la carte.Ensuite la base non bruité  est testé  sur  la carte,  les neurones gagnants 

seront donc les références (case représenté en jaune).

69

Carte de Kohonen pour la quantification de fonction

L'amplitude  du  bruit  est compris  entre  plus  sept  et  moins sept.

Page 70: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Tableau 13: neurones référents

11 22 33 44 55 66 77 88 99 1100

1111

1122

1133

1144

1155

1166

1177

1188

1199

2200

2211

2222

2233

2244

2255

2266

2277

2288

2299

3300

11 f1 f3 f6 f7 f9

22 f2

33 f4 f5 f8 f10

Observations:  Deux fonctions proches sont bien codées par deux neurones relativement 

proches.

Voyons   les   modifications   apportées   par   le   bruitage   de   la   base.   Voici   le résultat du test de la base bruité. Les dix fonctions seront désigné par les hi.

Tableau 14: résultat fonctions bruité

11 22 33 44 55 66 77 88 99 1100

1111

1122

1133

1144

1155

1166

1177

1188

1199

2200

2211

2222

2233

2244

2255

2266

2277

2288

2299

3300

11 h1

h3

h6

h7

h9

22 h2

h4

33 h5

h8

h10

Observations:Le bruit n'a pas eu d'influence sur la position de la plupart des neurones 

gagnants. Seul la fonction quatre (h4) est codée par un  autre neurone toutefois ce dernier est proche du neurone référent. En augmentant l'amplitude du bruit, une seconde fonction est codé par un nouveau neurone (h8). nous perdons localement la propriété de tonotopie , ainsi la fonction bruité h7 est plus proche de h9 que de h8.

70

Carte de Kohonen pour la quantification de fonction

Page 71: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Remarque:                     J'ai rajouté un dernier test, pour voir la robustesse de la quantification. Une nouvelle   base   est   donc   crée  avec  un  bruit   d'amplitude   plus   élevé   [­25  25].On constate alors que la moitié des fonctions bruitées ne sont plus codées par leurs neurones référents mais par un proche voisin. De plus la propriété de tonotopie est presque intégralement conservée.

b­32°)  Apprentissage base  bruité Maintenant la base bruité est apprise.

➢ La base  bruité   d'apprentissage  est   testée,   les  neurones  gagnants   seront donc les références (case représenté en jaune).

Tableau 15: neurone référent

11 22 33 44 55 66 77 88 99 1100

1111

1122

1133

1144

1155

1166

1177

1188

1199

2200

2211

2222

2233

2244

2255

2266

2277

2288

2299

3300

11 f3

f8

f10

22 f2

f4

f7

33 f1 f5

f6

f9

La base non bruité est  maintenant testé sur cette carte. Le tableau suivant (Tableau 16)  nous montre ce que l'on obtient:

71

Carte de Kohonen pour la quantification de fonction

Page 72: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Tableau 16: résultat fonctions non bruité

11 22 33 44 55 66 77 88 99 1100

1111

1122

1133

1144

1155

1166

1177

1188

1199

2200

2211

2222

2233

2244

2255

2266

2277

2288

2299

3300

11 b3

b8

b10

22 b2

b4

b7

33 b1 b5

b6

b9

Observations:Le test nous donne un résultat identique.

Conclusion:

Dans cette étude nous avons comparés le test d'apprentissage d'une base non bruité avec celui d'une base bruité et réciproquement (bruité/non bruité).

Le constat est simple le bruit n'altère pas les propriété de tonotopie de la carte de plus si un nouveau neurone vient à gagner, ce dernier sera proche de son neurone référent.

Perspectives       Il aurait été intéressant d'étudier l'amplitude limite du bruit pour laquelle la classification de fonction perd sa relation d'ordre.

72

Carte de Kohonen pour la quantification de fonction

Page 73: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

c°/ Test en généralisation

c-1°) Étude simple

c-11°) Représentation des 10 fonctions de la base d'apprentissage:

Nous  allons   réaliser   une  étude   sur   la   généralisation   avec   des   fonctions d'ordre 1.

Figure 38: Base d'apprentissage

c -12°) Expressions fonction d'apprentissage:

Les fonctions ont pour expressions:

avec Ki = [200 240 280 320 360 400 440 480 520 560]

Nous avons aussi réalisés une base de test:

73

Carte de Kohonen pour la quantification de fonction

       h1      h2        h3        h4       h5      h6       h7       h8       h9        h10

Page 74: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Figure 39: Base de test

c -13°) Expressions fonction de test:

Les fonctions ont pour expression

avec Ki = [225 270 315 360 405 450 495 540]

Pour pouvoir comparer nos résultats avec ceux de la partie I nous avons gardé scrupuleusement les même paramètres.

c-14°) Résultats

legende: cellule gagnante fonctions apprise:cellule gagnante fonctions test:jaune: base d'apprentissagevert: base de test

74

Carte de Kohonen pour la quantification de fonction

hi Ki

gi Ki

       g1         g2        g3         g4        g5        g6        g7         g8         g9       g10

Page 75: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Tableau 17: Ordonnancement généralisation

Y/XY/X 11 22 33 44 55 66 77 88 99 1010

11 h1   200 g1  225 h2   240 h4  320

22

33 g2  270

44 g7 495 h3  280 g3  315  h5 g4 360

55

66 h9  520

77 h8 480 h6 400

88 g8 540 g5 405

99 h7   440 g6 450

1010 h10 560

Interprétation:Pour   le   test   en   généralisation   (en   vert)   on   voit   bien   que   les   nouvelles 

fonctions s'intercalent bien en fonction de la valeur de leur pente.

Exemple:   La première fonction de la base de test est entre les deux première fonction 

de la base de d’apprentissage ce qui est logique car: 

h1’   < g1'  < h2’

  Cette propriété est vérifiée pour toutes les fonctions de la base d’apprentissage.

Conclusion:Il semble bien qu’une relation d’ordre ce soit établie  suivant une loi définie 

par le réseau (flèche).

75

Carte de Kohonen pour la quantification de fonction

Page 76: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

c-2°) Étude approfondie

c-2 1°) Représentation des 5 fonctions de la base d'apprentissage: Nous prenons cinq fonctions paraboliques concaténés et nous les  apprenons 

au réseau.  

Figure 40: Base d'apprentissage

c-22°) Expressions:Les fonctions ont pour expressions:

Avec Ki = [2.5 3.5 4.5 5.5 6.5] pour i = [|1 5|]

c-23°) Codage NPC

Les paramètres suivant calibrerons notre apprentissage.FRAMESIZE= 128FRAMESHIFT= 0CODESIZE= 5WINPRED=1NPCK_DIMX= 5NPCK_DIMY=5NPCK_W1=npc4.param0

76

Carte de Kohonen pour la quantification de fonction

         f1                  f2                    f3                       f4                          f5      

Page 77: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

NPCK_NW1=npc4.param1NPCK_NW2=npc4.map1

NPCK_VOISINAGE="­D square ­g 5 ­G 1" NPCK_PARAMITER= 30

c-24°) RésultatsAprès calcul, nous avons effectués un test en apprentissage sur la carte, a 

l’aide de la commande npc1krun:

Tableau 18: résultat d'apprentissage

// 11 22 33 44 55

11 f2  3.5

22 f4    5.5 f3   4.5

33

44

55 f5   6.5 f1   2.5

Observation:            La carte occupe au mieux l'espace.

On pourrait se demander comment ce répartit l' ensemble des fonctions non apprise par la carte:

Nous avons donc crées une base de test dont les valeurs de Ki évolue entre 2.5 et 7.5 par pas de 0.1. Nous obtenons le résultat suivant:

77

Carte de Kohonen pour la quantification de fonction

Page 78: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Tableau 19: résultat en généralisation

// 11 22 33 44 55

11 [4.8 5.2] [4 4.2] [3.2 3.5]

22 [5.3 5.9] [4.3 4.7]

33 [2.8   3.1]

44 3.9

55  > 6 [3.7 3.8] [2.5   2.7]

exemple:

 Les fonctions

Observations   :  Nous constatons que:

1. Tout les neurones n'ont pas appris.

2. Chaque neurone spécialisé ne contient pas une unique fonction mais un sous­ensemble de l'espace des fonctions. 

3. L'ensemble des fonctions dont  la pente est supérieur à   la plus grande fonction   apprise   est   attribué  à   un   seul   neurone,   neurone   que   je nommerais  «neurone borne supérieur »(Des tests  ont  même été  validé avec des ki > 100).

Nous allons voir l'intérêt de ce résultat à travers un exemple très simple.

78

Carte de Kohonen pour la quantification de fonction

f1(x) =2.5* x2

g(x)= 2.6 * x2

j(x) = 2.7 * x2

       sont codés par le neurone (5,5)

Page 79: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Si nous voulons qu'une carte apprenne la  fonction f(x)  = K*x2  avec K ne variant non pas entre 2.5 et 6.5 mais entre 0 et 60 avec une bonne précision, nous aurons tout   intérêt  à  avoir  un base  d'apprentissage avec  un grand nombre de fonctions et une grande grille. 

Figure 41: carte NPC-1

Le problème est très simple le temps de calcul sera très élevé.Pourquoi ne pas plutôt avoir 3 cartes de dimensions plus petites?

On leur n'apprendrait alors  des sous ensembles d'apprentissage, par exemple:

Carte 1:Une base d'apprentissage avec les k compris entre 0 et 20.

Carte 2:Une base d'apprentissage avec les k compris entre 20 et 40.

Carte 3:Une base d'apprentissage avec les k compris entre 40 et 60.

Figure 42: sous carte

79

Carte de Kohonen pour la quantification de fonction

Page 80: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Algorithme:Lorsque   l'on   testera   une   fonction   quelconque,   on   commencera   par   la 

première   carte.  On  approximera   son   expression   en   fonction  de   la   position   du neurone  gagnant   sauf   si   ce  dernier   ce   trouve  être   le  neurone  borne   supérieur auquel cas on testera  la fonction sur la seconde carte et ainsi de suite.

c-3°) Étude vecteur entrée

Un nouvelle  avantage de  la  carte SOM­NPC par rapport  à  une carte de Kohonen classique:

 Pour une carte de Kohonen, la taille du vecteur d'entrée est fixe. Pour le codeur NPC nous avons la possibilité de prendre un sous ensemble de l'espace de définition, car après apprentissage d'une fonction, on pourrait penser que nous n'avons pas besoin de l'ensemble des points pour la caractériser.

  La   taille   du   vecteur   d'entrée   n'est   donc   pas   nécessairement   fixe   en quantification fonctionnelle. 

c-31°) Base de test:Maintenant voyons quelle impacte aura le sous échantillonnage de la base 

d'apprentissage.   Nous   reprenons   la   base   de   la   première   étude   (test   en apprentissage)  et nous comparons avec les même fonction mais avec des points en moins (base de test). 

c-32°) RésultatsNous supprimons  un point sur dix de chacune des dix fonction apprise pour 

construire la base de test.

légende: cellule gagnante fonctions apprise:cellule gagnante fonctions test:jaune: base d'apprentissagevert: base sous échantillonnée

80

Carte de Kohonen pour la quantification de fonction

hi Ki

gi Ki

Page 81: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Tableau 20: Ordonnancement généralisation

Y/XY/X 11 22 33 44 55 66 77 88 99 1010

11 h10 h7

22 g10 g8 g7

33 h9 h8

44 g9 h6

55 g6

66 g4 h5

77 g3 g5

88

99 h2/g2

h4

1010 h1/g1 h3

Observation:Nous   constatons  qu'il   y  a  des  différences  parfois   très  grande   entre  une 

fonction et son homologue sous échantillonné.

Conclusion:Les résultats sont correcte pour certaines fonction (h1,h2,g5,g7,g8,g9,g10) 

mais très mauvaise pour d'autres (g3,g4,g5).

Interprétation:Je pense que le résultat moyen obtenus est principalement dût au fait que 

l'ensemble de définition de chaque fonction était déjà, à la base, trop petit pour pouvoir faire du sous échantillonnage. Il serait donc utile de réaliser ce test avec des trames plus grandes.

81

Carte de Kohonen pour la quantification de fonction

Page 82: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

d°/ clusterisation

Nous allons tout d'abord voir le rôle,  ou plutôt,  les fonctions attribuées à  chaque neurone présent sur la carte après apprentissage de plusieurs ensembles de  fonctions et ensuite nous verrons si il y a clusterisations.

d-1°) Représentation des fonctions de la base d'apprentissage:Nous prenons maintenant 4 classes de fonctions différentes:

Figure 43: base d'apprentissage

  Nous gardons les mêmes options que pour le test en apprentissage (a°/) sauf que la grille est de taille 16*16 et que la première couche dispose maintenant de cinq cellules .

82

Carte de Kohonen pour la quantification de fonction

f

parabole

g

racine carré hyperbole sinus

h i

Page 83: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

d-2°) RésultatsVoici la représentation du test en apprentissage.

Tableau 21: résultat apprentissage

11 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515 1616

11 g7 f9 i1 f6 i2 i3

22 g10 g9 g1

33 g8 g2 f7

44 i4

55 g6 g4 i5

66 g5 g3 f8 i6

77 i7

88 f10 i8 i10

99 f1 f5 i9

1010 f4

1111 h5

1212 f3 h10

1313 h4 h7 f2

1414 h3 h9

1515 h1

1616 h2 h6 h8

Observations:Le réseau a bien réussi à dissocier les fonctions sinus, hyperboles et racines 

carré. Par contre ce n'est pas le cas pour les fonctions carrés.

83

Carte de Kohonen pour la quantification de fonction

Page 84: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

d-3°) SchématisationVoici la schématisation du résultat obtenue:

Figure 44: schématisation

Conclusion:Les classes de fonctions hyperboles (c1), racine carré (c2) et sinusoïdale (c3) 

sont bien dissociées, par contre la classe de fonction paraboliques est entremêlé avec c2 et c3.  La fonction qui ressemble le moins aux autres (hyperbole) est celle qui a les neurones les plus éloignés des autres classes de fonctions.

Perspective:Notre test s'est fait pour seulement cinq cellules sur la première couche or 

ces neurones modélisent l'espaces des fonctions {c1,c2,c3,c4}. On voit bien que la modélisation   faite,   est   correcte   pour   trois   des   quatre   classes,   il   serait   donc intéressant de  reproduire le test avec un nombre de cellules plus élevées .

84

Carte de Kohonen pour la quantification de fonction

Page 85: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

II-B2°)Vecteur d'entrée dimension supérieur 1II-B2°)Vecteur d'entrée dimension supérieur 1

Nous avions toujours pris jusqu'alors des vecteurs d'entrée de dimension 1,  nous allons maintenant voir  un exemple avec un vecteur d'entrée de dimension  deux.

a°/ Fonction gaussienne

a-1°) Expressions des fonctions de la base d'apprentissage:Nous apprenons cinq fonctions gaussienne pour lesquels nous faisons varier 

leur variances de 2 à 10 par pas de 2.

a-2°) Résultats en apprentissage

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

1 f1 f5

2 f2 f3 f4

Figure 45: résultat gaussienne

85

Carte de Kohonen pour la quantification de fonction

variance =10

variance = 8

variance = 2

variance = 4 variance = 6

Page 86: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Observations:Comme  la   fonction   f1  est  proche de   la   fonction  f3,  nous n'avons plus   la 

relation tonotopique d'une carte a topologie rectangulaire entrevu jusqu'alors.

Conclusion:Les gaussiennes ne sont peux être pas les meilleurs fonctions pour tester la 

tonotopie d'une carte SOM­NPC car lorsque l'on varie la variance, l'amplitude de la fonction change aussi.  En effet nous avons affaire à  une double linéarité  de fonctions qui est plus difficilement interprètable.

b°/ Fonction sinusDepuis   le   début,   nous   travaillons  avec,     en   entrée   du   réseau,  un 

vecteur et en sortie de la première couche son image par une fonction donnée. Or rien ne nous empêche de prendre n échantillon d'un signal en entrée et essayer de déterminer l'échantillon n+1 en le plaçant en sortie du réseau , c'est ce que l'on appelle de la prédiction.

b-1°) Expressions des fonctions de la base d'apprentissage:Nous disposons du signal sinusoïdal (figure 46) tout les deux cent points la 

fréquence augmente de cent Hertz. Le signal évoluera donc entre cent et mille Hertz.

Figure 46: signal sinusoïdal

86

Carte de Kohonen pour la quantification de fonction

Page 87: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

b-2°) Algorithme:Le vecteur d'entrée sera composé des  seize premiers échantillons du signal 

et la sortie désiré sera le 17 ème. Puis après l'apprentissage du premier vecteur, on prend le vecteur d'entrée suivant allant du deuxième échantillons au 17 ème pour mettre en sortie désiré le 18 ème échantillon, on réitère l'opération jusqu'à avoir balayé tout le signal.

b-3°) Résultats:   Nous avons aussi crée des signaux disposant de fréquence non apprise par 

le réseau {250 Hz, 650 Hz, 450 Hz, 850 Hz}.

Légende:en noir Fonction d'apprentissageen rouge: Fonction test

Tableau 22: résultat en généralisation

// 11 22 33 44 55 66 77 88 99 1010

11 200 Hz 100 Hz

22 250 Hz

33 300 Hz

44 650 Hz 400 Hz

55 600 Hz

66 500 Hz450 Hz

77 700 Hz 800 Hz

88

99 900 Hz850 Hz

1010 1000Hz

87

Carte de Kohonen pour la quantification de fonction

Page 88: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Observation:Nous retrouvons la tonotopie local d'une carte à topologie carré. De plus le 

test en généralisation est assez satisfaisant.

Conclusion:Les résultats obtenus en prédiction ont sensiblement les mêmes propriétés 

que   précédemment.

II­B3°)ConclusionII­B3°)Conclusion

Dans cette seconde partie, nous avons effectués:

● Des tests en apprentissage et en généralisation.● Nous avons observés l'influence du bruit sur une base d'apprentissage.● Nous avons vus la répartition de plusieurs ensemble de fonctions.● Enfin nous avons réalisés  des  tests  en apprentissage en augmentant  la 

dimension du vecteur d'entrée.

Nous pouvons conclure que l'on obtient bien la quantification fonctionnelle, c'est  à  dire une fonction sera codé  par un neurone. Nous avons aussi  observés localement une relation tonotopique pour des cartes à topologie carré, elle s'avère complète pour des cartes à topologie rectangulaire. En généralisation les fonctions non   apprises   respecte   bien   une   relation   d'ordre,   et   les   fonctions   sous échantillonnées sont relativement proches de leur référent.

Toutes   ces   propriétés   présente   une   réel   avancé   dans   la   classification automatique de signaux.

88

Carte de Kohonen pour la quantification de fonction

Page 89: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Troisième partieTroisième partie

 Test sur un signal Test sur un signal  complexecomplexe

Pour finir nous allons faire une étude très simple sur la caractérisation de  phonèmes.

89

Carte de Kohonen pour la quantification de fonction

Page 90: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

III-A°) Qu'est qu'un phonèmeIII-A°) Qu'est qu'un phonème    

III-A1°) DescriptionIII-A1°) DescriptionDans le domaine de la linguistique, un phonème [Rac05] est la plus petite 

unité discrète ou distinctive (c'est­à­dire permettant de distinguer des mots les uns des  autres)  que  l'on  puisse   isoler  par  segmentation dans   la   chaîne parlée.  Un phonème est en réalité  une entité  abstraite,  qui peut correspondre à  plusieurs sons.   Il   est   en   effet   susceptible   d'être   prononcé   de   façon   différente   selon   les locuteurs   ou   selon   sa   position   et   son   environnement   au   sein   du   mot   (voir allophone). On transcrit traditionnellement les phonèmes par des lettres placées entre des barres obliques: /a/, /t/, /r/, etc., selon la règle un phonème = un symbole.

L'identification   des   phonèmes   d'une   langue   se   fait   en   construisant   des paires  minimales,   c'est­à­dire  des  paires  de  mots  de   sens  différents  et  qui  ne diffèrent  dans   leur   forme sonore  que  par  un  seul   son   (ce   son  peut  alors  être considéré comme un phonème).

III-A2°)Présentation BASE NTIMITIII-A2°)Présentation BASE NTIMITLes phonèmes  [Rac05]  utilisés sont tirés de la base Timit.  Cette  base de 

données  phonétique   contient  des  discours  en  anglais  américain  de   très  bonne qualité.

III-B°) TestIII-B°) Test

III-B1°) phonème ao et sIII-B1°) phonème ao et s

La   bibliothèque   NPCLIB   dispose   d'un   grand   nombre   de   fonction   pour travailler sur les phonèmes. Nous avons effectués un  test avec un sous ensemble de phonèmes  /ao/ et /s/ du dialecte de Nouvelle­Angleterre . Le code se trouve en annexe I­3°/

90

Carte de Kohonen pour la quantification de fonction

Page 91: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

a°/ Test en apprentissage:

La fonction khn2map (tableau 23) permet de visualiser la répartition des phonèmes  après apprentissage.

Légende:en vert:    phonème /s/.en jaune: phonème /ao/.

Tableau 23: résultat en apprentissage des deux phonèmes

11 22 33 44 55 66 77 88 99 1010

11 s s s s

22 s s

33 s s s

44 s

55 s ao

66 s ao ao

77 s ao ao

88 ao

99 ao ao

1010 ao s

Observation:      Nous avons ici une  segmentation nette des deux phonèmes. Les phonèmes 

/s/ se trouvent majoritairement en haut à gauche alors que les phonèmes /ao/ sont en bas à droite.

91

Carte de Kohonen pour la quantification de fonction

Page 92: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

b°/ Test sur des mots

Nous   avons   ensuite   testé   des   mots   anglais   qui   contiennent  approximativement les phonèmes appris par la carte à savoir: sass, cot, caught et  coat.

b-1°) Mot sassLe mot « sass » contient le phonème /s/ et un phonème proche de /ao/.

Figure 47: résultat mot sassObservations:

Les deux régions correspondant aux deux phonèmes  /ao/  et   /s/  sont bien visible sur la carte.

92

Carte de Kohonen pour la quantification de fonction

Page 93: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

b-2°) Mot cotLe mot « cot » dispose d'un phonème proche de /ao/.

Figure 48: résultat mot cotObservation: On remarque que seul la région correspondant au phonème /ao/ est visible sur la carte.

b-3°) Mot caught

Figure 49: résultat mot caught

93

Carte de Kohonen pour la quantification de fonction

Page 94: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Observation: On remarque que seul la région correspondant au phonème /ao/ est visible 

sur la carte.

b-4°) Mot coatLe mot « caught » dispose d'un phonème proche de /ao/.

Figure 50: résultat mot coat

Observation: On remarque que seul la région correspondant au phonème /ao/ est visible 

sur la carte.

94

Carte de Kohonen pour la quantification de fonction

Page 95: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

c°/ Comparaison de deux mots

  Lorsque l'on écoute caught et coat on se rend compte qu'ils ont pratiquement la   même   prononciation,   voyons   maintenant   si   il   en   est   de   même   avec   leurs représentations respective sur une  carte SOM­NPC.Remarque:

Nous utilisons la commande «comparer» de l'afficheur mapview pour mettre en arrière plan les neurones activés lors du test du mot coat et nous le comparons au mot caught.

Figure 51: résultat comparaison

Observation:Nous constatons que deux mots proches sont codés, à peu de chose près, par 

les mêmes neurones.

95

Carte de Kohonen pour la quantification de fonction

Page 96: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

III-C°) ConclusionIII-C°) ConclusionDans ce chapitre nous avons réalisés l'apprentissage de deux phonèmes et 

nous  avons testés  des mots sur la carte. Nous   avons   un   relation   tonotopique   entre   deux   mots   proche   et   leur 

représentation sur la carte.Ce résultat est très intéressant car il introduit une étude à plus au niveau 

sur la caractérisation du bruit .

96

Carte de Kohonen pour la quantification de fonction

Page 97: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

ConclusionConclusionJ'ai effectué six mois de stage sur la quantification de fonction. Ce stage a 

été   pour  moi   l'occasion  de  mettre  en  pratique   et   d'enrichir  des   connaissances touchant   à   des   disciplines   diverses   comme   le   langage   C,   C++,   les   réseaux neurones, le réseaux, le traitement du signal, la phonétique... Les étapes de mon travail   ont   été   difficile   à   gravir,   et   beaucoup   de   retour   en   arrière   ont   été nécessaire. Ce stage c'est articulé en trois phases:

La première grande phase fut le développement de l'afficheur. Ce travail a donné lieux à une réflexion sur des outils susceptible d'extraire des informations pragmatique (courbes statistiques, courbe bilan, rapport, etc...) sur un traitement d'une carte de Kohonen.

La seconde phase importante fut l'étude des performances du réseau. SOM­NPC réalisant de la quantification de fonction, nous devions réaliser des études de fonction à travers la carte. L'étude de fonction   donne un éventail de possibilités quasi infini. j'ai donc étudié l'influence du bruit, la généralisation de fonctions et de vecteur d'entrée (sous échantillonnage), clusterisation, etc... J'ai aussi réalisé d'autre études qui ne paraissent pas dans ce mémoire (pour peu qu'il ne fasse pas 200 pages) comme le sens de variation (exemple: représentation de dix fonctions croissantes et 10 décroissante sur une carte) ou encore la segmentation d'ordre (  exemple:  dix   fonctions  d'ordre un et  dix   fonction d'ordre deux).  Avec  plus  de temps, aurait put être aborder un aspect important :l'influence d'une discontinuité sur un signal.

Enfin   la  dernière  phase  consistait  à  étudier  SOM­NPC sur  des   signaux réels.   J'ai voulu montrer dans cette partie, que l'on pouvait définir un signal de parole comme un sous ensemble de fonctions ordonnées.  Malheureusement,   faute de temps, je n'ai pas pu voir la classification de toute les familles de consommes (fricative, plosive, nasal, etc..) sur une  carte 50*50 que je voulais montrer au final.

Pour finir, je dirais que j'ai trouvé ce stage intéressant car il y avait une grosse partie développement ( ce dernier était dédié au service de la recherche ) et une   grosse   partie   recherche   dans   un   domaine   non   exploré   à   savoir   la quantification de fonction.

97

Carte de Kohonen pour la quantification de fonction

Page 98: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

BibliographieBibliographie[BEN06]

[Cast03]

[BOU93]

[DRE99]

[Gas06­1]

[GCZF05]   

98

Carte de Kohonen pour la quantification de fonction

BENNANI  Younes.  Les  réseaux  de  neurones.  In:  Apprentissage connexionniste. Hermes, 2006, 362p. ISBN : 978­2­7462­1337­1 / 2­7462­1337­0.

Christian  Casteyde.  La  bibliothèque  standard  C++.  In  Cours  de C/C++.2003

BOUSSAID.  Auto­Organisation  dans  un  réseau  de  neurones.  In Pluridisciplinarité  dans  les  sciences  cognitives.  Hermes,1993,  288p. ISBN : 2­86601­373­5.

G.  Dreyfus.  Une  application  de  classification  utilisant  un  réseau  de Kohonen. In:les réseaux de neurones. Eyrolles, 1999.ISBN13 : 9782212122299

Gas. Cartes de Kohonen pour la classification de fonctions[en ligne].Disponible sur: http://www.edu.upmc.fr/sdi/signal­images/BGas/Stages/M2/Kohonen/Kohonen.html(consulté le 9 mars 2007).

B. Gas, M. Chetouani, J.L. Zarader, F. Feiz. The Predictive Self­Organizing Map : application to speech features extraction [en ligne].Disponible sur http://www.edu.upmc.fr/sdi/signal­images/BGas/Stages/M2/Kohonen/gasWSOM05.pdf (consulté le 14 mars 2007).

Page 99: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

[GCZ06]

[ISIR07]

[ OL02] 

 

[QT­1]

[QT­2]

[Rac05]

[Wik­01]

99

Carte de Kohonen pour la quantification de fonction

B. Gas, M. Chetouani, J.L. Zarader. Extraction de caractéristiques non linéaire et discriminante :application à la classification de phonèmes [en ligne]. Disponible sur http://www.edu.upmc.fr/sdi/signal­images/BGas/Stages/M2/Kohonen/gasTS06.pdf (consulté le 14 mars 2007).

Institut  des  Systèmes  Intelligents  et  Robotique  [en  ligne].  Disponible sur: http://isir.robot.jussieu.fr/ (consulté le 11 mars 2007).

J.M.  Ogier  et  P.  Loonis.  Cartes  de  Kohonen[en  ligne].Disponible sur:http://perso.orange.fr/kohonen/ (consulté le 19 mars 2007)

Qt's Classes[en ligne]. Disponible sur: http://doc.trolltech.com/4.2/classes.html (consulté le 28 mars 2007).

Forum des développeurs QT[en ligne]. Disponible sur: http://www.qtfr.org/ (consulté le 2 avril 2007).

Julien Rachedi. Reconnaissance et classification de phonèmes. 2005, Laboratoire IRCAM, 50p.

Réseau de neurone [en ligne]. Disponible sur: http://fr.wikipedia.org/wiki/Réseau_de_neurones (consulté le 15 mars 2007).

Page 100: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

Annexes:Annexes:

Annexe I°­1/   Rapport automatique............................................page 101

Annexe I°­2/    Code signal radio .................................................page 104

Annexe I°­3/   Code phonème /ao/ et /s/ .......................................page 105

100

Carte de Kohonen pour la quantification de fonction

Page 101: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

==========================================================================================

Annexe I°-1/ Rapport automatiqueAnnexe I°-1/ Rapport automatique==========================================================================================

Voici les trois pages du rapport imprimable générées par l'interfacemapview:

101

Carte de Kohonen pour la quantification de fonction

Page 102: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

102

Carte de Kohonen pour la quantification de fonction

Page 103: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

103

Carte de Kohonen pour la quantification de fonction

Page 104: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

==========================================================================================

Annexe I°-2/ Code signal radioAnnexe I°-2/ Code signal radio==========================================================================================

Voici le  code utilisé  pour le  test d'apprentissage effectué  sur une carte de  Kohonen:

# Chargement du signal :# Chargement du signal :wavread rmc.wav rmc.short ­t short

# segmentation en trames de 512 :# segmentation en trames de 512 :segframe rmc.short rmc.frm 512 256

# Codage LPC 12 coefficients :# Codage LPC 12 coefficients :codlpc rmc.frm 512 12 rmc.lpc

#definition d'une carte de Kohonen 2D 10x10#definition d'une carte de Kohonen 2D 10x10khn2def 12 10 10 ­o carte0.khn2def

#Apprentissage de la carte#Apprentissage de la cartekhn2train carte0.khn2def carte100.khn2def rmc.lpc 300 ­l 0.1 ­v 8 ­Q error.Q ­P 10

#test #test khn2run carte100.khn2def rmc.lpc rmc.label ­m rmc.map

104

Carte de Kohonen pour la quantification de fonction

Page 105: Mémoire Carte de Kohonen pour la quantification de fonctionchronos.isir.upmc.fr/~gas/pam/img_auth.php/4/47/Diedhou... · 2011. 3. 23. · carte de Kohonen prédictive [GCZF05] [GCZ06].

==========================================================================================

Annexe I°-3/ Code phonème ao et sAnnexe I°-3/ Code phonème ao et s==========================================================================================

           Voici le code utilisé  pour le test d'apprentissage des phonème /s/ et /ao/ effectué sur une carte NPC­1:

# Chargement des phonèmes ao et s :# Chargement des phonèmes ao et s :timitgetphn  ­p /media/cdrom1 s+ao.phone s+ao.index s+ao.size s+ao.label ao s ­d DR1 ­k AKS0 ­s SA1,SA2

# segmentation en trames de taille 256 :# segmentation en trames de taille 256 :segframe   s+ao.phone   s+ao.index   s+ao.size   s+ao.frm   256   128   s+ao.label s+ao.frm.label ­e

#Permutation des données :#Permutation des données :permut s+ao.frm 256 s+ao.frm ­o s+ao.permut ­t shortpermut s+ao.frm.label 1 s+ao.frm.label ­i s+ao.permut ­t ascii

#definition d'une carte NPC­1 2D 10x10#definition d'une carte NPC­1 2D 10x10npc1def 16 16 ­o npc4.param0

#Apprentissage de la carte#Apprentissage de la cartenpc1khnparam   npc4.param0   s+ao.frm   256   10   10   10   ­o   npc4.param1   ­l   0.1   ­f npc4.map1 ­Q error.Q ­D gauss ­g 10 ­G 0.1 ­i 0

#test #test npc1khnrun npc4.param1 npc4.map1 s+ao.frm s+ao.map 256 10 10 ­W winner ­s

# classification# classificationkhn2map 10 10 winner s+ao.frm.label ­o nw2.labelkhn2class 10 10 nw2.label winner winner.label

# score# scorescore winner.label s+ao.frm.label score winner.label s+ao.frm.label 

105

Carte de Kohonen pour la quantification de fonction