Vérification du locuteur, explication détaillée de l'apprentissage de la vérification de l'empreinte vocale et du traitement du signal vocal (9)

les références:

Vérification du haut-parleurbilibilibilibili

Mars 2020 Nouveau programme Li Hongyi Traitement du langage humain Notes exclusives Reconnaissance d'empreintes vocales - 16 - Zhihu (zhihu.com)

(2) Méta-apprentissage – Basé sur des métriques (1/3) - YouTube

Comment comprendre le taux d’erreur égal (EER, Equal Error Rate) ? S'il vous plaît, ne vous contentez pas de donner une définition - Zhihu (zhihu.com)

Tous les articles cités sont omis cette fois

Table des matières

一、Introduction

Une brève introduction au modèle

Indice d'évaluation Taux d'erreur égal (EER)

2. Explication de l'intégration du haut-parleur

cadre de modèle

base de données

Méthode de production d'intégration de haut-parleurs

3. Apprentissage de bout en bout

Préparation des données de formation

Conception du modèle

4. Quelques questions et réponses supplémentaires


一、Introduction

Une brève introduction au modèle
  • Il existe une très grande catégorie de modèles sonores. La tâche principale que le modèle doit accomplir est de saisir un morceau de discours et de produire une certaine catégorie.

  • Les modèles ou tâches associés sont :

    • Reconnaissance des émotions : reconnaissance des émotions, saisie de la parole et détermination de l'émotion de l'orateur.

    • Détection d'événements sonores : la détection d'événements sonores, la voix d'entrée, la détermination de ce qui s'est passé, peuvent être utilisées dans la sécurité et dans d'autres secteurs.

    • Reconnaissance de l'autisme : reconnaissance de l'autisme, saisie de la parole et détermination si vous êtes autiste.

    • Détection de mots-clés : reconnaissance de mots-clés, saisie vocale et détermination si le mot-clé spécifié apparaît dans le discours.

  • Alors quelles sont les tâches liées à l’orateur utilisant ce type de modèle ?

    • Reconnaissance/identification du locuteur : reconnaissance du locuteur, déterminant qui prononce un morceau de discours. Son essence est d'utiliser un corpus de locuteurs multilingues pour la formation, puis de saisir un morceau de discours et d'afficher la confiance (crédibilité) de tous les locuteurs à travers le modèle. Celui qui a une crédibilité plus élevée sera jugé comme celui qui a prononcé le signal. Nous ne le présenterons pas trop ici.

    • Vérification du locuteur : vérification du locuteur, saisissez deux morceaux de discours pour déterminer si les deux morceaux de discours sont prononcés par la même personne. Étant donné un son précédemment enregistré et un son nouvellement entré, le modèle déterminera la similitude entre les deux, générera une probabilité indiquant la similitude (scalaire dans la figure signifie scalaire) et utilisera un seuil pour déterminer si les deux sont identiques. Dit la même personne. Les applications typiques incluent le service client des banques qui détermine si la personne qui retire de l'argent est un déposant.

    • Diarisation des locuteurs : marquage de segmentation des locuteurs, saisie d'un morceau de discours et identification de qui a parlé à quel moment dans ce discours. Le système SD doit d'abord segmenter le signal sonore (Segmentation). Habituellement, chaque paragraphe est une phrase ou un paragraphe. Ensuite, nous ferons un regroupement pour marquer quel segment est le même vocal. Si le nombre de locuteurs différents est connu, il suffit alors de savoir qui prononce cette phrase. Par exemple, dans une scène d'appel téléphonique, il s'agit généralement de deux personnes. Si nous ne savons pas combien de personnes parlent, comme dans une scène de réunion, nous devons regrouper les voix appartenant à la même personne dans une seule catégorie et lui attribuer un numéro. Ici, nous devons utiliser certaines des deux premières technologies, à savoir la reconnaissance du locuteur et la technologie de reconnaissance des empreintes vocales.

Indice d'évaluation Taux d'erreur égal (EER)
  • Taux d'erreur égal (EER), le nom chinois est Taux d'erreur égal. Dans le modèle de vérification du locuteur, nous devons généralement définir manuellement un seuil pour déterminer si les deux sont prononcés par la même personne. Il est naturel pour nous de savoir qu’en fixant des seuils différents, les performances du modèle seront naturellement différentes. La sélection du seuil est généralement laissée à l'utilisateur. Alors, comment juger lequel des deux modèles est le meilleur ?

  • Nous allons énumérer tous les seuils, les dessiner dans un graphique et calculer l'EER. Donnons d'abord quelques exemples simples.

    • Si je fixe directement le seuil à 1,0, alors pour ce modèle, quels que soient les deux morceaux de discours saisis, le modèle jugera qu'ils ne sont pas prononcés par la même personne.

    • Si je fixe le seuil très haut, par exemple 0,8, alors pour ce modèle, deux clips audio utilisant le même haut-parleur peuvent être mal jugés comme étant prononcés par des personnes différentes, et le taux de faux négatifs [Taux de faux négatifs] sera relativement élevé. parce que vos normes sont relativement strictes ; cependant, si deux clips audio utilisant des locuteurs différents sont jugés à tort comme étant prononcés par la même personne, le taux de faux positifs [Taux de faux positifs] est relativement faible.

    • Si je fixe directement le seuil à 0 plus tard, alors pour ce modèle, quels que soient les deux morceaux de discours entrés, le modèle jugera qu'ils sont prononcés par la même personne. En utilisant le concept que nous venons de dire, nous pouvons dire, FNR = 0, FPR = 1.

  • Enfin, avec la valeur FPR comme axe des x et la valeur FNR comme axe des y, nous dessinons l'image, et EER est la magnitude des deux lorsque FPR = FNR.

2. Explication de l'intégration du haut-parleur

cadre de modèle
  • Alors, à quoi ressemble exactement le modèle SV ? Les modèles SV traditionnels utilisent généralement certaines méthodes pour entrer un signal sonore et émettre un vecteur pour représenter les caractéristiques du haut-parleur. Cette caractéristique du haut-parleur est ce que nous appelons Speaker Embedding. Avec cette méthode, nous pouvons convertir les deux signaux sonores en Speaker Embedding, puis comparer la similitude entre les deux.

  • Étapes spécifiques à l'utilisation du modèle :

    • Étape 1 : Le développement, c'est-à-dire la formation du modèle, utilise le corpus pour entraîner le modèle, afin que le modèle puisse apprendre la méthode d'encodage de Speaker Embedding.

    • Étape 2 : l'inscription, c'est-à-dire la saisie de l'empreinte vocale, nécessite que l'orateur saisisse sa voix dans le système. Le système entrera ces sons dans le modèle un par un, obtiendra les intégrations de haut-parleurs, en fera la moyenne et les stockera dans la base de données.

    • Étape 3 : évaluation, c'est-à-dire évaluation de l'empreinte vocale, c'est-à-dire l'étape de vérification. Le système obtiendra un autre haut-parleur intégré à partir du modèle d'entrée vocale humaine détecté, le comparera avec l'intégration précédemment stockée et tirera une conclusion s'il s'agit du même modèle. personne.

    Il est à noter que dans les étapes qui viennent d'être mentionnées, les locuteurs du corpus utilisé pour entraîner le modèle n'apparaîtront pas lors de l'utilisation ultérieure du modèle.

  • L'ensemble d'idées du modèle SV est en fait presque le même que l'idée du méta-apprentissage basé sur les métriques. Pour plus de détails, veuillez consulter(2) Méta-apprentissage – Basé sur des métriques (1/3) - YouTube.

base de données
  • Quelle est la taille de l'ensemble de données nécessaire pour entraîner le modèle d'intégration de haut-parleurs d'extraction SV ? Google a utilisé 18 000 locuteurs et un total de 36 millions de phrases pour entraîner le modèle. L'expérience ne peut pas s'exécuter sur ce type de données. Généralement, nous utiliserons un corpus de référence relativement petit (corpus de base), tel que l'ensemble de données VoxCeleb pour la formation.

Méthode de production d'intégration de haut-parleurs
  • La première méthode utilisée était le vecteur i. Quelle que soit la longueur de la parole d'entrée, un vecteur i à 400 dimensions sera finalement généré pour représenter les informations d'empreinte vocale. je veux dire l'identité. i-Vector est une méthode très puissante. Il n'a été battu par le DL qu'en 2016.

  • Le premier modèle utilisant l'apprentissage profond pour extraire l'intégration des haut-parleurs est le vecteur d. Il intercepte un petit segment du signal sonore (car la longueur d'entrée du DNN utilisée ultérieurement est fixe), l'envoie au DNN et enfin le restitue après avoir traversé un réseau multicouche. Au cours du processus de formation, nous avons formé ce modèle en tant que modèle de reconnaissance du locuteur, c'est-à-dire quel locuteur prononce le résultat final. Une fois le modèle entraîné, nous extrayons la sortie de la dernière couche cachée. C'est ce que nous voulons d-vecteur.

    Nous n'utilisons pas la sortie de la dernière couche de sortie car elle déterminera de quel haut-parleur provient le son à ce moment-là, donc sa dimension est liée au nombre de haut-parleurs pendant l'entraînement, et nous ne voulons pas d'un tel vecteur, donc que nous utilisons est la sortie de la dernière couche cachée.

  • Bien sûr, la méthode pour le moment consiste simplement à lire un court morceau de voix. Il est également très simple de lire un paragraphe entier d'un discours. Effectuez les opérations ci-dessus pour chaque petit paragraphe, et enfin faites la moyenne pour obtenir le vecteur d final. En 2014, le vecteur d peut faire la même chose que le vecteur i. Mais c’est juste pour que tout le monde sache que l’apprentissage profond peut faire ce genre de choses.

  • En 2018, x-vector est sorti. Il agrège la sortie de chaque segment vocal après avoir traversé le modèle d'une certaine manière, plutôt que de simplement faire une moyenne comme un vecteur D. Cette méthode consiste à prendre les vecteurs de moyenne et de variance de chaque dimension, à les concaténer, puis à les saisir dans un modèle pour effectuer la tâche de reconnaissance du locuteur. À ce moment-là, la couche cachée générée par ce modèle est considérée comme le vecteur x représentant les informations d'empreinte vocale. Il diffère du vecteur d dans la mesure où il prend en compte un segment entier d'informations vocales. Vous pouvez également envisager d'utiliser LSTM pour l'agrégation ici.

  • Bien entendu, vous pouvez également utiliser Attention pour calculer le poids d’attention de chaque segment vocal, puis effectuer une somme pondérée. Il existe également une méthode empruntée aux images, NetVLAD, dont l'idée principale est que tous les segments d'un discours ne sont pas des voix humaines, et que certains d'entre eux sont des bruits environnementaux. Nous pouvons trouver comment en retirer uniquement la partie vocale. Les détails spécifiques ne seront pas répétés ici.

  • En combinant ces méthodes, nous entraînons d'abord le modèle selon la tâche de reconnaissance du locuteur, puis extrayons la sortie et l'utilisons dans la tâche de vérification du locuteur.

3. Apprentissage de bout en bout

Auparavant, nous avons tous essayé d'obtenir l'intégration du haut-parleur, puis avons calculé la similitude entre les deux pour terminer la tâche. Il s'agit d'une méthode de séparation, alors existe-t-il un moyen pour nous de combiner le « calcul de l'intégration des locuteurs » et le « calcul de la similarité » pour faire un apprentissage commun et apprendre et s'entraîner ensemble ?

Préparation des données de formation
  • Nous devons d’abord préparer nos données de formation. Dans les tâches précédentes, les données dont nous disposions concernaient un groupe d'orateurs, et chaque locuteur disait un tas de choses. Supposons que notre lien d'inscription nécessite que le locuteur prononce k phrases, alors nous préparons les informations comme ceci :

    • Exemples positifs : sélectionnez k phrases parmi ce que dit un certain locuteur en tant que phrases enregistrées et saisissez-les dans le modèle. Prenez une autre phrase du même locuteur comme phrase de test, puis saisissez-la dans le modèle. La valeur de sortie finale est Plus grande est la meilleure. .

    • Exemples négatifs : sélectionnez k phrases parmi ce que dit un certain locuteur en tant que phrases enregistrées et saisissez-les dans le modèle. Prenez une phrase d'un autre locuteur comme phrase de test, puis saisissez-la dans le modèle. La valeur de sortie finale est la plus petite, la meilleure.

  • Bien entendu, en plus de cette méthode de préparation des ensembles de données, nous disposons également de diverses autres méthodes, telles que l'E2E généralisée (GE2E, [Wan, et al., ICASSP'18]), etc., qui ne seront pas décrites ici.

Conception du modèle
  • La structure interne du modèle de bout en bout imite complètement le modèle SV traditionnel. Il y a K phrases enregistrées. Chaque phrase entrera dans un réseau et générera un vecteur pour servir d'intégration de haut-parleur. Les phrases utilisées pour les tests sont également les mêmes et un vecteur sera généré via un réseau.

  • Ensuite, nous faisons la moyenne du vecteur généré par la phrase enregistrée pour obtenir un vecteur, puis calculons la similarité avec le vecteur généré par la phrase de test tout à l'heure. Ici, nous pouvons également utiliser un réseau pour calculer la similarité et enfin obtenir un score . Comment se former de bout en bout ? Nous espérons que les scores seront plus petits pour les voix prononcées par différentes personnes, et nous espérons que les scores seront plus élevés pour les voix prononcées par la même personne.

  • Le calcul de similarité couramment utilisé consiste à calculer d'abord la similarité cosinus entre les deux, puis à effectuer quelques petites transformations, telles que la multiplication par un poids, puis l'ajout d'un biais.

  • Ce modèle de bout en bout peut être divisé en dépendant du texte et indépendant du texte. Si l'enregistrement et l'évaluation indiquent le même contenu textuel, cela dépend du texte. Par exemple, le même mot de code « sésame ouvert » doit être prononcé. S'il peut s'agir d'un contenu textuel différent, il est indépendant du texte.

  • Si nous voulons être indépendants du texte, alors lorsque nous extrayons les analogues du Speaker Embedding, nous devons extraire autant que possible uniquement les informations sur le locuteur, sans extraire les informations sur le contenu. Ici, nous pouvons introduire l’idée du​​GAN dans l’entraînement au combat. On peut connecter un Discriminator (discriminateur) après le Speaker Embedding généré pour identifier le contenu du texte (un peu comme l'ASR). Et notre objectif de formation a un autre objectif : le réseau qui produit l'intégration de haut-parleurs doit trouver un moyen de tromper le discriminateur et de rendre impossible la reconnaissance du contenu textuel de l'intégration d'empreinte vocale.

4. Quelques questions et réponses supplémentaires

  1. Que signifie EER :

    Parce qu'il y a deux types d'erreurs dans ce modèle, l'une est que c'est clairement prononcé par la même personne, mais vous dites que c'est une personne différente ; l'autre est que les mots sont prononcés par des personnes différentes, mais vous jugez que c'est le cas. la même personne. Cela implique ensuite un compromis (compromis) entre deux taux d'erreur. Ensuite, l'EER consiste à juger de la qualité du modèle en regardant la taille lorsque les taux d'erreur des deux erreurs sont les mêmes.

    Vous pouvez également vous référer à la réponse sur Zhihu ici :Comment comprendre le taux d'erreur égal (EER, Equal Error Rate) ? S'il vous plaît, ne vous contentez pas de donner une définition - Zhihu (zhihu.com), en fait c'est assez différent.

Je suppose que tu aimes

Origine blog.csdn.net/m0_56942491/article/details/134526879
conseillé
Classement