Mozilla odhalila engine pro rozpoznávání řeči DeepSpeech 0.6
Předložené vydání enginu pro rozpoznávání řeči vyvinutého Mozillou DeepSpeech 0.6, která implementuje stejnojmennou architekturu rozpoznávání řeči, navržený badatelé z Baidu. Implementace je napsána v Pythonu pomocí rámce strojového učení TensorFlow a distribuovány pod bezplatnou licencí MPL 2.0. Podporuje Linux, Android, macOS a Windows. Výkon stačí pro použití motoru na deskách LePotato, Raspberry Pi 3 a Raspberry Pi 4.
Sada také nabídl vycvičené modelky, příklady zvukové soubory a nástroje pro rozpoznávání z příkazového řádku. Pro začlenění funkce rozpoznávání řeči do vašich programů jsou nabízeny moduly připravené k použití pro Python, NodeJS, C++ a .NET (vývojáři třetích stran připravili moduly pro Rez и Go). Hotový model je dodáván pouze pro angličtinu, ale na vyžádání i pro jiné jazyky. připojenýinstrukce můžete systém trénovat sami pomocí hlasová datashromážděné projektem Common Voice.
DeepSpeech je mnohem jednodušší než tradiční systémy a zároveň poskytuje vyšší kvalitu rozpoznávání v přítomnosti cizího šumu. Vývoj nevyužívá tradiční akustické modely a koncept fonémů, místo toho využívá dobře optimalizovaný systém strojového učení založený na neuronové síti, což eliminuje potřebu vyvíjet samostatné komponenty pro modelování různých odchylek, jako jsou šum, echo a řečové vlastnosti. .
Nevýhodou tohoto přístupu je, že pro získání vysoce kvalitního rozpoznání a trénování neuronové sítě vyžaduje engine DeepSpeech velké množství heterogenních dat diktovaných v reálných podmínkách různými hlasy a za přítomnosti přirozeného šumu.
Sběr takových dat provádí projekt vytvořený v Mozille Obyčejný hlas, poskytující ověřený soubor dat se 780 hodinami Anglicky, 325 v němčině, 173 ve francouzštině a 27 hodin v ruštině.
Konečným cílem projektu Common Voice je nashromáždit 10 4.3 hodin nahrávek různých výslovností typických frází lidské řeči, čímž se dosáhne přijatelné úrovně chyb v rozpoznávání. V současné podobě už účastníci projektu nadiktovali celkem 3.5 tisíce hodin, z toho 3816 tisíce otestovaných. Při trénování finálního modelu anglického jazyka pro DeepSpeech bylo použito 1700 XNUMX hodin řeči, navíc Common Voice pokrývající data z projektů LibriSpeech, Fisher a Switchboard a také asi XNUMX XNUMX hodin přepsaných nahrávek rozhlasových pořadů.
Při použití hotového anglického jazykového modelu nabízeného ke stažení je úroveň chyb rozpoznávání v DeepSpeech 7.5 % při hodnocení testovací sadou LibriSpeech. Pro srovnání chybovost v lidském rozpoznávání odhadnutý v 5.83%.
DeepSpeech se skládá ze dvou subsystémů – akustického modelu a dekodéru. Akustický model využívá metody hlubokého strojového učení k výpočtu pravděpodobnosti přítomnosti určitých symbolů ve vstupním zvuku. Dekodér používá algoritmus prohledávání paprsku k převodu dat pravděpodobnosti symbolu na textovou reprezentaci.
hlavní inovace DeepSpeech 0.6 (větev 0.6 není zpětně kompatibilní a vyžaduje aktualizaci kódu a modelů):
Je navržen nový streamingový dekodér, který poskytuje vyšší odezvu a nezávisí na velikosti zpracovávaných audio dat. Výsledkem bylo, že nová verze DeepSpeech dokázala zkrátit zpoždění rozpoznávání na 260 ms, což je o 73 % rychleji než dříve, a umožňuje používat DeepSpeech v řešeních rozpoznávání řeči za běhu.
Byly provedeny změny v rozhraní API a pracovalo se na sjednocení názvů funkcí. Byly přidány funkce pro získání dalších metadat o synchronizaci, které umožňují nejen přijímat textovou reprezentaci jako výstup, ale také sledovat vazbu jednotlivých znaků a vět na pozici ve zvukovém toku.
Do sady nástrojů pro výukové moduly byla přidána podpora pro používání knihovny CuDNN optimalizovat práci s rekurentními neuronovými sítěmi (RNN), což umožnilo dosáhnout výrazného (asi dvojnásobného) zvýšení výkonu trénování modelu, ale vyžadovalo změny v kódu, které narušovaly kompatibilitu s dříve připravenými modely.
Minimální požadavky na verzi TensorFlow byly zvýšeny z 1.13.1 na 1.14.0. Přidána podpora pro odlehčenou edici TensorFlow Lite, která snížila velikost balíčku DeepSpeech z 98 MB na 3.7 MB. Pro použití na embedded a mobilních zařízeních byla také zmenšena velikost sbaleného souboru s modelem ze 188 MB na 47 MB (po natrénování modelu byla pro kompresi použita metoda kvantizace).
Jazykový model byl přeložen do jiného formátu datových struktur, který umožňuje mapovat soubory do paměti při načítání. Podpora starého formátu byla ukončena.
Byl změněn režim načítání souboru s jazykovým modelem, což snížilo spotřebu paměti a snížilo zpoždění při zpracování prvního požadavku po vytvoření modelu. DeepSpeech nyní při běhu spotřebovává 22x méně paměti a spouští se 500x rychleji.
V jazykovém modelu byla filtrována vzácná slova. Celkový počet slov byl snížen na 500 1800 nejoblíbenějších slov nalezených v textu použitém k trénování modelu. Čištění umožnilo zmenšit velikost jazykového modelu z 900 MB na XNUMX MB, téměř bez vlivu na úroveň chyb rozpoznávání.
Přidána podpora pro různé technika vytváření dalších variací (augmentace) zvukových dat používaných při tréninku (například přidání do sady možností, které zahrnují zkreslení nebo šum).
Přidána knihovna s vazbami pro integraci s aplikacemi založenými na platformě .NET.