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
