vydání rozpoznávacího motoru vyvinutého společností Mozilla , který implementuje shodnou architekturu rozpoznávání řeči, vědci ze společnosti Baidu. Implementace je napsaná v jazyce Python s využitím platformy strojového učení TensorFlow a je licencována pod volnou licencí MPL 2.0. Podporována je práce v Linuxu, Androidu, macOS a Windows. Výkon je dostatečný pro použití motoru na deskách LePotato, Raspberry Pi 3 a Raspberry Pi 4.
Součástí jsou také naučené modely, zvukové soubory a nástroje pro rozpoznávání z příkazového řádku. Pro implementaci funkce rozpoznávání řeči do svých programů jsou k dispozici hotové moduly pro Python, NodeJS, C++ a .NET (externí vývojáři připravili samostatné moduly pro a ). Hotový model je dodáván pouze pro anglický jazyk, ale pro jiné jazyky lze podle návodu systém vytrénovat samostatně, za použití , shromážděných projektem Common Voice.
DeepSpeech je výrazně jednodušší než tradiční systémy a zároveň poskytuje vyšší kvalitu rozpoznávání při přítomnosti nežádoucího šumu. V procesu vývoje nejsou používány tradiční akustické modely a koncepty fonémů, místo toho se uplatňuje dobře optimalizovaný systém strojového učení založený na neuronové síti, který umožňuje obejít potřebu vyvíjet jednotlivé komponenty pro modelování různých odchylek, jako jsou šum, ozvěna a rysy řeči.
Nevýhodou tohoto přístupu je, že pro dosažení kvalitního rozpoznávání a trénování neuronové sítě motor DeepSpeech vyžaduje velké množství různorodých dat, nadiktovaných v reálných podmínkách různými hlasy a za přítomnosti přirozeného šumu.
Sbírkou takových dat se zabývá projekt vytvořený ve společnosti Mozilla , který poskytuje ověřený datový soubor s 780 hodinami v , 325 hodinami v němčině, 173 hodinami ve francouzštině a 27 hodinami v ruštině.
Konečným cílem projektu Common Voice je shromáždit 10 000 hodin nahrávek různých výslovností běžných frází lidské řeči, což umožní dosáhnout přijatelných chybovosti při rozpoznávání. V současné podobě účastníci projektu již nadiktovali celkem 4,3 tisíce hodin, z nichž 3,5 tisíce prošlo kontrolou. Při školení konečného modelu anglického jazyka pro DeepSpeech bylo využito 3816 hodin řeči, kromě Common Voice pokrývající data z projektů LibriSpeech, Fisher a Switchboard, a zahrnující přibližně 1700 hodin transkribovaných nahrávek rozhlasových pořadů.
Při použití nabízeného modelu anglického jazyka pro stažení je úroveň chybovosti při rozpoznávání v DeepSpeech 7,5 % při hodnocení testovacím souborem. . Pro porovnání, úroveň chybovosti při rozpoznávání člověkem je 5,83%.
DeepSpeech se skládá ze dvou subsystémů — akustického modelu a dekodéru. Akustický model používá metody hlubokého strojového učení k výpočtu pravděpodobnosti výskytu určitých symbolů v podávaném zvuku. Dekodér používá algoritmus pro hledání nejlepšího řešení k přeměně dat o pravděpodobnostech symbolů na textovou reprezentaci.
Hlavní DeepSpeech 0.6 (větev 0.6 není kompatibilní se staršími verzemi a vyžaduje aktualizaci kódu a modelů):
- Byl navržen nový streamovací dekodér, který zajišťuje vyšší odezvu a nezávisí na velikosti zpracovávaných zvukových dat. V důsledku toho se v nové verzi DeepSpeech podařilo snížit latenci rozpoznávání na 260 ms, což je o 73 % rychlejší než dříve, a umožňuje používat DeepSpeech v řešeních pro rozpoznávání řeči v reálném čase.
- Byly provedeny změny v API a byla provedena práce na unifikaci názvů funkcí. Byly přidány funkce pro získávání dalších metadat o synchronizaci, což umožňuje nejen získat textovou reprezentaci, ale také sledovat vazbu jednotlivých symbolů a vět na pozici v zvukovém toku.
- Do nástrojového balíčku pro školení modulů byla přidána podpora pro použití knihovny pro optimalizaci práce s rekurentními neuronovými sítěmi (RNN), což vedlo k výraznému (asi dvojnásobnému) zvýšení výkonnosti trénování modelu, ale vyžadovalo změny v kódu, které narušily 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. Byla přidána podpora lehké verze TensorFlow Lite, při jejímž použití se velikost balíčku DeepSpeech zmenšila z 98 MB na 3.7 MB. Pro použití na vestavěných a mobilních zařízeních byl také zmenšen velikost zabaleného souboru s modelem z 188 MB na 47 MB (metoda kvantizace po dokončení trénování modelu byla použita pro kompresi).
- Jazykový model byl převeden na jiný formát datových struktur, což umožňuje provádět mapování souborů 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ž vedlo ke snížení spotřeby paměti a zkrácení latence při zpracování prvního požadavku po vytvoření modelu. V procesu práce DeepSpeech nyní spotřebovává 22krát méně paměti a spouští se 500krát rychleji.
- Bylo provedeno filtrování vzácných slov v jazykovém modelu. Celkový počet slov byl zredukován na 500 tisíc nejpopulárnějších slov, která se vyskytují v textu použitém při trénování modelu. Provedená úprava umožnila snížit velikost jazykového modelu z 1800 MB na 900 MB, prakticky bez vlivu na ukazatele chybovosti rozpoznávání.
- Byla přidána podpora různých vytváření dalších variací (augmentation) zvukových dat, používaných při trénování (například přidání do sady variant, do kterých byla zanesena zkreslení nebo šumy).
- Byla přidána knihovna s vazbami pro integraci s aplikacemi na platformě .NET.
- Byla přepracována dokumentace, která je nyní shromážděna na samostatném webu .
Zdroj: opennet.ru
