Mozilla wprowadziła silnik rozpoznawania mowy DeepSpeech 0.6

Przesłane przez wydanie silnika rozpoznawania mowy opracowanego przez Mozillę Głęboka mowa 0.6, który implementuje architekturę rozpoznawania mowy o tej samej nazwie, proponowane przez badaczy z Baidu. Implementacja została napisana w języku Python z wykorzystaniem platformy uczenia maszynowego TensorFlow oraz dystrybuowane przez na bezpłatnej licencji MPL 2.0. Obsługuje pracę na systemach Linux, Android, macOS i Windows. Wydajność jest wystarczająca do wykorzystania silnika na płytach LePotato, Raspberry Pi 3 i Raspberry Pi 4.

Również w zestawie oferowany wytrenowane modele, przykłady pliki dźwiękowe i narzędzia rozpoznawania z wiersza poleceń. Aby zintegrować funkcję rozpoznawania mowy z Twoimi programami, oferowane są gotowe moduły dla Pythona, NodeJS, C++ i .NET (zewnętrzni programiści mają osobno przygotowane moduły dla Rdza и Go). Gotowy model jest dostarczany tylko w języku angielskim, ale w innych językach wg przyłączony instrukcje możesz samodzielnie przeszkolić system dane głosowe, zebrane w ramach projektu Common Voice.

DeepSpeech jest znacznie prostszy niż tradycyjne systemy, a jednocześnie zapewnia wyższą jakość rozpoznawania w obecności obcych szumów. Omija tradycyjne modele akustyczne i koncepcję fonemów, zamiast tego wykorzystuje wysoce zoptymalizowany system uczenia maszynowego oparty na sieci neuronowej, który eliminuje potrzebę opracowywania oddzielnych komponentów do modelowania różnych anomalii, takich jak hałas, echo i cechy mowy.

Wadą tego podejścia jest to, że aby uzyskać wysokiej jakości rozpoznawanie i uczenie sieci neuronowej, silnik DeepSpeech wymaga dużej ilości heterogenicznych danych, podyktowanych w rzeczywistych warunkach różnymi głosami i w obecności naturalnego szumu.
Projekt stworzony w Mozilli zbiera takie dane. Wspólny głos, dostarczając zweryfikowany zbiór danych obejmujący 780 godzin język angielski, 325 w języku niemieckim, 173 w języku francuskim i 27 godzin w języku rosyjskim.

Ostatecznym celem projektu Common Voice jest zgromadzenie 10 tysięcy godzin nagrań różnych wymów typowych zwrotów mowy ludzkiej, co pozwoli na osiągnięcie akceptowalnego poziomu błędów w rozpoznawaniu. W obecnej formie uczestnicy projektu podyktowali już łącznie 4.3 tys. godzin, z czego 3.5 tys. zostało przetestowanych. Podczas szkolenia ostatecznego modelu języka angielskiego dla DeepSpeech wykorzystano 3816 godzin mowy, oprócz Common Voice obejmującego dane z projektów LibriSpeech, Fisher i Switchboard, a także około 1700 godzin transkrypcji nagrań audycji radiowych.

W przypadku korzystania z gotowego modelu języka angielskiego oferowanego do pobrania, wskaźnik błędów rozpoznawania w DeepSpeech wynosi 7.5% przy ocenie za pomocą zestawu testowego Libriseeech. Dla porównania poziom błędu w rozpoznawaniu przez człowieka jest oceniany w 5.83%.

DeepSpeech składa się z dwóch podsystemów – modelu akustycznego i dekodera. Model akustyczny wykorzystuje metody głębokiego uczenia maszynowego do obliczenia prawdopodobieństwa obecności określonych znaków w dźwięku wejściowym. Dekoder wykorzystuje algorytm wyszukiwania promieni do konwersji danych dotyczących prawdopodobieństwa znaku na reprezentację tekstową.

Głównym innowacje DeepSpeech 0.6 (gałąź 0.6 nie jest kompatybilna z poprzednimi wydaniami i wymaga aktualizacji kodu i modelu):

  • Zaproponowano nowy dekoder strumieniowy, który zapewnia wyższą responsywność i jest niezależny od rozmiaru przetwarzanych danych audio. W rezultacie w nowej wersji DeepSpeech udało się zmniejszyć opóźnienie rozpoznawania do 260 ms, czyli o 73% szybciej niż wcześniej, i umożliwia wykorzystanie DeepSpeech w rozwiązaniach do rozpoznawania mowy w locie.
  • Wprowadzono zmiany w interfejsie API i wykonano prace nad ujednoliceniem nazw funkcji. Dodano funkcje umożliwiające uzyskanie dodatkowych metadanych dotyczących synchronizacji, co pozwala nie tylko otrzymać reprezentację tekstową jako wynik, ale także śledzić powiązanie poszczególnych znaków i zdań z pozycją w strumieniu audio.
  • Do zestawu narzędzi dla modułów szkoleniowych dodano obsługę korzystania z biblioteki CuDNN optymalizację pracy z rekurencyjnymi sieciami neuronowymi (RNN), co pozwoliło uzyskać znaczny (około dwukrotny) wzrost wydajności uczenia modeli, wymagało jednak zmian w kodzie naruszających kompatybilność z wcześniej przygotowanymi modelami.
  • Minimalne wymagania wersji TensorFlow zostały podniesione z 1.13.1 do 1.14.0. Dodano obsługę lekkiej wersji TensorFlow Lite, która zmniejsza rozmiar pakietu DeepSpeech z 98 MB do 3.7 MB. Do użytku na urządzeniach wbudowanych i mobilnych zmniejszono także rozmiar spakowanego pliku z modelem ze 188 MB do 47 MB ​​(do kompresji po przeszkoleniu modelu wykorzystywana jest metoda kwantyzacji).
  • Model językowy został przetłumaczony na inny format struktury danych, który umożliwia mapowanie plików do pamięci po załadowaniu. Zakończono obsługę starego formatu.
  • Zmieniono sposób ładowania pliku z modelem językowym, co zmniejszyło zużycie pamięci i zmniejszyło opóźnienia przy przetwarzaniu pierwszego żądania po utworzeniu modelu. Podczas działania DeepSpeech zużywa teraz 22 razy mniej pamięci i uruchamia się 500 razy szybciej.

    Mozilla wprowadziła silnik rozpoznawania mowy DeepSpeech 0.6

  • W modelu językowym odfiltrowano rzadkie słowa. Łączną liczbę słów zmniejszono do 500 tysięcy najpopularniejszych słów występujących w tekście użytym do szkolenia modelu. Czyszczenie umożliwiło zmniejszenie rozmiaru modelu językowego z 1800 MB do 900 MB, praktycznie bez wpływu na współczynnik błędów rozpoznawania.
  • Dodano obsługę różnych technik tworzenie dodatkowych wariacji (wzmacnianie) danych audio wykorzystywanych podczas treningu (na przykład dodawanie zniekształceń lub szumów do zestawu opcji).
  • Dodano bibliotekę z powiązaniami do integracji z aplikacjami opartymi na platformie .NET.
  • Dokumentacja została przerobiona i jest obecnie zgromadzona na osobnej stronie internetowej. deepspeech.readthedocs.io.

Źródło: opennet.ru

Dodaj komentarz