Mozilla svela il motore di riconoscimento vocale DeepSpeech 0.6

Introdotto rilascio del motore di riconoscimento vocale sviluppato da Mozilla Deepspeech 0.6, che implementa l'omonima architettura di riconoscimento vocale, proposto ricercatori di Baidu. L'implementazione è scritta in Python utilizzando il framework di apprendimento automatico TensorFlow e distribuito da con licenza libera MPL 2.0. Supporta Linux, Android, macOS e Windows. Le prestazioni sono sufficienti per utilizzare il motore su schede LePotato, Raspberry Pi 3 e Raspberry Pi 4.

Anche il set offerto modelli addestrati, esempi file audio e strumenti per il riconoscimento dalla riga di comando. Per incorporare la funzione di riconoscimento vocale nei tuoi programmi, vengono offerti moduli pronti all'uso per Python, NodeJS, C ++ e .NET (gli sviluppatori di terze parti hanno preparato moduli per Ruggine и Go). Il modello finito viene fornito solo per l'inglese, ma per altre lingue su richiesta. allegato istruzione puoi addestrare il sistema da solo usando dati vocaliraccolte dal progetto Common Voice.

DeepSpeech è molto più semplice dei sistemi tradizionali e allo stesso tempo fornisce una maggiore qualità di riconoscimento in presenza di rumore estraneo. Lo sviluppo non utilizza modelli acustici tradizionali e il concetto di fonemi, ma utilizza un sistema di apprendimento automatico ben ottimizzato basato su una rete neurale, che elimina la necessità di sviluppare componenti separati per la modellazione di varie deviazioni, come il rumore, l'eco e le caratteristiche vocali .

Lo svantaggio di questo approccio è che per ottenere un riconoscimento e un addestramento di alta qualità della rete neurale, il motore DeepSpeech richiede una grande quantità di dati eterogenei dettati in condizioni reali da voci diverse e in presenza di rumore naturale.
La raccolta di tali dati viene effettuata da un progetto creato in Mozilla Voce comune, fornendo un set di dati convalidato con 780 ore attive lingua inglese, 325 in tedesco, 173 in francese e 27 ore in russo.

L'obiettivo finale del progetto Common Voice è quello di accumulare 10 ore di registrazioni di varie pronunce di frasi tipiche del linguaggio umano, che raggiungeranno un livello accettabile di errori di riconoscimento. Nella sua forma attuale, i partecipanti al progetto hanno già dettato un totale di 4.3 mila ore, di cui 3.5 mila sono state testate. Durante l'addestramento del modello finale della lingua inglese per DeepSpeech, sono state utilizzate 3816 ore di parlato, oltre a Common Voice che copre i dati dei progetti LibriSpeech, Fisher e Switchboard, e includendo anche circa 1700 ore di registrazioni di programmi radiofonici trascritti.

Quando si utilizza il modello in lingua inglese già pronto offerto per il download, il livello di errori di riconoscimento in DeepSpeech è del 7.5% se valutato dal set di test LibriDiscorso. Per confronto, il tasso di errore nel riconoscimento umano stimata nell'5.83%.

DeepSpeech è costituito da due sottosistemi: un modello acustico e un decodificatore. Il modello acustico utilizza metodi di apprendimento automatico approfondito per calcolare la probabilità che determinati simboli siano presenti nel suono in ingresso. Il decodificatore utilizza un algoritmo di ricerca del raggio per convertire i dati di probabilità del simbolo in una rappresentazione testuale.

Il principale innovazioni DeepSpeech 0.6 (il ramo 0.6 non è retrocompatibile e richiede l'aggiornamento di codice e modelli):

  • Viene proposto un nuovo decodificatore di streaming che fornisce una maggiore reattività e non dipende dalla dimensione dei dati audio elaborati. Di conseguenza, la nuova versione di DeepSpeech è stata in grado di ridurre il ritardo di riconoscimento a 260 ms, ovvero il 73% più veloce rispetto a prima, e consente di utilizzare DeepSpeech nelle soluzioni di riconoscimento vocale al volo.
  • Sono state apportate modifiche all'API e si è lavorato per unificare i nomi delle funzioni. Sono state aggiunte funzioni per ottenere ulteriori metadati sulla sincronizzazione, consentendo non solo di ricevere una rappresentazione testuale come output, ma anche di tracciare l'associazione di singoli caratteri e frasi a una posizione nel flusso audio.
  • Il supporto per l'utilizzo della libreria è stato aggiunto al toolkit per i moduli di apprendimento CuDNN ottimizzare il lavoro con reti neurali ricorrenti (RNN), che ha permesso di ottenere un aumento significativo (circa due volte) delle prestazioni di addestramento del modello, ma ha richiesto modifiche al codice che violavano la compatibilità con i modelli precedentemente preparati.
  • I requisiti minimi per la versione TensorFlow sono stati aumentati da 1.13.1 a 1.14.0. Aggiunto il supporto per l'edizione leggera TensorFlow Lite, che ha ridotto le dimensioni del pacchetto DeepSpeech da 98 MB a 3.7 MB. Per l'utilizzo su dispositivi embedded e mobili, anche la dimensione del file compresso con il modello è stata ridotta da 188 MB a 47 MB ​​(il metodo di quantizzazione è stato utilizzato per la compressione dopo che il modello è stato addestrato).
  • Il modello linguistico è stato tradotto in un diverso formato di strutture dati che consente di mappare i file in memoria durante il caricamento. Il supporto per il vecchio formato è stato interrotto.
  • La modalità di caricamento di un file con un modello linguistico è stata modificata, il che ha ridotto il consumo di memoria e i ritardi nell'elaborazione della prima richiesta dopo la creazione del modello. DeepSpeech ora consuma 22 volte meno memoria durante l'esecuzione e si avvia 500 volte più velocemente.

    Mozilla svela il motore di riconoscimento vocale DeepSpeech 0.6

  • Le parole rare sono state filtrate nel modello linguistico. Il numero totale di parole è stato ridotto a 500 delle parole più popolari trovate nel testo utilizzato per addestrare il modello. La pulitura ha permesso di ridurre la dimensione del modello linguistico da 1800MB a 900MB, con effetti pressoché nulli sul livello degli errori di riconoscimento.
  • Aggiunto il supporto per vari tecnico creare variazioni aggiuntive (aumento) dei dati sonori utilizzati nell'allenamento (ad esempio, aggiungendo al set di opzioni che includono distorsione o rumore).
  • Aggiunta una libreria con binding per l'integrazione con applicazioni basate sulla piattaforma .NET.
  • Documentazione ridisegnata, che ora è raccolta in un sito separato deepspeech.readthedocs.io.

Fonte: opennet.ru

Aggiungi un commento