de release van de door Mozilla ontwikkelde spraakherkenningsengine. , die de gelijknamige architectuur voor spraakherkenning implementeert, onderzoekers van het bedrijf Baidu. De implementatie is geschreven in Python met behulp van het machine learning-platform TensorFlow en onder de open licentie MPL 2.0. Het ondersteunt het draaien op Linux, Android, macOS en Windows. De prestaties zijn voldoende voor gebruik van de engine op LePotato-borden, Raspberry Pi 3 en Raspberry Pi 4.
De set bevat ook getrainde modellen, van geluidsbestanden en een toolkit voor spraakherkenning vanuit de commandoregel. Voor het inbouwen van spraakherkenningsfunctionaliteit in hun programma's zijn kant-en-klare modules voor Python, NodeJS, C++ en .NET aangeboden (door externe ontwikkelaars zijn afzonderlijke modules voorbereid voor en ). Het kant-en-klare model is alleen beschikbaar voor de Engelse taal, maar voor andere talen kan, volgens het systeem zelf worden getraind met behulp van verzameld door het Common Voice-project.
DeepSpeech is aanzienlijk eenvoudiger dan traditionele systemen en biedt bovendien een hogere kwaliteit van spraakherkenning bij achtergrondgeluid. Bij de ontwikkeling zijn geen traditionele akoestische modellen en het concept van fonemen gebruikt; in plaats daarvan wordt een goed geoptimaliseerd machine learning-systeem op basis van neurale netwerken toegepast, dat het mogelijk maakt om zonder de ontwikkeling van afzonderlijke componenten voor het modelleren van verschillende afwijkingen, zoals ruis, echo en spraakkenmerken, te werken.
De keerzijde van deze benadering is dat voor kwalitatieve spraakherkenning en het trainen van het neuraal netwerk de DeepSpeech-engine een grote hoeveelheid heterogene data vereist, die in reële omstandigheden door verschillende stemmen zijn ingesproken en bij de aanwezigheid van natuurlijke ruis.
Het verzamelen van dergelijke gegevens wordt verzorgd door het in Mozilla opgerichte project , dat een geverifieerde dataset met 780 uur in 325 in het Duits, 173 in het Frans en 27 uur in het Russisch.
Het uiteindelijke doel van het Common Voice-project is om 10.000 uur aan opnames van verschillende uitspreken van typische menselijke spreekzinnen te verzamelen, wat een aanvaardbaar foutniveau bij herkenning mogelijk maakt. Tot nu toe hebben de deelnemers aan het project al 4,3 duizend uur ingesproken, waarvan 3,5 duizend uur zijn goedgekeurd. Voor het trainen van het uiteindelijke model van de Engelse taal voor DeepSpeech zijn 3.816 uur spraak gebruikt, naast Common Voice, dat gegevens van de projecten LibriSpeech, Fisher en Switchboard dekt, en bevat ongeveer 1.700 uur getranscribeerde opnames van radioshows.
Bij gebruik van het aangeboden downloadbare Engelse model bedraagt het foutpercentage in DeepSpeech 7,5% bij evaluatie met een testset. . Ter vergelijking, het foutpercentage bij menselijke herkenning op 5,83%.
DeepSpeech bestaat uit twee subsystemen — een akoestisch model en een decoder. Het akoestische model gebruikt methoden van diepgaand machine learning om de waarschijnlijkheid van bepaalde symbolen in de inkomende geluidsgolven te berekenen. De decoder past een beam search-algoritme toe om de gegevens over de waarschijnlijkheid van symbolen naar een tekstuele weergave om te zetten.
Belangrijkste DeepSpeech 0.6 (de 0.6-tak is niet compatibel met eerdere versies en vereist een update van de code en modellen):
- Een nieuwe streaming decoder is voorgesteld die een hogere responsiviteit biedt en niet afhankelijk is van de grootte van de verwerkte audiogegevens. Hierdoor is het in de nieuwe versie van DeepSpeech gelukt om de herkenningstijd te verminderen tot 260 ms, wat 73% sneller is dan voorheen, en maakt het mogelijk om DeepSpeech toe te passen in oplossingen voor realtime spraakherkenning.
- Er zijn wijzigingen aangebracht in de API en er is gewerkt aan de uniformering van functienamen. Functies zijn toegevoegd voor het verkrijgen van aanvullende metadata over synchronisatie, waardoor het mogelijk is om niet alleen tekstuele weergaves te ontvangen, maar ook om de koppeling van afzonderlijke symbolen en zinnen aan positie in de audiostroom te volgen.
- De toolset voor het trainen van modules heeft ondersteuning toegevoegd voor het gebruik van de bibliotheek voor het optimaliseren van het werken met recurrente neurale netwerken (RNN), wat een aanzienlijke (ongeveer verdubbeling) verbetering van de trainingsprestaties van het model mogelijk maakte, maar wel aanpassingen in de code vereiste die de compatibiliteit met eerder voorbereide modellen verstoren.
- De minimale vereisten voor de TensorFlow-versie zijn verhoogd van 1.13.1 naar 1.14.0. Ondersteuning voor de lichte versie TensorFlow Lite is toegevoegd, waardoor de grootte van het DeepSpeech-pakket is verminderd van 98 MB naar 3,7 MB. Voor gebruik op ingebedde en mobiele apparaten is de verpakte bestandsgrootte met het model verminderd van 188 MB naar 47 MB (de compressiemethode na voltooiing van de modeltraining maakt gebruik van kwantisatie).
- Het taalkundige model is omgezet naar een ander gegevensstructuurformaat, waardoor mapping van bestanden naar geheugen tijdens het laden mogelijk is. Ondersteuning voor het oude formaat is stopgezet.
- De modus voor het laden van het bestand met het taalkundige model is gewijzigd, waardoor het geheugengebruik is verminderd en de vertragingen bij de verwerking van het eerste verzoek na het creëren van het model zijn verlaagd. Tijdens het gebruik verbruikt DeepSpeech nu 22 keer minder geheugen en start het 500 keer sneller op.
- Er is een filter voor zeldzame woorden in het taalkundige model geïmplementeerd. Het totale aantal woorden is teruggebracht tot 500.000 van de meest populaire woorden die in de tekst zijn gebruikt voor de training van het model. Deze opschoning heeft de grootte van het taalkundige model verminderd van 1800 MB naar 900 MB, met vrijwel geen invloed op de foutpercentages bij de spraakherkenning.
- Ondersteuning voor verschillende voor het creëren van extra variaties (augmentatie) van audiogegevens die worden gebruikt tijdens de training (bijvoorbeeld het toevoegen van varianten waarin vervormingen of ruis zijn aangebracht).
- Er is een bibliotheek toegevoegd met bindingen voor integratie met applicaties op basis van het .NET-platform.
- De documentatie is herzien en staat nu op een aparte website .
Bron: opennet.ru
