Mozilla razkriva mehanizem za prepoznavanje govora DeepSpeech 0.6

Predložil izdaja mehanizma za prepoznavanje govora, ki ga je razvila Mozilla DeepSpeech 0.6, ki implementira istoimensko arhitekturo za prepoznavanje govora, predlagano raziskovalci iz Baiduja. Izvedba je napisana v Pythonu z uporabo okvira strojnega učenja TensorFlow in distributer pod brezplačno licenco MPL 2.0. Podpira Linux, Android, macOS in Windows. Zmogljivost je dovolj za uporabo motorja na ploščah LePotato, Raspberry Pi 3 in Raspberry Pi 4.

Komplet tudi ponujen izurjeni modeli, primeri zvočne datoteke in orodja za prepoznavanje iz ukazne vrstice. Za vgradnjo funkcije prepoznavanja govora v vaše programe so na voljo že pripravljeni moduli za Python, NodeJS, C ++ in .NET (razvijalci tretjih oseb so pripravili module za Rust и Go). Končni model je dobavljen samo za angleščino, za druge jezike pa na zahtevo. priloženo Navodila sistem lahko usposobite sami z uporabo glasovnih podatkovzbira projekt Common Voice.

DeepSpeech je veliko enostavnejši od tradicionalnih sistemov in hkrati zagotavlja višjo kakovost prepoznave ob prisotnosti tujega šuma. Razvoj ne uporablja tradicionalnih akustičnih modelov in koncepta fonemov, namesto tega uporablja dobro optimiziran sistem strojnega učenja, ki temelji na nevronski mreži, kar odpravlja potrebo po razvoju ločenih komponent za modeliranje različnih odstopanj, kot so hrup, odmev in govorne funkcije. .

Slaba stran tega pristopa je, da motor DeepSpeech za visokokakovostno prepoznavanje in usposabljanje nevronske mreže zahteva veliko količino heterogenih podatkov, ki jih v realnih pogojih narekujejo različni glasovi in ​​v prisotnosti naravnega šuma.
Zbiranje tovrstnih podatkov izvaja projekt, ustvarjen v Mozilli Skupni glas, ki zagotavlja preverjen nabor podatkov s 780 urami delovanja Angleški jezik, 325 pri nemščini, 173 pri francoščini in 27 ur pri ruščini.

Končni cilj projekta Common Voice je zbrati 10 ur posnetkov različnih izgovorov tipičnih fraz človeškega govora, ki bodo dosegli sprejemljivo stopnjo napak pri prepoznavanju. V sedanji obliki so udeleženci projekta skupno narekovali že 4.3 tisoč ur, od tega 3.5 tisoč testiranih. Pri usposabljanju končnega modela angleškega jezika za DeepSpeech je bilo uporabljenih 3816 ur govora, poleg tega, da Common Voice zajema podatke iz projektov LibriSpeech, Fisher in Switchboard, in vključuje tudi približno 1700 ur transkribiranih posnetkov radijskih oddaj.

Pri uporabi že pripravljenega modela angleškega jezika, ki je na voljo za prenos, je stopnja napak pri prepoznavanju v DeepSpeech 7.5 %, če jo oceni preskusni niz LibriSpeech. Za primerjavo, stopnja napak pri človeškem prepoznavanju ocenjeno pri 5.83%.

DeepSpeech je sestavljen iz dveh podsistemov - akustičnega modela in dekoderja. Akustični model uporablja metode globokega strojnega učenja za izračun verjetnosti prisotnosti določenih simbolov v vhodnem zvoku. Dekoder uporablja algoritem iskanja snopa za pretvorbo podatkov o verjetnosti simbola v besedilno predstavitev.

Glavni inovacije DeepSpeech 0.6 (veja 0.6 ni združljiva za nazaj in zahteva posodobitev kode in modelov):

  • Predlaga se nov pretočni dekoder, ki zagotavlja večjo odzivnost in ni odvisen od velikosti obdelanih zvočnih podatkov. Posledično je nova različica DeepSpeecha uspela zmanjšati zakasnitev prepoznavanja na 260 ms, kar je 73 % hitreje kot prej, in omogoča uporabo DeepSpeecha v rešitvah za sprotno prepoznavanje govora.
  • V API-ju so bile narejene spremembe in opravljeno je bilo delo za poenotenje imen funkcij. Dodane so bile funkcije za pridobivanje dodatnih metapodatkov o sinhronizaciji, ki omogočajo ne le sprejem besedilne predstavitve kot izhod, temveč tudi sledenje vezavi posameznih znakov in stavkov na položaj v zvočnem toku.
  • Podpora za uporabo knjižnice je bila dodana kompletu orodij za učne module CuDNN optimizirati delo s ponavljajočimi se nevronskimi mrežami (RNN), kar je omogočilo znatno (približno dvakrat) povečanje učinkovitosti usposabljanja modelov, vendar so bile potrebne spremembe kode, ki so kršile združljivost s predhodno pripravljenimi modeli.
  • Minimalne zahteve za različico TensorFlow so bile zvišane z 1.13.1 na 1.14.0. Dodana podpora za lahko različico TensorFlow Lite, ki je zmanjšala velikost paketa DeepSpeech z 98 MB na 3.7 MB. Za uporabo v vgrajenih in mobilnih napravah je bila tudi velikost pakirane datoteke z modelom zmanjšana s 188 MB na 47 MB ​​​​(metoda kvantizacije je bila uporabljena za stiskanje po tem, ko je bil model usposobljen).
  • Jezikovni model je bil preveden v drugačno obliko podatkovnih struktur, ki omogoča preslikavo datotek v pomnilnik pri nalaganju. Podpora za stari format je bila ukinjena.
  • Spremenjen je način nalaganja datoteke z jezikovnim modelom, kar je zmanjšalo porabo pomnilnika in zmanjšalo zamude pri obdelavi prve zahteve po izdelavi modela. DeepSpeech zdaj med delovanjem porabi 22x manj pomnilnika in se zažene 500x hitreje.

    Mozilla razkriva mehanizem za prepoznavanje govora DeepSpeech 0.6

  • Redke besede so bile filtrirane v jezikovnem modelu. Skupno število besed je bilo zmanjšano na 500 najbolj priljubljenih besed v besedilu, uporabljenem za usposabljanje modela. Čiščenje je omogočilo zmanjšanje velikosti jezikovnega modela s 1800 MB na 900 MB, skoraj brez vpliva na stopnjo napak pri prepoznavanju.
  • Dodana podpora za različne tehnik ustvarjanje dodatnih variacij (povečanje) zvočnih podatkov, uporabljenih pri usposabljanju (na primer dodajanje naboru možnosti, ki vključujejo popačenje ali šum).
  • Dodana knjižnica z vezmi za integracijo z aplikacijami, ki temeljijo na platformi .NET.
  • Prenovljena dokumentacija, ki je zdaj zbrana na ločenem mestu deepspeech.readthedocs.io.

Vir: opennet.ru

Dodaj komentar