Mozilla dévoile le moteur de reconnaissance vocale DeepSpeech 0.6

Introduit sortie du moteur de reconnaissance vocale développé par Mozilla DeepSpeech 0.6, qui implémente l'architecture de reconnaissance vocale du même nom, proposé chercheurs de Baidu. L'implémentation est écrite en Python à l'aide du framework d'apprentissage automatique TensorFlow et distribué par sous licence libre MPL 2.0. Prend en charge Linux, Android, macOS et Windows. Les performances sont suffisantes pour utiliser le moteur sur les cartes LePotato, Raspberry Pi 3 et Raspberry Pi 4.

L'ensemble aussi offert modèles entraînés, des exemples fichiers sons et outils de reconnaissance depuis la ligne de commande. Pour intégrer la fonction de reconnaissance vocale dans vos programmes, des modules prêts à l'emploi pour Python, NodeJS, C++ et .NET sont proposés (des développeurs tiers ont préparé des modules pour Calme и Go). Le modèle fini est fourni uniquement pour l'anglais, mais pour d'autres langues sur demande. ci-joint instructions vous pouvez former le système vous-même en utilisant données vocalescollectées par le projet Common Voice.

DeepSpeech est beaucoup plus simple que les systèmes traditionnels et offre en même temps une meilleure qualité de reconnaissance en présence de bruit parasite. Le développement n'utilise pas de modèles acoustiques traditionnels et le concept de phonèmes, mais utilise plutôt un système d'apprentissage automatique bien optimisé basé sur un réseau de neurones, ce qui élimine le besoin de développer des composants séparés pour modéliser diverses déviations, telles que le bruit, l'écho et les caractéristiques de la parole. .

L'inconvénient de cette approche est que pour obtenir une reconnaissance et un entraînement de haute qualité du réseau de neurones, le moteur DeepSpeech nécessite une grande quantité de données hétérogènes dictées en conditions réelles par différentes voix et en présence de bruit naturel.
La collecte de ces données est effectuée par un projet créé dans Mozilla Voix commune, fournissant un ensemble de données validées avec 780 heures sur Anglais, 325 en allemand, 173 en français et 27 heures en russe.

Le but ultime du projet Common Voice est d'accumuler 10 4.3 heures d'enregistrements de diverses prononciations de phrases typiques de la parole humaine, ce qui permettra d'atteindre un niveau acceptable d'erreurs de reconnaissance. Dans sa forme actuelle, les participants au projet ont déjà dicté un total de 3.5 mille heures, dont 3816 mille ont été testées. Lors de la formation du modèle final de la langue anglaise pour DeepSpeech, 1700 heures de parole ont été utilisées, en plus de Common Voice couvrant les données des projets LibriSpeech, Fisher et Switchboard, et comprenant également environ XNUMX heures d'enregistrements d'émissions de radio transcrites.

Lors de l'utilisation du modèle de langue anglaise prêt à l'emploi proposé au téléchargement, le niveau d'erreurs de reconnaissance dans DeepSpeech est de 7.5 % lorsqu'il est évalué par l'ensemble de test LibriDiscours. A titre de comparaison, le taux d'erreur dans la reconnaissance humaine estimé dans 5.83%.

DeepSpeech se compose de deux sous-systèmes : un modèle acoustique et un décodeur. Le modèle acoustique utilise des méthodes d'apprentissage automatique profond pour calculer la probabilité que certains symboles soient présents dans le son d'entrée. Le décodeur utilise un algorithme de recherche de faisceau pour convertir les données de probabilité de symbole en une représentation textuelle.

principal les innovations DeepSpeech 0.6 (la branche 0.6 n'est pas rétrocompatible et nécessite la mise à jour du code et des modèles) :

  • Un nouveau décodeur de streaming est proposé qui offre une plus grande réactivité et ne dépend pas de la taille des données audio traitées. En conséquence, la nouvelle version de DeepSpeech a pu réduire le délai de reconnaissance à 260 ms, ce qui est 73 % plus rapide qu'auparavant, et vous permet d'utiliser DeepSpeech dans des solutions de reconnaissance vocale à la volée.
  • Des modifications ont été apportées à l'API et un travail a été fait pour unifier les noms de fonction. Des fonctions ont été ajoutées pour obtenir des métadonnées supplémentaires sur la synchronisation, permettant non seulement de recevoir une représentation textuelle en sortie, mais également de suivre la liaison de caractères et de phrases individuels à une position dans le flux audio.
  • La prise en charge de l'utilisation de la bibliothèque a été ajoutée à la boîte à outils pour les modules d'apprentissage CuDNN pour optimiser le travail avec les réseaux de neurones récurrents (RNN), ce qui a permis d'obtenir une augmentation significative (environ deux fois) des performances de formation des modèles, mais a nécessité des modifications du code qui violaient la compatibilité avec les modèles précédemment préparés.
  • La configuration minimale requise pour la version TensorFlow est passée de 1.13.1 à 1.14.0. Ajout de la prise en charge de l'édition légère de TensorFlow Lite, qui a réduit la taille du package DeepSpeech de 98 Mo à 3.7 Mo. Pour une utilisation sur des appareils embarqués et mobiles, la taille du fichier compressé avec le modèle a également été réduite de 188 Mo à 47 Mo (la méthode de quantification a été utilisée pour la compression après l'apprentissage du modèle).
  • Le modèle de langage a été traduit dans un format différent de structures de données qui vous permet de mapper des fichiers en mémoire lors du chargement. La prise en charge de l'ancien format a été interrompue.
  • Le mode de chargement d'un fichier avec un modèle de langage a été modifié, ce qui a réduit la consommation de mémoire et réduit les délais de traitement de la première requête après la création du modèle. DeepSpeech consomme désormais 22 fois moins de mémoire lors de son exécution et démarre 500 fois plus vite.

    Mozilla dévoile le moteur de reconnaissance vocale DeepSpeech 0.6

  • Les mots rares ont été filtrés dans le modèle de langage. Le nombre total de mots a été réduit à 500 1800 parmi les mots les plus populaires trouvés dans le texte utilisé pour former le modèle. Le nettoyage a permis de réduire la taille du modèle de langage de 900Mo à XNUMXMo, sans quasiment aucun effet sur le niveau d'erreurs de reconnaissance.
  • Ajout de la prise en charge de divers technicien créer des variations supplémentaires (augmentation) des données sonores utilisées dans la formation (par exemple, ajouter à l'ensemble d'options qui incluent la distorsion ou le bruit).
  • Ajout d'une bibliothèque avec des liaisons pour l'intégration avec des applications basées sur la plate-forme .NET.
  • Documentation repensée, désormais collectée sur un site à part deepspeech.readthedocs.io.

Source: opennet.ru

Ajouter un commentaire