lansarea motorului de recunoaștere vocală dezvoltat de compania Mozilla , care implementează arhitectura de recunoaștere vocală omonimă, de cercetători de la compania Baidu. Implementarea este scrisă în limbajul Python, utilizând platforma de învățare automată TensorFlow și sub licența liberă MPL 2.0. Este compatibilă cu Linux, Android, macOS și Windows. Performanța este suficientă pentru utilizarea motorului pe plăci LePotato, Raspberry Pi 3 și Raspberry Pi 4.
De asemenea, sunt modele antrenate, de fișiere audio și un instrumentar pentru recunoaștere din linia de comandă. Pentru integrarea funcției de recunoaștere vocală în propriile programe, sunt propuse module gata de utilizat pentru Python, NodeJS, C++ și .NET (module pregătite separat de dezvoltatori terți pentru și ). Modelul final este disponibil doar pentru limba engleză, dar pentru alte limbi, prin , se poate antrena sistemul în mod autonom, folosind , colectate de proiectul Common Voice.
DeepSpeech este semnificativ mai simplu decât sistemele tradiționale și oferă o calitate mai bună a recunoașterii în prezența zgomotului exterior. În dezvoltare nu sunt folosite modele acustice tradiționale și concepția de foneme, ci se aplică un sistem de învățare automată bine optimizat bazat pe rețele neuronale, care permite evitarea dezvoltării de componente separate pentru modelarea diferitelor deviații, precum zgomotul, ecoul și caracteristicile vocii.
Partea negativă a acestei abordări este că, pentru a obține o recunoaștere de calitate și a antrena rețeaua neuronală, motorul DeepSpeech necesită un volum mare de date diverse, dictate în condiții reale de diferite voci și în prezența zgomotelor naturale.
Colectarea acestor date este efectuată de proiectul creat în cadrul Mozilla , care oferă un set de date verificate cu 780 de ore în , 325 în germană, 173 în franceză și 27 de ore în rusă.
Scopul final al proiectului Common Voice este acumularea a 10.000 de ore de înregistrări cu diverse pronunții ale frazelor tipice din discursul uman, ceea ce va permite atingerea unui nivel acceptabil de erori la recunoaștere. În forma actuală, participanții la proiect au dictat deja un total de 4,3 mii de ore, dintre care 3,5 mii au fost verificate. La antrenarea modelului final de limbă engleză pentru DeepSpeech au fost utilizate 3816 ore de discurs, în afară de Common Voice, care acoperă date din proiectele LibriSpeech, Fisher și Switchboard, precum și incluzând aproximativ 1700 de ore de înregistrări transcrise din emisiuni radio.
Folosind modelul de limbă engleză disponibil pentru descărcare, nivelul erorilor de recunoaștere în DeepSpeech este de 7,5% la evaluarea cu un set de teste. . Spre comparație, nivelul erorilor de recunoaștere umană la 5,83%.
DeepSpeech constă în două subsisteme — modelul acustic și decodorul. Modelul acustic utilizează metode de învățare profundă pentru a calcula probabilitatea prezenței anumitor simboluri în sunetul transmis ca intrare. Decodorul aplică un algoritm de căutare pe rază pentru a transforma datele de probabilitate ale simbolurilor în o reprezentare textuală.
Principalele DeepSpeech 0.6 (ramura 0.6 nu este compatibilă cu versiunile anterioare și necesită actualizarea codului și a modelelor):
- A fost propus un nou decodor în flux, care asigură o reacție mai rapidă și nu depinde de dimensiunea datelor audio procesate. Ca rezultat, în noua versiune DeepSpeech s-a reușit reducerea latenței la recunoaștere la 260 ms, ceea ce este cu 73% mai rapid decât înainte și permite utilizarea DeepSpeech în soluții pentru recunoașterea vocii în timp real.
- Au fost realizate modificări în API și s-au făcut lucrări pentru unificarea numelui funcțiilor. Au fost adăugate funcții pentru obținerea de metadate suplimentare despre sincronizare, care permit nu doar obținerea unui rezultat textual, ci și urmărirea legăturii dintre simboluri și propoziții cu poziția din fluxul audio.
- În instrumentarul pentru antrenarea modulelor a fost adăugată suport pentru utilizarea bibliotecii pentru optimizarea funcționării rețelelor neuronale recursive (RNN), ceea ce a permis o creștere semnificativă (de aproximativ două ori) a performanței antrenării modelului, dar a necesitat modificări în cod care afectează compatibilitatea cu modelele pregătite anterior.
- Cerinețele minime pentru versiunea TensorFlow au fost ridicate de la 1.13.1 la 1.14.0. A fost adăugată suportul pentru ediția ușoară TensorFlow Lite, care a redus dimensiunea pachetului DeepSpeech de la 98 MB la 3.7 MB. De asemenea, pentru utilizarea pe dispozitive încorporate și mobile, dimensiunea fișierului comprimat cu modelul a fost redusă de la 188 MB la 47 MB (metoda de cuantificare a fost utilizată după finalizarea antrenării modelului).
- Modelul lingvistic a fost transformat într-un alt format de structură de date, permițând realizarea mapării fișierelor în memorie la încărcare. Suportul pentru vechiul format a fost oprit.
- Modul de încărcare a fișierului cu modelul lingvistic a fost modificat, ceea ce a permis reducerea consumului de memorie și diminuarea întârzierilor la procesarea primei cereri după crearea modelului. În timpul funcționării, DeepSpeech consumă acum de 22 de ori mai puțină memorie și se pornește de 500 de ori mai repede.
- A fost realizată filtrarea cuvintelor rare în modelul lingvistic. Numărul total de cuvinte a fost redus la 500 de mii cele mai populare cuvinte întâlnite în textul folosit pentru antrenarea modelului. Curățarea efectuată a permis reducerea dimensiunii modelului lingvistic de la 1800 MB la 900 MB, având un impact practic nesemnificativ asupra nivelului erorilor de recunoaștere.
- A fost adăugată suportul pentru diferite de creare a unor variații suplimentare (augmentation) a datelor audio utilizate în timpul antrenării (de exemplu, adăugarea unui set de variante, la care sunt introduse distorsiuni sau zgomote).
- A fost adăugată o bibliotecă cu legături pentru integrarea cu aplicațiile bazate pe platforma .NET.
- Documentația a fost revizuită, fiind acum organizată pe un site separat .
Sursa: opennet.ro
