die von Mozilla entwickelte Sprach-Engine , die die gleichnamige Spracherkennungsarchitektur umsetzt, Forschern der Firma Baidu. Die Implementierung ist in Python unter Verwendung des maschinellen Lernens TensorFlow geschrieben und steht unter der freien Lizenz MPL 2.0. Es wird unterstützt, dass die Engine unter Linux, Android, macOS und Windows läuft. Die Leistung ist ausreichend, um die Engine auf LePotato-, Raspberry Pi 3- und Raspberry Pi 4-Platinen zu nutzen.
Im Paket sind auch trainierte Modelle, Audio-Dateien und ein Werkzeugset für die Spracherkennung über die Kommandozeile enthalten. Für die Integration der Spracherkennungsfunktion in Ihre Programme werden gebrauchsfertige Module für Python, NodeJS, C++ und .NET angeboten (von Drittherstellern wurden separat Module für und ). Das fertige Modell wird nur für die englische Sprache bereitgestellt, aber für andere Sprachen kann man das System selbstständig trainieren, indem man , die von dem Projekt Common Voice gesammelt wurden, verwendet.
DeepSpeech ist deutlich einfacher als traditionelle Systeme und bietet gleichzeitig eine höhere Erkennungsqualität bei Vorhandensein von Hintergrundgeräuschen. In der Entwicklung werden keine traditionellen akustischen Modelle und die Konzept von Phonemen verwendet, stattdessen kommt ein gut optimiertes maschinelles Lernsystem auf Basis eines neuronalen Netzwerks zum Einsatz, das es ermöglicht, ohne die Entwicklung separater Komponenten zur Modellierung verschiedener Störungen wie Lärm, Echo und Sprechmerkmale auszukommen.
Ein Nachteil dieses Ansatzes ist, dass für eine qualitativ hochwertige Erkennung und zum Training des neuronalen Netzwerks die DeepSpeech-Engine eine große Menge heterogener Daten erfordert, die unter realen Bedingungen mit unterschiedlichen Stimmen und bei natürlichen Geräuschen diktiert wurden.
Das Sammeln solcher Daten wird durch das in Mozilla gegründete Projekt unterstützt, das einen validierten Datensatz mit 780 Stunden in , 325 in Deutsch, 173 in Französisch und 27 Stunden in Russisch bereitstellt.
Das Endziel des Common Voice Projekts besteht darin, 10.000 Stunden Aufnahmen mit verschiedenen Aussprachen typischer menschlicher Sprachphrasen zu sammeln, was einen akzeptablen Fehlergrad bei der Spracherkennung ermöglicht. In der aktuellen Form wurden insgesamt bereits 4,3 Tausend Stunden von den Projektteilnehmern diktiert, von denen 3,5 Tausend erfolgreich überprüft wurden. Für das Training des endgültigen Modells der englischen Sprache für DeepSpeech wurden 3.816 Stunden Sprache verwendet, zusätzlich zu Common Voice, das Daten aus den Projekten LibriSpeech, Fisher und Switchboard umfasst und etwa 1.700 Stunden transkribierter Aufnahmen von Radioshows beinhaltet.
Bei Verwendung des bereitgestellten, herunterladbaren Modells der englischen Sprache liegt der Fehlergrad bei der Spracherkennung in DeepSpeech bei 7,5 % bei der Bewertung mit einem Testset. . Zum Vergleich liegt der Fehlergrad bei der Erkennung durch Menschen bei 5,83%.
DeepSpeech besteht aus zwei Subsystemen — einem akustischen Modell und einem Decoder. Das akustische Modell verwendet Methoden des tiefen maschinellen Lernens, um die Wahrscheinlichkeit des Vorhandenseins bestimmter Symbole im Eingangssignal zu berechnen. Der Decoder wendet einen Suchalgorithmus an, um die Daten über die Wahrscheinlichkeit der Symbole in eine textliche Darstellung umzuwandeln.
Haupt- DeepSpeech 0.6 (der Branch 0.6 ist nicht kompatibel mit früheren Versionen und erfordert ein Update des Codes und der Modelle):
- Ein neuer Streaming-Decoder wurde vorgeschlagen, der eine höhere Reaktionsfähigkeit ermöglicht und nicht von der Größe der verarbeiteten Audiodaten abhängt. Infolgedessen konnte in der neuen Version von DeepSpeech die Verzögerung bei der Erkennung auf 260 ms gesenkt werden, was 73 % schneller ist als zuvor, und ermöglicht die Anwendung von DeepSpeech in Echtzeiterkennungslösungen.
- Es wurden Änderungen an der API vorgenommen und an der Vereinheitlichung der Funktionsnamen gearbeitet. Funktionen wurden hinzugefügt, um zusätzliche Metadaten zur Synchronisation zu erhalten, die es ermöglichen, nicht nur die textliche Darstellung auszugeben, sondern auch die Zuordnung einzelner Symbole und Sätze zur Position im Audiofluss zu verfolgen.
- Im Trainingsmodul-Toolkit wurde die Unterstützung für die Verwendung der Bibliothek hinzugefügt Zur Optimierung der Arbeit mit rekurrenten neuronalen Netzen (RNN) wurde eine signifikante Steigerung der Modelltrainingsleistung (etwa um das Zweifache) erzielt, jedoch erforderte dies Änderungen im Code, die die Kompatibilität mit zuvor vorbereiteten Modellen beeinträchtigen.
- Die minimalen Anforderungen an die Version von TensorFlow wurden von 1.13.1 auf 1.14.0 erhöht. Es wurde Unterstützung für die leichtgewichtige Version TensorFlow Lite hinzugefügt, wodurch die Größe des DeepSpeech-Pakets von 98 MB auf 3,7 MB reduziert wurde. Für den Einsatz auf Embedded- und Mobilgeräten wurde die Größe der gepackten Datei mit dem Modell ebenfalls von 188 MB auf 47 MB verkleinert (zur Kompression wurde die Quantisierung nach Abschluss des Modelltrainings verwendet).
- Das Sprachmodell wurde in ein anderes Datenstrukturformat überführt, das das Mapping von Dateien in den Speicher beim Laden ermöglicht. Die Unterstützung des alten Formats wurde eingestellt.
- Der Modus zum Laden von Dateien mit dem Sprachmodell wurde geändert, wodurch der Speicherverbrauch gesenkt und die Verzögerungen bei der Verarbeitung der ersten Anfrage nach der Modellerstellung reduziert wurden. DeepSpeech verbraucht jetzt während des Betriebs 22-mal weniger Speicher und startet 500-mal schneller.
- Es wurde eine Filterung seltener Wörter im Sprachmodell durchgeführt. Die Gesamtzahl der Wörter wurde auf 500.000 der beliebtesten Wörter, die im Text verwendet wurden, der zum Trainieren des Modells verwendet wurde, reduziert. Die durchgeführte Bereinigung hat die Größe des Sprachmodells von 1800 MB auf 900 MB verringert, wobei die Fehlerquote bei der Spracherkennung kaum beeinflusst wurde.
- Unterstützung für verschiedene zur Erstellung zusätzlicher Variationen (Augmentation) von Audiodaten, die beim Training verwendet werden, wurde hinzugefügt (z. B. die Hinzufügung von Varianten, die Verzerrungen oder Geräusche enthalten).
- Eine Bibliothek mit Bindungen für die Integration in Anwendungen auf der .NET-Plattform wurde hinzugefügt.
- Die Dokumentation wurde überarbeitet und ist jetzt auf einer separaten Website zusammengefasst .
Quelle: opennet.ru
