release av taligenkänningsmotorn utvecklad av Mozilla , som implementerar taligenkänningsarkitekturen med samma namn, av forskare från Baidu. Implementeringen är skriven i Python med hjälp av maskininlärningsplattformen TensorFlow och under den fria MPL 2.0-licensen. Arbetet stöds i Linux, Android, macOS и WindowsPrestandan är tillräcklig för att använda motorn på LePotato-, Raspberry Pi 3- och Raspberry Pi 4-kort.
I setet ingår även utbildade modeller, ljudfiler och verktyg för kommandoradsigenkänning. För att integrera taligenkänning i dina program finns färdiga moduler tillgängliga för Python, NodeJS, C++ och .NET (utvecklare från tredje part har separat förberett moduler för и ). Den färdiga modellen levereras endast för engelska, men för andra språk av Du kan träna systemet själv med hjälp av , insamlat av Common Voice-projektet.
DeepSpeech är betydligt enklare än traditionella system och ger ändå högre kvalitetsigenkänning i närvaro av främmande brus. Utvecklingen använder inte traditionella akustiska modeller och begreppet fonem, utan använder istället ett väl optimerat maskininlärningssystem baserat på ett neuralt nätverk, vilket eliminerar behovet av att utveckla separata komponenter för att modellera olika avvikelser såsom brus, eko och talegenskaper.
Nackdelen med detta tillvägagångssätt är att för att uppnå högkvalitativ igenkänning och träning av det neurala nätverket, kräver DeepSpeech-motorn en stor volym heterogen data dikterad under verkliga förhållanden av olika röster och i närvaro av naturligt brus.
Ett projekt skapat av Mozilla samlar in sådan data. , vilket ger en verifierad datauppsättning med 780 timmars , 325 på tyska, 173 på franska och 27 timmar på ryska.
Det slutgiltiga målet med Common Voice-projektet är att samla 10 4.3 timmar inspelningar av olika uttal av typiska fraser i mänskligt tal, vilket gör det möjligt att uppnå en acceptabel nivå av fel i igenkänningen. I sin nuvarande form har projektdeltagarna redan dikterat totalt 3.5 tusen timmar, varav 3816 tusen har verifierats. Vid träningen av den slutliga engelska språkmodellen för DeepSpeech användes 1700 timmar tal, utöver Common Voice, som inkluderar data från LibriSpeech-, Fisher- och Switchboard-projekten, och även cirka XNUMX timmar transkriberade radioinspelningar.
När du använder den färdiga engelska språkmodellen som erbjuds för nedladdning, är identifieringsfelfrekvensen i DeepSpeech 7.5 % när den bedöms av testsetet Som jämförelse, felfrekvensen i mänsklig igenkänning på 5.83 %.
DeepSpeech består av två delsystem - en akustisk modell och en dekoder. Den akustiska modellen använder djupa maskininlärningsmetoder för att beräkna sannolikheten för närvaron av vissa symboler i ingångsljudet. Avkodaren använder en strålsökningsalgoritm för att omvandla teckensannolikhetsdata till en textrepresentation.
Den huvudsakliga DeepSpeech 0.6 (gren 0.6 är inte kompatibel med tidigare utgåvor och kräver att kod och modeller uppdateras):
- En ny streamingavkodare föreslås, som ger högre responsivitet och är oberoende av storleken på den bearbetade ljuddatan. Som ett resultat av detta kunde den nya versionen av DeepSpeech minska igenkänningsfördröjningen till 260 ms, vilket är 73 % snabbare än tidigare, och möjliggör användning av DeepSpeech i lösningar för taligenkänning i realtid.
- Ändringar har gjorts i API:t och arbete har gjorts för att förena funktionsnamn. Tillagda funktioner för att erhålla ytterligare synkroniseringsmetadata, vilket gör det möjligt att inte bara få en textrepresentation vid utgången, utan också att spåra bindningen av enskilda tecken och meningar till en position i ljudströmmen.
- Stöd för att använda biblioteket har lagts till i modulens utbildningsverktyg att optimera arbetet med återkommande neurala nätverk (RNN), vilket gjorde det möjligt att uppnå en betydande (ungefär fördubblad) prestanda för modellträning, men krävde ändringar i koden som kränkte kompatibiliteten med tidigare förberedda modeller.
- Minimikraven för TensorFlow-versionen har höjts från 1.13.1 till 1.14.0. Stöd för den lättviktiga TensorFlow Lite-utgåvan har lagts till, vilket minskar storleken på DeepSpeech-paketet från 98 MB till 3.7 MB. För användning på inbyggda och mobila enheter har storleken på den packade filen med modellen också minskats från 188 MB till 47 MB (kvantisering användes för komprimering efter att modellträningen var klar).
- Språkmodellen har konverterats till ett annat datastrukturformat, vilket gör det möjligt att mappa filer till minnet vid laddning. Stödet för det gamla formatet har upphört.
- Läget för laddning av språkmodellfiler har ändrats, vilket har minskat minnesförbrukningen och fördröjningarna vid bearbetning av den första begäran efter att modellen skapats. DeepSpeech förbrukar nu 22 gånger mindre minne under drift och startar 500 gånger snabbare.
- Sällsynta ord har filtrerats i språkmodellen. Det totala antalet ord reducerades till de 500 1800 mest populära orden som finns i texten som användes för att träna modellen. Rengöringen som gjordes gjorde det möjligt för oss att minska storleken på språkmodellen från 900 MB till XNUMX MB, med praktiskt taget ingen inverkan på identifieringsfelfrekvensen.
- Lade till stöd för olika skapa ytterligare variationer (förstärkning) av ljuddata som används i träningen (till exempel lägga till uppsättningen varianter som har förvrängts eller bullrigt).
- Lade till ett bibliotek med bindningar för integration med applikationer baserade på .NET-plattformen.
- Dokumentationen har omarbetats och finns nu samlad på en separat sida. .
Källa: opennet.ru
