vydanie vývojového motora na rozpoznávanie reči spoločnosti Mozilla , ktorý implementuje rovnomennú architektúru rozpoznávania reči, výskumníkmi zo spoločnosti Baidu. Implementácia je napísaná v jazyku Python s využitím platformy strojového učenia TensorFlow a pod voľnou licenciou MPL 2.0. Podporuje prácu v Linuxe, Androide, macOS a Windows. Výkon je dostatočný na použitie motora na doskách LePotato, Raspberry Pi 3 a Raspberry Pi 4.
V súprave sú tiež vyškolené modely, zvukových súborov a nástroj pre rozpoznávanie z príkazového riadku. Na integráciu funkcie rozpoznávania reči do svojich programov sú k dispozícii hotové moduly pre Python, NodeJS, C++ a .NET (externí vývojári samostatne pripravili moduly pre a ). Hotový model je dodávaný len pre anglický jazyk, ale pre iné jazyky sa môže systém natrénovať samostatne, využitím , zhromaždených projektom Common Voice.
DeepSpeech je výrazne jednoduchší ako tradičné systémy a poskytuje vyššiu kvalitu rozpoznávania aj pri prítomnosti okolitého hluku. Pri vývoji sa nepoužívajú tradičné akustické modely a koncept foném, namiesto toho sa využíva dobre optimalizovaný systém strojového učenia založený na neurónovej sieti, ktorý umožňuje obísť vývoj jednotlivých komponentov na modelovanie rôznych odchýlok, ako sú hluk, ozvena a charakteristiky reči.
Nevýhodou takého prístupu je, že na dosiahnutie kvalitného rozpoznávania a tréningu neurónovej siete motor DeepSpeech vyžaduje veľké množstvo rozmanitých údajov, nadiktovaných v reálnych podmienkach rôznymi hlasmi a za prítomnosti prirodzeného hluku.
Zber takýchto údajov zabezpečuje projekt vytvorený v Mozille , ktorý poskytuje overenú databázu s 780 hodinami v , 325 v nemčine, 173 vo francúzštine a 27 hodinami v ruštine.
Cieľom projektu Common Voice je zhromaždiť 10 000 hodín nahrávok rôznych výslovností typových fráz ľudskej reči, čo umožní dosiahnuť akceptovateľnú úroveň chýb pri rozpoznávaní. V súčasnosti účastníci projektu nahrali už 4,3 tisíc hodín, z ktorých 3,5 tisíc prešlo kontrolou. Pri výučbe konečného modelu anglického jazyka pre DeepSpeech sa použilo 3 816 hodín reči, okrem Common Voice zahŕňajúce dáta z projektov LibriSpeech, Fisher a Switchboard, ako aj približne 1 700 hodín transkribovaných nahrávok rozhlasových relácií.
Pri použití ponúkanej modelu anglického jazyka na stiahnutie je úroveň chýb rozpoznávania v DeepSpeech 7,5 % pri hodnotení testovacím súborom. . Pre porovnanie, úroveň chýb pri rozpoznávaní človekom na 5,83%.
DeepSpeech sa skladá z dvoch subsystémov — akustického modelu a dekodéra. Akustický model využíva metódy hlbokého strojového učenia na výpočet pravdepodobnosti prítomnosti určitých znakov vo vstupnom zvuku. Dekodér používa algoritmus hľadania lúča na prevod dát o pravdepodobnosti znakov na textovú reprezentáciu.
Hlavné DeepSpeech 0.6 (vetva 0.6 nie je kompatibilná s predchádzajúcimi verziami a vyžaduje aktualizáciu kódu a modelov):
- Bol navrhnutý nový streamovací dekodér, ktorý zabezpečuje vyššiu reakčnú rýchlosť a nezávisí od veľkosti spracovávaných zvukových dát. V dôsledku toho sa v novej verzii DeepSpeech podarilo znížiť latenciu rozpoznávania na 260 ms, čo je o 73 % rýchlejšie ako predtým a umožňuje použiť DeepSpeech v riešeniach na rozpoznávanie reči v reálnom čase.
- Boli zavedené zmeny v API a uskutočnila sa práca na zjednotení názvov funkcií. Pridané funkcie pre získanie ďalších metadát o synchronizácii, ktoré umožňujú nielen získať textovú reprezentáciu, ale aj sledovať spojenie jednotlivých znakov a viet s pozíciou v zvukovom prúde.
- Do nástrojov pre výučbu modulov bola pridaná podpora pre použitie knižnice na optimalizáciu práce s rekurentnými neurónovými sieťami (RNN), čo viedlo k výraznému (približne dvojnásobnému) zvýšeniu výkonu učenia modelu, avšak si to vyžadovalo zmeny v kóde, ktoré narušili kompatibilitu s predtým pripravenými modelmi.
- Minimálne požiadavky na verziu TensorFlow boli zvýšené z 1.13.1 na 1.14.0. Pridaná podpora ľahkej edície TensorFlow Lite, pri použití ktorej sa veľkosť balíka DeepSpeech zmenšila z 98 MB na 3.7 MB. Pre použitie na vstavaných a mobilných zariadeniach tiež klesla veľkosť zabaleného súboru s modelom z 188 MB na 47 MB (na kompresiu bol použitý metóda kvantovania po dokončení učenia modelu).
- Jazykový model bol prevedený na iný formát štruktúr dát, ktorý umožňuje mapovanie súborov do pamäte pri načítaní. Podpora starého formátu bola ukončená.
- Bol zmenený režim načítania súboru s jazykovým modelom, čo umožnilo znížiť spotrebu pamäte a zmenšiť oneskorenia pri spracovaní prvého dopytu po vytvorení modelu. V priebehu práce DeepSpeech teraz spotrebuje 22-krát menej pamäte a spúšťa sa 500-krát rýchlejšie.
- Bola vykonaná filtrácia zriedkavých slov v jazykovom modeli. Celkový počet slov bol znížený na 500 tisíc najpopulárnejších slov, ktoré sa vyskytujú v texte použitom pri tréningu modelu. Uskutočnené čistenie umožnilo znížiť veľkosť jazykového modelu z 1800MB na 900MB, pričom to takmer nijako neovplyvnilo ukazovatele úrovne chýb rozpoznávania.
- Pridaná podpora rôznych tvorby dodatočných variácií (augmentation) zvukových dát používaných pri učení (napríklad pridávanie k súboru variantov, do ktorých boli zahrnuté skreslenia alebo šumy).
- Pridaná knižnica s bindingami pre integráciu s aplikáciami na báze platformy .NET.
- Prepracovaná dokumentácia, ktorá je teraz zhromaždená na samostatnej stránke .
Zdroj: opennet.ru
