0% ont trouvé ce document utile (0 vote)
160 vues106 pages

Mémoire

Ce mémoire traite de la reconnaissance automatique de la parole et des réseaux de neurones artificiels. Il présente les concepts clés de ces domaines comme les méthodes de reconnaissance, l'architecture des systèmes de reconnaissance et les différents types de réseaux de neurones. Le mémoire contient également un sommaire détaillé ainsi que des remerciements, une dédicace et des résumés en anglais et en arabe.

Transféré par

Hasnaa Abdallaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
160 vues106 pages

Mémoire

Ce mémoire traite de la reconnaissance automatique de la parole et des réseaux de neurones artificiels. Il présente les concepts clés de ces domaines comme les méthodes de reconnaissance, l'architecture des systèmes de reconnaissance et les différents types de réseaux de neurones. Le mémoire contient également un sommaire détaillé ainsi que des remerciements, une dédicace et des résumés en anglais et en arabe.

Transféré par

Hasnaa Abdallaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la


Recherche Scientifique
Université Larbi Ben M’hidi -Oum El Bouaghi-
Faculté des Sciences Exactes et des Sciences de la Nature et de
la Vie
Département des Mathématiques et Informatique

N° D’ordre : ……………………….
Série : …….………………………..

MEMOIRE Présenté
EN VUE DE L’OBTENTION DU DIPLOME DE MASTER EN
INFORMATIQUE
OPTION : Vision Artificielle
Thème

Réalisé par : Encadré par :


 Khelil Assia Mr Amiar Lotfi
 Berrah Souheme

Devant le jury composé de :


 Mme. Maziz Asma (Présidente)
 Mr. Boulkamh Chouaib (Examinateur)

Année Universitaire 2021/2022


Sommaire

Sommaire ......................................................................................................................... i
Remerciements…………..…………………………………………………………….vi
Dédicace………………………………………………………………………………vii
Résumé…………………………………………………………………………………x
Abstract………………………………………………………………………………..xi
‫…………الملخص‬..……………………………………………………………………..xii
Liste des figures ........................................................................................................... xiii
Liste des tableaux ......................................................................................................... xv
Liste des abréviations………………………………………………….………..……xvi
Introduction Générale ..................................................................................................... 1

Chapitre 1 : La reconnaissance automatique de la parole (RAP)............................ 3


1. Introduction ................................................................................................................ 3
2. Innovation de RAP ................................................................................................... 4
3. Quelques définitions ................................................................................................ 5
3.1. Définition de son…………………………………………………………………..5
3.2. Définition de la parole……………………………………………………………..5
3.3. L'appareil phonatoire………………………………………………………………5
4. Le principe de production de la parole..................................................................... 6
5. Définition de la reconnaissance automatique de la parole ....................................... 6
6. Modes de fonctionnement ........................................................................................ 7
6.1. Dépendant du locuteur (mono-locuteur) .................................................................. 7
6.2. Multi-locuteur .......................................................................................................... 7
6.3. Indépendant du locuteur ........................................................................................... 7
7. Mode d’élocution ..................................................................................................... 7
7.1. Mots isolés ............................................................................................................... 7
7.2. Mots enchaînés (Mots connectés) ............................................................................ 8
7.3. Parole continue ......................................................................................................... 8
8. Les méthodes de reconnaissance automatique de la parole ..................................... 9

i
8.1. Approche globale ..................................................................................................... 9
8.2. Approche analytique ................................................................................................ 9
9. Principe général de la méthode globale et analytique .............................................. 9
10. Mesures de performance ........................................................................................ 10
11. Architecture du système de reconnaissance automatique de la parole .................. 10
11.1.Prétraitement......................................................................................................... 11
11.2.Extraction de fonctionnalités ................................................................................ 12
11.3.Décodage .............................................................................................................. 13
11.4.Modélisation acoustique ....................................................................................... 13
11.5.La modélisation linguistique ................................................................................ 16
11.6.Post-traitement ...................................................................................................... 17
12. Domaines d’application de la reconnaissance automatique de parole ................... 17
13. Conclusion ............................................................................................................. 18

Chapitre 2 : Les réseaux de neurones artificiels (RNA) ......................................... 19


1. Introduction ............................................................................................................ 20
2. Historique ............................................................................................................... 20
3. Le neurone biologique ........................................................................................... 21
4. Les neurones formels ............................................................................................. 22
5. Définition des réseaux de neurones artificiels ....................................................... 25
6. Architecture des réseaux de neurones .................................................................... 26
6.1. Les réseaux de neurones non bouclés "feed-forward " .......................................... 26
6.2. Les réseaux de neurones bouclés "Feed-back" ...................................................... 27
7. Modèles des réseaux de neurones .......................................................................... 28
7.1. Modèle de Hopfield ............................................................................................... 28
7.2. Les cartes auto organisatrices de Kohonen ............................................................ 29
7.3. Le modèle de Perceptron........................................................................................ 29
7.4. Le modèle ADALINE (Adaptive Linear Element):............................................... 30
7.5. Les réseaux ART (Adaptive resonance theory) ..................................................... 30
8. Apprentissage des réseaux de neurones ................................................................. 30
9. Les règles d’apprentissage ..................................................................................... 31
9.1.La règle de Hebb .................................................................................................... 31
9.2.La règle delta .......................................................................................................... 32
9.3.La règle d'apprentissage compétitif ........................................................................ 32

ii
9.4.La règle de corrélation en cascade.......................................................................... 32
9.5.La règle de correction ............................................................................................. 32
9.6.La règle de rétropropagation .................................................................................. 32
10. L'apprentissage profond ( Deep Learning ) ........................................................... 33
11. Types d'algorithmes utilisés dans L'apprentissage profond ................................... 33
11.1.Réseaux neuronaux convolutifs (CNN) : ............................................................. 33
11.2.Réseaux adversariaux génératifs (GAN) .............................................................. 33
11.3. Réseaux de mémoire à long terme et à court terme (LSTM)……………………………34
11.4.Réseaux neuronaux récurrents (RNN).................................................................. 34
11.5.Perceptrons multicouches (MLP) ......................................................................... 34
11.6.Réseaux à fonction de base radiale (RBFN)......................................................... 35
11.7.Cartes auto-organisées (SOM) ............................................................................. 35
11.8.Machines de Boltzmann restreintes (RBM) ......................................................... 36
11.9.Réseaux de croyance profonds (DBN) ................................................................. 36
11.10.Auto-Encodeurs .................................................................................................. 37
12. Conclusion ............................................................................................................. 37

Chapitre 3 : Les réseaux de neurones convolutifs (CNN) ....................................... 38


1. Introduction ............................................................................................................ 39
2. Intelligence artificielle ........................................................................................... 39
3. Machine Learning .................................................................................................. 39
4. Les différents algorithmes d'apprentissage du Machine Learning ......................... 39
4.1. Les algorithmes d’apprentissage supervisé ............................................................ 39
4.1.1.Régression linéaire .............................................................................................. 40
4.1.2.Régression logistique........................................................................................... 40
4.1.3.Arbres de classification et de régression ............................................................. 41
4.1.4.K-NN (K-nearest neighbors) ............................................................................... 41
4.1.5.Naïve Bayes Classifier ........................................................................................ 42
4.2. Les algorithmes d’apprentissage non supervisé ..................................................... 42
4.2.1.K-MEANS ........................................................................................................... 43
4.2.2.Clustering hiérarchique ....................................................................................... 43
4.2.3. Algorithme Apriori……………………………………………………………..44
4.2.4. Analyse en composantes principales (ACP)……………………………...……44

iii
4.2.5. Décomposition en valeurs singulières (SVD)……………………...…………..45
4.3. Les algorithmes d’apprentissage par renforcement ............................................... 45
4.3.1. Q-Learning……………………………………………………………………..45
4.3.2. Algorithme basé sur un modèle (model-based)………………………………..46
5. Deep Learning ........................................................................................................ 46
6. Deep Learning VS Machine Learning ................................................................... 47
6.1. Extraction des caractéristiques ............................................................................... 47
6.2. La performance ...................................................................................................... 47
6.3. Le fonctionnement ................................................................................................. 47
7. Les architectures de Deep Learning ....................................................................... 48
7.1. Les réseaux de neurones profonds ......................................................................... 48
7.2. Les réseaux de neurones récurrents ....................................................................... 48
7.3. Les réseaux récurrents à mémoire court et long terme .......................................... 49
7.4. Les réseaux de neurones convolutifs ..................................................................... 49
8. Les réseaux de neurones Convolutifs..................................................................... 49
8.1. Les couches de CNN .............................................................................................. 50
8.1.1.Couche convolution (CONV) .............................................................................. 50
8.1.2.Couche de pooling (POOL) ................................................................................. 51
8.1.3.Couche de correction (ReLU) ............................................................................. 52
8.1.4.Couche entièrement connectée (FC) ................................................................... 52
8.1.5.Couche de perte (LOSS) ...................................................................................... 52
8.2. Les paramètres de CNN ........................................................................................ 52
8.2.1.Nombre de filtres ................................................................................................. 52
8.2.2.Forme du filtre ..................................................................................................... 52
8.2.3.Forme du Max Pooling ........................................................................................ 53
9. Le CNN et la reconnaissance vocale...................................................................... 53
10. Avantage de CNN .................................................................................................. 54
11. Conclusion ............................................................................................................. 54

Chapitre 4 : Conception & Réalisation .................................................................... 56


1. Introduction ............................................................................................................ 56
2. Les CNNs pour la classification des audios ........................................................... 57
3. Travaux connexes .................................................................................................. 57
4. Architecture générale ............................................................................................. 59

iv
5. Architecture détaillée du système proposé............................................................. 60
5.1 Architecture du modèle CNN ................................................................................ 60
5.1.1 Description du modèle CNN ............................................................................... 61
6. Base de données (DataSet)..................................................................................... 62
6.1 La source de la base utilisée ................................................................................... 62
6.2 Informations sur l'ensemble de données ................................................................ 63
6.3 Informations sur les attributs ................................................................................. 63
7. Paramétrisation du signal vocal ............................................................................. 63
7.1 Résultats expérimentaux ........................................................................................ 63
8. Environnement de développement ......................................................................... 65
8.1 Python .................................................................................................................... 65
8.2 Anaconda ............................................................................................................... 65
8.3 Google colab .......................................................................................................... 65
8.4 Librosa ................................................................................................................... 66
8.5 Numpy.................................................................................................................... 66
8.6 Pandas .................................................................................................................... 66
8.7 Keras ...................................................................................................................... 66
8.8 Tensorflow ............................................................................................................. 67
8.9 Matplotlib ............................................................................................................... 67
9. Etapes d’implémentation ....................................................................................... 67
9.1 Importation de données .......................................................................................... 67
9.2 Pré-traitement de données ...................................................................................... 68
9.3 Lire des fichiers de données ................................................................................... 68
9.4 Suppression des ligne blanc (NaN) ........................................................................ 68
9.5 Conversion des coefficients MFCC en spectrogramme ......................................... 69
9.6 Préparation des données ......................................................................................... 71
9.7 Augmentation des données .................................................................................... 72
9.8 Visualisation des spectrogrammes ......................................................................... 72
9.9 Création du modèle ................................................................................................ 73
10. Résultats et discussion ........................................................................................... 73
10.1 Les mesures d’évaluation ..................................................................................... 73
10.2 Comparaison ......................................................................................................... 79
11. Conclusion ............................................................................................................. 79

v
Conclusion Générale ................................................................................................... 80
Références bibliographiques…........………………………………………………….81

vi
Nous tenons à remercier Allah le tout puissant qui nous a donné
la santé, la volonté et le courage de faire ce travail.

Nous tenons tout d’abord à remercier notre encadreur,


Mr Amiar Lotfi, pour sa disponibilité,
et pour ses précieux conseils tout au long de ce travail.

Nous tenons également à remercier les membres du jury qui ont


bien voulu accepter d’examiner ce travail.

Bien entendu, Nous tenons surtout á remercier nos parents


pour leurs sacrifices et leur patience, tout au long de nos vies.

Nous remercions toutes les personnes qui ont contribué de près


ou de loin dans l'accomplissement de ce travail.
Et à tous ceux que nous n’avons pas cités, nous remercions
toutes nos familles et nos amis.

Merci pour tout le monde

Assia et Souheme

vi
À mes très chers parents adorés qui m‘ont fait bénéficier,
grâce à leur invocation et à leur bénédiction, à avoir la confiance et

l'espoir au cours de la rédaction de ce travail .


À toute ma famille.

A toute personne qui a participé de près ou de loin pour


l’accomplissement de ce modeste travail.
.
À tous mes amis et collègues avec qui j’ai partagé les
plus beaux et inoubliables moments de ma vie surtout Olya et Zeyneb
À toutes les personnes qui m’ont connu, soutenu et aimé.
Je dédie ce modeste travail.
Enfin, pour finir et pour être sûre de n’oublier personne,
nous le dédions a tout le monde.

Berrah Souheme

vii
Je tiens à la fin de ce travail à remercier "ALLAH", qui m'a donné la patience
et le contentement pour surmonter toutes ces difficultés, matérielles,
morales, psychologiques et de santé.

A celle qui a été épuisée durant des années pour moi, qui m’as facilité les pas
, qui mérite cette réussite, la lumière de mes yeux "ma mère" .

A "mon cher père", que Dieu lui fasse miséricorde.

A Mes ailes, mes chéries soeurs :"Fayrouz" et "Fatima"

A Mes chers amis : "Salima,Zahra,Souhila,Roufaida,Imen,Chahinda".

A toute personne qui m'a soutenu même par un simple mot gentil qui m'a
fait du bien , "merci beaucoup"

Khelil Assia
²
viii
Résumé :
Le problème de la reconnaissance automatique de la parole (RAP) est un domaine d’étude active depuis les
années 50. Parmi les modèles les plus utilisés dans ce domaine, les réseaux de neurones, plus particulièrement, le
perceptron multi-couches (PMC).

Malgré l’efficacité des réseaux de neurones, qui s’avèrent être des outils performants de reconnaissance des
formes en général et de la parole en particulier, grâce à leur capacité d’apprentissage, de généralisation et de
classification, il existe encore des problèmes liés à leur style d’apprentissage.

Ces limitations ont conduit à proposer d’autres techniques telle que les réseaux de neurones convolutionnels
(CNN, Convolution Neural Network), afin de remédier aux inconvénients et aux limites de ce paradigme, tout en
améliorant le taux de reconnaissance. Les réseaux de neurones convolutionnels sont des réseaux de neurones
multicouches qui sont spécialisés dans des tâches de reconnaissance de forme.

Le présent sujet consiste à proposer un modèle basé sur les réseaux de neurones convolutionnels. Un avantage
majeur des réseaux convolutifs est l’utilisation d’un poids unique associé aux signaux entrant dans tous les
neurones d’un même noyau de convolution. Cette méthode réduit l’empreinte mémoire, améliore les
performances et permet une invariance du traitement par translation. C'est le principal avantage du CNN par
rapport au PMC, qui lui considère chaque neurone indépendant et donc affecte un poids différent à chaque signal
entrant.

Nous proposons une application du modèle conçu à la reconnaissance des chiffres arabes parlés isolés.

Mots clés : La reconnaissance automatique de la parole (RAP), Les chiffres arabes, Réseaux de neurones
convolutifs (CNN), MFCC, Spectrogramme

x
Abstract:
The problem of automatic speech recognition (ASR) has been an active field of study since the 1950s. Among
the most used models in this field, neural networks, more particularly, the multi-layer perceptron (MLP).

Despite the effectiveness of neural networks, which prove to be powerful tools for pattern recognition in general
and speech in particular, due to their learning capacity, generalization and classification, there are still problems
related to their learning style.

These limitations have led to the proposal of other techniques such as convolutional neural networks (CNN), in
order to remedy the disadvantages and limitations of this paradigm, while improving the recognition rate.
Convolutional neural networks are multilayer neural networks that specialize in pattern recognition tasks.

The present subject consists in proposing a model based on convolutional neural networks. A major advantage of
convolutional networks is the use of a single weight associated with the signals entering all the neurons of the
same convolution kernel. This method reduces the memory footprint, improves performance, and allows
translational processing invariance. This is the main advantage of CNN compared to MLP, which considers each
neuron independent and therefore assigns a different weight to each incoming signal.

We propose an application of the proposed model for Arabic spoken digits recognition.

Keywords: Automatic Speech Recognition (ASR), Arabic digits, Convolutional neural networks(CNN), MFCC,
Spectrogram

xi
‫الملخص‪:‬‬
‫مجاًل نش ا‬
‫طا للدراسة منذ الخمسينيات من القرن الماضي‪ .‬من بين النماذج األكثر استخدا اما‬ ‫ا‬ ‫كانت مشكلة التعرف التلقائي للكالم (‪)RAP‬‬
‫في هذا المجال ‪ ،‬الشبكات العصبية ‪ ،‬وبشكل أكثر تحديداا ‪ ،‬اإلدراك متعدد الطبقات (‪.)PMC‬‬
‫على الرغم من فعالية الشبكات العصبية ‪ ،‬والتي أثبتت أنها أدوات قوية للتعرف على األنماط بشكل عام والكالم بشكل خاص ‪ ،‬وذلك‬
‫بفضل قدرتها على التعلم والتعميم والتصنيف ‪ً ،‬ل تزال هناك مشاكل تتعلق بأسلوب التعلم‪.‬‬
‫أدت هذه القيود إلى اقتراح تقنيات أخرى مثل الشبكات العصبية التالفيفية (‪ ، )CNN‬من أجل التغلب على عيوب وقيود هذا النموذج ‪،‬‬
‫مع تحسين معدل التعرف‪ .‬الشبكات العصبية التالفيفية هي شبكات عصبية متعددة الطبقات متخصصة في مهام التعرف على األنماط‪.‬‬
‫يتمثل الموضوع الحالي في اقتراح نموذج يعتمد على الشبكات العصبية التالفيفية‪ .‬الميزة الرئيسية للشبكات التالفيفية هي استخدام وزن‬
‫واحد مرتبط باإلشارات التي تدخل جميع الخاليا العصبية لنفس نواة اًللتواء‪ .‬تقلل هذه الطريقة من أثر الذاكرة ‪ ،‬وتحسن األداء ‪،‬‬
‫وتسمح بثبات المعالجة الترجمية‪ .‬هذه هي الميزة الرئيسية لـ ‪ CNN‬مقارنةا بـ ‪ ، PMC‬والتي تعتبر كل خلية عصبية مستقلة وبالتالي‬
‫تعين وزنا ا مختلفا ا لكل إشارة واردة‪.‬‬
‫نقترح تطبيق النموذج المصمم للتعرف على األرقام العربية المنطوقة المعزولة‪.‬‬

‫الكلمات المفتاحية‪:‬‬
‫التعرف التلقائي على الكالم )‪ ، (RAP‬األرقام العربية ‪ ،‬الشبكات العصبية التالفيفية )‪ ،MFCC ، (CNN‬مخطط الطيف‬
‫‪.‬‬

‫‪xii‬‬
Liste des figures

Figure 1. 1: Innovation du RAP .............................................................................................................. 4


Figure 1. 2: Coupe de l’appareil phonatoire humain ............................................................................... 5
Figure 1. 3: Modèle physiologique de la production de la parole ........................................................... 6
Figure 1. 4: Reconnaissance de mots isolés ............................................................................................ 8
Figure 1. 5: Schéma de principe d'un système de reconnaissance de la parole continue ........................ 9
Figure 1. 6: Mécanisme du système de reconnaissance vocale ............................................................. 11
Figure 1. 7: Architecture d'un système de reconnaissance vocale typique ............................................ 11
Figure 1. 8: Blocage du cadre ................................................................................................................ 13
Figure 1. 9: Exemple d’un HMM à 3 états émetteurs ........................................................................... 14
Figure 1. 10: Architecture d’un modèle hybride HMM/DNN............................................................... 16

Figure 2. 1: Modèle d’un neurone biologique. ...................................................................................... 22


Figure 2. 2: Modèle d’un neurone formel ............................................................................................. 23
Figure 2. 3: Fonction Sigmoïde. ............................................................................................................ 24
Figure 2. 4: Fonction Heaviside. ........................................................................................................... 24
Figure 2. 5: Fonction Signe. .................................................................................................................. 24
Figure 2. 6: Fonction linéaire à seuil ..................................................................................................... 24
Figure 2. 7: La structure d'un neurone artificiel .................................................................................... 25
Figure 2. 8: Réseaux de neurones monocouches. .................................................................................. 26
Figure 2. 9: Réseau proactif complètement connecté avec une seule couche cachée. .......................... 27
Figure 2. 10: Réseau à connexions locales. ........................................................................................... 27
Figure 2. 11: Schéma de réseau de neurones bouclé. ............................................................................ 28
Figure 2. 12: Modèle de Hopfield ......................................................................................................... 29
Figure 2. 13: Le modèle de Kohonen. ................................................................................................... 29
Figure 2. 14: La séparation linéaire entre la classe A et B. ................................................................... 30
Figure 2. 15: Erreur moyenne sur la base d’apprentissage en fonction du nombre d’itérations. .......... 31

Figure 3.1 : Régression linéaire………………………………………………………………………..40


Figure 3.2 : Régression logistique …………………………………………………………………….40
Figure 3.3 : Un exemple d’arbre ……………………………………………………….……… ……..41
Figure 3.4 : Méthode des K plus proches voisins……………………….……………………………..41
Figure 3.5 : Naïve Bayes Classifier …………………………………………………………………...42
Figure 3.6 : Méthode de K-MEANS………………………………………….………………………..43
Figure 3.7 : Méthode de Clustering hiérarchique …………………………………...……….………..43
Figure 3.8 : Un exemple d’application de l’algorithme Apriori………………………....…….………44
Figure 3.9 : Analyse en composantes principales………………………………………..…….………44
Figure 3.10 : Appliquez la méthode de SVD à la matrice A……………………………….….………45
Figure 3.11 : Diagramme de Q-Learning ……………………………………………………….…….46
Figure 3.12 : Model-based…………………………………………………………………….….……46
Figure 3. 13: Topologie de réseau de neurones……………………………………………….….……47
Figure 3. 14 : Topologie de réseau de neurones profond ……………………………….……….……48
Figure 3.15 : Les réseaux de neurones profonds……………………………………..………….…….48
Figure 3.16 : Les réseaux de neurones récurrents……………………………………...………….…..49
Figure 3. 17 : Les réseaux récurrents à mémoire court et long terme……………………….…….…..49
Figure 3. 18: Architecture du CNN…...……………………………………..…………………….…..50
Figure 3. 19 : Schéma du parcours de la fenêtre de filtre sur l'image…………………..……………..51
Figure 3. 20: Convolution avec un argument maximal……………………………………… ……….51
Figure 3. 21: Pooling avec un filtre 2x2 et un pas de 2………………………………….…… ………52
Figure 3.22: Exemple de reconnaissance vocale par CNN……………………………………………53

xiii
Figure 3.23:CNN pour la reconnaissance vocale…………………………….…………..……………54

Figure 4. 1: Architecture générale ......................................................................................................... 59


Figure 4. 2: Schéma détaillé du système proposé.................................................................................. 60
Figure 4. 3: Architecture de modèle CNN proposé ............................................................................... 61
Figure 4. 4: Dataset logo [66] ................................................................................................................ 62
Figure 4. 5: pyhton logo [67]................................................................................................................. 65
Figure 4. 6: Anaconda & Jupyter notebook logo [68] ........................................................................... 65
Figure 4. 7: google colab logo ............................................................................................................... 66
Figure 4. 8: Librosa logo [69]................................................................................................................ 66
Figure 4. 9: NumPy logo [70] ............................................................................................................... 66
Figure 4. 10: Pandas logo [71] .............................................................................................................. 66
Figure 4. 11: Keras logo [72] ................................................................................................................ 67
Figure 4. 12: TensorFlow logo [73] ...................................................................................................... 67
Figure 4. 13: Matplotlib logo [74] ......................................................................................................... 67
Figure 4. 14: Script python pour l'mportation de données .................................................................... 67
Figure 4. 15: Suppression des NAN & Ajout de nouvelle colonne ....................................................... 68
Figure 4. 16: Résultat de prétraitement ................................................................................................. 69
Figure 4. 17 : Spectogramme de 39 coefficients mfcc…………………………………………..…….69
Figure 4. 18: Les étapes de prétraitement de test .................................................................................. 71
Figure 4. 19: Script python pour la preparation et augmentation des données...................................... 72
Figure 4. 20: Script python pour la visualisation de spectrogramme .................................................... 72
Figure 4. 21: exemple de dataset ........................................................................................................... 72
Figure 4. 22: Script python création de model ...................................................................................... 73
Figure 4. 23: Matrice de confusion........................................................................................................ 74
Figure 4. 24: Accuracy avec 10 epoques .............................................................................................. 75
Figure 4. 25: Loss avec 10 epoques...................................................................................................... 75
Figure 4. 26: Accuracy avec 20 epoques ............................................................................................. 75
Figure 4. 27: Loss avec 20 epoques...................................................................................................... 75
Figure 4. 28: Accuracy avec 30 epoques .............................................................................................. 75
Figure 4. 29: loss avec 30 epoques ....................................................................................................... 75
Figure 4. 30: Accuracy avec 40 epoques ............................................................................................. 75
Figure 4. 31: Loss avec 40 epoques...................................................................................................... 75
Figure 4. 32: Accuracy avec 50 epoques ............................................................................................. 75
Figure 4. 33: Loss avec 50 epoques...................................................................................................... 75
Figure 4. 34: Rapport de classification avec 10 epoques ...................................................................... 77
Figure 4. 35: Rapport de classification avec 20 epoques ...................................................................... 77
Figure 4. 36: Rapport de classification avec 30 epoques ...................................................................... 77
Figure 4. 37: Rapport de classification avec 40 epoques ...................................................................... 77
Figure 4. 38: Rapport de classification avec 50 epoques ...................................................................... 77
Figure 4. 39: Matrice de confusion avec 10 epoques ........................................................................... 78
Figure 4. 40: Matrice de confusion avec 20 epoques ........................................................................... 78
Figure 4. 41: Matrice de confusion avec 30 epoques ........................................................................... 78
Figure 4. 42: Matrice de confusion avec 40 epoques ........................................................................... 78
Figure 4. 43: Matrice de confusion avec 50 epoques ........................................................................... 78

xiv
Liste des tableaux

Tableau 1.1 : Domaine d’application de la reconnaissance automatique de parole…………………...18


Tableau 2.1 : Analogie entre le neurone Biologique et le neurone Formel……………………………23
Tableau 2.2 : Différentes fonctions d'activations utilisées dans les RNA…………………………..…25
Tableau 4.1: Résultats de l’analyse MFCC ........................................................................................... 64
Tableau 4.2: Comparaison des résultats de accuracy et loss pour les différents époques ..................... 79

xv
Liste des abréviations
ACP : Analyse en Composantes Principales
ADALINE : Adaptive Linear Neuron
ART : Adaptive Resonance Theory
ASR : Automatic Speech Recognition
BMU : Best Matching Unit
CNN : Convolution Neural Network
Colab : Colaboratory
DBN: Deep Belief Network
DCT : Discrete Cosine Transform
DNN : Deep Neural Network
FC : Fully Connected
FN : False Negatives
FP : False Positives
GAN :Generative Adversarial Network
GMM : Gaussian Mixture Model
HMM : Hidden Markov Model
IA : Intelligence Artificielle
K-NN : K-Nearest Neighbors
LM : Language Model
LPC : Linear Predictive Coding
LSTM : Long Short Term Memory
LVQ : Learning Vector Quantization
MFCC : Mel-Frequency Cepstral Coefficients
MLP : Multi-Layer Perceptron
MMC : Modèle de Markov Caché
MNIST : Modified National Institute of Standards and Technology
NAN : Not A Number
PPL : Perplexité
Pr : Précision
RAP : Reconnaissance Automatique de la Parole
RBFN : Radial Basis Function Network
RBM : Restricted Boltzmann Machine
xvi
ReLU : Rectified Linear Units
RNA : Réseaux de Neurones Artificiels
RNN : Recurrent Neural Networks
SGMM : Subspace Gaussian Mixture Model
SOM : Self-Organizing Maps
SVD : Singular Value Decomposition
TN :True Negatives
TP :True Positives
VQ: Vector Quantization

xvii
Introduction
générale

xviii
Introduction générale

Depuis plus de 70 ans, la reconnaissance automatique de la parole est un domaine qui a


suscité l'intérêt de nombreux scientifiques et chercheurs, et ils ont travaillé à l'analyser et à
l'étudier.
Mais malgré le grand développement qu'a connu la technologie au cours des dernières années,
la reconnaissance automatique de la parole n'a pas atteint l'idéal escompté à ses débuts, ce qui
en a fait une recherche active.
Cependant, il a été utilisé et appliqué dans de nombreux domaines et son importance a
commencé à apparaître, notamment après l'avoir ajouté à de nombreuses applications, que ce
soit dans le téléphone, l'ordinateur ou tout autre appareil tel que le GPS dans la voiture, le
contrôle des dispositifs de sécurité en dictant des commandes, le traitement de la parole au
texte, à la saisie de données...etc, car c'était une raison pour se débarrasser de certaines
restrictions telles que les mains et traiter directement avec la machine avec le son uniquement,
réduisant ainsi les efforts et gagnant du temps.
La reconnaissance automatique de la parole peut être continue, c'est-à-dire qu'il n'y a pas
d'intervalle entre le mot et le second jusqu'à ce qu'il forme des phrases (liées au locuteur pour
continuer ou arrêter de parler), et elle peut être isolée, c'est-à-dire que chaque mot est
prononcé séparément de l'autre en peu de temps, comme la reconnaissance de chiffres ou de
lettres.
Dans le traitement de la parole, le codage occupe une place fondamentale car il est utilisé pour
l'analyse, la compression et la synthèse et effectue également l'extraction de caractéristiques
utilisées pour la reconnaissance de formes. Parmi les plus importantes de ces techniques
figurent les MFCC (Mel Frequency Cepstral Coefficients) ces coefficients extraient des
informations liées à nombre limité en s’appuyant à la fois sur la production (théorie Cepstrale)
et sur la perception de la parole (échelle des Mels).
L'apprentissage en profondeur a une grande place dans l'émergence et le développement de la
reconnaissance automatique de la parole, et parmi ses modèles les plus utilisés dans ce
domaine figurent le perceptron multi-couches (PMC), qui, bien qu'étant des outils puissants
pour la reconnaissance et la classification de la parole, n'étaient pas suffisants pour surmonter
certains problèmes d'apprentissage.
Cela a conduit à proposer de nouvelles technologies telles que les réseaux de neurones
convolutifs (CNN) qui éliminent ces défauts et améliorent le taux de reconnaissance c'est
pourquoi nous l'avons choisi comme méthode de reconnaissance dans ce projet.
L'objectif de ce projet de fin d'étude est de concevoir et de réaliser une application du modèle
conçu à la reconnaissance des chiffres arabes parlés isolés (0 à 9).
Ce mémoire est structuré selon le plan suivant :
Le premier chapitre consacré à la reconnaissance automatique de la parole dans lequel nous
présentons les étapes de développement de la reconnaissance automatique de la parole et les
définitions les plus importantes qui lui sont associées, puis nous avons séparé son
fonctionnement et les domaines de son utilisation.

1
Introduction générale

Nous étudions au niveau du deuxième chapitre les réseaux de neurones artificiels où nous
mentionnerons les étapes les plus importantes du développement des réseaux de neurones
artificiels au fil du temps, puis nous connaîtrons les concepts les plus importants qui leur sont
associés, et à la fin nous connaîtrons l'apprentissage automatique, ses architecteurs et ses
types ainsi l’apprentissage profond et leurs algorithmes.
Dans le troisième chapitre, nous nous sommes concentrés sur les réseaux de neurones
convolutifs (CNN). Là où nous avons introduit cette technologie en tant que technologie
d'apprentissage en profondeur et essayé de clarifier les concepts qui nous intéressent dans ce
domaine, nous avons mentionné comment cette technologie surmontait les inconvénients des
méthodes traditionnelles en rendant les systèmes moins complexes et plus rapides.
La conception et la réalisation du système de reconnaissance des chiffres arabes parlés sera
illustré au chapitre quatre où nous avons expliqué les étapes générales de la reconnaissance
automatique de la parole, puis décrit notre environnement de travail, y compris les logiciels et
le matériel utilisés. Pour la deuxième partie de ce chapitre, nous montrerons les résultats
obtenus et quelques captures d'écran de notre application.
On achèvera cette étude par une conclusion générale.

2
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

Chapitre 1 :

La reconnaissance automatique de la parole (RAP)

Plan du chapitre 1 :
1. Introduction
2. Innovation de RAP
3. Quelques définitions
4. Le principe de production de la parole
5. Définition de La reconnaissance automatique de la parole
6. Modes de fonctionnement
6.1. Dépendant du locuteur (mono-locuteur)
6.2. Multi-locuteur
6.3. Indépendant du locuteur
7. Modes d’élocution
7.1. Mots isolés
7.2. Mots enchaînés (Mots connectés)
7.3. Parole continue
8. Les méthodes de reconnaissance automatique de la parole
8.1. Approche globale
8.2. Approche analytique
9. Principe général de la méthode globale et analytique
10.Mesures de performance
11.Architecture du système de reconnaissance automatique de la parole
11.1. Prétraitement
11.2. Extraction de fonctionnalités
11.3. Décodage
11.4. Modélisation acoustique
11.5. La modélisation linguistique
11.6. Post-traitement
12.Domaines d’application de la reconnaissance automatique de parole
13.Conclusion

1. Introduction
La parole est un moyen important de faciliter la communication entre les humains, qui ont
ensuite cherché à appliquer cette fonctionnalité à la machine pour se débarrasser de nombreux
processus physiques qui nécessitent, par exemple, l'utilisation des mains pour interagir avec
3
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

elle, et essayer d'utiliser la voix pour dicter des commandes à cette machine pour faciliter le
quotidien de ses utilisateurs. Malgré tous ces efforts pour créer une telle machine intelligente
capable de reconnaître le mot parlé et d'en comprendre le sens, nous sommes loin d'atteindre
l'objectif recherché d'une machine capable de comprendre le discours parlé par tous les
locuteurs dans tous les environnements, ce qui est dû à la limitation du système de
reconnaissance vocale ce processus connu sous le nom de reconnaissance vocale automatique.
Dans ce chapitre, nous avons évoqué les étapes de développement de la reconnaissance
automatique de la parole et les définitions les plus importantes qui lui sont associées, puis
nous avons séparé son fonctionnement et les domaines de son utilisation.

2. Innovation de RAP
Les progrès de la reconnaissance automatique de la parole sont le résultat de plus de 50 ans
d'efforts scientifiques. Les premiers systèmes ont été développés dans les années 1960. Ce
sont des systèmes de reconnaissance de mots qui nécessitent que chaque terme soit prononcé
indépendamment. Les vocabulaires étaient alors relativement limités, ne contenant que les
chiffres de 0 à 9 dans certains cas, ou quelques voyelles dans d'autres [46].

Figure 1. 1 : Innovation du RAP [46]

Les premiers systèmes contemporains de reconnaissance automatique de la parole ont été


développés vers la fin des années 1980, grâce à une initiative d'investissement financier du
Département de la Défense des États-Unis. La demande pour ce type d'étude est croissante,
entraînant des percées clés telles que :
L’expansion des vocabulaires des systèmes, qui sont passés de quelques milliers de mots à
plus de 100 000 termes reconnus ;
Des sons de la parole qui deviennent progressivement difficiles à traiter Initialement
limités à des énoncés parlés préparés et lus par un seul locuteur, les systèmes ont évolué
vers une parole conversationnelle entre plusieurs locuteurs.
Mais aussi l'avancement des systèmes indépendants du locuteur, qui ont récemment connu
une forte augmentation des performances grâce à l'apprentissage en profondeur et aux
réseaux de neurones profonds ;
Ainsi que le développement de technologies de plus en plus résistantes aux
enregistrements détériorés. La détection automatique de la parole forte réverbérante est
désormais un axe clé de l'étude du domaine.

4
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

3. Quelques définitions
3.1. Définition de son
Le son résulte d'un ensemble de phénomènes physiques dans lesquels le mouvement est
converti en son. Spécifiquement défini comme la vibration mécanique de l'air. Ces vibrations
mettent les particules dans le milieu environnant (l'air typique) en mouvement vibratoire,
transmettant ainsi de l'énergie à travers le milieu jusqu'à ce qu'il atteigne notre oreille [34].

3.2. Définition de la parole


La parole est un signal continu non stationnaire avec une énergie finie. Sa structure,
compliquée et évolutive dans le temps, peut être résumée comme suit :
Pour les sons voisés, périodique (ou plus précisément pseudopériodique) est utilisé.

Pour les bruits fricatifs, au hasard.

Dans les phases explosives des bruits occlusifs, impulsifs.[17]

3.3. L’appareil phonatoire


La reconnaissance approfondie du mécanisme de production de la parole chez l’homme
contribue à faciliter la compréhension des caractéristiques du signal vocal et d’identifier la
forme de la source d’excitation pour bien analyser le signal produit. [5] L’appareil phonatoire
(Figure 1.2) nous permet de produire des sons très variés dans un espace fréquentiel et
énergétique pourtant limité. Il a été la base de recherches visant à simuler mécaniquement ses
capacités, recherches ayant permis, en retour, de mieux comprendre son fonctionnement. [17]

Figure 1. 2 : Coupe de l’appareil phonatoire humain [17]

5
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

4. Le principe de production de la parole


La production de sons vocaux peut être divisée en quatre processus distincts mais
interdépendants : initiation d'un flux d'air, généralement dans les poumons ; le prononcer dans
le larynx par l'action des cordes vocales ; sa direction à travers le phylum dans la cavité
buccale ou la cavité nasale (processus oral et nasal) ; Enfin, il s'exprime par la langue,
principalement dans la cavité buccale. Les détails de ces étapes peuvent être expliqués comme
suit :
Le système respiratoire fournit l'énergie nécessaire pour produire le son en forçant l'air à
travers la trachée. Au sommet se trouve le larynx où la pression de l'air est ajustée avant d'être
appliquée au conduit vocal. Les cordes vocales sont en fait deux lèvres symétriques placées en
travers du larynx. Ces lèvres peuvent fermer complètement le larynx et s'écarter
progressivement, définissant une ouverture triangulaire appelée glotte. L'air le traverse
librement lors de la respiration et du chuchotement, ainsi que lors de la prononciation de sons
non soufflés (ou sourds).
À l'inverse, les sons vocaux (ou résonnants) résultent de cordes vibrantes périodiquement
(ouverture soudaine, fermeture plus progressive) modulant le son en impulsions de pression
périodiques appelées leur fréquence fondamentale ou tonalité (80 à 600 Hz). Ensuite, l'air
atteint le conduit vocal lui-même, avec la cavité pharyngée d'abord, puis parallèlement à la
cavité buccale et à la cavité nasale. Ce dernier peut être utilisé ou non grâce au voile du palais
qui permet une isolation complète de la cavité nasale. [5]

Figure 1. 3 : Modèle physiologique de la production de la parole [5]

5. Définition de la reconnaissance automatique de la parole


Permet à l'appareil de comprendre et de traiter les informations fournies oralement par un
utilisateur humain. Elle consiste à utiliser des techniques d'appariement pour comparer une
onde sonore à un ensemble d'échantillons, généralement composé de mots mais aussi plus
récemment de sons. [23]
La reconnaissance automatique de la parole comprend les commandes vocales et la dictée qui
permettent d'utiliser des techniques telles que le deep learning pour analyser la voix humaine
dans une logique d'amélioration continue.

6
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

Il s'agit également d'une technologie qui analyse une voix humaine capturée par un
microphone pour la convertir en texte ou en un fichier pouvant être utilisé sur un ordinateur.
[47]

6. Modes de fonctionnement
Un système de reconnaissance peut être utilisé sous plusieurs modes :

6.1. Dépendant du locuteur (mono-locuteur)


Dans ce cas particulier, un seul locuteur peut utiliser le système de reconnaissance de la
parole à un instant donné.
Les principaux systèmes de dictée vocale actuelle possèdent une phase d'apprentissage
recommandée avant toute utilisation à fin d'effectuer une adaptation des paramètres à la voix
de l'utilisateur.

6.2. Multi-locuteur
Le système de reconnaissance peut être utilisé par un groupe restreint de personnes. Avec la
possibilité de passer d'un locuteur à un autre dans un même groupe sans besoin d'adaptation.

6.3. Indépendant du locuteur


N’importe quel locuteur peut utiliser le système de reconnaissance. [4]

7. Modes d’élocution
Le mode d’élocution caractérise la façon dont on peut parler au système de reconnaissance.
Il existe trois modes d’élocution distincts [23] [33] :

7.1. Mots isolés


Dans lequel les paroles prononcées sont séparées des autres, cela signifie que toutes les
paroles prononcées sont silencieusement séparées pendant une période de plus de quelques
dixièmes de seconde. La structure d'un tel système est représentée par la figure 1. 4. Dans
l'utilisation de ces systèmes, on distingue deux phases :

a) La phase d'apprentissage :
Pour constituer le dictionnaire de référence acoustique (𝑅1 , . . , 𝑅𝑛 ), chaque mot du
vocabulaire est représenté par une ou plusieurs références.

b) La phase de reconnaissance :
Dans laquelle le système va chercher la référence Rm qui est la plus proche de l'image
acoustique du mot a identifié T, au sens d'un indice de ressemblance D.

7
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

Figure 1. 4 : Reconnaissance de mots isolés [33]

7.2. Mots enchaînés (Mots connectés)


Le système reconnaît des séquences de quelques mots (phrases) sans pause entre les mots,
résultant en un besoin de place mémoire et en temps de calcul prohibitif. Cependant, pour
résoudre le problème des mots enchaînés, il faut trouver des solutions aux problèmes
suivants:
La reconnaissance du nombre de mots dans la séquence ;
La connaissance de fin et du début de chaque mot dans la séquence ;
La coarticulation entre mots adjacents ;
L'accroissement de l'espace mémoire et la quantité de calcul requise par les algorithmes
de comparaison.

7.3. Parole continue


Les systèmes de reconnaissance parole continue diffèrent des deux systèmes précédents en ce
qu'ils permettent la prononciation de phrases au sens habituel du mot sans aucune restriction,
ainsi que la liaison de la partie phonétique à la partie du modèle de langage, qui permet la
dictée continue.
Le schéma de principe (voir la figure 1.5) d'un système de reconnaissance de la parole
continue fait apparaître une succession de modules réalisant les différentes étapes du
processus de reconnaissance.
Étape 1 : Un module acoustique extrait les caractéristiques physiques du signal, destinées au
module phonétique.
Étape 2 : Le module phonétique reconnaît les phonèmes prononcés, c'est à dire les sons
élémentaires de la langue, en faisant appel à un dictionnaire de phonèmes.
Étape 3 : le module lexical et le module phonologique souvent confondus, reconnaissent les
mots, et utilisant pour cela un lexique des mots autorisés par l'application considérée, ainsi
que des règles phonologiques décrivant les assemblages possibles de phonèmes dans la
langue.
Étape 4 : Les modules syntaxiques et sémantiques, qui n'en font parfois qu'un, reconnaissent
la phrase, en faisant appel à une description des règles de grammaire, et du sens des mots
autorisés pour l'application considérée.

8
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

Étape 5 : Le module prosodique, portant sur la mélodie, le rythme, l'intensité du discours


orale, intervient en parallèle avec les autres modules et fournit les informations qu'il extrait du
niveau acoustique (hauteur, intensité, rythme) à tous les autres niveaux.

Figure 1. 5 : Schéma de principe d'un système de reconnaissance de la parole continue [33]

8. Les méthodes de reconnaissance automatique de la parole


Il existe deux approches permettant d'aborder la reconnaissance de la parole : l'approche
globale et l'approche analytique. Elles se distinguent essentiellement par la nature et par la
taille des unités abstraites qu'elles s'efforcent de mettre en correspondance avec le signal de
parole.

8.1. Approche globale


Dans l'approche globale (mot entier), l'unité de base est souvent le mot vu comme une entité
globale non décomposée. L'idée de cette méthode est de donner au système une image
acoustique de chaque mot qui devra l'identifier plus tard. Cette opération se fait pendant la
phase d'apprentissage, où chaque mot est prononcé une ou plusieurs fois. Cette méthode a
l'avantage d'éviter les effets d'articulation. Il est cependant limité à un petit vocabulaire par un
nombre limité de locuteurs.

8.2. Approche analytique


L'approche analytique (structure du mot), qui tire parti de la structure linguistique des mots,
tente de détecter et d'identifier les composants de base (phonèmes et syllabes). Ce sont les
unités de base à reconnaître. Cette méthode est plus simple car seules les caractéristiques des
unités de base, au lieu des mots entiers, doivent être enregistrées dans la mémoire.
En fait, les deux approches sont fondamentalement les mêmes ; la différence est l'entité à
reconnaître, « le mot » pour le premier et le « phonème » ou syllabe pour le second.[23]

9. Principe général de la méthode globale et analytique


On distingue deux phases :

9
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

a) La phase d'apprentissage
Un utilisateur dicte tout le vocabulaire utilisé dans les commandes vocales afin de créer les
signatures audios de référence des commandes. Mais pour l'analytique l'utilisateur ne dictera
que quelques mots précis qui contiennent d'importantes successions de phonèmes.

b) La phase de reconnaissance
L'utilisateur dit la commande vocale réelle qui contient les mots du vocabulaire stocké.
Ensuite, le système de reconnaissance de mots est typique d'un problème de reconnaissance
de formes. Tout système de reconnaissance des formes comporte toujours les trois parties
suivantes :
Un capteur permettant d'appréhender le phénomène physique considéré (dans notre cas
un microphone) ;
Un étage de paramétrisation des formes (par exemple un analyseur spectral) ;
Un étage de décision chargé de classer une forme inconnue dans l'une des catégories
possibles. [23]

10. Mesures de performance


Il est possible de mesurer l'efficacité et la performance du système de reconnaissance qui a été
testé par les différentes valeurs suivantes :
 Taux de reconnaissance : le pourcentage de mots ou de phrases correctement
reconnues.
 Taux de substitution : le pourcentage de mots ou de phrases pour lesquels le système
fait une erreur de reconnaissance.
 Taux de rejet : le pourcentage de mots ou de phrases que le système n’a pas compris.
 Taux d’omission : le pourcentage de mots ou de phrases non détectés.
 Taux d’insertion : le pourcentage de réponses inopinées.
Ce taux varie fortement selon le type de canal de transmission utilisé (microphone,
téléphone), la taille du vocabulaire et le mode d’élocution.[5]

11. Architecture du système de reconnaissance automatique de


la parole
La parole est un important moyen de communication entre humains, ce qui a suscité l'intérêt
de chercheurs et d'ingénieurs qui ont ensuite travaillé sur le traitement de la parole et la
compréhension de son fonctionnement.
La reconnaissance vocale est la technologie de conversion d'un signal audio en un mot
compréhensible ou un groupe de mots.

10
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

Ces signaux sont traités et étudiés au moyen de RAP. Voici les étapes les plus importantes
qu'ils traversent, qui sont également illustrées dans la figure :
Les humains produisent des sons ou des paroles par leurs cordes vocales.
Ce son est enregistré à l'aide d'un microphone de haute qualité.
La parole passe par un système de reconnaissance vocale pour reconnaître ce signal et le
convertir en une chaîne de mots. [29]

Figure 1. 6 : Mécanisme du système de reconnaissance vocale [29]

Une fois que les humains ont converti leur son en signal vocal, le système de reconnaissance
vocale commence à traiter ce signal à travers différentes étapes pour produire le texte le plus
probable. (Figure 1.7) [29]

Figure 1. 7 : Architecture d'un système de reconnaissance vocale typique [29]

11.1. Prétraitement

Cette étape améliore le signal de parole comme l'application de filtres de pré-focalisation et la


suppression ou la réduction du bruit pour obtenir une meilleure discrimination de ce signal.
Plusieurs techniques et opérations peuvent être effectuées dans cette étape [29] :
Convertissement le signal audio analogique en numérique en échantillonnant le signal à
l'aide de la fréquence d'échantillonnage appropriée, telle que 16 kHz ou 8 kHz et en
appliquant un processus de quantification.

11
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

Le traitement de préaccentuation : Le but du filtre de préaccentuation est d'augmenter


l'amplitude des signaux haute fréquence et de réduire l'amplitude des signaux basse
fréquence (par exemple 100 Hz).

Processus de segmentation parole/non-parole : ce processus supprime une partie de


l'enregistrement, telle que la partie entre le début de l'enregistrement et le moment où la
parole commence, et la fin de l'enregistrement à la fin de la parole. Le but est d'éliminer
le bruit qui peut se produire pendant l'enregistrement.

11.2. Extraction de fonctionnalités

Elle est considérée comme l'étape la plus importante où les informations pertinentes sont
extraites des trames vocales, soit sous forme de paramètres de caractéristiques, soit sous
forme de vecteurs. Les paramètres couramment utilisés dans la reconnaissance vocale sont les
coefficients de codage prédictif linéaire (LPC) et les coefficients de fréquence de Mel
(MFCC). Son importance réside dans [29] :
Le calcul de ces paramètres conduit à une séparation source-filtre.
Les paramètres ont un modèle analytiquement traitable.
L'expérience prouve que ces paramètres fonctionnent bien dans les applications de
reconnaissance.

Cette étape est divisée en deux étapes :


La première étape est connue sous le nom de Préaccentuation dans laquelle un filtre de
préaccentuation est utilisé avant la spectroscopie afin d'aplatir le spectre de la parole
destiné à compenser la partie haute fréquence du signal de parole qui a été supprimée
lors du mécanisme de production de la voix humaine.
La deuxième étape est appelée Blocage de cadre et fenêtrage dans laquelle chaque trame
audio est analysée indépendamment et représentée par un seul vecteur de
caractéristiques. Étant donné que chaque trame est supposée avoir un comportement
stationnaire, un compromis pour utiliser le verrouillage de trame consiste à utiliser une
fenêtre de 20-25 ms appliquée à des intervalles de 10 ms (cadence de 100 trames / s) et
chevauchement de fenêtres )figure 1.8).

12
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

Figure 1. 8 : Blocage du cadre[29]

11.3. Décodage

Le décodage est le processus de calcul de la séquence de mots la plus susceptible de


correspondre au signal acoustique représenté par les vecteurs caractéristiques. Pour le
décodage, trois sources d'information doivent être disponibles [29]:
Un modèle acoustique et le modèle de Markov caché (HMM) pour chaque énoncé
Un modèle de langage et des probabilités de séquences de mots.
Un dictionnaire de prononciation contenant une liste de mots et leurs mots apparentés.

Une condition préalable au décodage est de savoir quels mots peuvent être prononcés. Ces
mots sont répertoriés dans le dictionnaire, avec la séquence de phonèmes correspondante.
Le modèle acoustique a typiquement une fonction de densité de probabilité qui est un
mélange de gaussiennes et donne une vraisemblance pour chaque vecteur observé.
Un modèle de langage n'est pas une exigence absolue pour le décodage mais augmente la
précision des mots.

11.4. Modélisation acoustique

Le modèle acoustique traite généralement les formes d'onde audio brutes de la parole
humaine, prédisant à quel phonème chaque forme d'onde correspond, généralement au niveau
du caractère ou du sous-mot.
L’unité acoustique la plus utilisée est le phonème dépendant du contexte. Un phonème
contextuel est modélisé par un modèle de Markov caché (MMC) gauche-droit à trois états.
Pour relier ce modèle aux vecteurs de paramètres acoustiques du signal de parole, à chaque

13
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

état est associé un mélange de densités de probabilité qui suivent chacune une loi gaussienne
(GMM, signifiant Gaussian Mixture Model).[13]

a. Modèles de Markov Cachés :


Les modèles de Markov cachés, plus connus sous le nom de HMM (Hidden Markov Models)
sont des automates probabilistes à états finis qui permettent de calculer la probabilité
d’émettre une séquence d’observations. [35]
Ils permettent de synthétiser la connaissance contenue dans un corpus par apprentissage.
Comme illustré dans la figure 1.9, un modèle de Markov caché est caractérisé par :
- Le nombre d’états (N)
- Un ensemble d’états d’émission S ainsi que des états de début Départ et de fin 𝐹in qui ne
sont pas liés aux observations.
- Une matrice de probabilité de transition d’état A, où chaque élément de la matrice 𝑎𝑖𝑗 est
la probabilité de transition de l’état i à j pour i,j ∈{1, . . . , K}.
- Des fonctions de densité de probabilité pour estimer la probabilité d’émettre une
observation x𝑡 à partir d’un état i à l’instant t, b𝑖 (x𝑡 ) = p(x𝑡 |S𝑡 = i).
- Ensemble de probabilités d’état initial π = {π𝑖 = P(𝑠0 = i)}.

Figure 1. 9 : Exemple d’un HMM à 3 états émetteurs [35]

Plusieurs méthodes ont été proposées pour estimer les densités de probabilité d’émission des
états HMM (𝑏𝑖 (𝑥𝑡 )) comme : les mélanges de gaussiennes GMM/SGMM et les réseaux de
neurones profonds.[25]

b. Les modèles à mélange de gaussiennes :


Le modèle de mélange gaussien est un modèle statistique dans lequel la distribution des
données est un mélange de plusieurs lois gaussiennes. Dont l’objectif est de représenter la
densité de probabilité acoustique d’un état HMM avec une somme pondérée de M
gaussiennes comme décrit dans l’équation
p(x | j) =∑𝑀 𝑀
𝑖=1 𝑤𝑖 𝒩(𝑥|µ𝑖 , 𝛴𝑖 ); ∑𝑖=1 𝑤𝑖 = 1 [25]

Où x ∈ 𝑅 𝐷 le vecteur des observations acoustiques de dimension D pour l’état HMM j, i


l’index de la gaussienne 𝑤𝑖 le poids de mélange (leur somme est égale à 1) associé à la

14
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

gaussienne i, µ𝑖 le vecteur moyen et 𝛴𝑖 la matrice de covariance.𝒩(x |µ𝑖 , 𝛴𝑖 ) est une densité


de probabilité gaussienne, définie comme suit :
1 1
𝒩(x|µ𝑖 , 𝛴𝑖 )= exp [- (x − µ𝑖 )𝑇 ∑−1
𝑖 (x − µ𝑖 )].[25]
(2𝜋)𝐷/2 |𝛴𝑖 |1/2 2

c. Les sous-espaces de modèle à mélange de gaussiens :


Le modèle de mélange gaussien de sous-espace (SGMM) est une approche de modélisation
acoustique dans laquelle tous les états phonétiques partagent une structure de modèle de
mélange gaussien commun, et les moyennes et les poids de mélange varient dans un sous-
espace de l'espace total des paramètres.[32]
Les probabilités des états HMM sont définies comme suit :
𝑀
𝑗
p(x | j) =∑𝑚=1 𝑐𝑗𝑚 ∑𝐼𝑖=1 𝑤𝑗𝑚𝑖 𝒩(𝑥|µ𝑗𝑚𝑖 , 𝛴𝑖 ) [32]

µ𝑗𝑚𝑖 = 𝑀𝑖 𝑣𝑗𝑚 [32]


𝑒𝑥𝑝 𝑤𝑖𝑇 𝑣𝑗𝑚
𝑤𝑗𝑚𝑖 = ∑𝐼 𝑇𝑣
𝑒𝑥𝑝 𝑤𝑖′
[32]
𝑖′ =1 𝑗𝑚

Avec x ∈ 𝑅 𝐷 un vecteur des observations acoustiques pour l’état HMM j ∈ {1..J} de I


gaussiennes. L’état j est modélisé par 𝑀𝑗 sous-états avec des vecteurs de paramètres
𝑗 𝑀
spécifique à l’état 𝑣𝑗𝑚 , un mélange de poids 𝑐𝑗𝑚 (sachant que ∑𝑚=1 𝑐𝑗𝑚 =1) et la matrice de
covariance 𝛴𝑖 .

d. Réseaux de neurones profonds :[25]


La découverte des réseaux de neurones artificiels utilisés dans la reconnaissance de la parole
remonte aux tentatives d'estimation des états HMM à l'aide d'une seule couche cachée non
linéaire qui se sont développées plus tard grâce à l'informatique puissante à l'apprentissage
multicouche. Ce développement a également contribué à trouver des moyens plus efficaces de
modélisation acoustique en remplaçant les GMM et SGMM par des réseaux de neurones
profonds (DNN). De plus, ils ne nécessitent aucune donnée statistique à l’initialisation
contrairement aux modèles de Markov Cachés.
Comme illustré dans la figure 1.10, l’architecture d’un HMM/DNN est caractérisée par L
couches: une couche d’entrée, une suite de couches cachées entièrement connectées ainsi
qu’une couche de sortie permettant d’estimer une probabilité pour chaque état HMM pour une
observation acoustique.
La sortie de chaque couche Ɩ ∈ {1, . . . , 𝐿} est définie comme suit :
𝑍Ɩ = 𝜑(𝑊Ɩ ·𝑋 + 𝑏Ɩ ) [25]
Avec 𝜑 une fonction sigmoïde permettant de transférer les sorties d’une couche à une autre
(de la première couche à la couche L − 1), 𝑏Ɩ un vecteur de bias, 𝑊Ɩ une matrice de poids et X
le vecteur d’entrée.
Pour la dernière couche L, La fonction 𝜑 correspond à une fonction Softmax permettant
d’estimer une probabilité pour chaque état HMM 𝑗 à l’instant 𝑡 :

15
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

𝑒 𝑍𝐿
𝑃(𝑗|𝑥𝑡 ) =∑𝑁 𝑍𝐿 ; 𝑗 ∈ {1, . . . , 𝑁}
𝑘=1 𝑒

Figure 1. 10 : Architecture d’un modèle hybride HMM/DNN [35]

11.5. La modélisation linguistique

Le modèle de langage (LM) est un modèle probabiliste qui nous permet de calculer la
probabilité P (W) de n'importe quelle chaîne de mots W selon les besoins de l'équation. La
modélisation linguistique est une composante essentielle des systèmes de reconnaissance
automatique de la parole, son aide principale est qu'elle distingue des séquences de mots
improbables. Le modèle de langage devrait être en mesure d'attribuer une probabilité plus
élevée à la séquence de mots lue qu'à la séquence de mots alternés avec le même son chez le
locuteur. Non seulement ce comportement rendra le reconnaisseur plus précis, mais il nous
permettra également de contraindre la recherche de l'espace en ignorant l'hypothèse peu
prometteuse.
Soit la séquence de mot 𝑊 = 𝑤1 , 𝑤2 , . . . , 𝑤𝑚 , la probabilité 𝑃(𝑊) est défini comme suit :
𝑃(𝑊) = 𝑃(𝑤1 , 𝑤2 , . . . , 𝑤𝑚 ) [35]
= 𝑃(𝑤1 )𝑃(𝑤2 |𝑤1) 𝑃(𝑤3 |𝑤1 , 𝑤2 ))… 𝑃(𝑤𝑛 |𝑤1 , … . , 𝑤𝑚−1 )) [35]

= 𝑃(𝑤1 ) ∏𝑘𝑖=2 𝑃(𝑤𝑖 |𝑤1 , … . , 𝑤𝑖−1) [35]


où 𝑃(𝑤𝑖 ) est la probabilité du mot 𝑤𝑖 et 𝑃(𝑤𝑖 |𝑤1 , … . , 𝑤𝑖−1 ) est la probabilité du mot 𝑤1
sachant son historique 𝑤1 , … . , 𝑤𝑖−1 .
Comme le modèle de langage a une forte influence sur la qualité des systèmes de RAP, il est
indispensable d’évaluer sa qualité. La qualité d’un modèle de langage dépend de sa capacité à

16
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

prédire les bonnes hypothèses selon le contexte lexical. Souvent, les modèles de langage sont
évalués en termes de perplexité PPL . La perplexité correspond à un indicateur de la capacité
à produire le bon mot. Si elle est très élevée, le modèle de langage est incertain ; si elle est
trop basse le modèle sera trop contraint. La perplexité est calculée en mesurant l’entropie H
d’un eu de données S de n phrases (avec = 𝑠1 , 𝑠2 , . . . , 𝑠𝑛 )
𝑛
1
𝐻 = ∑ 𝑙𝑜𝑔𝑃( 𝑠𝑖 ) [25]
𝑛
𝑖=1

La perplexité PPL est alors définit comme suit :


𝑃 𝑃 𝐿 = 2𝐻 . [25]

11.6. Post-traitement

Le résultat de la recherche de Viterbi n'est pas une seule séquence de mots, mais une liste de
toutes les hypothèses possibles triées par score total. En pratique, ce nombre est généralement
limité aux cinq ou dix meilleures hypothèses, la liste dite des n-best. La nouvelle notation de
cette liste en utilisant des sources d'informations supplémentaires est une méthode courante
pour améliorer la précision de la reconnaissance du résultat le mieux noté.[29]

12. Domaines d’application de la reconnaissance automatique de


parole
Le tableau suivant montre certains des domaines les plus importants dans lesquels la
reconnaissance vocale automatique est utilisée : [23] [48] [28]

Domaine Effet de RAP sur celui-ci Exemples


En médecine, cela peut même -Trouvez rapidement des
Médecine aider à sauver le patient de la informations à partir des dossiers
mort, car ne pas utiliser les mains médicaux.
réduit le temps et aide à résoudre -Moins de temps à saisir les
les problèmes plus rapidement. données.
-Les infirmières peuvent être
rappelées des opérations ou
recevoir des instructions
spécifiques.
-la rédaction de rapports ou
remplissage de formulaires
(rapports de radiologie, lettres
légales, etc…).
L'objectif de l'industrie bancaire -Demandez des informations sur
et financière est la reconnaissance votre solde ,vos transactions et
Banques vocale pour réduire les frictions vos habitudes de dépenses sans
avec les clients et ainsi réduire avoir à déverrouiller votre
l'effort de l'employé, faciliter le téléphone portable.
service client et la rapidité de -Effectuer le paiement.
traitement avec eux, c'est-à-dire -Recevez des informations sur

17
Chapitre 1 : La reconnaissance automatique de la parole (RAP)

obtenir leur satisfaction. l'historique de vos transactions.


Il a contribué à résoudre de - police criminelle (identification
nombreux cas, à réduire les de suspects)
Militaire crimes et à augmenter la vitesse - filtrage de voix suspectes (avec
des opérations militaires. validation humaine)
- commandes vocales en
navigation aérienne.
Où la reconnaissance de la parole - l'accès aux systèmes de contrôle
Production peut être utilisée pour la de qualité.
commande de contrôle vocal de - apporter une aide au tri et envoi
processus de fabrication. de paquets.
De nombreuses applications - L'automatisation des services de
pourraient bénéficier de la renseignements téléphonique.
Télécommunication reconnaissance de la parole afin - Composition vocale du numéro
de faciliter l'accès à des données d'appel (utilisation " mains
ou des services sur lignes libres", par exemple un téléphone
téléphoniques "téléphone de voiture).
informatique". - Commande et contrôle de
services d'accès aux bases de
données.
- Services de réservation ou
d'achat par téléphone.

Tableau 1.1 : Domaine d’application de la reconnaissance automatique de parole [23][28][48]

13. Conclusion
Malgré les nombreux problèmes et obstacles de la reconnaissance automatique de la parole,
c'était une raison pour faciliter beaucoup de choses et résoudre des problèmes complexes dans
de nombreux domaines de la vie humaine, ce qui encouragera les chercheurs à essayer de le
développer à l'avenir et à étendre son utilisation.

18
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

Chapitre 2 :

Les réseaux de neurones artificiels (RNA)

Plan du chapitre 2 :
1. Introduction
2. Historique
3. Le neurone biologique
4. Les neurones formels
5. Définition des réseaux de neurones artificiels
6. Architecture des réseaux de neurones
6.1. Les réseaux de neurones non bouclés "feed-forward "
6.2. Les réseaux de neurones bouclés "Feed-back"
7. Modèles des réseaux de neurones
7.1. Modèle de Hopfield
7.2. Les cartes auto organisatrices de Kohonen
7.3. Le modèle de Perceptron
7.4. Le modèle ADALINE (Adaptive Linear Element):
7.5. Les réseaux ART (Adaptive resonance theory)
8. Apprentissage des réseaux de neurones
9. Les règles d’apprentissage
9.1. La règle de Hebb
9.2. La règle delta
9.3. La règle d'apprentissage compétitif
9.4. La règle de corrélation en cascade
9.5. La règle de correction
9.6. La règle de rétropropagation
10. L'apprentissage profond ( Deep Learning )
11.Types d'algorithmes utilisés dans L'apprentissage profond
11.1. Réseaux neuronaux convolutifs (CNN)
11.2. Réseaux adversariaux génératifs (GAN)
11.3. Réseaux de mémoire à long terme et à court terme (LSTM)
11.4. Réseaux neuronaux récurrents (RNN)
11.5. Perceptrons multicouches (MLP)
11.6. Réseaux à fonction de base radiale (RBFN)
11.7. Cartes auto-organisées (SOM)

19
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

11.8. Machines de Boltzmann restreintes (RBM)


11.9. Réseaux de croyance profonds (DBN)
11.10. Auto-Encodeurs
12.Conclusion

1. Introduction
Au cours des dernières années, les réseaux de neurones artificiels ont prouvé leur succès dans
de nombreux domaines, notamment le traitement du signal, le paramétrage, le contrôle de
processus, l'estimation, la détection d'erreurs, etc. Ils sont notamment utilisés pour résoudre
des problèmes de classification, de prédiction, de reconnaissance de formes, de classification,
de mémoire et optimisation. Malgré tout cela, il porte toujours avec lui de nombreuses
recherches qui contribuent à son développement et à la recherche de nouveaux modèles et
applications.
Dans ce chapitre, nous mentionnerons les étapes les plus importantes du développement des
réseaux de neurones artificiels au fil du temps, puis nous connaîtrons les concepts les plus
importants qui leur sont associés, et à la fin nous connaîtrons l'apprentissage automatique, ses
architecteurs et ses types ainsi l’apprentissage profond et leurs algorithmes.

2. Historique
1890 : Le psychologue W.James a donné un concept complet de la mémoire associative et
a proposé une loi d'apprentissage sur les réseaux de neurones, connue plus tard sous le
nom de loi de Hebb.
1943 : Le neurophysiologiste Warren McCulloch et Walter Pitts ont écrit un article sur le
fonctionnement des neurones. Ils modélisent un réseau de neurones simple et prouvent
qu'il peut exécuter des fonctions logiques, informatiques et symboliques complexes (au
moins sur le plan théorique).
1949 : Le physiologiste Donald Hebb a écrit un livre sur le concept des neurones et leur
fonctionnement. Il a également prouvé que les voies neuronales sont renforcées à chaque
fois qu'ils sont utilisés car il a fait de nombreuses expériences, y compris l'expérience de
nourrir un chien tous les jours à la même heure que fait que cet animal sécrète de la salive
à ce moment précis jusqu'en l'absence de nourriture.
La loi de modulation des propriétés des connexions entre neurones qui est proposée
explique en partie ce type de résultat expérimental.
1957 : Psychologue américain Frank Rosenblatt simule sur un ordinateur les capacités
d'apprentissage d'une machine, Il a construit le premier ordinateur neuronal et l'a appliqué
à la reconnaissance de formes. Il est à noter qu'à cette époque ses moyens étaient limités et
ce fut une réussite technique à faire fonctionner correctement cette machine pendant plus
de quelques minutes.

20
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

1960 : Le professeur Bernard Widrow et l'un de ses étudiants, Ted Hof, ont développé un
réseau de neurones artificiels simple-couche appelé ADALINE (Adaptive Linear Neuron
ou plus tard Adaptive Linear Element), Dans sa structure, le modèle ressemble au
Perceptron, cependant la loi d’apprentissage est différente. Celle-ci est à l’origine de
l’algorithme de retro propagation de gradient très utilisé aujourd’hui avec les Perceptrons
multicouches. Les réseaux de type ADALINE restent utilisés de nos jours pour certaines
applications particulières.
1969 : Dans cette année, Marvin Lee Minsky et Seymour Papert publient le livre
Perceptrons qui met en évidence les limitations théoriques du Perceptron. Ces limitations
concernent l’impossibilité de traiter des problèmes non linéaires en utilisant ce modèle. En
cause notamment : l’impossibilité (avérée) de réaliser certaines fonctions logiques, comme
« XOR » (« OU exclusif »), à partir d’un seul neurone artificiel.
1972 : T. Kohonen présente ses travaux sur les mémoires associatives et propose des
applications à la reconnaissance de formes.
En 1982, plusieurs événements ont suscité un regain d'intérêt. John Hopfield de Caltech a
présenté un article à l'Académie nationale des sciences. L'approche de Hopfield ne
consistait pas simplement à modéliser des cerveaux, mais à créer des dispositifs utiles.
Avec clarté et analyse mathématique, il a montré comment de tels réseaux pouvaient
fonctionner et ce qu'ils pouvaient faire.
1983 : La machine de Boltzmann est le premier modèle connu apte à traiter de manière
satisfaisante les limitations recensées dans le cas du Perceptron. Mais l’utilisation pratique
s’avère difficile, la convergence de l’algorithme étant extrêmement longue (les temps de
calcul sont considérables).
1985 : La rétropropagation de gradient apparaît. C’est un algorithme d’apprentissage
adapté aux réseaux de neurones multicouches. Sa découverte réalisée par trois groupes de
chercheurs indépendants indique que « la chose était dans l’air ». Dès cette découverte,
nous avons la possibilité de réaliser une fonction non linéaire d’entrée/sortie sur un réseau
en décomposant cette fonction en une suite d’étapes linéairement séparables. [44]

3. Le neurone biologique
Le système nerveux du cerveau humain est constitué de milliards de cellules : c'est un réseau
de neurones biologiques. Ces neurones sont interconnectés par des jonctions appelées les
synapses de l’ordre de 104 par neurones.
Les neurones reçoivent et transmettent des signaux à différentes parties du corps. Ceci est
réalisé sous des formes physiques et électriques. Il existe plusieurs types de neurones qui
facilitent la transmission d'informations.
Les neurones sensoriels transportent les informations des cellules réceptrices sensorielles
présentes dans tout le corps vers le cerveau. Alors que les motoneurones transmettent les
informations du cerveau aux muscles. Les interneurones transmettent des informations entre
les différents neurones du corps.

21
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

Un neurone biologique est constitué de plusieurs composants : les dendrites, le corps


cellulaire (soma), l’axone et les terminaisons axonales.

Figure 2. 1 : Modèle d’un neurone biologique [16]

Corps cellulaire (soma) : Le corps cellulaire est l'endroit dans la cellule (contient le
noyau du neurone) où les matériaux nécessaires à la création de nouvelles extensions
dendritiques et axonales sont produits au stade embryonnaire. C'est à cet endroit que naît
l'influx nerveux, qui représente l'état d'activité des neurones. Le soma des neurones
corticaux humains a un diamètre d'environ 20 µm pour une épaisseur de membrane
d'environ 5 nm.
Axone : Il est unique pour chaque neurone, est un prolongement long et cylindrique du
soma. La longueur de l’axone est très variable d’un neurone à l’autre c'est peut-être un
mètre ou pas du tout. L'axone transmet les messages de notre organisme (une douleur, un
mouvement), sous forme de signaux de nature électrique.

Synapse : Ou la zone située entre deux cellules nerveuses, qui assure la transmission des
informations entre ces deux cellules nerveuses directement sans délai de transmission.
Elle est essentielle dans le fonctionnement du système nerveux.
Dendrites : sont des ramifications issues du corps cellulaire constituées de synapses qui
reçoivent des informations des axones d'autres neurones connectés puis les collectent
avant de les diriger vers le corps cellulaire du neurone. Morphologiquement, ils diffèrent
de l'axone par des lignes irrégulières (présence de ribosomes, petites saillies qui fabriquent
des protéines) et un diamètre diminuant au fur et à mesure qu’elles s’éloignent du soma.
[16]

4. Les neurones formels


Une traduction mathématique et informatique d'un neurone biologique. C’est une fonction
algébrique non linéaire et bornée contient beaucoup d'entrées représentées sous la forme d’un
vecteur et produit une sortie réelle dont la valeur dépend de paramètres appelés coefficients
ou poids w. Le tableau suivant nous montre la transition entre les neurones biologiques et les
neurones formels.

22
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

Neurone Biologie Neurone Formel


Synapses Poids de Connexion
Axones Signal de Sortie
Dendrite Signal d’Entrée
Corps cellulaire Fonction d’Activation
Tableau 2.1 : Analogie entre le neurone Biologique et le neurone Forme [16]

Figure 2. 2 : Modèle d’un neurone formel [16]

 Les entrées 𝑥𝑖 du neurone i proviennent soit d’autres neurones soit de l’environnement.


 Les poids 𝑤𝑖𝑗 associés à chaque neurone déterminent l’influence de chaque entrée. Ces
poids pondèrent les entrées et peuvent être modifiés par apprentissage.
 Biais : entrée prend souvent les valeurs -1 ou +1 qui permet d’ajouter de la flexibilité au
réseau en permettant de varier le seuil de déclenchement du neurone par l’ajustement des
poids et du biais lors de l’apprentissage ;
 Noyau : intègre toutes les entrées et le biais et calcul la sortie du neurone selon une
fonction d’activation qui est souvent non linéaire pour donner une plus grande flexibilité
d’apprentissage. [21]
Fonction d'activation (ou fonction de transfert) :
Est la fonction d'un neurone artificiel qui délivre une sortie basée sur des entrées sert avant
tout à modifier de manière non-linéaire les données. Il permit d'élargir la gamme des réponses
possibles (principale lacune de la fonction seuil).
Dit simplement, la fonction d’activation permet de changer notre manière de voir une donnée.
Le biais b joue un rôle de seuil, quand le résultat de la somme pondérée dépasse ce seuil,
l'argument de la fonction de transfert devient positif ou nul ; dans le cas contraire, il est
considéré négatif. Finalement si le résultat de la somme pondérée est :
 En dessous du seuil, le neurone est considéré comme non-actif.
 Aux alentours du seuil, le neurone est considéré en phase de transition.
 Au-dessus du seuil, le neurone est considéré comme actif.[15]
Les types de fonctions de transfert : [15]
Dans les réseaux de neurones artificiels, on trouve de nombreux types de fonctions différentes
décrites comme suit :
a) La fonction de transfert Sigmoïde : Est une fonction non linéaire utilisée dans les
réseaux utilisant 1 algorithme de rétro-propagation car elle donne une valeur entre 0 et 1
contrairement les autres fonctions qui donnent seulement une sortie binaire. Son équation

23
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

1
est donnée par : .Et sa représentation graphique est représentée sur la figure
1+𝑒 −𝑥
suivante :

Figure 2. 3 : Fonction Sigmoïde.[15]

b) La fonction à seuil :
Prenons par exemple les deux fonctions Heaviside et Signe qui sont définies comme suit :
1 𝑠𝑖 𝑥 ≥ 0
Fonction Heaviside : h(x)={
0 𝑠𝑖 𝑛𝑜𝑛

Figure 2.4 : Fonction Heaviside.[15]

+1 𝑠𝑖 𝑥 ≥ 0
Fonction Signe : Sgn(x)={
−1 𝑠𝑖𝑛𝑜𝑛

Figure 2.5 : Fonction Signe [15]

c) La fonction linéaire à seuil : Très simple car elle affecte directement son entrée à sa
sortie et représentée par l'équation suivante :
𝑥 ∈ [𝑢, 𝑣]
F(x)={𝑣 𝑠𝑖 𝑥 ≥ 𝑣
𝑢 𝑠𝑖 𝑥 ≤ 𝑢

Figure 2.6 : Fonction linéaire à seuil [15]

24
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

Le tableau suivant comprend les fonctions les plus importantes, même celles qui n'ont pas été
mentionnées précédemment :

Tableau 2.2 : Différentes fonctions d'activations utilisées dans les RNA [15]

5. Définition des réseaux de neurones artificiels


Un réseau de neurones artificiels ou réseau de neurones est un système informatique qui
s'inspire du travail du cerveau en définissant un mécanisme d'apprentissage et de récupération
d'informations. [49]
Un ensemble de neurones formels interconnectés permet de résoudre des problèmes
complexes tels que la reconnaissance de formes ou le traitement du langage naturel, grâce à
l'ajustement des coefficients de pondération en phase d'apprentissage.
Les tâches particulièrement adaptées au traitement des réseaux de neurones sont :
l'association, la classification, la discrimination, la prédiction ou l'estimation, et le contrôle
d'opérations complexes.[50]

Figure 2.7 : La structure d'un neurone artificiel [50]

25
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

6. Architecture des réseaux de neurones


L'architecture est un concept très important qui joue un rôle déterminant dans la classification
des RNA. Elle se définit comme l'organisation des neurones entre eux au sein d'un même
réseau et est choisie en fonction de la tâche à apprendre.
Selon la topologie de connexion des neurones, on peut les classer en deux grandes catégories
d'architectures de réseaux de neurones : réseaux non bouclés (statique ou feed forward) et
réseaux bouclés (dynamique, feed back ou récurrent).[37]

6.1. Les réseaux de neurones non bouclés "feed-forward "

Un réseau de neurones non bouclé (appelé aussi statique) est représenté comme un graphe
dont les nœuds sont les neurones et réalise une (ou plusieurs) fonctions algébriques de ses
entrées, par composition des fonctions réalisées par chacun de ses neurones.
Dans un réseau non bouclé, l'information circule uniquement des entrées du réseau vers sa
sortie ce qui signifie qu'il n'y a pas de retour en arrière.[37]

a) Réseaux de neurones monocouches


Les types de réseau les plus simples en raison de la simplicité de sa structure, qui se compose
de deux couches, les nœuds d'entrée et les nœuds de sortie.
La première couche reçoit les stimuli à traiter par les nœuds d'entrée, puis transmet les
informations à la couche de sortie, cette dernière constituée de neurones de calcul qui
transmettent les résultats du traitement à l'environnement extérieur.
La figure (2.8) montre par exemple, un réseau proactif monocouche à trois neurones d’entrée
et cinq neurones de sortie. La désignation monocouche est attribuée à la couche de sortie. La
couche d’entrée n’est pas comptée dans ce sens vu qu’il n’y a pas de calcul qui se fait au
niveau de ces nœuds, ils servent uniquement à recevoir les signaux d’entée et à les transmettre
à la couche suivante. Un exemple classique de réseau monocouche est le perceptron. [9]

Figure 2.8 : Réseaux de neurones monocouches.[9]

b) Réseaux de neurones multicouches


C’est le type de réseaux le plus utilisé. Il s'agit d'une extension du perceptron monocouche qui
dispose d'une ou de plusieurs couches cachées. Leur rôle est d’effectuer un prétraitement des
signaux d’entrées, reçu par la couche d’entrée en provenance du milieu extérieur, et de
transmettre les résultats correspondants à la couche de sortie où sera déterminée la réponse
finale du réseau avant qu’elle soit transmise au milieu extérieur.

26
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

Le choix du nombre de couches cachées dépend généralement de la complexité du problème à


résoudre, en théorie une couche cachée peut suffire à résoudre un problème particulier mais il
se peut qu'avoir plusieurs couches cachées facilite la résolution d'un problème complexe. [15]
La figure (2.9) Montre un réseau à une seule couche cachée qui contient trois neurones, cinq
entrées et une sortie à trois neurones (réseau 5-3-3). Ce réseau est dit complètement connecté
où tous les neurones de la couche actuelle sont connectés à tous les neurones de la couche
adjacente suivante. Le réseau et partiellement connecté si des connexions manquaient entre
des neurones de deux couches voisines. [9]

Figure 2.9 : Réseau proactif complètement connecté avec une seule couche cachée.[9]

c) Réseaux de neurones à connexions locales


Il a la même forme réseau multicouche mais avec une image rétinienne et moins de
connexions puisque chaque neurone entretient des relations avec un nombre et une position
réduite de neurones dans la couche aval. [44]

Figure 2.10 : Réseau à connexions locales.[44]

6.2. Les réseaux de neurones bouclés "Feed-back"


Régi par une ou plusieurs équations différentielles. Lorsque le réseau neuronal a une sorte de
récurrence interne, ce qui signifie que les signaux sont renvoyés à un neurone ou à une couche
qui a déjà reçu et traité ce signal, le réseau est du type récurrent, comme illustré dans l'image
suivante :

27
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

Figure 2.11 : Schéma de réseau de neurones bouclé [2]

Cette fonctionnalité permet aux réseaux d'effectuer un traitement temporel et d'apprendre des
séquences, par exemple, d'effectuer une reconnaissance /reproduction de séquences ou une
association/prédiction temporelle.
La raison particulière d'ajouter la récurrence dans un réseau est la production d'un
comportement dynamique, en particulier lorsque le réseau aborde des problèmes impliquant
des séries temporelles ou la reconnaissance de formes, qui nécessitent une mémoire interne
pour renforcer le processus d'apprentissage. Cependant, de tels réseaux sont particulièrement
difficiles à former, finissant par échouer à apprendre. La plupart des réseaux de rétroaction
sont à couche unique, tels que les réseaux Elman et Hopfield, mais il est possible de
construire un réseau multicouche récurrent, tel que les Réseaux de neurones
multicouches récurrents.[2]

7. Modèles des réseaux de neurones


7.1. Modèle de Hopfield
Est un modèle de réseau de neurones récurrent entièrement connecté c'est-à-dire que chaque
neurone est connecté à tous les autres neurones sauf lui-même, Ainsi, le neurone ne possède
ni couche d’entrée, ni couche de sortie. Les neurones ont un état binaire (classiquement, 1 ou -
1, même si certains modèles utilisent 1 et 0). Il est aussi appelé associatif car il est utilisé pour
implémenter la mémoire associative. [27]
La mémoire associative est une mémoire adressée à travers son contenu. C'est-à-dire que si un
motif est présenté à une mémoire associative, elle retourne si ce motif coïncide avec un motif
stocké. [44]

28
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

Figure 2.12 : Modèle de Hopfield [27]

7.2. Les cartes auto organisatrices de Kohonen


Ce sont des réseaux à apprentissage non supervisé C'est-à-dire qu'il s'agit d'un auto-
apprentissage qui ne nécessite pas d'intervention humaine, ce qui nécessite peu d'informations
sur les caractéristiques des données d'entrée.
Ces réseaux sont intéressés à connaître les relations qui existent entre les données d'entrée,
contrairement à d'autres réseaux qui s'intéressent aux observations qu'ils tirent de
l'environnement.
Les cartes de Kohonen sont réalisées à partir d’un réseau à deux couches, une en entrée et une
en sortie. Notons que les neurones de la couche d’entrée sont entièrement connectés à la
couche de sortie (figure 2.13). [11]

Figure 2.13 : Le modèle de Kohonen [11]

7.3. Le modèle de Perceptron

Ce modèle contient deux types de réseaux : Le perceptron monocouche et Les perceptrons


multicouches dont nous avons parlé plus tôt comme un type de réseaux de neurones non
bouclés) Voir Figure 2.8 et Figure 2.9).

29
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

7.4. Le modèle ADALINE (Adaptive Linear Element):

Est un réseau de neurones artificiels simple-couche à trois couches : une d’entrée, une couche
cachée et une couche de sortie.
C'est une amélioration par rapport au modèle de Perceptron et n'en diffère que par la fonction
de transfert et ils partagent tous deux la caractéristique d'utiliser des modèles linéaires.
Ce réseau est utilisé généralement pour la classification c'est-à-dire la séparation linéaire entre
les données qui seront présenté par classe.
Séparation linéaire : on dit que deux classes A et B, sont linéairement séparables si on arrive à
les séparer par une droite coupant le plan en deux (figure 2.14). [21]

Figure 2.14 : La séparation linéaire entre la classe A et B [21]

7.5. Les réseaux ART (Adaptive resonance theory)

Est un type de technique de réseau neuronal développée par Stephen Grossberg et Gail
Carpenter en 1987. L'ART de base utilise une technique d'apprentissage non supervisée. Le
terme « adaptatif » et « résonance » utilisé ici suggère qu'ils sont ouverts à un nouvel
apprentissage (c'est-à-dire adaptatif) sans écarter les informations précédentes ou anciennes
(c'est-à-dire la résonance). Les réseaux ART sont connus pour résoudre le dilemme stabilité-
plasticité, c'est-à-dire que la stabilité fait référence à leur nature de mémorisation de
l'apprentissage et la plasticité fait référence au fait qu'ils sont flexibles pour acquérir de
nouvelles informations. En raison de la nature de l'ART, ils sont toujours capables
d'apprendre de nouveaux modèles d'entrée sans oublier le passé. Les réseaux ART
implémentent un algorithme de clustering. L'entrée est présentée au réseau et l'algorithme
vérifie si elle s'inscrit dans l'une des collections déjà stockées. Si cela correspond, l'entrée est
ajoutée au cluster qui correspond le plus, sinon un nouveau cluster est formé. [3]

8. Apprentissage des réseaux de neurones


L'apprentissage est l'une des tâches les plus importantes qui contribuent au développement du
réseau de neurones.

30
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

C'est le processus d'adaptation des paramètres du système pour obtenir les meilleures
performances pour la tâche à laquelle le réseau est destiné au moyen de ses règles qui mettent
à jour les poids et les niveaux de biais du réseau lors de la simulation du réseau dans un
environnement de données donné.[6]
Afin d'obtenir un réseau artificiel bien entraîné, les étapes suivantes doivent être répétées avec
chaque exemple d'entraînement :
 Étape 1 : Initialisez les pondérations du réseau à de petites valeurs aléatoires.
 Étape 2 : Soumettez le formulaire d'inscription RNA. Les valeurs de sortie
correspondantes sont ensuite calculées après la propagation d'activation.
 Etape 3 : Calcul d'erreur : Ce terme est plus facilement utilisé pour l'apprentissage
supervisé où l'erreur prend en compte la différence entre l'activation du neurone de sortie
et la sortie souhaitée (associée au modèle d'entrée initial).
 Etape 4 : Calcul du vecteur de correction : A partir des valeurs d'erreur, on détermine
alors la correction à apporter pour les poids de connexions et les seuils de neurones.[12]
Pour éviter certains problèmes d'apprentissage, la base d’exemples est divisée en deux parties
: la base d’apprentissage et la base de test. Il est possible de distinguer leur concept à travers
la figure 1, où l'on observer qu’au début de l’apprentissage, pour les premières itérations,
l’erreur sur la base d’apprentissage est grande et peut légèrement augmenter étant donné que
les poids initiaux sont choisis aléatoirement. Ensuite, cette erreur diminue avec le nombre
d’itérations. L’erreur sur la base de test diminue puis augmente à partir d’un certain nombre
d’itérations. Les poids retenus sont ceux qui minimisent l’erreur sur la base de test.[6]

Figure 2.15 : Erreur moyenne sur la base d’apprentissage en fonction du nombre d’itérations [6]

9. Les règles d’apprentissage


Les principes d'apprentissage sont utilisés pour créer un réseau de neurones artificiels. Les
règles les plus courantes sont énumérées ci-dessous : [7]

9.1. La règle de Hebb

« Organisation du comportement » « Organisation behavior » : Il vous permet de modifier la


valeur des poids synaptiques en fonction de l'activité des unités qui les relient. L'objectif
principal est de renforcer la connexion qui unit deux unités si elles s'activent toutes les deux

31
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

au même moment (c'est une connexion excitante), sinon elle sera affaiblie (c'est une
connexion inhibitrice)

9.2. La règle delta

Ajuste les poids synaptiques en calculant la différence entre la valeur de sortie et la valeur
prévue. Il emploie une fonction d'erreur « moindre carré moyen », qui dépend des différences
utilisées pour modifier les pondérations.

9.3. La règle d'apprentissage compétitif

Dans cette règle un seul neurone est affecté. Il fonctionne sur le principe de la catégorisation
des données. Une couche d'entrée et une couche de concurrence constituent l'architecture d'un
tel réseau. A l'entrée du réseau, un formulaire est présenté.
Il est ensuite projeté sur chacun des neurones de la couche compétitive. Le neurone gagnant
est celui dont le vecteur de poids est le plus proche de la forme d'entrée. Chaque neurone de
sortie est soit connecté aux neurones de la couche d'entrée ainsi qu'aux autres cellules de
sortie (connexion inhibitrice) soit à lui-même (il s'agit d'une connexion excitatrice). La sortie
est alors déterminée par la compétition des connexions inhibitrices et excitatrices.

9.4. La règle de corrélation en cascade

Introduit progressivement des neurones cachés dans le réseau jusqu'à ce que leur effet
bénéfique soit perdu. Cette règle est composée de deux étapes :
a) Le système est enseigné dans un petit réseau sans couches cachées par l'apprentissage.

b) Nous formons ensuite un petit groupe de neurones supplémentaires pour réduire l'erreur
résiduelle du réseau. Les poids de ces neurones sont modifiés par la règle d'apprentissage.
Le neurone le plus performant du réseau est choisi et intégré. L'étape a) est redémarrée
pour donner au réseau le temps de s'adapter à la nouvelle ressource.

9.5. La règle de correction


Cette règle est composée par les étapes suivant :
a) Choisies au hasard les valeurs de poids de connexion choisies.

b) Fournit à l'apprentissage un vecteur d'entrée des échantillons.

c) Modifiez toutes les connexions pour atteindre la solution appropriée si la sortie ou la


réponse est incorrecte.

9.6. La règle de rétropropagation


Est une généralisation de la règle delta, il ajuste les poids de la couche d'entrée à la couche
cachée. Les poids dans le réseau de neurones sont au préalable initialisé avec des valeurs

32
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

aléatoires. Chaque échantillon possède ses valeurs cibles qui sont celles que le réseau de
neurones doit atteindre lorsqu’on lui présente le même échantillon.

10. L'apprentissage profond ( Deep Learning )


L'apprentissage profond est un ensemble de techniques d'apprentissage automatique qui
modélisent des données à l'aide de structures complexes combinant diverses transformations
non linéaires afin d'en dériver des règles permettant de tirer des conclusions sur de nouvelles
données. Il est utilisé notamment dans le traitement du son et de l'image, y compris la
reconnaissance faciale, reconnaissance Discours, vision par ordinateur, traitement automatisé
du langage et classification de texte.[14] [30]

11. Types d'algorithmes utilisés dans L'apprentissage profond


Les modèles d'apprentissage en profondeur utilisent plusieurs algorithmes :

11.1. Réseaux neuronaux convolutifs (CNN) :

Aussi connu sous le nom de ConvNets. Ces réseaux sont spécifiquement utilisés pour le
traitement d'images et la détection d'objets, y compris l'identification d'images satellites, le
traitement d'images médicales, la prédiction de séries chronologiques et la détection
d'anomalies.
Les CNN ont plusieurs couches qui traitent et extraient les caractéristiques des données.[51]
Parce que le CNN est un vaste domaine et le domaine de notre étude, nous l'expliquerons en
détail dans le chapitre suivant.

11.2. Réseaux adversariaux génératifs (GAN)

Les GAN (Generative Adversarial Network) sont des algorithmes d'apprentissage profond
génératif qui créent de nouvelles instances de données qui ressemblent aux données de
formation.[51]
Les GAN sont constitués de deux réseaux de neurones :
 Réseau générateur : Est un réseau de neurones générateur qui génère de nouveaux
exemples.
 Réseau discriminateur : Il est chargé d'évaluer les exemples générés s'ils appartiennent
à l'ensemble de données de formation réel.
Il est principalement utilisé dans l'industrie du jeu pour des générations d'objets 3D, de
retouche photo, de création de personnages de dessins animés, etc. [52]
Il est également utilisé pour améliorer les images astronomiques et simuler la lentille
gravitationnelle pour la recherche sur la matière noire.[51]

33
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

11.3. Réseaux de mémoire à long terme et à court terme (LSTM)

Les LSTM (Long Short Term Memory) sont un type spécial de RNN (Recurrent Neural
Networks) et sont très capables d'apprendre les dépendances à long terme. Se souvenir
d’informations passées pendant de longues périodes est le comportement par défaut.
Il a une structure en forme de chaîne où quatre couches en interaction communiquent de
manière unique.
LSTM est principalement utilisé dans la prédiction de séries chronologiques ainsi que dans la
reconnaissance vocale, la composition musicale et le développement pharmaceutique.[51]
Le travail de cet algorithme peut être résumé dans les étapes suivantes :
Étape 1 : LSTM décide quelles informations doivent être conservées intactes et quelles
informations doivent être supprimées de l'état de la cellule. La couche sigmoïde est chargée
de prendre cette décision.
Étape 2 : LSTM décide quelles nouvelles informations doivent être conservées et remplace
celles qui ne sont pas pertinentes et qui ont été identifiées à l'étape 1. Le tanh et le sigmoïde
jouent ici un rôle important dans l'objectif d'identification.
Étape 3 : La sortie est déterminée à l'aide de l'état de la cellule qui sera désormais une version
filtrée en raison des fonctions sigmoïde et tanh appliquées.[52]

11.4. Réseaux neuronaux récurrents (RNN)

Les RNN contiennent des connexions qui forment des cycles vectorisés, permettant d'utiliser
les sorties LSTM comme entrées d'étage de courant et qui enregistre les entrées précédentes
grâce à sa mémoire interne. [51]
Les RNN peuvent prendre une série d'entrées sans limite de taille, ce qui les rend uniques.[52]
Les RNN sont couramment utilisés pour le sous-titrage d’images, l’analyse de séries
temporelles, le traitement du langage naturel, la reconnaissance de l’écriture manuscrite et la
traduction automatique.[51]
Le fonctionnement des RNN est le suivant :
1) La sortie à l'instant t-1 alimente l'entrée à l'instant t.
2) De même, la sortie à l'instant t alimente l'entrée à l'instant t+1.
3) Les RNN peuvent traiter des entrées de n'importe quelle longueur.
4) Le calcul tient compte des informations historiques et la taille du modèle n'augmente
pas avec la taille de l'entrée.[52]

11.5. Perceptrons multicouches (MLP)

MLP (Multilayer Perceptron) est l'algorithme d'apprentissage en profondeur le plus basique et


également l'une des plus anciennes techniques d'apprentissage en profondeur.[52]
Il est notamment utilisé dans la construction de logiciels de reconnaissance vocale, de
reconnaissance d'images et de traduction automatique.[51]

34
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

Le travail de cet algorithme peut être décrit comme suit :


 Les MLP transmettent les données à la couche d'entrée du réseau. Les couches de
neurones se connectent dans un graphe de sorte que le signal passe dans une direction.
 Les MLP calculent l'entrée avec les poids qui existent entre la couche d'entrée et les
couches cachées.
 Les MLP utilisent des fonctions d'activation pour déterminer les nœuds à déclencher. Les
fonctions d'activation comprennent les ReLU, les fonctions sigmoïdes et tanh.
 Les MLP forment le modèle pour comprendre la corrélation et apprendre les dépendances
entre les variables indépendantes et cibles à partir d'un ensemble de données de formation.
[53]

11.6. Réseaux à fonction de base radiale (RBFN)

RBFN ( Radial Basis Function Network) ce sont des types particuliers de réseaux neuronaux
feedforwar [51]. Il est ainsi nommé car il dépend de la fonction d'activation de la fonction de
base radiale (RBF). [52]
Principalement utilisé pour la classification, la régression et la prévision de séries
chronologiques. [53]
Il faut également un peu moins de temps pour former le modèle avec RBFN par rapport à
MLP.[52]
Cet algorithme fonctionne selon les étapes suivantes :
 Les RBFN effectuent la classification en mesurant la similarité de l'entrée avec les
exemples de l'ensemble d'apprentissage.
 Les RBFN ont un vecteur d'entrée qui alimente la couche d'entrée. Ils ont une couche de
neurones RBF.
 La fonction trouve la somme pondérée des entrées et la couche de sortie a un nœud par
catégorie ou classe de données.
 Les neurones de la couche cachée contiennent les fonctions de transfert gaussiennes, dont
les sorties sont inversement proportionnelles à la distance par rapport au centre du
neurone.
 La sortie du réseau est une combinaison linéaire des fonctions à base radiale de l'entrée et
des paramètres du neurone.[53]

11.7. Cartes auto-organisées (SOM)

Le SOM (Self-Organizing Maps), réduit la dimensionnalité (les caractéristiques moins


pertinentes sont supprimées) des données en auto-organisant des réseaux de neurones
artificiels et aide également à la visualisation [g] pour résoudre le problème des humains qui
ne peuvent pas visualiser facilement les données de grande dimension. Les SOM sont créés
pour aider les utilisateurs à comprendre ces informations de grande dimension. [51]
Les étapes de cet algorithme sont :

35
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

 Les SOM initialisent les poids pour chaque nœud et choisissent un vecteur au hasard à
partir des données d'apprentissage.
 Les SOM examinent chaque nœud pour trouver quels poids sont le vecteur d'entrée le plus
probable. Le nœud gagnant est appelé la meilleure unité correspondante (BMU : Best
Matching Unit).
 Les SOM découvrent le quartier du BMU et le nombre de voisins diminue avec le temps.
 Les SOM attribuent un poids gagnant au vecteur échantillon. Plus un nœud est proche
d'un BMU, plus son poids change.
 Plus le voisin est éloigné du BMU, moins il apprend. Les SOM répètent la deuxième étape
pour N itérations.[53]

11.8. Machines de Boltzmann restreintes (RBM)

RBM( Restricted Boltzmann Machine) est l'un des plus anciens algorithmes d'apprentissage
en profondeur inventé par Jeffrey Hinton en 1986.[52]
Il est utilisé pour la réduction de la dimensionnalité, la classification, la régression, le filtrage
collaboratif, l'apprentissage des fonctionnalités et la modélisation des sujets. Il a une structure
de base composée de seulement deux couches : la couche d'entrée visible et la couche cachée.
Chaque unité visible est connectée à toutes les unités cachées. Les RBM ont une unité de biais
qui est connectée à toutes les unités visibles et aux unités cachées, et ils n’ont pas de nœuds de
sortie. [51]
Cet algorithme fonctionne selon les étapes suivantes :
 Les RBM acceptent les entrées et les traduisent en un ensemble de nombres qui codent les
entrées dans la passe avant.
 Les RBM combinent chaque entrée avec un poids individuel et un biais global.
L'algorithme transmet la sortie à la couche cachée.
 Dans la passe arrière, les RBM prennent cet ensemble de nombres et les traduisent pour
former les entrées reconstruites.
 Les RBM combinent chaque activation avec un poids individuel et un biais global et
transmettent la sortie à la couche visible pour la reconstruction.
 Au niveau de la couche visible, le RBM compare la reconstruction avec l'entrée d'origine
pour analyser la qualité du résultat.[53]

11.9. Réseaux de croyance profonds (DBN)

Les DBN ( Deep Belief Network) sont des modèles génératifs constitués de plusieurs couches
de variables stochastiques latentes, ces dernières ayant des valeurs binaires et sont souvent
appelées unités cachées. Les DBN sont un empilement de machines de Boltzmann avec des
connexions entre les couches, et chaque couche RBM communique avec les deux précédentes
et les couches suivantes. [51]
Ils sont particulièrement utilisés pour la reconnaissance d'images et les données de séquence
vidéo et de capture de mouvement, la collecte et la génération. [52]
Les étapes de l'algorithme sont :

36
Chapitre 2 : Les réseaux de neurones artificiels (RNA)

 Des algorithmes d'apprentissage Greedy entraînent les DBN. L'algorithme d'apprentissage


Greedy utilise une approche couche par couche pour apprendre les poids génératifs
descendants.
 Les DBN exécutent les étapes d'échantillonnage de Gibbs sur les deux couches cachées
supérieures. Cette étape tire un échantillon du RBM défini par les deux couches cachées
supérieures.
 Les DBN tirent un échantillon des unités visibles en utilisant un seul passage
d'échantillonnage ancestral dans le reste du modèle.
 Les DBN apprennent que les valeurs des variables latentes dans chaque couche peuvent
être déduites par une seule passe ascendante. [53]

11.10.Auto-Encodeurs

Il s'agit d'un type spécifique de réseau neuronal à anticipation dans lequel l'entrée et la sortie
sont les mêmes.[51]
Il est utilisé pour convertir des données multidimensionnelles en données de faible dimension.
Et si nous voulons les données d'origine, nous pouvons les recréer à nouveau.[52]
Un auto-encodeur se compose de trois composants principaux : l'encodeur, le code et le
décodeur.
 Les auto-encodeurs sont structurés pour recevoir une entrée et la transformer en une
représentation différente. Ils tentent ensuite de reconstruire l'entrée d'origine aussi
précisément que possible.
 Lorsqu'une image d'un chiffre n'est pas clairement visible, elle alimente un réseau
neuronal d'auto-encodeur.
 Les auto-encodeurs encodent d'abord l'image, puis réduisent la taille de l'entrée en une
représentation plus petite.
 Enfin, l'auto-encodeur décode l'image pour générer l'image reconstruite.[53]

12. Conclusion
Les réseaux de neurones ont contribué au traitement des applications actuelles, car ils sont
devenus une raison d'augmenter la vitesse de réponse de ces applications, après avoir
découvert que les solutions logicielles ne suffisaient pas.
Dans ce chapitre, nous avons essayé de donner une description générale de ces réseaux, de
leurs types et méthodes d'apprentissage, tout en montrant leur importance et leurs diverses
applications.

37
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

Chapitre 3 :
Les réseaux de neurones convolutifs (CNN)

Plan du chapitre 3 :
1. Introduction
2. Intelligence artificielle
3. Machine Learning
4. Les différents algorithmes d'apprentissage du Machine Learning
4.1. Les algorithmes d'apprentissage supervisé
4.1.1. Régression linéaire
4.1.2. Régression logistique
4.1.3. Arbres de classification et de régression
4.1.4. K-NN (K-nearest neighbors)
4.1.5. Naïve Bayes Classifier
4.2. Les algorithmes d’apprentissage non supervisé
4.2.1. K-MEANS
4.2.2. Clustering hiérarchique
4.2.3. Algorithme Apriori
4.2.4. Analyse en composantes principales (ACP)
4.2.5. Décomposition en valeurs singulières (SVD)
4.3. Les algorithmes d’apprentissage par renforcement
4.3.1. Q-Learning
4.3.2. Algorithme basé sur un modèle (model-based
5. Deep Learning
6. Deep Learning VS Machine Learning
6.1. Extraction des caractéristiques
6.2. La performance
6.3. Le fonctionnement
7. Les architectures de Deep Learning
7.1. Les réseaux de neurones profonds
7.2. Les réseaux de neurones récurrents
7.3. Les réseaux récurrents à mémoire court et long terme
7.4. Les réseaux de neurones convolutifs
8. Les réseaux de neurones Convolutifs
8.1. Les couches de CNN

38
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

8.2. Les paramètres de CNN


9. Le CNN et la reconnaissance vocale
10. Avantage de CNN
11. Conclusion

1. Introduction
L'intelligence artificielle est une discipline scientifique qui vise à résoudre des problèmes
d'une grande complexité logique. L'apprentissage automatique est l'un des domaines de
l'intelligence artificielle qui permet à la machine d'apprendre et d'améliorer progressivement
ses performances. Par conséquent, l'apprentissage en profondeur est un groupe de méthodes
d'apprentissage automatique qui essaye de concevoir avec un haut niveau d'abstraction des
données. Aujourd'hui, la technologie de l’apprentissage profond (Deep Learning) représente
l'essentiel des recherches menées par les professionnels, d'autant plus qu'elle intervient dans
plusieurs domaines comme la classification des images médicales. Dans ce chapitre, nous
présenterons tout d'abord les concepts liés à l'apprentissage profond ainsi que l’algorithme de
réseau de neurone convolutif de classification.

2. Intelligence artificielle
Le but de l'intelligence artificielle (IA) est d'imiter la façon dont le cerveau humain prend des
décisions. L'intelligence artificielle implique l'utilisation d'une variété de technologies pour
permettre aux machines d'imiter une sorte d'intelligence réelle. L'apprentissage automatique et
l'apprentissage en profondeur sont deux des sous-domaines les plus connus de l'IA.

3. Machine Learning
« Le Machine Learning est le domaine de l'IA qui permet à une machine d'apprendre. C'est-à-
dire améliorer progressivement les performances d'une tâche spécifique basée sur des
données sans être explicitement planifiée. » [41].
L’apprentissage automatique est un sous-domaine de l’intelligence artificielle (IA) qui se
concentre sur la conception de systèmes qui apprennent – ou améliorent le rendement – en
fonction des données qu’ils consomment. Cette technique s'appuie sur le développement de
programmes informatiques capables d'acquérir de nouvelles connaissances afin de s'améliorer
et d'évoluer d'eux-mêmes dès qu'ils sont à exposer de nouvelles données. Ils fonctionnent en
construisant un modèle à partir d'exemples d'entrées afin de faire des prédictions ou des choix
basés sur les données plutôt que de suivre des instructions de programme statiques.

4. Les différents algorithmes d'apprentissage du Machine


Learning
4.1. Les algorithmes d’apprentissage supervisé
L'apprentissage supervisé est une approche de création d'intelligence artificielle. Il est défini
par son utilisation d'ensembles de données étiquetés pour former des algorithmes qui classent
les données ou prédisent les résultats avec précision.

39
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

Ainsi, ces algorithmes jouent le rôle de l'enseignant supervisant le processus d'apprentissage,


c'est la raison pour laquelle ce type d'apprentissage est appelé le superviseur.
L'apprentissage supervisé concerne les problèmes de classification et de régression, Par
exemple, un système peut apprendre à reconnaître une photo de chien après qu'on lui ait
montré des millions de photos de chiens ou la prévision du volume des ventes pour une date
future particulière. [40]
Dans ce type d'apprentissage on trouve cinq principaux algorithmes qui sont :

4.1.1. Régression linéaire

L'un des algorithmes d'apprentissage supervisé les plus célèbres, il s'agit d'un type de base
d'analyse prédictive. Les estimations de régression sont utilisées pour expliquer la relation
entre une variable dépendante et une ou plusieurs variables indépendantes et son concept peut
être résumé en examinant deux questions :
 Un ensemble de variables prédictives permet-il de prédire une variable de résultat ?
 Quelles sont les variables les plus significatives et ont le plus d’impact sur la variable
de résultat ? [54]

Figure 3.1 : Régression linéaire [54]

4.1.2. Régression logistique

La régression logistique diffère de la régression linéaire dans le type de prédictions où nous


constatons que dans la régression linéaire, ce sont des valeurs continues (températures en
degrés), tandis que dans la régression logistique, ce sont des valeurs discrètes, c'est-à-dire un
ensemble limité de valeurs (vraies ou faux par exemple).
La régression logistique est la mieux adaptée à la classification binaire comme exemple pour
illustrer : lors de la prédiction s'il va pleuvoir ou non, nous aurons 1 s'il pleut et 0 sinon. [54]

Figure 3.2 : Régression logistique [54]

40
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

4.1.3. Arbres de classification et de régression

Les arbres de classification et de régression sont une forme simple d'arbres de décision. Cette
architecture utilise uniquement des algorithmes et des structures de données.
Lorsque l'algorithme est exécuté par la machine, la prédiction est faite en suivant les divisions
du nœud de branche (qui représente une seule variable d'entrée et fournit un seul point de
partage sur la variable) jusqu’à atteindre un nœud feuille (qui représente les deux variables de
sortie) soit atteint. Ce nœud feuille est la prédiction ou la sortie de la valeur de la classe [54].

Figure 3.3 : Un exemple d’arbre [54]

4.1.4. K-NN (K-nearest neighbors)

L'algorithme des K plus proches voisins (K-NN) utilise l'intégralité du dataset comme
entraînement, plutôt que de le diviser en un ensemble de train et de test.
Cet algorithme passe par les étapes suivantes :
 Entrez de nouvelles données.
 Recherche k instances les plus proches de la nouvelle instance ou le nombre de k
instances les plus similaires au nouvel enregistrement.
 Renvoie la moyenne des résultats ou la catégorie à laquelle appartient cet exemple s'il
s'agit d'un problème de classification.
Remarque : L'utilisateur définit lui-même la valeur de k. [54]

Figure 3.4 : Méthode des K plus proches voisins [54]

41
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

4.1.5. Naïve Bayes Classifier

Un classificateur est une fonction qui attribue la valeur d’un élément de population à l’une des
catégories disponibles.
Naïve Bayes Classifier est l’une des méthodes d’apprentissage supervisé les plus populaires
parmi celle utilisant les similarités, qui s’appuie sur le populaire théorème de probabilité de
Bayes. Il s’agit d’une classification simple de mots basée sur le théorème de probabilité de
Bayes pour l’analyse subjective du contenu.
Un exemple pour mieux comprendre : le filtrage du courrier indésirable est une application
populaire de l’algorithme Naïve Bayes. Filtre anti-spam ici, est un classificateur qui attribue
une étiquette «Spam» ou «Pas de spam» à tous les emails. [54]

Figure 3.5 : Naïve Bayes Classifier [54]

4.2. Les algorithmes d’apprentissage non supervisé

Dans l'apprentissage automatique supervisé, les modèles sont entraînés à l'aide des données
étiquetées sous la supervision des données d'entraînement. Mais il peut y avoir de nombreux
cas où nous n'avons pas de données triées et devons trouver les modèles cachés à partir de
l'ensemble de données donné. Par conséquent, pour résoudre ce type de cas en apprentissage
automatique, nous avons besoin de techniques d'apprentissage non supervisé.
L'apprentissage non supervisé est un type d'apprentissage automatique dans lequel les
modèles sont formés à l'aide d'un ensemble de données non étiqueté et autorisés à travailler
sur ces données sans aucune supervision. Dans l’apprentissage non supervisé, le réseau
modifie ses paramètres en tenant compte seulement des informations locales.
Dans l’apprentissage non supervisé, le réseau modifie ses paramètres en tenant compte
seulement des informations locales. Ces méthodes n’ont pas besoin de sorties désirées
préétablies.
Le choix d'utiliser une architecture de réseau de neurones dépend de l'application et des
capacités de traitement du système sur lequel ces architectures seront implémentées. [42]
On retrouve cinq types d'algorithmes :

42
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

4.2.1. K-MEANS

Est l’un des algorithmes d’apprentissage non supervisé les plus utilisés. Dans cette méthode,
K représente le nombre de groupes créés en fonction de la distance entre le noyau de chaque
groupe. Ce dernier est choisi au hasard ou déterminé par le data scientist, en fonction des
données.

Une fois que le nombre de groupes (K) et les centroïdes ont été identifiés, la modèle assigne
chaque nouveau point au noyau le plus proche et le groupe dans le cluster correspondant.
Cette méthode est la plus souvent utilisée pour la classification de documents, la segmentation
d’images et la segmentation marketing. [55]

Figure 3.6 : Méthode de K-MEANS [55]

4.2.2. Clustering hiérarchique

Est un autre algorithme d’apprentissage non supervisé, qui créé une structure s’apparentant à
un arbre (dendrogramme). Ce type peut être divisé en deux catégories :

 Classification descendante hiérarchique : Dans ce cas, tous les points commencent par
être assignés à un même groupe puis, lorsque le modèle est affiné, les points sont
séparés en clusters jusqu’à ce qu’il y est un cluster pour chaque point.
 Classification ascendante hiérarchique : chaque point commence par être considéré
comme son propre groupe puis, lorsque le modèle est affiné, des paires de clusters
sont combinés, en fonction de leurs similarités, en un grand groupe contenant toutes
les observations. [55]

Figure 3.7 : Méthode de Clustering hiérarchique [55]

43
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

4.2.3. Algorithme Apriori

Cet algorithme peut être classifié comme une règle associative. Cette technique utilise une
approche ascendante, dans laquelle les points ou les collections de points les plus fréquents
sont identifiés et utilisés pour établir des règles d’association. Il est basé sur l’idée qu’un sous-
groupe d’un groupe fréquent est également un groupe fréquent.

Ce modèle nécessite les comportements passés d’un individu afin de faire des prédictions sur
les comportements futurs.[55]

Figure 3.8 : Un exemple d’application de l’algorithme Apriori [55]

4.2.4. Analyse en composantes principales (ACP)

Est une méthode de réduction dimensionnelle. Elle permet la production de modèles prédictifs
avec très peu de perte d'informations en transformant un groupe de variables corrélées et
trouve le groupe sous-jacent de variables orthogonales avec la plus grande variance.

En d’autres termes, cette méthode utilise le système de coordonnées d’un groupe de données
afin d’en trouver un nouveau par translations et rotations.

Il diffère des autres modèles en ce qu'il affiche un vecteur plutôt qu'une fonction, ce qui
implique qu’il peut représenter n’importe quelle sorte de groupe de données et aide à
visualiser les données à haute dimension.[55]

Figure 3.9 : Analyse en composantes principales (ACP) [55]

44
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

4.2.5. Décomposition en valeurs singulières (SVD) :

La décomposition en valeurs singulières, ou single value décomposition (SVD), est une autre
méthode de réduction dimensionnelle. Elle décompose une matrice en un produit de trois
matrices. Comme pour l’ACP, cette méthode est souvent utilisée pour réduire le bruit et la
dimension d’un groupe de données.[55]

Figure 3.10 : Appliquez la méthode de SVD à la matrice A [55]

4.3. Les algorithmes d’apprentissage par renforcement

L'apprentissage par renforcement diffère des autres genres en ce sens qu'il s'efforce d'obtenir
autant de points de récompense que possible et d'atteindre finalement l'objectif final plutôt
que d'essayer de trouver une structure cachée.
Ce score récompense augmente sans intervention humaine et sans être explicitement
programmé pour réaliser la tâche grâce à une série de décisions que l'agent prend en
apprenant à effectuer une tâche par des interactions répétées d'essais et d'erreurs avec
l'environnement.[26]
Dans ce type d'apprentissage on trouve deux principaux algorithmes qui sont :

4.3.1. Q-Learning :

Les algorithmes de Q-Learning cherchent à trouver la meilleure méthode pour atteindre un


objectif défini en cherchant à obtenir un maximum de récompenses.

Ils tentent le plus grand nombre d’actions possibles par état du système sans avoir de
connaissance initiale de l’environnement.[56]

45
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

Figure 3.11 : Diagramme de Q-Learning [56]

4.3.2. Algorithme basé sur un modèle (model-based)

Les algorithmes basés sur un modèle ont une liberté limitée pour créer des états et des actions.
Ils sont formés avec des données spécifiques et des actions de base en provenance de
l’environnement via un entraînement supervisé.

Caractérisé par : une plus grande effcacité statistique et un apprentissage plus rapide.[56]

Figure 3.12 : Model-based [56]

5. Deep Learning
“ Le Deep Learning permet à des modèles composés de plusieurs couches de traitement
d’apprendre des représentations des données avec de multiples niveaux d’abstraction”. [20]

D’après les travaux de [20], l’apprentissage profond est une classe de techniques
d’apprentissage automatique appartient au domaine de « Machine Learning » dans lesquelles
de multiples couches de traitement de calcul itératif dans des architectures hiérarchisées
supervisées sont exploitées pour les algorithmes d’apprentissage non supervisé pour des
tâches d’analyse et de classification. L’apprentissage profond consiste essentiellement à
calculer des caractéristiques hiérarchiques des paramètres des réseaux de neurones artificiels
pour les représentations vectorielles des données d’observation ou d’entrées. La famille des
méthodes d’apprentissage en profondeur s’enrichit de plus en plus, englobant celles des

46
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

réseaux de neurones, des modèles probabilistes hiérarchiques, ainsi que de nombreux


algorithmes d’apprentissage des fonctionnalités supervisés et non supervisés.

6. Deep Learning VS Machine Learning


Deux caractéristiques principales distinguent Deep Learning de Machine Learning :

6.1. Extraction des caractéristiques


Dans le Machine Learning, les fonctionnalités de l'application sont requises par un expert,
puis codées manuellement, contrairement au Deep Learning dont les algorithmes tentent de
connaître automatiquement les fonctionnalités de haut niveau des données.

6.2. La performance
Les performances sont associées à un volume de données accru. La précision des
performances des algorithmes de Deep Learning s'améliore avec l'augmentation du volume de
données. L’inverse se produit avec les algorithmes de Machine Learning traditionnels où les
résultats prévalent à mesure que la quantité de données augmente.

6.3. Le fonctionnement
Les méthodes d'apprentissage en profondeur dépendent principalement des réseaux de
neurones, où le réseau de neurones se compose de trois couches importantes, comme le
montre la figure :

La couche d’entrée ;
La couche cachée ;
La couche résultante.

Figure 3. 13 : Topologie de réseau de neurones. [57]

En deep learning, la profondeur du réseau est calculée en fonction du nombre de couches


cachées dans le réseau neuronal, qui varie de 2 à 150 couches [57].

Le composant principal d'un réseau neuronal est constitué de ganglions (neurones) qui sont
connectés les uns aux autres via des liens dirigés (flèche). Chaque flèche représente un lien
entre une sortie de neurone et une autre entrée, et chaque flèche porte un poids (W). Chaque
nœud est une unité de traitement qui reçoit des données sous forme de valeurs d'entrée et est
passé à travers ce « réseau » de couches cachées jusqu'à ce qu'il converge dans la couche de
sortie. La couche de sortie correspond à nos attentes : il peut s'agir d'un nœud (nous disons

47
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

classification binaire) ou de quelques nœuds s'il s'agit d'un problème de classification multi-
classes.

La forme à l'intérieur des neurones dans les couches de base représente une fonction
d’activation qui peut être un Cube, Elu, Hardsigmoid, Hardtanh, Identity, Leakyrelu,
Rationaltanh, Relu, RRelu, Sigmoid, Softmax, Softplus, Softsign, Tanh [58].

Figure 3.14 : Topologie de réseau de neurones profond [58]

7. Les architectures de Deep Learning


Les architectures les plus utilisée en réseaux de neurones profonds sont :

7.1. Les réseaux de neurones profonds


Les réseaux de neurones profonds (Deep Neural Networks : DNN) sont des réseaux à flux
direct dans lesquels les données circulent de la couche d'entrée à la couche de sortie sans
revenir en arrière et les liens entre les couches sont à sens unique et ils ne touchent jamais un
nœud de nouveau.[59]

Figure 3.15 : Les réseaux de neurones profonds [60]

7.2. Les réseaux de neurones récurrents


Un réseau neuronal récurrents Recurrent Neural Network : RNN) est une classe de réseaux
neuronaux artificiels dans lesquels les connexions entre les nœuds forment un graphique
vectoriel le long d'une séquence qui leur permet de montrer un comportement dynamique

48
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

temporel d'une séquence temporelle. Les RNN peuvent utiliser leur état interne (mémoire)
pour gérer la séquence d'entrée. Cela le rend applicable à des tâches telles que la
reconnaissance de l'écriture manuscrite ou la reconnaissance vocale.[60]

Figure 3.16 : Les réseaux de neurones récurrents [60]

7.3. Les réseaux récurrents à mémoire court et long terme


Les réseaux récurrents à mémoire court et long terme (Long short-term memory : LSTM) sont
un type particulier de RNN, capable d'apprendre les dépendances à long terme qui permettent
à RNN de se souvenir de choses qui se sont produites dans le passé et de trouver des modèles
à travers le temps pour donner un sens à ses prochaines suppositions. Les LSTM ont battu des
records pour l'amélioration de la traduction automatique, de la modélisation linguistique et du
traitement linguistique multilingue.[59]

Figure 3.17 : Les réseaux récurrents à mémoire court et long terme [60]

7.4. Les réseaux de neurones convolutifs


Les réseaux de neurones convolutifs (Convolution Neural Network : CNN ou ConvNet) est
une classe de réseaux neuronaux profonds qui est le plus couramment appliqué à l'analyse de
l'imagerie visuelle. Leurs autres applications incluent la compréhension vidéo, la
reconnaissance vocale et la compréhension du traitement du langage naturel. Dans les sections
suivantes, nous présentons les détaillés d’architecture et de fonctionnement de ce réseau.[59]

8. Les réseaux de neurones Convolutifs


Le CNN est un type de réseau de neurones artificiels, il est largement utilisé dans le domaine
de l'analyse d'images et la reconnaissance vidéo. CNN présente l’avantage d’utiliser des filtres
de noyau (kernel) et mettent en œuvre du pooling.[59]

49
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

Figure 3.18 : Architecture du CNN.[59]

8.1. Les couches de CNN


La structure de CNN consiste en un ensemble de couches de traitement indépendantes :

8.1.1. Couche convolution (CONV)

Cette couche est le composant principal des réseaux de neurones convolutifs et constitue leur
première couche. Sa fonction est de localiser un ensemble de caractéristiques (features) dans
les images qui ont été données sous forme des entrées, raison pour laquelle nous effectuons un
processus appelé méta-filtrage, dans lequel nous faisons glisser la fonction d’image dans une
forme de fenêtre et calculons le produit de convolution entre la feature et chaque portion de
l'image balayée.

Pour mesurer le volume de la couche de convolution, nous avons besoin de 3


hyperparamètres :

Profondeur de la couche : Le nombre de neurones qui ont une corrélation directe


avec le même champ du récepteur.

Le pas : Le pas contrôle le chevauchement des champs récepteurs. Plus le pas est
petit, plus les champs récepteurs se chevauchent et plus le volume de sortie sera
grand.

La marge (à 0) ou zéro padding : parfois, il est commode de mettre des zéros à la


frontière du volume d'entrée. Cette marge permet de contrôler la dimension spatiale
du volume de sortie. [61]

La convolution agit comme un filtrage. On définit une taille de fenêtre qui va se balader à
travers toute l’image (rappelez-vous qu’une image peut être vue comme étant un tableau). Au
tout début de la convolution, la fenêtre sera positionnée tout en haut à gauche de l’image puis
elle va se décaler d’un certain nombre de cases (c’est ce que l’on appelle le pas) vers la droite
et lorsqu’elle arrivera au bout de l’image, elle se décalera d’un pas vers le bas, ainsi de suite
jusqu’à ce que le filtre ait parcouru la totalité de l’image [31] :

50
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

Figure 3.19 : Schéma du parcours de la fenêtre de filtre sur l'image.[31]

Le but est de se servir des valeurs présentes dans le filtre à chaque pas. Par exemple si l’on
définit une fenêtre 3 par 3, cela représentera 9 cases du tableau (9 pixels). La convolution va
effectuer une opération avec ces 9 pixels. Il peut s’agir de n’importe quelle opération, par
exemple on extrait la valeur la plus grande (soit le pixel avec la plus grande valeur). [31]

Figure 3.20 : Convolution avec une argument maximal. [31]

On fait glisser la fenêtre en bleu et à chaque pas on récupère la valeur la plus grande parmi les
9 valeurs de pixels [31]. La sortie de cette opération (convolution) qui s’appelle « matrice de
caractéristique » à des dimensions plus petites que celle de l’image en entrée.

8.1.2. Couche de pooling (POOL)

La chose la plus commune à propos de cette couche est qu’elle est placée entre deux couches
de convolution, ce qui lui permet de recevoir de nombreuses feature maps en entrée,
l'opération de pooling consiste à minimiser la taille de l'image et à en préserver les propriétés
importantes.

Parmi les caractéristiques connues de pooling est de donner une grande puissance de calcul, et
malgré la très faible représentation (et donc la perte d’informations associées), toutes les
tendances actuelles consistent à utiliser des filtres de petite taille (type 2 × 2). Mais le risque
de sur-apprentissage posait de nombreux problèmes qui permettaient très bien d'éviter la
couche de pooling.[62]

51
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

Figure 3.21 : Pooling avec un filtre 2x2 et un pas de 2. [62]

8.1.3. Couche de correction (ReLU)

Les fonctions d’activation telles que : Relu, tanh, sigmoid, on a but pour améliorer l'efficacité
du traitement. La fonction ReLU (Rectified Linear Units) désigne la fonction réelle non-
linéaire, augmente les propriétés non linéaires de la fonction de décision elle remplace toutes
les valeurs négatives reçues en entrées par des zéros. [62]

8.1.4. Couche entièrement connectée (FC)

La couche FC ( Fully Connected Layer ) reçoit un vecteur d’entrée et produit un nouveau


vecteur de sortie. Pour cela, il applique une combinaison linéaire et éventuellement une
fonction d'activation aux valeurs reçues en entrée.[62]

8.1.5. Couche de perte (LOSS)

La dernière couche dans le réseau, spécifie comment l'entrainement du réseau pénalise l'écart
entre le signal prévu et réel. Diverses fonctions de perte adaptées à différentes tâches peuvent
y être utilisées. La perte « Softmax » est utilisée pour prédire une seule classe parmi K classes
mutuellement exclusives.[61]

8.2. Les paramètres de CNN [63]

8.2.1. Nombre de filtres

En raison de la réduction de la taille des images intermédiaires en fonction de la profondeur


du traitement, le nombre de filtres dans les calques proches de l'entrée est réduit. Il est très
important de conserver le nombre de sorties intermédiaires (c'est-à-dire de multiplier le
nombre d'images intermédiaires par le nombre de positions de pixels) afin de préserver les
informations d’entrée.

8.2.2. Forme du filtre

Les formes de filtrage sont souvent choisies en fonction de l'ensemble de données, en raison
de la grande diversité de leurs formes dans la littérature. Les meilleurs résultats sont ceux
obtenus sur MNIST (Modified National Institute of Standards and Technology database) (28
× 28) dans une plage de 5 × 5 dans la première couche.

52
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

8.2.3. Forme du Max Pooling

Les valeurs typiques sont 2 × 2. Des volumes d'entrée très importants peuvent justifier une
mise en commun de 4 × 4 dans les couches inférieures. Cependant, le choix de formes plus
grandes réduira considérablement la dimension du signal et peut entraîner une perte excessive
d'informations.

9. Le CNN et la reconnaissance vocale


Dans cette partie, nous allons voir un exemple de CNN appliqué à une application de
reconnaissance vocale. L'objectif de modèle d'apprentissage automatique sera de classer
quelques mots simples, en commençant par les nombres de zéro à neuf.

Pour extraire les traits distinctifs de la parole, nous adopterons d'abord une procédure de
codage de la voix plutôt utilisée dans le domaine ASR (Automatic Speech Recognition)
nommée Mel Frequency Cepstral Coefficient ou plus simplement MFCC. Grâce à la
technique MFCC, nous serons en mesure d'encoder chaque mot prononcé vocalement dans
une séquence de vecteurs, chacun d'eux de 13 valeurs représentant les coefficients de
l'algorithme MFCC.

Dans ce cas, étant les mots simples représentés par des nombres à un chiffre, nous allons
coder chaque nombre en utilisant une matrice 48 x 13 [64].

Figure 3.22: Exemple de reconnaissance vocale par CNN. [64]

L'image précédente montre la chaîne des principaux modules impliqués lors d'un processus
d'encodage MFCC : le signal vocal est segmenté en plusieurs trames de durée propre dans le
domaine temporel (généralement 25-40 ms).

Pour chacun de ces segments, nous allons calculer la densité spectrale de puissance. Le
résultat est fourni en entrée à une série de filtres partiellement superposés (banc de filtres) qui
calculent la densité spectrale d'énergie correspondant aux différentes plages de fréquences de
notre spectre de puissance.

26 coefficients sont obtenus pour chaque trame, constitués par le résultat du spectre d’énergie
en aval de chaque filtre. Le résultat est finalement traité par la transformée en cosinus discrète
ou DCT (Discrete Cosine Transform).
La DCT a la propriété de pouvoir coder les caractéristiques du signal en utilisant au mieux les
basses fréquences : une caractéristique utile puisqu'il s'agit d'un signal vocal, dont les

53
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

principales propriétés se situent entre 300 et 3400 Hz plus ou moins.

Résultat final : à la fin de ce processus, le MFCC nous fournit 13 coefficients utiles que nous
utiliserons avec des algorithmes d'apprentissage automatique appropriés, en déployant des
classificateurs optimaux (dans cet exemple, basés sur CNN).

En ce qui concerne la phase d'apprentissage, l’exemple de [54] utilise le jeu de données de


Free Spoken Digit Dataset : il s'agit d'environ 2000 enregistrements vocaux effectués avec
différentes personnes qui ont prononcé les chiffres de zéro à neuf selon différents
environnement et temps.

Pour ce classificateur, l’exemple utilise le réseau de neurones convolutifs avec différents


niveaux illustrés ci-dessous [64] :

Figure 3.23:CNN pour la reconnaissance vocale. [64]

10. Avantage de CNN


L'emploi d'un poids unique associé aux signaux entrant dans tous les neurones d'un même
noyau de convolution est un avantage majeur des réseaux convolutifs. Cette stratégie
économise de la mémoire, augmente l'efficacité et permet l'invariance du traitement
translationnel. C'est le principal avantage de CNN par rapport au MLP, qui considère chaque
neurone comme autonome et donne donc à chaque signal entrant un poids distinct.[65]

11. Conclusion
Dans ce chapitre, nous avons exploré la technologie d'apprentissage en profondeur et tentons
de clarifier les concepts qui nous intéressent dans ce domaine, y compris la classification et
les implications pour la relation entre l'apprentissage automatique et l'apprentissage en
profondeur. Nous avons mentionné comment cette technologie a surmonté les inconvénients
des méthode traditionnelles en rendant les systèmes moins complexes et plus rapides.

Nous ne nous sommes pas arrêtés à ce stade car nous avions besoin de réseaux appelés
réseaux de neurones (CNN). Ces réseaux sont capables d'extraire des caractéristiques des
données présentées en entrée et de classer ces propriétés. Cependant, les réseaux de neurones
convolutifs présentent un certain nombre de limitations, d'une part, les hyperparamètres du

54
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)

réseau sont difficiles à pré-évaluer. En fait, le nombre de couches ou le nombre de neurones


par couche ou encore les différentes connexions entre les couches sont des éléments cruciaux
et sont déterminés principalement par une bonne intuition ou une série de tests / calcul
d'erreurs (ce qui est coûteux en temps.

55
Chapitre 4 : Conception et Réalisation

Chapitre 4 :
Conception et Réalisation

Plan du chapitre 4 :

1. Introduction
2. Les CNNs pour la classification des audios
3. Travaux connexes
4. Architecture générale
5. Architecture détaillée du système proposé
5.1 Architecture du modèle CNN
6. Base de données (DataSet)
6.1 La source de la base utilisée
6.2 Informations sur l'ensemble de données
6.3 Informations sur les attributs
7. Paramétrisation du signal vocal
7.1 Résultats expérimentaux
8. Environnement de développement
9. Etapes d’implémentation
9.1 Importation de données
9.2 Pré-traitement de données
9.3 Lire des fichiers de données
9.4 Suppression des ligne blanc (NaN)
9.5 Conversion des coefficients MFCC en spectrogramme
9.6 Préparation des données
9.7 Augmentation des données
9.8 Visualisation des spectrogrammes
9.9 Création du modèle
10.Résultat et discussion
10.1 Les mesures d’évaluation
11.Conclusion

1. Introduction
Dans ce chapitre nous présentons notre contribution, une nouvelle approche basée sur les
réseaux de neurones convolutionnels pour la reconnaissance des chiffres arabe parlé puis une
implémentation du modèle conçu et une discussion des résultats obtenus.

56
Chapitre 4 : Conception et Réalisation

Un avantage majeur des réseaux convolutifs est de n’avoir que quelques poids à calculer
(ceux du filtre) et qu’ils les réutilisent pour l’ensemble de l’image, tandis que les PMCs vont
avoir un poids unique à calculer pour chaque neurone. Cela réduit encore considérablement le
nombre de calculs.

2. Les CNNs pour la classification des audios


Les CNNs peuvent être utilisés dans la détection des tonalités, la compréhension de la
parole et des instruments de musique, ainsi que dans la génération de musique. Pour notre cas,
nous utiliserons les CNNs pour classer les sons des chiffres arabes parlés. Les modèles CNNs
ont montré des résultats parfaits lors de l'évaluation de l'environnement à l'aide d'images.
Cependant, ce domaine n'a pas été pleinement exploité dans la classification phonétique en
général et la classification phonétique arabe en particulier. En effet, le son peut nous donner
une perspective non directionnelle, contrairement à une caméra. Le son ne dépend pas de
l'éclairage. Cela signifie que nous pouvons entendre le son de la même manière, qu'il fasse
jour ou nuit.
Cependant, la conversion des ondes sonores (wav) en fichiers audio et en spectrographes
(spectrogrammes : représentation visuelle des fréquences) peut nous permettre d'utiliser les
capacités des modèles CNNs pour la classification.

3. Travaux connexes
Les réseaux de neurones convolutionnels (CNN) ont été appliqué avec succès dans divers
types d’applications. Nous citons dans ce qui suit un certain nombre de ces travaux.
[39] Ce travail présente la classification d’images de radiographie dans l’objectif de détecter
si une personne est atteinte par le Coronavirus Covid-19 ou non ce qui facilitera le processus
de diagnostic pour les médecins. Pour cela, un modèle de classification par Deep-Learning a
été conçu qui représente une forme de l’apprentissage profond. Les résultats obtenus sont très
satisfaisants mais ce modèle de diagnostic ne remplacera pas les tests des laboratoires
d’analyses médicales à savoir le test PCR (Polymerase Chain Reaction).
Dans [19], les CNNs ont été utilisé pour la reconnaissance des caractères manuscrits arabes.
Ce sont des réseaux de neurones multicouches qui sont spécialisés dans des taches de
reconnaissance de forme. Un modèle a été proposé avec une architecture de couches de
convolutions, des couches de pooling et des couches entièrement connectées. Les résultats
obtenus ont montré que le choix du nombre d’époques et la taille de la base d’images ainsi
que la profondeur du réseau ont une grande influence pour avoir des meilleurs résultats.
Le travail proposé par [10] étudie la reconnaissance de l'identité faciale. Deux techniques de
reconnaissance ont été testées sur des bases de données de visage.
La première approche basée sur des réseaux de neurones convolutionnels. Basée sur plusieurs
réseaux profonds convolutionnels, l’architecture proposée a pour but d’éviter l’étape classique
d’extraction manuelle de caractéristiques, en procédant à l’extraction de caractéristiques et à
la classification en une fois au sein d’un même réseau de neurones. L’approche proposée
fournit de meilleurs résultats de classification que les méthodes usuelles.
La deuxième approche utilise le perceptron multi couche (PMC) pour la classification où
l’image est directement traitée et sans une étape d’extraction de caractéristiques.

57
Chapitre 4 : Conception et Réalisation

Durant les tests, ces méthodes produisent des résultats acceptables, il a été constaté que le
MLP n’atteint pas une précision suffisante ainsi qu’il nécessite une très longue période
d'entraînement. Les résultats obtenus du CNN sont très encourageants.
Le travail [38] présente une revue du processus de reconnaissance vocale, de ses modèles de
base et de son application. Une discussion est faite sur les différentes techniques et approches
du processus de reconnaissance de la parole utilisant le réseau de neurones convolutifs
(CNN). L'objectif principal de cette revue est de mettre en lumière les progrès réalisés dans le
domaine de la reconnaissance vocale qui utilisent un réseau de neurones convolutifs de
différentes langues et d'un point de vue technologique dans différents pays.
Le travail [24] est axé sur la reconnaissance automatique de la parole arabe (AASR). Deux
techniques sont utilisées lors de la phase d'extraction des caractéristiques ; les coefficients
spectraux de fréquence logarithmique (MFSC) et les coefficients cepstraux de fréquence
gammatone (GFCC) avec leurs dérivées du premier et du second ordre.
Le réseau de neurones convolutifs (CNN) est principalement utilisé pour exécuter le
processus d'apprentissage et de classification des caractéristiques. Le modèle CNN a été testé
en utilisant un corpus de mots arabe isolés. Il a été constaté que la précision maximale
obtenue lors de l'utilisation du GFCC avec CNN est de 99,77 %.
Les résultats de ce travail sont comparés avec d’autres et indiquent que le modèle CNN
proposé a permis d’obtenir de meilleures performances.
Dans l’article [18], un système de reconnaissance de la parole basé enquête d'aéroport est
présenté. Le système a été développé nativement pour la langue telugu. La base de données
est créée sur la base des questions les plus fréquemment posées lors d'une enquête sur un
aéroport. En raison de ses hautes performances, le réseau de neurones convolutifs (CNN) a été
utilisé pour l’apprentissage et les tests. Les expériences réalisées ont permis d'améliorer
considérablement les performances du système par rapport aux techniques traditionnelles.
L’article [22] aborde le sujet des réseaux de neurones profonds (DNN). L'apprentissage en
profondeur a dépassé les résultats de l'état de l'art dans de nombreux domaines :
reconnaissance d'images, reconnaissance de la parole, modélisation du langage, analyse
syntaxique, recherche d'informations, synthèse vocale, traduction, voitures autonomes, jeux,
etc. Un aperçu des différentes architectures et procédures d’apprentissage des modèles basés
DNN est présenté. Dans le cadre de la transcription des informations diffusées, le système
basé DNN proposé diminue considérablement le taux d'erreur de mots (WER : Word Error
Rate) par rapport à un système classique.
Dans l’article [36], une approche basée sur les réseaux de neurones convolutifs est présentée
pour construire un système de reconnaissance automatique de la parole pour la langue
amazighe. Ce système est construit avec TensorFlow et utilise le coefficient cepstral de
fréquence mel (MFCC) pour extraire les caractéristiques. Afin de tester l'effet du sexe et de
l'âge du locuteur sur la précision du modèle, le système a été entrainé et testé sur plusieurs
ensembles de données.
Dans la première expérience, le jeu de données est composé de 9240 fichiers audios. La
deuxième expérience, l'ensemble de données est composé de 9240 fichiers audios répartis
entre les locuteurs féminins et masculins. La troisième expérience, l'ensemble de données est
composé de 13860 fichiers audios répartis entre 9-15 ans, 16-30 ans et 30 ans et plus.
Le résultat montre que le modèle entraîné sur un ensemble de données de catégories d'âge de
locuteurs adultes +30 génère la meilleure précision avec 93,9 %.

58
Chapitre 4 : Conception et Réalisation

L’article [1] présente un algorithme de reconnaissance automatique de mots séparés basé sur
des réseaux de neurones convolutifs. La caractéristique distinctive de cet algorithme est que
l’apprentissage est réalisé sur des ensembles constitués de seulement des centaines ou des
milliers d'échantillons. Par conséquent, le problème important est la sélection de l'architecture
optimale pour le réseau de neurones, qui a d'abord été proposée et testée.
Après cela, quatre cas différents de reconnaissance ont été abordé :
 reconnaissance dépendante du locuteur sans bruit,
 reconnaissance indépendante du locuteur sans bruit,
 reconnaissance dépendante du locuteur avec bruit,
 et reconnaissance indépendante du locuteur avec bruit.
Enfin, les expériences réalisées ont montré de bons résultats pour tous les cas d'intérêt.
Dans l’article [8], un système de reconnaissance automatique de la parole basé sur les réseaux
de neurones convolutifs et la paramétrisation MFCC a été proposé. Le papier étudie
l'architecture de certains modèles profonds avec diverses options d'hyperparamètres telles que
le taux d'abandon (Dropout rate) et le taux d'apprentissage (Learning rate).
L'ensemble de données utilisé dans cet article provient du Kaggle TensorFlow Speech
Recognition Challenge. Chaque fichier audio de l'ensemble de données contient un mot d'une
longueur d'une seconde. Le nombre total de mots dans l'ensemble de données est de 30
catégories avec une catégorie pour le bruit de fond.
L'ensemble de données contient 64 721 fichiers et a été séparé en 51 088 pour l'ensemble
d'apprentissage, 6 798 pour l'ensemble de validation et 6 835 pour l'ensemble de test.
L’étude a permis d’évaluer trois modèles avec différentes configurations d'hyperparamètres
afin de choisir le meilleur modèle avec une plus grande précision. La précision la plus élevée
obtenue est de 88,21 %.

4. Architecture générale
Tout comme la catégorisation de n'importe quel ensemble de données d'image dans des
sections spécifiques est un problème de type Computer Vision, cette application est
considérée comme un problème d'apprentissage vocal profond.
Nous allons commencer avec des fichiers audios, les convertir en spectrogrammes, les insérer
dans un modèle CNN et faire des prédictions sur la classe à laquelle appartient l'audio.

Figure 4.1 : Architecture générale

59
Chapitre 4 : Conception et Réalisation

5. Architecture détaillée du système proposé


Dans ce qui suit, nous allons décrire l’architecture générale du système proposé.

Figure 4.2 : Schéma détaillé du système proposé

En utilisant les techniques de classification du Deep Learning, nous avons implémenté un


modèle discriminatoire basé sur l’apprentissage profond qui est : le réseau de neurone
convolutif (CNN). Ce modèle a été construit et évalué sur un ensemble Data Set des dix
chiffres arabes parlés.

5.1 Architecture du modèle CNN

Nous avons mis en place une approche d’un réseau profond (CNN), l’architecture de cette
approche a été modifiée et améliorée en essayant plusieurs combinaisons de plusieurs
paramètres.
Cependant, l'architecture du modèle proposé présente les caractéristiques suivantes :
• Les couches d’entrées ont une dimension (nombre de neurones) égale au nombre de
caractéristiques du vecteur d’entrée.
• La fonction d’activation utilisée était 𝑅𝑒𝐿𝑈, différentes autres fonctions comme 𝑡𝑎𝑛ℎ et
𝑠𝑖𝑔𝑚𝑜𝑖𝑑 ont été expérimentées, mais le 𝑅𝑒𝐿𝑈 donne toujours les meilleurs résultats.
• Les couches de sortie ont une dimension égale au nombre de classes (les dix chiffres arabes
parlés), pour la classification multi-classes la fonction d’activation ” 𝑆𝑜𝑓𝑡𝑚𝑎𝑥 ” a été choisi.
Elle donne une probabilité (dont la somme vaut 1) en sortie de chaque neurone, le neurone de
sortie avec la probabilité la plus grande permettant alors de décider que sa classe associée est
la classe prédite.
• La technique 𝑑𝑟𝑜𝑝𝑜𝑢𝑡 a été utilisée aussi, lorsqu’on tombe au problème de surapprentissage
(𝑂𝑣𝑒𝑟𝑓𝑖𝑡𝑡𝑖𝑛𝑔). Cette technique s’agit de considérer aléatoirement qu’un pourcentage de
neurones d’une couche dans le but d’obtenir un modèle généralisable.
• La fonction de perte (𝐿𝑜𝑠𝑠 𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛) sélectionnée était “ 𝑐𝑎𝑡𝑒𝑔𝑜𝑟𝑖𝑐𝑎𝑙_𝑐𝑟𝑜𝑠𝑠𝑒𝑛𝑡𝑟𝑜𝑝𝑦 ”
pour la classification multi-classes.

60
Chapitre 4 : Conception et Réalisation

L’optimiseur "𝐴𝑑𝑎𝑚" a été utilisé au lieu de l’algorithme d’optimisation stochastique du


gradient descendant (𝑆𝐺𝐷) qui nous a données de mauvais résultats.
La fonction de perte va mesurer l’écart entre les prédictions de modèle et les résultats
attendus. Ensuite, l’algorithme d’optimisation "𝐴𝑑𝑎𝑚" va dicter comment mettre à jour les
poids d’un réseau de neurones pour diminuer la perte, qui au modèle de converge rapidement
et obtient des meilleures prédictions avec le minimum d’erreur.

5.1.1 Description du modèle CNN

Les 𝐶𝑁𝑁𝑠 2𝐷 ont été initialement étudiés pour le traitement des images 2𝐷. Dans notre
étude, les spectrogrammes sont représentés sous forme 2𝐷. Les caractéristiques sont capturées
sous forme de fréquence 𝑀𝐹𝐶𝐶 (trame d’analyse) dans le dataset choisi. De ce fait, nous
avons essayé d’extraire des caractéristiques discriminatoires en appliquant le 𝐶𝑁𝑁 2𝐷.
Au départ, nous avons commencé par un réseau 𝐶𝑁𝑁 de taille moyenne en utilisant des
nombres différents de couches convolutifs, différents nombres de filtres (32 𝑒𝑡 64) avec des
longueurs de 3 afin de trouver les bons paramètres et la meilleure structure du réseau.
Le nombre des couches de convolution nécessaires dépend généralement de la complexité
des données. Plus nous avons utilisé des couches convolutifs, plus nous obtenons une
meilleure précision, bien qu’après environ deux ou trois couches, le gain de précision devient
plutôt stable ainsi que l’apprentissage prend beaucoup de temps.
L’architecture du 𝐶𝑁𝑁 utilisée dans cette étude est illustrée dans la figure suivante. Elle est
composée de 2 couches de convolution 2𝐷, 2 couches 𝑀𝑎𝑥 − 𝑝𝑜𝑜𝑙𝑖𝑛𝑔 2𝐷 longueurs de 2 et
2 couches entièrement connectées. Le 𝐶𝑁𝑁 commence avec une convolution 2𝐷.

Figure 4.3 : Architecture de modèle CNN proposé

Les deux couches de convolution ont des nombres de filtres variés de différentes tailles, ils
ont le 𝑃𝑎𝑑𝑑𝑖𝑛𝑔 𝑠𝑎𝑚𝑒 pour conserver la même taille des cartes de caractéristiques d’entrées.
Étant donné une matrice d'entré 2𝐷 de spectrogramme, l’opération de convolution 2𝐷
utilisant plusieurs filtres nous donne une carte de caractéristiques appelées (𝐹𝑒𝑎𝑡𝑢𝑟𝑒𝑠 𝑚𝑎𝑝),
ensuite, la fonction d’activation 𝑅𝑒𝐿𝑈 sera appliquée à chaque valeur du 𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠 𝑚𝑎𝑝𝑠.

61
Chapitre 4 : Conception et Réalisation

Ces caractéristiques seront encore passé à l’opération 𝑀𝑎𝑥 − 𝑝𝑜𝑜𝑙𝑖𝑛𝑔 sur la carte de
caractéristiques afin d’obtenir de nouvelles caractéristiques plus significatives dans lesquelles
la nouvelle caractéristique c’est la valeur maximum des autres valeurs de la carte. Ensuite une
autre couche convolutif et de 𝑚𝑎𝑥 𝑝𝑜𝑙𝑙𝑖𝑛𝑔 sont répétée pour obtenir de nouvelles
caractéristiques plus significatives. Ces nouvelles caractéristiques seront finalement
transmises à deux couches entièrement connectées, une couche de 𝐷𝑟𝑜𝑝𝑜𝑢𝑡 est utilisée afin
d’éviter le sur-apprentissage. La dernière couche contient la fonction 𝑆𝑜𝑓𝑡 − 𝑚𝑎𝑥 qui donne
la distribution de probabilité sur chaque classe.

La version efficace de l’algorithme descente de gradient stochastique « 𝐴𝑑𝑎𝑚 » était utilisé


pour optimiser le réseau, et la fonction de perte d’entropie croisée catégorique
(𝑐𝑎𝑡𝑒𝑔𝑜𝑟𝑖𝑐𝑎𝑙_𝑐𝑟𝑜𝑠𝑠𝑒𝑛𝑡𝑟𝑜𝑝𝑦) était utilisée étant donné que nous apprenons un problème de
classification multi-classes.

6. Base de données (DataSet) [66]


Dans tout système de reconnaissance de la parole, il est nécessaire d’avoir une base de
données afin d’effectuer tous les traitements. Plusieurs bases de données ont été construites
pour différentes langues (BRIEF-120 et BDSONS pour la langue française, TIMIT pour la
langue anglaise, …etc), mais pour la langue arabe on remarque une absence presque totale et
c’est le grand problème posé lors du développement des systèmes de reconnaissance de la
parole arabe.

Figure 4. 4:Dataset logo [66]

6.1 La source de la base utilisée


Données collectées par le Laboratoire d'Automatique et Signaux,
Université de Badji-Mokhtar - Annaba, Algérie.
Direction : Prof.Mouldi Bedda
Participants : H.Dahmani, C.Snani, MC.Amara Korba, S.Atoui
Adapté et prétraité par :
Nacereddine Hammami et Mouldi Bedda
Faculty of Engineering,
Al-Jouf University
Sakaka, Al-Jouf
Kingdom of Saudi Arabie

62
Chapitre 4 : Conception et Réalisation

6.2 Informations sur l'ensemble de données


Ensemble de données de 8800 (10 chiffres x 10 répétitions x 88 locuteurs) séries
chronologiques de 13 coefficients cepstraux de fréquence (MFCC) provenant de 44 hommes
et 44 femmes de langue maternelle arabe âgés de 18 à 40 ans pour représenter dix chiffres
arabes parlés.

6.3 Informations sur les attributs


Chaque ligne de la base de données représente 13 coefficients MFCC dans l'ordre croissant
séparés par des espaces. Cela correspond à une trame d'analyse. Les coefficients cepstraux de
fréquence 13 Mel (MFCC) sont calculés avec les conditions suivantes :
- Taux d'échantillonnage : 11025 Hz, 16 bits
- Fenêtre appliquée : Hamming
- Filtre préaccentué : 1-0,97Z^(-1)

Cette base de données est partagée en deux corpus :


- Le premier corpus (Base de Données 1 – BD1 : Apprentissage) prononcée par 66
locuteurs (33 de sexe masculin et 33 de sexe féminin) de différents âges. Chaque chiffre
est prononcé 10 fois par chaque locuteur, et ceci pour la phase d’apprentissage.
- Le deuxième corpus (Base de Données 2 – BD2 : Test) prononcée par 22 locuteurs (11 de
sexe masculin et 11 de sexe féminin) de différents âges. Chaque chiffre est prononcé 10
fois par chaque locuteur, et ceci pour la phase de test.
Les locuteurs de l'ensemble de données de test sont différents de ceux de l'ensemble de
données d’apprentissage.

7. Paramétrisation du signal vocal


La phase de paramétrisation du signal vocal consiste à déterminer les paramètres pertinents
pour la reconnaissance de la parole. Il existe de nombreux algorithmes pour calculer des
vecteurs acoustiques mais ils visent tous à obtenir des vecteurs acoustiques représentatifs de
l’information linguistique contenue dans le signal de parole et aussi insensibles que possible
aux causes non-linguistiques de variabilité tels que l’identité du locuteur, l’environnement
acoustique (par exemple, le bruit d’ambiance) ou le canal de transmission (par exemple, la
distorsion induite par une ligne téléphonique ou un microphone inadapté).
Les paramètres les plus généralement utilisés dans la reconnaissance de la parole est MFCC
(Mel-Frequency Cepstral Coeffecients).
Les MFCC sont des coefficients cepstraux calculés par une transformée en cosinus
discrète appliquée au spectre de puissance d'un signal. Les bandes de fréquence de ce spectre
sont espacées logarithmiquement selon l'échelle de Mel.

7.1 Résultats expérimentaux

On donne dans le tableau qui suit les résultats d’analyse (coefficients MFCC) du premier
vecteur d’analyse pour les cinq premières occurrences du chiffre « Zéro » prononcé en arabe

63
Chapitre 4 : Conception et Réalisation

de la base d’apprentissage et le premier vecteur d’analyse des cinq premières occurrences du


chiffre « Zéro » prononcé en arabe de la base de test.

0 1 2 3 4 5 6 7 8 9 10 11 12
Zéro1
Train

-0.81101 -7.2382 1.5429 -0.64774 1.4271 0.61356 0.36516 0.088906 0.47031 0.98844 0.044692 0.20817 0.5114
Zéro2
Train

-2.5929 -2.889 0.29554 -0.067409 0.28635 0.20898 0.41408 0.38878 0.37271 0.16329 0.0050341 0.12431 0.44326
Zéro3
Train

1.2158 -8.1442 1.3789 -1.7417 0.95836 -0.72332 1.1666 1.0579 0.70585 0.21601 0.95991 0.38903 0.66992
Zéro4
Train

0.51722 -8.7817 1.0673 -0.90335 1.2927 0.37036 0.93479 0.035232 0.18915 0.34598 0.60771 0.5088 0.31641
Zéro5
Train

-2.5685 -8.2586 1.566 0.32654 1.1752 0.87757 1.4148 0.86194 0.45452 0.45054 1.0252 0.84049 0.18422
Zéro1

1.2572 -8.2449 0.8483 -1.5782 0.4736 -0.063273 0.42481 0.50017 0.7042 0.28973 0.076053 0.025883 -0.22968
Test
Zéro2

1.2572 -8.2449 0.8483 -1.5782 0.4736 -0.063273 0.42481 0.50017 0.7042 0.28973 0.076053 0.025883 -0.22968
Test

0.004571
Zéro3

1.5639 -8.0116 1.8386 -0.77274 0.78333 0.035182 0.62227 0.16339 0.62849 0.47079 0.48983 0.55168
Test

3
Zéro4

0.33435 -6.7444 1.8014 -0.38327 1.4758 0.27067 0.83728 0.13654 0.39257 -0.0083206 -0.12752 -0.43171 0.33753
Test
Zéro5

0.30265 -6.1626 2.1075 -0.89403 0.88502 0.321 0.78727 0.42904 1.2836 0.40688 -0.17553 0.59397 0.50956
Test

Tableau 4.1 : Résultats de l’analyse MFCC

64
Chapitre 4 : Conception et Réalisation

8. Environnement de développement
Notre modèle est implémenté sous une machine avec un processeur Intel Core i7 fonctionnant
avec une vitesse d'horloge de 1,8 GHz, 16 Go de mémoire, 128 Go de SSD et 1 To de
stockage.
Le langage de programmation est le langage python le plus spécifié pour le domaine d'analyse
des donnés. L'implémentation été réalisation localement avec l'IDE anaconda (Jupyetr
Notebook) et aussi sur le cloud de google (Google colab) pour bénéficier de GPU. Les étapes
d'implémentation sont réalisé à l'aide de diverses bibliographies telles que : Keras,
Tensorflow, Pandas, Numpy, Librosa, Matplotlib.

8.1 Python
Python est un langage de programmation généraliste interprété de haut niveau. Ce langage est
l'un des principaux langages d'analyse de données et il met fortement l'accent sur les
nombreuses tâches telles que l'analyse d'images, ce qui signifie combiner les meilleures
fonctionnalités nécessaires à la réalisation de notre travail. Dans notre implémentation nous
avons utilisé la version 3 du python (Python 3) [67] .

Figure 4.5 : pyhton logo [67]

8.2 Anaconda
Anaconda est essentiellement un package qui nous permet d'installer rapidement et
correctement Python, ainsi qu'un groupe d'IDE populaires basés sur l'apprentissage
automatique [68] .

Figure 4.6 : Anaconda & Jupyter notebook logo [68]

8.3 Google colab


Colaboratory (Colab), est un produit de Google Research. Colab permet à n'importe qui
d'écrire et d'exécuter le code Python de son choix par le biais du navigateur. C'est un
environnement particulièrement adapté au machine learning, à l'analyse de données et à
l'éducation. En termes plus techniques, Colab est un service hébergé de notebooks Jupyter qui
ne nécessite aucune configuration et permet d'accéder sans frais à des ressources
informatiques, dont des GPU.

65
Chapitre 4 : Conception et Réalisation

Figure 4.7 : google colab logo [76]

8.4 Librosa
Librosa est un package python pour l'analyse musicale et audio. Il fournit les blocs de
construction nécessaires pour créer des systèmes de recherche d'informations musicales [69].

Figure 4.8 : Librosa logo [69]

8.5 Numpy
NumPy est une bibliothèque pour le langage de programmation Python, ajoutant la prise en
charge de grands tableaux et matrices multidimensionnels, ainsi qu'une grande collection de
fonctions mathématiques de haut niveau pour opérer sur ces tableaux [70] .

Figure 4.9 : NumPy logo [70]

8.6 Pandas
Pandas est une bibliothèque logicielle écrite pour le langage de programmation Python pour la
manipulation et l'analyse de données. En particulier, il propose des structures de données et
des opérations de manipulation de tableaux numériques et de séries chronologiques [71].

Figure 4.10 : Pandas logo [71]

8.7 Keras
Keras est une bibliothèque de logiciels open source qui fournit une interface Python pour les
réseaux de neurones artificiels. Keras agit comme une interface pour la bibliothèque
TensorFlow [72].
66
Chapitre 4 : Conception et Réalisation

Figure 4.11 : Keras logo [72]

8.8 Tensorflow
TensorFlow est une bibliothèque de logiciels gratuite et open source pour l'apprentissage
automatique et l'intelligence artificielle. Il peut être utilisé dans une gamme de tâches, mais se
concentre particulièrement sur la formation et l'inférence des réseaux de neurones profonds
[73].

Figure 4.12 : TensorFlow logo [73]

8.9 Matplotlib
Matplotlib est une bibliothèque de traçage pour le langage de programmation Python et son
extension de mathématiques numériques NumPy. Il fournit une API orientée objet pour
intégrer des tracés dans des applications à l'aide de kits d'outils d'interface graphique à usage
général [74] .

Figure 4.13 : Matplotlib logo [74]

9. Etapes d’implémentation

9.1 Importation de données


La première étape est l’importation des données au google colab, ou bien utilisation du
chemin direct de données en cas de travaille avec Anaconda Jupyter Notebook.
Le code suivant présente le script python que nous avons implémenté pour importer le dossier
d’apprentissage (Train_Arabic_digit.xlsx) et le dossier de test (Test_Arabic_digit.xlsx)

Figure 4.14 : Script python pour l'importation de données

67
Chapitre 4 : Conception et Réalisation

9.2 Pré-traitement de données


Afin de construire un modèle très précis, il est important d’effectuer des analyses
exploratoires sur l’ensemble de données et ses caractéristiques. Le pré-traitement de
l’ensemble de données est effectué avant d’être appliqué au réseau neuronal profond. Les
étapes de pré-traitement sont données ainsi :
a) Tout d’abord, l’ensemble de données a été filtré afin de l’analyser pour détecter toute
valeur ’NAN’ (Not A Number) ou ces valeurs peuvent être considérées comme des
valeurs manquantes.
b) Pour grouper toutes les valeurs d'un bloc de nombre ensemble. En plus les algorithmes
de deep learning traitent très mal ces valeurs qui affectent directement et négativement
les performances des modèles finales.
c) Afin de garder la séparation entre les blocs des chiffres on a besoin d’une donnée
suffisante, alors les lignes avec des valeurs NAN ont été supprimé après l'ajout d'un
étiquetage des blocs dans une nouvelle colonnes (block_no).

9.3 Lire des fichiers de données


Nous avons utilisé la bibliographie pandas pour lire les données de type excel, le code suivant
présente le script python qui lit les dossiers d’apprentissage et de test puis affiche l’entête
(Head : les 5 premiers ligne) de dataframe.

9.4 Suppression des ligne blanc (NaN)

Figure 4.15 : Suppression des NAN & Ajout de nouvelle colonne

68
Chapitre 4 : Conception et Réalisation

Figure 4.16 : Résultat de prétraitement

9.5 Conversion des coefficients MFCC en spectrogramme


Les CNNs sont un type d'algorithme d'apprentissage en profondeur qui fonctionne bien avec
les images, mais il ne traite pas de l'audio et doit donc être converti en images. Ces images
sont appelées spectrogrammes.
Les spectrogrammes ou images d'audio, sont des formes qui représentent le spectre des
fréquences sonores enregistrées au fil du temps. Cela signifie qu'à mesure que nous devenons
plus brillants en couleur sur la figure, le son est fortement concentré autour de ces fréquences
spécifiques, et que nous devenons plus sombres en couleur, le son est proche d'un son
vide/mort.[75]

Figure 4.17 : Spectogramme de 39 coefficients mfcc.

69
Chapitre 4 : Conception et Réalisation

Sauvegarder le dossier data_train des images dans un zip pour les utiliser directement dans les
étapes futures.

Remarque :
On a répété les mêmes étapes de prétraitement avec la dataset de test.

70
Chapitre 4 : Conception et Réalisation

Figure 4.18 : Les étapes de prétraitement de test

9.6 Préparation des données


Dans cette étape nous pouvons charger les spectrogrammes en mémoire. Nous utilisons
l'utilitaire 𝑖𝑚𝑎𝑔𝑒_𝑑𝑎𝑡𝑎𝑠𝑒𝑡_𝑓𝑟𝑜𝑚_𝑑𝑖𝑟𝑒𝑐𝑡𝑜𝑟𝑦 pour générer les ensembles de données, et nous
utilisons les couches de prétraitement d'image 𝐾𝑒𝑟𝑎𝑠 (𝐼𝑚𝑎𝑔𝑒𝐷𝑎𝑡𝑎𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑜𝑟) pour la
normalisation des images et l'augmentation des données.
Nous redimensionnons une entrée dans la plage (0, 255) pour qu'elle soit dans la plage (0,1).
Ainsi nous avons augmenté juste l’ensemble de données d’apprentissage avec l’utilisation de
zoom (2%), la coupure (𝑠ℎ𝑒𝑎𝑟) et le 𝑓𝑙𝑖𝑝 ℎ𝑜𝑟𝑖𝑧𝑜𝑛𝑡𝑎𝑙.
L'ensemble de test est ce qui sera finalement notre référence en ce qui concerne les
performances et la précision de notre classificateur. La taille de 𝑏𝑎𝑡𝑐ℎ_𝑠𝑖𝑧𝑒 est définie à 32
pour que toutes les images tiennent en mémoire.

71
Chapitre 4 : Conception et Réalisation

9.7 Augmentation des données

Figure 4.19 : Script python pour la préparation et augmentation des données

9.8 Visualisation des spectrogrammes


Visualisons rapidement quelques-uns des spectrogrammes générés et leurs étiquettes est
comme suit :

Figure 4.20 : Script python pour la visualisation de spectrogramme

Résultat :

Figure 4.21: exemple de dataset

72
Chapitre 4 : Conception et Réalisation

9.9 Création du modèle


Nous créons un réseau de neurones en utilisant les couches 𝐶𝑜𝑛𝑣2𝐷 et 𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔2𝐷 pour
sous-échantillonner les images d'entrées en convolutions plus petites, qui peuvent être vues
comme une fenêtre de l'image d'entrée. En combinant plusieurs de ces convolutions, nous
sommes en mesure de capturer des caractéristiques importantes de l'image telles que les
bords, les contours et les couleurs. En itérant sur des lots d'images d'entrée et d'étiquettes
associées, nous pouvons attribuer une importance (poids et biais apprenables) à divers
aspects/objets de l'image et être en mesure de les différencier les uns des autres.

Figure 4.22 : Script python création de model

10. Résultats et discussion


Nous avons implémenté un modèle de Deep learning qui est le CNN. Ce modèle a été formé
et testé sur un ensemble de données de dataset (6600 spectrogrammes pour l’apprentissage du
modèle et 2200 spectrogrammes pour la phase de test).
Plusieurs tests ont été faits afin d’obtenir les bons Hyper-paramètres pour le modèle proposé.
Ces paramètres ne peuvent pas être ajusté durant la phase d’apprentissage, pourtant qu’ils ont
un grand impact sur les performances des modèles durant l’apprentissage. Ils comprennent les
variables qui déterminent la structure du réseau (Nombre de neurones, Nombre de couches,
fonction d’activation, . . .), le lot d’échantillons (Batch Size) et le nombre d’itérations . . .etc.
Lorsqu’on arrive à un bon modèle avec le minimum de taux d’erreur et le maximum
d’exactitude, nous avons ensuite testé ce modèle sur le sous-ensemble de test. Les résultats
sont présentés dans les figures ci-dessous.

10.1 Les mesures d’évaluation

• Précision (P r) : le pourcentage des spectrogrammes identifiées comme des chiffres vrai (TP)
parmi tous les exemples pré-dictés comme les autres chiffres, il est donné par :
TPchiffre vrai
Précison =
TPchiffre vrai + FPchiffre faux

• Recall : le pourcentage des spectrogrammes identifiées comme des chiffres vrai (TP) parmi
tous les attaques dans l’ensemble de données :

73
Chapitre 4 : Conception et Réalisation

TPchiffre vrai
Recall =
TPchiffre vrai + FNchiffre vrai

• F1-score : la moyenne harmonique pondérée de précision et de rappel (Recall), il est donné


par :
2 ∗ precison ∗ recall
F1 − score =
Precison + recall
• Matrice de confusion : Est une disposition de tableau spécifique permettant de visualiser les
performances d’un algorithme d’apprentissage automatique pour un problème de
classification, elle est connue sous le nom de matrice d’erreur.

Figure 4.23 : Matrice de confusion

Les figures suivantes illustrent les résultats de tests de notre classifieur. Il est clair que notre
méthode donne des résultats acceptables, avec un taux de précision et de rappelle
(Recall) élevé.
Pour l’apprentissage de CNN avec un nombre différent d’époques, les meilleurs résultats ont
lieu avec un nombre important d’époques (50 époques) avec une précision de 84 % de test.
Ce résultat n’est pas loin du résultat obtenu avec un nombre des autres époques.
Cependant, l'augmentation du nombre d’époques a permis d'entraîner davantage le modèle,
car il a corrigé la classification des nombres d'un pourcentage significatif (voir les figures
suivantes).

74
Chapitre 4 : Conception et Réalisation

Figure 4.24 : Accuracy avec 10 époques Figure 4.25 : Loss avec 10 époques

Figure 4.26 : Accuracy avec 20 époques


Figure 4.27 : Loss avec 20 époques

Figure 4.28: Accuracy avec 30 époques


Figure 4.29 : loss avec 30 époques

Figure 4.30 : Accuracy avec 40 époques Figure 4.31: Loss avec 40 époques

Figure 4.33: Loss avec 50 époques


Figure 4.32 : Accuracy avec 50 époques

75
Chapitre 4 : Conception et Réalisation

Dans notre expérimentation qui a été réalisé sur un ensemble de données de 6600
spectrogrammes d’apprentissage et 2200 spectrogrammes de test des dix chiffres arabes
parlés pour un nombre d’époques de 10 à 50.
Avec 10 époques, l’apprentissage ne prend pas beaucoup de temps (6 min) comme pour 50
époques (32 min).
Dans les figures de la précision (figures 4.24, 4.26, 4.28, 4.30 et 4.32) et de l’erreur (figures
4.25, 4.27, 4.29, 4.31 et 4.33), nous remarquons que l’écart entre les courbes de
l’entrainement et de test est petit et les deux courbes convergent. Elles augmentent toutes les
deux pour la précision (Accuracy) de classification et elles diminuent toutes les deux pour
l’erreur (Loss) du modèle et pour les deux cas elles évoluent vers le bon sens et tendent vers
des résultats encore meilleurs (diminution de l’erreur et augmentation de la précision).
Ensuite, nous avons testé le modèle sur l’ensemble de test. Les figures suivantes illustrent les
résultats de tests de notre classifieur. Il est clair que le modèle proposé donne des résultats
acceptables, avec un taux de précision et de rappel (Recall) élevé.
La matrice de confusion (figures 4.39, 4.40, 4.41, 4.42 et 4.43) donne plus de détails sur les
résultats de classification obtenus sur la base de données de test. La diagonale de cette matrice
affiche le nombre des chiffres correctement classées. Dans cette matrice nous pouvons
observer que le nombre des chiffres bien classés s’améliore avec l’augmentation du nombre
d’époques.

76
Chapitre 4 : Conception et Réalisation

Figure 4.34 : Rapport de classification avec 10 époques Figure 4.35 : Rapport de classification avec 20 époques

Figure 4. 36 : Rapport de classification avec 30 époques Figure 4.37 : Rapport de classification avec 40 époques

Figure 4.38: Rapport de classification avec 50 époques

77
Chapitre 4 : Conception et Réalisation

Figure 4.39 : Matrice de confusion avec 10 époques Figure 4.40 : Matrice de confusion avec 20 époques

Figure 4.41: Matrice de confusion avec 30 époques Figure 4.42 : Matrice de confusion avec 40 époques

Figure 4.43 : Matrice de confusion avec 50 époques

78
Chapitre 4 : Conception et Réalisation

10.2 Comparaison

Le tableau suivant illustre les résultats de précision et de l’erreur pour l'apprentissage et le test
de notre classifieur CNN.
Nombre époques Train accuracy Train loss Test accuracy Test loss
10 0.598030 1.311117 0.465909 1.466500
20 0.860909 0.467571 0.744545 0.858479
30 0.924545 0.338447 0.810000 0.719615
40 0.941970 0.280980 0.807727 0.748139
50 0.951212 0.208431 0.840909 0.637406
Tableau 4.2 : Comparaison des résultats de accuracy et loss pour les différents époques

Il est clair que le modèle commence à apprendre les classes à partir des 10 premiers époques,
puis il s’améliore avec l’augmentation du nombre d’époques jusqu'à ce qu’il atteint une valeur
de précision acceptable de 95.12 % d'apprentissage et 84.09 % de test.
D’un autre côté, pour la valeur de l’erreur, on remarque qu’elle se diminue avec
l’augmentation du nombre d’époques jusqu'à ce qu’elle arrive à une valeur minimale de
20.84 % lors de la phase d'apprentissage et à une valeur de 63.74 % lors du test.
Nous remarquons aussi que en arrivant à un certain seuil d'époques, le modèle commence à se
stabiliser et l'augmentation du nombre d’époques n'est pas aussi importante qu'au début.
Cependant nous avons remarqué également que l’augmentation des époques a permis
d’améliorer la classification des chiffres arabes mais le temps d’exécution augmente à chaque
fois.

11. Conclusion
Pour la classification des chiffres arabes parlés, nous avons utilisé un modèle d'apprentissage
en profondeur discriminant avec l'ensemble de données "𝑆𝑝𝑜𝑘𝑒𝑛 𝐴𝑟𝑎𝑏𝑖𝑐 𝐷𝑖𝑔𝑖𝑡 𝐷𝑎𝑡𝑎". Il y
avait de nombreux défis avec le développement qui ont nécessité beaucoup de temps pour être
résolus. La taille de l'ensemble de données et les limites des outils matériels à portée de main
(processeur, mémoire). Pour résoudre ces problèmes, nous avons choisi de collaborer avec la
plateforme google colab afin de tirer parti des ressources matérielles et d'exécuter notre
modèle CNN pour une classification multi-classes qui comprenait les 10 chiffres parlés en
arabe.
De nombreux essais ont été faites pour découvrir l'architecture optimale pour la classification
avec les hyper-paramètres appropriés des modèles.
Les modèles CNN proposés ont produit des résultats satisfaisants, avec une bonne précision
de classification des divers chiffres arabes parlés.

79
Conclusion générale

Conclusion
générale

79
Conclusion générale

La capacité d'un ordinateur à reconnaître la parole ou les voix humaines est un nouveau défi
pour la recherche scientifique moderne. D’autant plus que la communication entre humain et
appareils électroniques a augmenté considérablement. Alors les chercheurs s'efforcent de
développer un logiciel intelligent capable de faire exactement cela sans aucune.
Le travail que nous avons effectué au cours de cette étude est basé sur la conception d'un
système de reconnaissance automatique des chiffres arabes parlés basé sur un modèle CNN.
Nous avons fourni deux sous-ensembles de données, une pour l'apprentissage et la seconde
pour le test contenant les chiffres arabes de 0 à 9 donnés par des coefficients MFCC. La
paramétrisation par les coefficients MFCC est la plus utilisée dans ce domaine pour extraire
des caractéristiques et elle donne également de bons résultats.
Tout modèle de reconnaissance subit une étape de classification. Dans ce travail, nous avons
choisi les réseaux de neurones convolutifs (CNN), qui nous ont donné des résultats
satisfaisante après avoir reconnu des échantillons de parole totalement inconnu ,il s'avère
donc être une meilleure technique pour apprendre et identifier de nouvelles données par
rapport aux autres réseaux de neurones.
Notre travail de recherche est considéré comme un point de départ pour lancer d'autres projets
à l'avenir tels que la reconnaissance vocale continue et il porte également quelques idées qui
travaillent sur le développement de notre modèle comme le tester sur d'autres bases de
données plus grandes, ajouter des données de formation supplémentaires à une base de
données, et incluant différentes langues.
En conclusion, ce projet nous a permis d'acquérir de nouvelles connaissances. Au cours de ce
travail, nous avons pu découvrir de nouveaux concepts tels que la reconnaissance de la parole,
les coefficients MFCC, et traiter des réseaux de neurones convolutifs, d'autant plus que nous
avons pu ressentir de manière concrète les différentes difficultés liées à la mise en place de ce
modèle et voir les résultats à travers nos expériences personnelles.

80
Références bibliographiques

[1]: A V Poliyev and O N Korsun, “Speech Recognition Using Convolutional Neural


Networks on Small Training Sets”, IOP Conf. Series: Materials Science and Engineering 714
(2020) 012024
[2] : A. Bullinaria John "Recurrent Neural Networks ,Neural Computation : Lecture 12
".Article.2015.
[3] : A. Carpenter Gail et Grossberg Stephen "Adaptive Resonance Theory".Université de
Boston.2016.
[4] : Abidisaad Safia et Bettayeb Imane "Reconnaissance de chiffres arabes par les réseaux
de neurones". Thèse master. Université Kasdi Merbah-Ouargla.Algérie.2009.
[5] : Amiar Lotfi "Un système hybride AG/PMC pour la reconnaissance de la parole arabe".
Thèse de magister. Université d’Annaba. Algérie. 2005.
[6] : Ammar Mohamed Yessin "Mise en œuvre de réseaux de neurones pour la modélisation
de cinétiques réactionnelles en vue de la transposition Batch/Continu",Thèse de doctorat.
L’institut national Polytechnique de Toulouse.France.2007.
[7] : Andronova Vania "Utilisation de données météo et des réseaux de neurones pour la
prédiction de vitesses de vent". Thèse de master.Université de Corse-Pasqual Paoli.Juillet
2006.
[8] : Arzo Mahmood, Utku Köse, “Speech recognition based on Convolutional neural
networks and MFCC algorithm”, Advances in Artificial Intelligence Research (AAIR) Vol. 1
(No. 1), pp. 6-12, 2021
[9] : Assoum Ammar "Etude de la tolérance aux aléas logiques des réseaux de neurones
artificiels",Thèse de doctorat. Institut National Polytechnique de Grenoble.France.1997.
[10] : BEGGARI Samiha, KHAMRA Khaoula, “Système de reconnaissance de visage par un
réseau de neurone convolutionnel (CNN) “, Mémoire Master Academique, Spécialité
Informatique Industrielle, Universite Kasdi Merbah Ouargla, 2017
[11] : Bélanger Hugues "Réseau De Kohonen Pour La Détection Des Contours D'objets Dans
Une Image À Niveaux De Gris" .Thèse de magister.Université de Québec.Canada.1998.
[12] : Ben Rahmoune Mohamed "Diagnostic des défaillances d’une turbine à gaz à base des
réseaux de neurones artificiels pour l’amélioration de leur système de détection des
vibrations".Thèse de doctorat. Université Ziane Achour de Djelfa.Algérie.2017.
[13] : Bouallegue Mohamed "L’analyse factorielle pour la modélisation acoustique des
systèmes de reconnaissance de la parole" .Thèse doctorat. Université d’Avignon et des Pays
de Vaucluse .France.2014.
[14] : Boughaba Mohammed et Boukhris Brahim "L`apprentissage profond (Deep Learning)
pour la classification et la recherche d’images par le contenu".Thèse de master.Université
Kasdi Merbah Ouargla.Algérie. 2016.
[15] : Brakni El Mahdi "Réseaux de neurones artificiels appliqués à la méthode
électromagnétique transitoire InfiniTEM". Thèse de magister. Université du Québec en
Abitibi-Témiscamingue.Canada. Mai 2011.
[16] : Buhry Laure "Estimation de paramètres de modèles de neurones biologiques sur une
plate-forme de SNN (Spiking Neural Network) implantés ”in silico”".Thèse de doctorat.
Université de Bordeaux 1.France. 2010.

81
Références bibliographiques

[17] : Buniet Laurent "Traitement automatique de la parole en milieu bruité :étude de


modèles connexionnistes statiques et dynamiques" .Thèse de doctorat. Université Henri
Poincaré - Nancy 1. France.2011.
[18]: D. Nagajyothi, P. Siddaiah, “Speech Recognition Using Convolutional Neural
Networks”, International Journal of Engineering & Technology, 7 (4.6) (2018) 133-137
[19] : Daoud Fouad, Louali Farouk, “La reconnaissance des caractères arabes manuscrits
par les réseaux des neurones convolutionnels“, Mémoire de Master, Université de Blida,
2019
[20] : Deng Li et Dong Yu "Deep Learning: Methods and Applications. Foundations and
Trends in Signal Processing".Livre.2014.
[21]: Djeriri Youcef "Les Réseaux de Neurones Artificiels".Article.Université de Sidi-Bel-
Abbes.Algérie.September 2017.
[22]: Dominique Fohr, Odile Mella, Irina Illina. “New Paradigm in Speech Recognition:
Deep Neural Networks”. IEEE International Conference on Information Systems and
Economic Intelligence, Apr 2017, Marrakech, Morocco. hal-01484447
[23]: Douib Oualid "Reconnaissance automatique de la parole arabe par CMU
SPHINX4".Thèse de magister. Université Ferhat Abbas-Sétif 1.Algérie.2013.
[24]: E. RADY, A. HASSEN, N. HASSAN, M. HESHAM, “Convolutional Neural Network
for Arabic Speech Recognition”, Egyptian Journal of Language Engineering, Vol. 8, No. 1,
2021, pp 27-38
[25] : Elloumi Zied "Prédiction de performances des systèmes de Reconnaissance
Automatique de la Parole".Thèse de doctorat.Université Grenoble Alpes.France.2019.
[26]: G. Barto Andrew et S. Sutton Richard "Reinforcement Learning:An
Introduction".Livre.2014.
[27]: G.Sigillito Vincent "Associative memoires and feedforward networks:A synopsis of
neural-network".Article.Université de Milton S.Eisenhower. Amérique.
[28]: Hamadouche Maamar "Techniques d’analyse en vue de la reconnaissane automatique
de la parole".Thèse de magister.Universté Saad Dahlab de Blida.Algérie.2008.
[29]: Hammadeche Abdel Hakim et Taki Mohamed " Reconnaissance automatique de la
parole arabe continu".Thèse master. Université Saad Dahleb-Blida1.Algérie.2018.
[30]: Institut de Mathématiques de Toulouse "Neural Networks and Introduction to Deep
Learning".Article.. Université Paul Sabatier.France.2017.
[31]:J.R.R. Uijlings , K.E.A. Van de Sande, T. Gevers, A.W.M. Smeulders "Selective Search
for Object Recognition". Article.2013.
[32]: Li Jia et Qiao Mu "Gaussian Mixture Models with Component Means Constrained in
Pre-selected Subspaces".2015.
[33]: Luzzati Daniel et Mariani Joseph "De l'analyse de corpus a la reconnaissance
automatique de la parole".Article.1989.
[34]: Maamra OumElhana et Settou Trablesse "Proposition d’un modèle de descripteur
structurel pour la voix arabe , Application saisie des notes ". Thèse de master. Université
Hama Lakhdar d’El-Oued.Algérie.2014.

82
Références bibliographiques

[35]: Mauclair Julie "Mesures de confiance en traitement automatique de la parole et


applications" .Thèse de doctorat.Université de Maine.France.2006.
[36]: Meryam Telmem, Youssef Ghanou, “The convolutional neural networks for Amazigh
speech recognition system”, TELKOMNIKA Telecommunication, Computing, Electronics
and Control Vol. 19, No. 2, April 2021, pp. 515-522
[37]: Merzouka Nouressadat "Etude des performances des réseaux de neurones dynamiques à
représenter des systèmes réels : une approche dans l'espace d’état",Thèse de magister.
Université de Sétif 1.Algérie.2009.
[38]: Nidhi A. Kulkarni, Satish P. Deshpande, “Speech recognition using convolutional
neural network”, International Research Journal of Engineering and Technology (IRJET),
Volume: 06 Issue: 05, May 2019, pp 4577-5480
[39] :Ounissi Mohammed, Harnane Zahra Ilham, « Modélisation et classification avec Deep
Learning. Application à la détection du Coronavirus Covid-19 », Mémoire Master
académique, Spécialité : Electronique des systèmes embarqués, Université Oum El Bouaghi,
2020
[40]: Qiong Liu et Ying Wu "Supervised Learning".Article.2012.
[41]: Samuel Arthur Lee "Some Studies in Machine Learning Using the Game of Checkers"
IBM Journal of Research and Development. 1959.
[42]: Shai Shalev-Shwartz et Shai Ben-David "Understanding Machine Learning: From
Theory to Algorithms". Université de Cambridge. Angleterre .2014.
[43] : Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun "Faster R-CNN: Towards Real-
Time Object Detection With Region Proposal Networks".Article.2016.
[44]: Touzet Claude "Les réseaux de neurones artificiels,Introduction au connexionnisme".
Un ouvrage.Juillet 1992.
[45]: Zien Alexander et Schölkopf Bernhard et Chapelle Olivier "Semi-Supervised
Learning".Livre.2006
[46]:Authot [en ligne] TECHNOLOGIE ET SYSTÈME DE RECONNAISSANCE
AUTOMATIQUE DE LA PAROLE[Consulté le 15/02/2022] .Disponible sur :
https://www.authot.com/fr/2016/09/09/systeme-reconnaissance-de-la-parole/
[47]:Archimag[en ligne]. Reconnaissance automatique de la parole [Consulté le 25/04/2022]
. Disponible sur : https://www.archimag.com/vie-numerique/2019/02/06/reconnaissance-
automatique-parole-commence
par%20voix#:~:text=La%20reconnaissance%20automatique%20de%20la%20parole%20(RA
P)%2C%20souvent%20improprement,un%20fichier%20exploitable%20sur%20ordinateur.
[48]:Getmaster [en ligne] application of speech recognition [Consulté le 17/03/2022] .
Disponible sur : https://www.getsmarter.com/blog/market-trends/applications-of-speech-
recognition/
[49]:Lebigdata [en ligne]. Réseau de neurones artificielle définition [Consulté le 3/04/2022] .
Disponible sur : https://www.lebigdata.fr/reseau-de-neurones-artificiels-definition
[50]: Futura tech [ EN ligne] . Réseau neuronal : qu'est-ce .que c'est ? [Consulté le
16/04/2022]. Disponible sur :https://www.futura-sciences.com/tech/definitions/informatique-
reseau-neuronal-601/

83
Références bibliographiques

[51]:Mobiskill [en ligne ]. Quels sont les algorithmes de deep learning ? Consulté le
16/04/2022].. Disponible sur : https://mobiskill.fr/blog/conseils-emploi-tech/quels-sont-
les-algorithmes-de-deep-learning/
[52]:ProjectPro [en ligne ]. Top 10 Deep Learning Algorithms in Machine Learning [2022]
[Consulté le 16/04/2022]. Disponible sur : https://www.projectpro.io/article/deep-learning
algorithms/443#mcetoc_1fa5p0p6q19
[53]:Simplolearn [en ligne]. Top 10 Deep Learning Algorithms You Should Know in
2022[Consulté le 16/04/2022]. Disponible sur :
https://www.simplilearn.com/tutorials/deep-learning-tutorial/deep-learning-algorithm
[54] : Analyticsinsights [en ligne ]. [Consulté le 18/06/2022] . Disponible sur :
https://analyticsinsights.io/5-apprentissage-supervise/
[55] : Linedata [en ligne ] . Principaux algorithmes d’apprentissage non supervisé[Consulté le
18/06/2022].Disponible sur :
https://fr.linedata.com/principaux-algorithmes-dapprentissage-non-supervise
[56]:Lemagit [en ligne ] . Machine Learning : les 9 types d’algorithmes les plus pertinents en
entreprise[ Consulté le 18/06/2022]. Disponible sur : https://www.lemagit.fr/conseil/Machine-
Learning-les-9-types-dalgorithmes-les-plus-pertinents-en-entreprise
[57]: Mathworks [en ligne] . Deep Learning[Consulté le 10/03/2022] . Disponible sur :
https://fr.mathworks.com/discovery/deep-learning.html
[58]: Saagie [en ligne ] . Qu’est-ce que le Deep Learning et comment ça marche ?[ Consulté
le 10/03/2022].Disponible sur : https://www.saagie.com/fr/blog/l-histoire-du-deep-learning/
[59]: Meduim [en ligne]. Understanding Deep Learning: DNN, RNN, LSTM, CNN and R-
CNN [Consulté le 12/03/2022]. Disponible sur :
https://medium.com/@sprhlabs/understanding-deep-learning-dnn-rnn-lstm-cnn-and-r-cnn-
6602ed94dbff
[60]: Wikipedia [en ligne] . Recurrent neural network [Consulté le 12/03/2022]. Disponible
sur : https://en.wikipedia.org/wiki/Recurrent_neural_network
[61]: Dev [en ligne ] . Machine Learning - Max & Average Pooling [Consulté le 10/03/2022].
Disponible sur: https://dev.to/sandeepbalachandran/machine-learning-max-average-pooling-
1366
[62]: openclassrooms [en ligne]. Découvrez les différentes couches d'un CNN [Consulté le
19/03/2022]. Disponible sur: https://openclassrooms.com/fr/courses/4470531-classez-et-
segmentez-des-donnees-visuelles/5083336-decouvrez-les-differentes-couches-dun-cnn
[63] : stringfix[en ligne]. Réseau neuronal convolutif [Consulté le 22/03/2022]. Disponible sur
: https://stringfixer.com/fr/Convolutional_neural_network
[64] : Gosmar [en ligne ] . Neural networks and speech recognition [Consulté le 21/04/2022].
Disponible sur : https://www.gosmar.eu/machinelearning/2020/05/25/neural-networks-and-
speech-recognition/
[65] : Meduim [en ligne].Convolution neural network [Consulté le 27/04/2022]. Disponible
sur : https://medium.com/analytics-vidhya/cnn-convolutional-neural-network 8d0a292b4498
[66] : UCI [en ligne ]. Spoken Arabic Digit Data Set [Consulté le 01/05/2022] . Disponible
sur : https://archive.ics.uci.edu/ml/datasets/Spoken+Arabic+Digit

84
Références bibliographiques

[67] : Python [en ligne] .python [Consulté le 12/06/2022] Disponible sur


:https://www.python.org/
[68] :Anaconda [en ligne] .anaconda [Consulté le 12/06/2022].Disponible sur
:https://docs.anaconda.com/
[69] : Librosa [en ligne] . librosa [Consulté le
13/06/2022].https://librosa.org/doc/latest/index.html
[70] : Numpy[en ligne] . numpy [Consulté le 13/06/2022 ].Disponible sur :
https://numpy.org/doc/stable/user/whatisnumpy.html
[71] :Pandas[en ligne] .pandas [Consulté le 13/06/2022].Disponible sur
:https://pandas.pydata.org/
[72] :Keras [en ligne] .keras [ Consulté le 14/06/2022]. Disponible sur :https://keras.io/
[73] : tensorflow [en ligne] . tensorflow [Consulté le 14/06/2022].Disponible sur
:https://www.tensorflow.org/
[74] :Matplotlib [en ligne] . matplotlib [ Consulté le 15/06/2022]. Disponible sur :
https://matplotlib.org/
[75] : Towardsdatasecience [en ligne] . Learning from Audio: Spectrograms
[Consulté le 06/06/2022].Disponible sur : https://towardsdatascience.com/learning-from-
audio-spectrograms-37df29dba98c
[76]: Colabolatory [en ligne ]. Bienvenue dans colaboratory [consulté le 06/06/2022].
Disponible sur : Bienvenue dans Colaboratory - Colaboratory (google.com)

85

Vous aimerez peut-être aussi