Abaisser les obstacles Ă  la reconnaissance vocale

image


La reconnaissance automatique de la parole (STT ou ASR) a beaucoup progressé et a une histoire assez longue. La sagesse conventionnelle est que seules les grandes entreprises sont capables de créer des solutions "générales" plus ou moins fonctionnelles qui afficheront des mesures de qualité saines quelle que soit la source de données (différentes voix, accents, domaines). Voici quelques raisons principales de cette idée fausse:


  • Besoins Ă©levĂ©s en puissance de calcul;
  • Une grande quantitĂ© de donnĂ©es nĂ©cessaires Ă  la formation;
  • Les publications n'Ă©crivent gĂ©nĂ©ralement que sur les solutions dites de pointe, qui ont des indicateurs de haute qualitĂ©, mais sont absolument irrĂ©alisables.

Dans cet article, nous allons dissiper certaines idĂ©es fausses et essayer d'approcher lĂ©gĂšrement le point de "singularitĂ©" pour la reconnaissance vocale. À savoir:


  • , , NVIDIA GeForce 1080 Ti;
  • Open STT 20 000 ;
  • , STT .

3 — , .





PyTorch, — Deep Speech 2.


:


  • GPU;
  • . Python PyTorch , ;
  • . ;

, PyTorch "" , , (, C++ JAVA).


Open STT


20 000 . (~90%), .



, , , “” (. Google, Baidu, Facebook). , STT “” “”.


, , STT, :


  • , ;
  • ;
  • ;
  • .

.


,


Deep Speech 2 (2015) :


, %,WER, %WER, %
112029,2350,97
10120013,8022,99
20240011,6520,41
5060009,5115,90
100120008,4613,59

WER (word error rate, ) . : 9- 2 2D- 7 68 . , Deep Speech 2.

: , . , . STT LibriSpeech ASR (LibriSpeech) .


, Google, Facebook, Baidu 10 000 — 100 000 . , , Facebook, , , , .


. 1 2 10 ( , , STT ).


, (LibriSpeech), , - . open-source , Google, . , , STT-. , , Common Voice, .



/
Wav2Letter++25621C++
FairSeq956111PyTorch
OpenNMT2 401138PyTorch
EspNet5 44151PyTorch
ML300-5001 — 10PyTorch

( ) — . , STT, /, PyTorch TensorFlow. , , .


/ ( ), , :


  • ( );
  • (end-to-end , , ) ;
  • ( — 10GB- );
  • LibriSpeech, , ;
  • STT , , , , ;
  • , PR, “ ” “”. , , , , , ( , , , );
  • - , , , , , ;

, FairSeq EspNet, , . , ?



LibriSpeech, 8 GPU US $10 000 .


— . , .


, - "" Common Voice Mozilla.



ML: - (state-of-the-art, SOTA) , .


, , , , .


, c “ ” “, ” .



, :


  • - , (. Goodhart's Law);
  • “” , ( , );
  • , ;
  • , ;
  • , 95% , . . “ ” (“publish or perish”), , , , ;
  • , , , , . , , , . , .


    , ML :


    • / / ;
    • ;
    • .



, :


  • -;
  • semi-supervised unsupervised (wav2vec, STT-TTS) , , ;
  • end-to-end (LibriSpeech), , 1000 ( LibriSpeech);
  • MFCC . . , STFT. , - SincNet.


, , , . :


  • , ;
  • open-source ( , ).

STT


STT :


  • ;
  • ;
  • ;
  • , 2-4 1080Ti.


— "" . , ( ). , — .


, , — . — . .


, AWS NVIDIA Tesla GPU, , 5-10 GPU.

:


  • , [ ] x [ ]. , , : 1) 2) ? , , ;


    , .


    l_curve


    , "L-"

  • — . , , "". ;


  • . ) ; ) , ;


  • , , . , , Mobilenet/EfficientNet/FBNet ;


  • , ML : 1) : , , ; 2) Ceteris paribus: , , .. , ;


  • , , ( ) , . 10 20 , , , "" .



( ):




des modĂšles


— . — . "" — Wav2Letter. DeepSpeech , 2-3 . GPU — , . , .

Deep Speech 2 Pytorch. LSTM GRU , . , . , , :


  • ~3-5 ;
  • 5-10 ;
  • 1080Ti .

№1: .


( ) .


№2: .


, — . , : , separable convolutions.


, , . , . , 3-4 , 3-4 .


№3: Byte-Pair-Encoding .


. BPE , , WER ( ) . , : BPE . , BPE , .
.


№4: .


encoder-decoder. , , state-of-the-art .


, , GPU . , 500-1000 GPU , 3-4 CPU ( , ). , 2-4 , , .


№5: .


, , , 1080Ti , , , , 4 8 GPU ( GPU). , .


№6: .


, , — . , , .


curriculum learning. , , .


№7. .


, — . :


  • Sequence-to-sequence ;
  • Beam search — AM.

beam search KenLM 25 CPU .



:


  • , ;
  • . ;
  • / . "" ;
  • .

, ( ) , , . , , .



, :


  • . — . , ;
  • (). . , ;
  • . , , ;
  • . , , ;
  • . , , ;
  • . , , ;
  • YouTube. , , . — ;
  • (e-commerce). , ;
  • "Yellow pages". . , , ;
  • . - . , "" . , ;
  • (). , , , .


:


  • Tinkoff ( , );
  • (, , , , );
  • Yandex SpeechKit;
  • Google;
  • Kaldi 0.6 / Kaldi 0.7 ( , vosk-api);
  • wit.ai;
  • stt.ai;
  • Azure;
  • Speechmatics;
  • Voisi;

— Word error rate (WER).


. ("" -> "1-"), . , WER ~1 .


2019 2020 . , . WER ~1 . , , .

WERWERWER
21410%3%29%
()01713%13%86%
01615%15%60%
01618%18%70%
Audiences judiciaires0721%21%53%
Livres audio41427%22%70%
Youtube11731%trente%73%
Appels (e-commerce)2treize32%29%76%
Pages Jaunes1633%31%72%
Termes médicaux1640%39%72%
Appels (farces)31441%38%85%

L'article est dĂ©jĂ  assez Ă©norme. Si vous ĂȘtes intĂ©ressĂ© par une mĂ©thodologie plus dĂ©taillĂ©e et les positions de chaque systĂšme sur chaque domaine, vous trouverez une version Ă©tendue de comparaison du systĂšme ici , et une description de la mĂ©thode de comparaison ici .


All Articles