Bajar las barreras para el reconocimiento del habla.

imagen


El reconocimiento de voz automático (STT o ASR) ha mejorado mucho y tiene una historia bastante extensa. La sabiduría convencional es que solo las grandes corporaciones son capaces de crear soluciones "generales" más o menos funcionales que mostrarán métricas de calidad sensatas independientemente de la fuente de datos (diferentes voces, acentos, dominios). Aquí hay algunas razones principales para este error:


  • Altos requisitos de potencia informática;
  • Se necesita una gran cantidad de datos para la capacitación;
  • Las publicaciones generalmente solo escriben sobre las llamadas soluciones de vanguardia, que tienen indicadores de alta calidad, pero son absolutamente poco prácticas.

En este artículo, disiparemos algunos conceptos erróneos e intentaremos aproximarnos un poco al punto de "singularidad" para el reconocimiento de voz. A saber:


  • , , 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 , , , "" .



( ):




modelos


— . — . "" — 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%
Audiencias judiciales0 07 721%21%53%
Libros de audio4 41427%22%70%
Youtube11731%treinta%73%
Llamadas (comercio electrónico)2trece32%29%76%
Páginas Amarillas16 633%31%72%
Términos médicos16 640%39%72%
Llamadas (travesuras)31441%38%85%

El artículo ya es bastante grande. Si está interesado en una metodología más detallada y las posiciones de cada sistema en cada dominio, encontrará una versión ampliada de la comparación del sistema aquí , y una descripción de la metodología de comparación aquí .


All Articles