FR3141794A1 - Dispositif et procédé de reconnaissance vocale - Google Patents

Dispositif et procédé de reconnaissance vocale Download PDF

Info

Publication number
FR3141794A1
FR3141794A1 FR2211492A FR2211492A FR3141794A1 FR 3141794 A1 FR3141794 A1 FR 3141794A1 FR 2211492 A FR2211492 A FR 2211492A FR 2211492 A FR2211492 A FR 2211492A FR 3141794 A1 FR3141794 A1 FR 3141794A1
Authority
FR
France
Prior art keywords
sound
neurons
phonemes
sequences
impulse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2211492A
Other languages
English (en)
Inventor
Aldo Maalouf
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Safran SA
Original Assignee
Safran SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Safran SA filed Critical Safran SA
Priority to FR2211492A priority Critical patent/FR3141794A1/fr
Publication of FR3141794A1 publication Critical patent/FR3141794A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/24Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being the cepstrum
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/45Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of analysis window

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Telephonic Communication Services (AREA)

Abstract

L’invention porte sur un procédé mis en œuvre par ordinateur de reconnaissance vocale, comprenant les étapes suivantes : fenêtrage temporel (WD) d’un signal sonore en une pluralité de séquences sonores ;extraction (EXT) de caractéristiques de chacune des séquences sonores ;pour chacune des séquences sonores, affectation (CLAS) de la séquence sonore à un phonème parmi une pluralité de phonèmes par fourniture des caractéristiques extraites de la séquence sonore à un réseau de classification phonétique qui comprend des couches de neurones impulsionnels ;détermination (NLU) d’un ou plusieurs mots à partir des phonèmes auxquels les séquences sonores sont affectées. Figure pour l’abrégé : Figure 2

Description

Dispositif et procédé de reconnaissance vocale
Le domaine de l’invention est celui de la reconnaissance automatique de la parole (également appelée reconnaissance vocale) qui permet d'analyser un signal sonore d’une captation d’une voix humaine pour le transcrire sous la forme d'un texte exploitable par une machine.
Avec les processeurs de calcul actuels et le grand volume de données d’apprentissage, les modèles d'apprentissage profond (Deep Learning en anglais) connaissent un grand succès dans le domaine de la reconnaissance vocale. Cependant, les modèles d’apprentissage profond ne sont pas économes en énergie et sont inadaptés pour des applications embarquées où les processeurs de hautes performances ne sont pas disponibles. Ces modèles nécessitent des ressources trop importantes pour pouvoir efficacement être embarqués (on parle souvent de modèles nécessitant 7-8 Go de ressource).
Un objectif de l’invention est de disposer d’une solution de reconnaissance vocale à faible consommation, facilement embarquable et ne nécessitant aucune connexion à un nuage informatique ou à un système de stockage externe.
A cet effet, l’invention propose un procédé mis en œuvre par ordinateur de reconnaissance vocale, comprenant les étapes suivantes :
  • fenêtrage temporel d’un signal sonore en une pluralité de séquences sonores ;
  • extraction de caractéristiques de chacune des séquences sonores ;
  • pour chacune des séquences sonores, affectation de la séquence sonore à un phonème parmi une pluralité de phonèmes par fourniture des caractéristiques extraites de la séquence sonore à un réseau de classification phonétique qui comprend des couches de neurones impulsionnels ;
  • détermination d’un ou plusieurs mots à partir des phonèmes auxquels les séquences sonores sont affectées.
Certains aspects préférés mais non limitatifs de ce procédé sont les suivants :
  • le fenêtrage temporel est un fenêtrage de Hamming ;
  • l’extraction de caractéristiques d’une séquence sonore comprend le calcul de coefficients cepstraux ;
  • les coefficients cepstraux sont des coefficients sur l’échelle Mel ;
  • la détermination d’un ou plusieurs mots comprend l’application d’un modèle de Markov caché ayant pour états observables les phonèmes auxquels les séquences sonores sont affectées ;
  • les couches de neurones impulsionnels du réseau neuronal de classification comprennent des couches cachées dans lesquelles les neurones impulsionnels sont des neurones d'intégration et de déclenchement avec fuite chacun caractérisés par un seuil de déclenchement et un facteur de fuite, les neurones impulsionnels d’une même couche cachée partageant le même seuil de déclenchement et le même facteur de fuite ;
  • les couches de neurones impulsionnels du réseau neuronal de classification comprennent une couche d’entrée dans laquelle les neurones impulsionnels sont chacun configurés pour générer un train d’impulsions distribuées selon une loi de Poisson avec un taux de tir proportionnel à la valeur de l’une des caractéristiques extraites d’une séquence sonore qui lui est fournie en entrée ;
  • le réseau neuronal de classification comprend une couche de sortie constituée de neurones d’intégration chacun associé à l’un des différents phonèmes.
L’invention vise également un produit programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé selon l’invention ainsi qu’un dispositif de reconnaissance vocale qui comprend un processeur configuré pour mettre en œuvre les étapes du procédé selon l’invention.
D'autres aspects, buts, avantages et caractéristiques de l’invention apparaîtront mieux à la lecture de la description détaillée suivante de formes de réalisation préférées de celle-ci, donnée à titre d'exemple non limitatif, et faite en référence aux dessins annexés sur lesquels :
- la est un schéma d’un dispositif de reconnaissance vocale selon un mode de réalisation possible de l’invention ;
- la est un schéma illustrant des étapes d’un procédé de reconnaissance vocale selon un mode de réalisation possible de l’invention ;
- la illustre une réalisation possible d’un réseau de classification phonétique à neurones impulsionnels exploité dans le cadre de l’invention.
EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS
En référence à la , l’invention porte sur un dispositif de reconnaissance vocale 1 qui comprend un module de traitement de signal audio 10, un module de reconnaissance vocale 20 et un module d’interprétation en langage naturel 30. Ce dispositif 1 comprend un processeur configuré pour mettre en œuvre les étapes qui sont décrites par la suite.
Module de traitement de signal 10
Le module de traitement de signal audio est configuré pour traiter un signal sonore So entrant, qui peut lui être fourni via un microphone ou au travers d’un fichier audio, et pour fournir en sortie un ensemble de caractéristiques MFCC de ce signal.
En référence à la , ce module 10 est plus particulièrement configuré pour obtenir le signal sonore lors d’une étape OB, pour réaliser un fenêtrage temporel du signal sonore So en une pluralité de séquences sonores lors d’une étape WD et pour réaliser une extraction de caractéristiques de chacune des séquences sonores lors d’une étape EXT.
Le signal sonore So est le plus souvent non stationnaire. Il est cependant constitué d’une suite de phonèmes dont les propriétés ne varient pas pendant une durée pouvant aller de 5 à 100 millisecondes. Il est ainsi possible de supposer que ce signal est stationnaire sur une fenêtre de quelques millisecondes.
Le fenêtrage réalisé lors de l’étape WD peut être un fenêtrage de Hamming défini par l’expression suivante : .
Le fenêtrage Hamming présente l’avantage de lisser la transition du signal audio sur les bords alors que les autres types de fenêtrage (de type rectangulaire par exemple), même s’ils ne déforment pas le signal sur l'intervalle considéré, entraînent une variation brutale sur les bords qui va induire beaucoup d'harmoniques importants et en conséquence perturber l’inférence et l’apprentissage du réseau.
La valeur de N est par exemple adaptée pour couvrir 25 ms du signal (N=0,025*v avec v=16 kHz par exemple la fréquence d’échantillonnage).
Dans un mode de réalisation possible, pour ne pas perdre les informations correspondant aux amplitudes faibles de la fonction de fenêtrage, les fenêtres sont superposées pendant un laps de temps Q (par exemple de 10 ms) adapté à la longueur de la fenêtre.
L’expression de la fonction correspondant à la k-ième fenêtre est donc la suivante :
, où désigne la k-ième séquence sonore issue du fenêtrage (on parle également de signal tronqué pour désigner une telle séquence sonore).
Les valeurs de Q et N ainsi que la fonction de fenêtrage sont adaptables. Celles données ci-dessus sont classiques pour effectuer de la reconnaissance vocale et permettent de trouver un bon compromis entre la quantité de calculs et la précision des résultats. Comme déjà mentionné, la fenêtre de Hamming évite d’importantes discontinuités aux bords de la fenêtre mais peut par exemple être remplacée par une fenêtre de Hann qui présente des propriétés similaires.
Un vecteur de caractéristiques est ensuite extrait de chacune des séquences sonores lors de l’étape EXT. L’extraction des caractéristiques d’une séquence sonore peut notamment comprendre le calcul de coefficients cepstraux. Ces coefficients cepstraux sont de préférence des coefficients sur l’échelle Mel (coefficients MFCC pour « Mel-Frequency Cepstral Coefficients »). Les coefficients MFCC sont par exemple au nombre de 13, ce qui permet d’assurer de bonnes performances à un système de reconnaissance vocale exploitant ces coefficients MFCC.
Une première étape du calcul des MFCC consiste à calculer la transformée de Fourier du signal tronqué , par exemple au moyen d’une transformée de Fourier rapide. Cette transformée est complétée par des zéros de manière à ce qu’elle comporte 512 points.
Un signal sonore étant à valeurs réelles, sa transformée est symétrique : . Il est donc possible de ne considérer que les M = 257 premiers points.
La densité spectrale de puissance de la fenêtre est ensuite calculée selon :
Cette fonction est ensuite filtrée avecNfiltres=23 filtres passe-bandes en échelle Mel. Ce filtrage renvoie un nombre réel par filtre qui donne une estimation de la puissance spectrale du signal dans une tranche de fréquence.
Les filtres sont définis de la manière suivante. On pose d’abord une fréquence minimum et maximum que l’on passe en échelle Mel. On choisit respectivement 0 Hz et la fréquence de Nyquist (8 kHz), ce qui donne 0 mel et 2840 mel.
La conversion d’Hertz vers mel se fait de la manière suivante :
On calcule ensuite la fréquence centrale de chaque filtre en les espaçant linéairement entre 0 et 2840 mel. En repassant ces valeurs en Hertz, on obtient des filtres espacés logarithmiquement selon l’échelle des fréquences.
Pour pouvoir être appliquées au spectre du signal, il faut aligner ces valeurs sur les paramètres de la FFT : .
Chaque valeur représente la fréquence correspondant au pic d’un filtre. On définit le m-ième filtre par :
Une fois filtrées, on obtient les puissances suivantes :
Une dernière étape est mise en œuvre en calculant les coefficients cepstraux pour tenter d’éliminer les caractéristiques dépendantes du locuteur. Le cepstre d’un signal est défini de la manière suivante : .
Le cepstre est donc le spectre d’un spectre. Les harmoniques dépendantes du locuteur sont donc transformées en coefficient cepstral d’ordre supérieur. En conservant uniquement les premiers coefficients, on élimine les parasites crées par l’appareil vocal sur le son. Les 13 premiers coefficients forment donc les MFCCs. Dans une réalisation possible, on n’utilise pas une transformée de Fourier discrète mais plutôt une transformée en cosinus discrète car celle-ci est plus efficace lorsqu’il s’agit de compresser des données.
Module de reconnaissance vocale 20
Le module de reconnaissance vocale 20 est configuré pour transformer les caractéristiques MFCC en une séquence de phonèmes PHO. Il exploite pour cela un réseau de neurones à impulsions (SNN pour « Spike Neural Network » en anglais).
Les humains réalisent la perception auditive en utilisant un paradigme de calcul totalement différent de celui de l’apprentissage profond classique. En effet, la perception auditive chez les humains passe par des événements éparses et asynchrones qui se transmettent sous forme d'impulsions électriques dans le cerveau.
Bien que la vitesse de transmission entre les neurones biologiques (quelques millisecondes) soit inférieure à celle des neurones artificiels, le cerveau humain réalise de la reconnaissance vocale complexe à une vitesse supérieure à celle des réseaux artificiels et apprend les langues d’une façon différentes des réseaux classiques.
L’invention, motivée par ces observations sur la manière dont le cerveau humain apprend et reconnait la parole, propose d’imiter le système humain d’apprentissage et de reconnaissance avec un système de reconnaissance automatique basé sur un réseau de neurones à impulsions SNN. Dans un tel réseau SNN, l’échange entre neurones repose sur l’intégration des impulsions et la redescente de l’activation, à l’instar des neurones biologiques. L’encodage est donc temporel et binaire.
Du fait qu’il fonctionne avec des signaux binaires asynchrones et répartis dans le temps, un tel réseau conduit à une plus grande efficacité de calcul sur du matériel embarqué. L’encodage binaire permet en outre à un tel réseau d’être facilement déployable sur une carte électronique, telle qu’un circuit programmable de type FPGA (Field Programmable Gate Array désignant un réseau logiques programmables).
En référence à la , le module 30 est plus particulièrement configuré pour, au cours d’une étape CLAS, affecter chacune des séquences sonores à un phonème parmi une pluralité de phonèmes en venant fournir, pour chacune des séquences sonores, les caractéristiques extraites de la séquence sonore à un réseau de classification phonétique qui comprend des couches de neurones impulsionnels.
En référence à la , le réseau de classification phonétique comprend une couche d’entrée I composée de neurones impulsionnels, une couche de sortie O et une ou plusieurs couches cachées H composées de neurones impulsionnels entre la couche d’entrée I et la couche de sortie O. Dans une réalisation possible, le réseau de classification phonétique comprend deux couches cachées.
Les neurones impulsionnels de la couche d’entrée I et ceux des couches cachées H sont de préférence des neurones d'intégration et de déclenchement avec fuite (neurones dits LIF pour Leaky Integrate-and-Fire) chacun caractérisé par un seuil de déclenchement et un facteur de fuite. Un tel neurone LIF peut être décrit par :
(1)
et (2)
est le potentiel de membrane d’un post-neuroneià l’instant t, est le facteur de fuite du post-neuroneiavec une valeur comprise entre 0 et 1, est le poids connectant le pré-neurone j au post-neurone i, est la sortie du pré-neurone j à l’instant t, est la sortie du post-neurone i à l’instant t-1 et est le seuil de déclenchement du post-neurone i.
Le premier terme de l'équation (1) désigne la fuite dans le potentiel de membrane, le deuxième terme intègre les entrées pondérées reçues des pré-neurones et le troisième terme rend compte de la réduction de potentiel lorsque le neurone génère une impulsion (spike en anglais). Le seuil de déclenchement dirige le temps d'intégration moyen de l'entrée, et la fuite régularise la quantité du potentiel provenant de l’instant précédent à conserver.
La pré-activation pour chaque neurone est la somme pondérée des entrées reçues par le neurone. Généralement, le seuil de déclenchement d’un neurone est défini comme étant la pré-activation maximale du neurone, ce qui confère une bonne précision mais au prix d’une latence élevée. Dans un mode de réalisation possible, les seuils à chaque couche sont déterminés, non pas en utilisant la pré-activation maximale, mais en prenant un certain percentile de la distribution de pré-activation de chaque couche (par exemple le 99,7 percentile). Ceci permet de réduire la latence avec une légère baisse de la précision.
Enfin, comme cela sera décrit par la suite avec les expressions permettant de calculer le gradient des paramètres de chaque couche, le réseau est entraîné avec une rétropropagation d'erreurs pour optimiser les poids, la fuite de la membrane et les seuils. En particulier, l'attribution spatiale et temporelle des crédits peut être effectuée par le déroulement temporel du réseau et par une rétropropagation dans le temps BTTP (pour Back Propagation Through Time en anglais).
Couche d’entrée
Pour chacune des séquences sonores, les 13 coefficients cepstraux MFCC extraits de la séquence sonore sont appliqués directement à la couche d’entrée I à chaque intervalle temporel t. La couche d’entrée I comprend ainsi 13 neurones.
La couche d’entrée agit à la fois comme extracteur de caractéristiques et générateur de spikes, qui accumule les valeurs de coefficients MFCC et génère les spikes de sortie. Plus particulièrement, les neurones impulsionnels de la couche d’entrée sont chacun configurés pour générer un train d’impulsions distribuées selon une loi de Poisson avec un taux de tir proportionnel à la valeur de celle des caractéristiques extraites d’une séquence sonore qui lui est fournie en entrée.
Une telle génération d’un train d’impulsions est similaire au codage de taux (rate-coding en anglais), mais le taux de tir (spike-rate en anglais) est ici défini en fonction de la fuite de membrane et du seuil de déclenchement qui sont tous appris par une descente de gradient. Afin de réaliser la conversion des valeurs des coefficients MFCC en trains d’impulsions, le rate-coding utilise un générateur de Poisson pour générer des nombres aléatoires à chaque intervalle de temps et vient comparer ces nombres aléatoires aux valeurs des coefficients MFCC pour produire, lorsqu’une valeur d’un coefficient MFCC est supérieure à l’un de ces nombres aléatoires, une impulsion du train d’impulsions.
Couche de sortie
La couche de sortie O comprend autant de neurones que de phonèmes pouvant être affectés aux séquences sonores (i.e. le nombre de classes dans lesquelles une séquence sonore peut être affectée). Par exemple, la couche de sortie O comprend 33 neurones correspondant aux 33 phonèmes de la langue française. Chacun des neurones de la couche de sortie fournit un score d’affectation PBPHO1, PbPHO2….PbPHO32, PbPHO33 d’une séquence sonore à l’un des phonèmes, sous la forme d’une probabilité d’appartenance à une classe donnée ou d’un score binaire d’appartenance ou non à une classe donnée.
Les neurones de la couche de sortie sont des neurones d’accumulation qui accumulent uniquement les entrées entrantes sans aucune fuite et ne génère pas d’impulsion en sortie. Ils peuvent être décrits par : , où est un vecteur contenant le potentiel de membrane des N neurones de sortie, N est le nombre de classes (phonèmes dans notre cas), est la matrice de poids reliant la couche de sortie à la couche précédente, et est un vecteur contenant les signaux de spike de la couche précédente .
Dans une réalisation possible, les valeurs cumulées dans les neurones de la couche de sortie sont comparées à des valeurs seuils et fournissent chacun une valeur binaire en fonction du résultat de la comparaison. La couche de sortie forme ainsi une couche d’activation, avec une fonction d’activation du type softmax.
L’apprentissage des poids peut s’opérer comme suit au moyen d’une fonction de perte définie sur au dernier intervalle temporel T. La perte d'entropie croisée peut être utilisée qui exploite la fonction softmax calculée sur :
est le vecteur contenant les valeurs de softmax, L est la fonction de perte, et y est le vecteur d’encodage one-hot de l’étiquette de la classe du phonème d’entraînement. La mise à jour du poids est calculée comme suit :
et le taux d’apprentissage.
Couches cachées
Dans une réalisation préférée de l’invention, les neurones LIF d’une même couche cachée partagent le même seuil de déclenchement et le même facteur de fuite. Cela réduit le nombre de paramètres du réseau à entraîner, alors même que la Demanderesse n’a pu observer aucune amélioration significative en venant attribuer un seuil/une fuite individuel à chaque neurone.
Les neurones des couches cachées peuvent alors être décrits comme suit :
et
est une valeur réelle représentant le facteur de fuite commun à tous les neurones de la couche et où est une valeur réelle représentant le seuil de déclenchement commun à tous les neurones de la couche .
Lors de l’apprentissage, la mise à jour des poids est calculée comme suit :
est le gradient discontinu qu’il est possible d’approximer par le gradient de substitution : et est une constante désignant la valeur maximale du gradient.
La mise à jour du seuil est alors calculée comme suit :
Finalement, la mise à jour de la fuite est calculée comme suit :
et
L’invention exploite ainsi un réseau neuronal de classification de phonèmes à faible latence dont l’apprentissage peut être effectué par une descente de gradient afin d’optimiser à la fois la fuite membranaire, le seuil de déclenchement et les poids du réseau. La fuite membranaire et le seuil de chaque couche du réseau sont optimisés avec une rétropropagation de bout en bout pour atteindre une précision compétitive à latence réduite.
Les valeurs des coefficients spatio-temporels d’un signal de parole sont directement appliquées à la couche d'entrée du réseau sans avoir besoin de les convertir en trains d’impulsions. La couche d’entrée est entraînée pour convertir les entrées en impulsions où les neurones LIF intègrent les entrées et génèrent un spike de sortie lorsque le potentiel de la membrane dépasse le seuil de déclenchement. Cela élimine le besoin d'une fonction génératrice (et surcoûts associés) utilisée dans d'autres schémas de codage.
La fuite membranaire apprise contrôle le flux d'information d'entrée et atténue les entrées non pertinentes pour augmenter la parcimonie d'activation dans les couches denses du réseau. La latence réduite combinée à l’activation élevée et creuse permet une importante amélioration de l'efficacité de calcul. Une fuite de membrane et un seuil adapté pour chaque couche conduisent à une grande amélioration de la parcimonie d’activation et de l'efficacité énergétique.
L’invention propose ainsi une solution de reconnaissance vocale à faible consommation de ressource et faible latence. Elle peut être utilisée pour réaliser le contrôle de systèmes (robot par exemple) par commande vocale à faible consommation de ressources (mémoire et énergie).
Module d’interprétation en langage naturel 30
Le module d’interprétation en langage naturel 30 est configuré pour transformer la séquence de phonèmes PHO en un texte TXT. En référence à la , il vient pour cela déterminer un ou plusieurs mots à partir de la séquence de phonèmes PHO au cours d’une étape NLU.
La détermination d’un ou plusieurs mots peut comprendre l’application d’un modèle de Markov caché ayant pour états observables les phonèmes auxquels les séquences sonores sont affectées.
Une chaine de Markov est constituée de plusieurs états ainsi que d’une probabilité de passage d’un état à un autre. La probabilité d’être dans un état ne dépend que de l’état précédent. On peut ainsi, depuis n’importe quel état regarder la probabilité de passage à tous les autres états.
Un modèle de Markov caché est applicable à la reconstitution de phrase : en prenant les phonèmes PHO en sortie du module de reconnaissance vocale 20 comme états observables et les mots existants en états cachés il est possible, à partir de la transition des phonèmes observables de retrouver le mot original. Le type de modèle de Markov utilisé est de préférence un modèle caché de type gauche-droite qui a pour particularité de n’aller que dans un seul sens, avec une boucle pour éviter qu’un phonème qui se répète en sortie du module de reconnaissance vocale 20 ne soit présent plusieurs fois.
On notera qu’il est également possible de retrouver un mot en regardant chaque phonème qui lui appartient. Si cette méthode s’avère plus simple à mettre en œuvre, elle présente l’inconvénient qu’en cas d’ajout, d’erreur ou de retrait d’un phonème, il est impossible de retrouver le mot. A contrario, un modèle de Markov caché de type gauche-droite procure une probabilité pour chaque mot, permettant ainsi de retrouver un mot même en présence d’erreur dans la séquence de phonèmes.
Le module 30 est en outre configuré, après avoir pu identifier un mot, pour vérifier que la phrase a du sens en tenant compte que des mots peuvent être phonétiquement proches. Les n-gramme peuvent pour cela être utilisés. En outre, il est possible d’éliminer des erreurs ayant conduit à la détermination de mots qui n’auraient pas du être identifiés comme tels.
Afin d’obtenir le résultat le plus précis possible, il peut être plus intéressant de chercher quelle séquence de phonèmes est la plus probable. L’algorithme de Viterbi peut être utilisé afin de calculer la séquence la plus probable avec une complexité nettement inférieure que si toutes les listes de phonèmes possibles devaient être testées. Pour cela, on analyse, pour chaque état, la probabilité de passer d’un état à un autre ainsi que la probabilité de l’état suivant et on répète l’action jusqu’à parcourir toute la séquence de phonème.
L’invention n’est pas limitée au dispositif et au procédé précédemment décrits mais s’étend également à un produit programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé précédemment décrit.

Claims (10)

  1. Procédé mis en œuvre par ordinateur de reconnaissance vocale, comprenant les étapes suivantes :
    • fenêtrage temporel (WD) d’un signal sonore (So) en une pluralité de séquences sonores ;
    • extraction (EXT) de caractéristiques (MFCC) de chacune des séquences sonores ;
    • pour chacune des séquences sonores, affectation (CLAS) de la séquence sonore à un phonème parmi une pluralité de phonèmes par fourniture des caractéristiques extraites de la séquence sonore à un réseau de classification phonétique qui comprend des couches (E, H) de neurones impulsionnels ;
    • détermination (NLU) d’un ou plusieurs mots à partir des phonèmes auxquels les séquences sonores sont affectées.
  2. Procédé selon la revendication 1, dans lequel le fenêtrage temporel est un fenêtrage de Hamming.
  3. Procédé selon l’une des revendications 1 et 2, dans lequel l’extraction de caractéristiques d’une séquence sonore comprend le calcul de coefficients cepstraux.
  4. Procédé selon la revendication 3, dans lequel les coefficients cepstraux sont des coefficients sur l’échelle Mel.
  5. Procédé selon l’une des revendications 1 à 4, dans lequel la détermination d’un ou plusieurs mots comprend l’application d’un modèle de Markov caché ayant pour états observables les phonèmes auxquels les séquences sonores sont affectées.
  6. Procédé selon l’une des revendications 1 à 5, dans lesquels les couches de neurones impulsionnels du réseau neuronal de classification comprennent des couches cachées (H) dans lesquelles les neurones impulsionnels sont des neurones d'intégration et de déclenchement avec fuite chacun caractérisés par un seuil de déclenchement et un facteur de fuite, les neurones impulsionnels d’une même couche cachée partageant le même seuil de déclenchement et le même facteur de fuite.
  7. Procédé selon l’une des revendications 1 à 6, dans lesquels les couches de neurones impulsionnels du réseau neuronal de classification comprennent une couche d’entrée (I) dans laquelle les neurones impulsionnels sont chacun configurés pour générer un train d’impulsions distribuées selon une loi de Poisson avec un taux de tir proportionnel à la valeur de l’une des caractéristiques extraites d’une séquence sonore qui lui est fournie en entrée.
  8. Procédé selon l’une des revendication 1 à 7, dans lequel le réseau neuronal de classification comprend une couche de sortie (O) constituée de neurones d’intégration chacun associé à l’un des différents phonèmes.
  9. Produit programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé selon l’une des revendications 1 à 8.
  10. Dispositif de reconnaissance vocale (1), comprenant un processeur configuré pour mettre en œuvre les étapes du procédé selon l’une des revendications 1 à 8.
FR2211492A 2022-11-04 2022-11-04 Dispositif et procédé de reconnaissance vocale Pending FR3141794A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2211492A FR3141794A1 (fr) 2022-11-04 2022-11-04 Dispositif et procédé de reconnaissance vocale

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2211492A FR3141794A1 (fr) 2022-11-04 2022-11-04 Dispositif et procédé de reconnaissance vocale
FR2211492 2022-11-04

Publications (1)

Publication Number Publication Date
FR3141794A1 true FR3141794A1 (fr) 2024-05-10

Family

ID=85036820

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2211492A Pending FR3141794A1 (fr) 2022-11-04 2022-11-04 Dispositif et procédé de reconnaissance vocale

Country Status (1)

Country Link
FR (1) FR3141794A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190115011A1 (en) * 2017-10-18 2019-04-18 Intel Corporation Detecting keywords in audio using a spiking neural network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190115011A1 (en) * 2017-10-18 2019-04-18 Intel Corporation Detecting keywords in audio using a spiking neural network

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DAHL G E ET AL: "Context-Dependent Pre-Trained Deep Neural Networks for Large-Vocabulary Speech Recognition", IEEE TRANSACTIONS ON AUDIO, SPEECH AND LANGUAGE PROCESSING, IEEE, US, vol. 20, no. 1, 5 April 2011 (2011-04-05), pages 30 - 42, XP011476706, ISSN: 1558-7916, DOI: 10.1109/TASL.2011.2134090 *
LIU YU ET AL: "Enabling Non-Hebbian Learning in Recurrent Spiking Neural Processors With Hardware-Friendly On-Chip Intrinsic Plasticity", IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS, IEEE, PISCATAWAY, NJ, USA, vol. 9, no. 3, 16 August 2019 (2019-08-16), pages 465 - 474, XP011746267, ISSN: 2156-3357, [retrieved on 20190917], DOI: 10.1109/JETCAS.2019.2934939 *
TAREK BEHI ET AL: "Spike timing dependent competitive learning in recurrent self organizing pulsed neural networks (case study: phoneme and word recognition)", INTERNATIONAL JOURNAL OF COMPUTER SCIENCE ISSUES, vol. 9, no. 4, July 2007 (2007-07-01), pages 328 - 337, XP055171481 *
WU JIBIN ET AL: "Deep Spiking Neural Networks for Large Vocabulary Automatic Speech Recognition", FRONTIERS IN NEUROSCIENCE, vol. 14, 17 March 2020 (2020-03-17), pages 1 - 14, XP055909368, DOI: 10.3389/fnins.2020.00199 *

Similar Documents

Publication Publication Date Title
Sailor et al. Unsupervised Filterbank Learning Using Convolutional Restricted Boltzmann Machine for Environmental Sound Classification.
US10403266B2 (en) Detecting keywords in audio using a spiking neural network
Cho et al. Deep Neural Networks for Emotion Recognition Combining Audio and Transcripts.
Zeng et al. Effective combination of DenseNet and BiLSTM for keyword spotting
US10771627B2 (en) Personalized support routing based on paralinguistic information
Stöter et al. Countnet: Estimating the number of concurrent speakers using supervised learning
Lakomkin et al. Reusing neural speech representations for auditory emotion recognition
Antony et al. Speaker identification based on combination of MFCC and UMRT based features
CN111899757A (zh) 针对目标说话人提取的单通道语音分离方法及***
Wijethunga et al. Deepfake audio detection: a deep learning based solution for group conversations
Phan et al. Vietnamese speech command recognition using recurrent neural networks
CN111986679A (zh) 一种应对复杂声学环境的说话人确认方法、***及存储介质
Ozer et al. Lanczos kernel based spectrogram image features for sound classification
Trivedi Introduction to various algorithms of speech recognition: hidden Markov model, dynamic time warping and artificial neural networks
Liu et al. A Speech Emotion Recognition Framework for Better Discrimination of Confusions.
Ghandoura et al. Building and benchmarking an Arabic Speech Commands dataset for small-footprint keyword spotting
Wu et al. The DKU-LENOVO Systems for the INTERSPEECH 2019 Computational Paralinguistic Challenge.
Wang et al. Automated call detection for acoustic surveys with structured calls of varying length
WO2024114303A1 (fr) Procédé et appareil de reconnaissance de phonèmes, dispositif électronique et support de stockage
Krishnan et al. Speech recognition of isolated malayalam words using wavelet features and artificial neural network
FR3141794A1 (fr) Dispositif et procédé de reconnaissance vocale
Shin et al. Speaker-invariant psychological stress detection using attention-based network
CN114974302A (zh) 环境声音事件检测方法、装置和介质
Hoya et al. Connected word recognition using a cascaded neuro-computational model
Jadhav et al. An Emotion Recognition from Speech using LSTM

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20240510