Mémoire
Mémoire
N° D’ordre : ……………………….
Série : …….………………………..
MEMOIRE Présenté
EN VUE DE L’OBTENTION DU DIPLOME DE MASTER EN
INFORMATIQUE
OPTION : Vision Artificielle
Thème
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
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
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
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
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.
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
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 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
xiii
Figure 3.23:CNN pour la reconnaissance vocale…………………………….…………..……………54
xiv
Liste des tableaux
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
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 :
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].
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].
5
Chapitre 1 : La reconnaissance automatique de la parole (RAP)
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.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.
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] :
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)
8
Chapitre 1 : La reconnaissance automatique de la parole (RAP)
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
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]
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]
11.1. Prétraitement
11
Chapitre 1 : La reconnaissance automatique de la parole (RAP)
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.
12
Chapitre 1 : La reconnaissance automatique de la parole (RAP)
11.3. Décodage
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.
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]
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]
14
Chapitre 1 : La reconnaissance automatique de la parole (RAP)
15
Chapitre 1 : La reconnaissance automatique de la parole (RAP)
𝑒 𝑍𝐿
𝑃(𝑗|𝑥𝑡 ) =∑𝑁 𝑍𝐿 ; 𝑗 ∈ {1, . . . , 𝑁}
𝑘=1 𝑒
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]
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
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]
17
Chapitre 1 : La reconnaissance automatique de la parole (RAP)
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 :
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)
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)
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]
22
Chapitre 2 : Les réseaux de neurones artificiels (RNA)
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 :
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 𝑠𝑖 𝑛𝑜𝑛
+1 𝑠𝑖 𝑥 ≥ 0
Fonction Signe : Sgn(x)={
−1 𝑠𝑖𝑛𝑜𝑛
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)={𝑣 𝑠𝑖 𝑥 ≥ 𝑣
𝑢 𝑠𝑖 𝑥 ≤ 𝑢
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]
25
Chapitre 2 : Les réseaux de neurones artificiels (RNA)
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]
26
Chapitre 2 : Les réseaux de neurones artificiels (RNA)
Figure 2.9 : Réseau proactif complètement connecté avec une seule couche cachée.[9]
27
Chapitre 2 : Les réseaux de neurones artificiels (RNA)
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]
28
Chapitre 2 : Les réseaux de neurones artificiels (RNA)
29
Chapitre 2 : Les réseaux de neurones artificiels (RNA)
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]
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]
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]
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)
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.
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.
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.
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.
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.
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)
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]
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]
34
Chapitre 2 : Les réseaux de neurones artificiels (RNA)
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]
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]
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]
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)
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)
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.
39
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)
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]
40
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)
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].
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]
41
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)
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]
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]
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]
43
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)
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]
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]
44
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)
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]
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 :
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)
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]
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)
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.
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].
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.17 : Les réseaux récurrents à mémoire court et long terme [60]
49
Chapitre 3 : Les réseaux de neurones convolutifs (CNN)
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.
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 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)
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]
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.
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)
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]
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]
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)
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.
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].
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)
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).
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)
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.
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.
59
Chapitre 4 : Conception et Réalisation
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
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𝐷.
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.
62
Chapitre 4 : Conception et Réalisation
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
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
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] .
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] .
65
Chapitre 4 : Conception et Réalisation
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].
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] .
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].
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
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].
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] .
9. Etapes d’implémentation
67
Chapitre 4 : Conception et Réalisation
68
Chapitre 4 : Conception et Réalisation
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
71
Chapitre 4 : Conception et Réalisation
Résultat :
72
Chapitre 4 : Conception et Réalisation
• 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
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.30 : Accuracy avec 40 époques Figure 4.31: Loss avec 40 é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
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
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
81
Références bibliographiques
82
Références bibliographiques
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
85