Neuralsp: processamento de fala baseado em rede neural
Como instalar
cd tools
make KALDI=/path/to/kaldi TOOL=/path/to/save/tools
Principais recursos
Corpus
ASR
- Aishell-1
- Aishell-2
- Ami
- CSJ
- LaborotvSpeech
- Librispeech
- Quadro -chave (+Fisher)
- Tedlium2/Tedlium3
- Timit
- WSJ
LM
Front-end
- Empilhamento de quadros
- Rede de resumo de sequência [link]
- Specaugment [link]
- Especaugment Adaptive [link]
Codificador
- Codificador RNN
- (CNN-) BLSTM, (CNN-) LSTM, (CNN-) BLGRU, (CNN-) LGRU
- BRNN controlado por latência [link]
- Passagem de estado aleatório (RSP) [link]
- Codificador do transformador [link]
- Mecanismo de salto de pedaços [link]
- Codificação posicional relativa [link]
- Máscara causal
- Codificador conformista [link]
- Codificador de convolução separável (TDS) em profundidade de tempo [link] [linha]
- Encoder CNN fechado (Glu) [link]
Decodificador de Classificação Temporal Connectionista (CTC)
- Pesquisa de feixe
- Fusão rasa
- Alinhamento forçado
Decodificador RNN-Transduces (RNN-T) [link]
- Pesquisa de feixe
- Fusão rasa
Decodificador baseado em atenção
- Decodificador RNN
- Fusão rasa
- Fusão fria [link]
- Fusion profundo [link]
- Decodificação de atenção para a frente [link]
- Decodificação do conjunto
- Estimativa interna de LM [link]
- Tipo de atenção
- baseado em localização
- baseado em conteúdo
- Produto DOT
- Atenção do GMM
- Transmissão de decodificador RNN específico
- Atenção monotônica dura [link]
- Atenção monotônica do caminho robusto (mocha) [link]
- Atraso treinamento restrito (detot) [link]
- Treinamento mínimo de latência (MINLT) [link]
- Treinamento CTC-síncrono (CTC-ST) [link]
- Decodificador do transformador [link]
- Decodificador do transformador de streaming específico
- ATENÇÃO MONOTONIC MULTIHEAD [Link] [Link]
Modelo de idioma (LM)
- RNNLM (modelo de linguagem de rede neural recorrente)
- LM [Link] convolucional (link]
- Transformador LM
- Transformer-xl lm [link]
- Softmax adaptativo [link]
Unidades de saída
- Fonema
- Grapheme
- Palavra da palavra (BPE, peça de sentença)
- Palavra
- Mix-char de palavras
Aprendizagem de várias tarefas (MTL)
O aprendizado de várias tarefas (MTL) com diferentes unidades é suportado para aliviar a escassez de dados.
- CTC híbrido/atenção [link]
- Atenção hierárquica (por exemplo, atenção da palavra + atenção do personagem) [link]
- CTC hierárquico (por exemplo, Word CTC + Character CTC) [link]
- CTC hierárquico + atenção (por exemplo, atenção da palavra + caractere ctc) [link]
- Atenção para a frente [link]
- Objetivo LM
Desempenho ASR
Aishell-1 (cer)
| Modelo | Dev | teste |
|---|
| Conformador las | 4.1 | 4.5 |
| Transformador | 5.0 | 5.4 |
| Streaming mma | 5.5 | 6.1 |
Aishell-2 (cer)
| Modelo | test_android | test_ios | test_mic |
|---|
| Conformador las | 6.1 | 5.5 | 5.9 |
CSJ (WER)
| Modelo | Eval1 | Eval2 | Eval3 |
|---|
| Conformador las | 5.7 | 4.4 | 4.9 |
| BLSTM LAS | 6.5 | 5.1 | 5.6 |
| LC-BLSTM Mocha | 7.4 | 5.6 | 6.4 |
Switchboard 300h (WER)
| Modelo | SWB | Cap |
|---|
| BLSTM LAS | 9.1 | 18.8 |
Switchboard+Fisher 2000h (WER)
| Modelo | SWB | Cap |
|---|
| BLSTM LAS | 7.8 | 13.8 |
LaborotvSpeech (CER)
| Modelo | dev_4k | Dev | TEDX-JP-10K |
|---|
| Conformador las | 7.8 | 10.1 | 12.4 |
Librispeech (WER)
| Modelo | dev-liman | Dev-outro | limpeza de teste | teste-outro |
|---|
| Conformador las | 1.9 | 4.6 | 2.1 | 4.9 |
| Transformador | 2.1 | 5.3 | 2.4 | 5.7 |
| BLSTM LAS | 2.5 | 7.2 | 2.6 | 7.5 |
| Blstm rnn-t | 2.9 | 8.5 | 3.2 | 9.0 |
| Unilstm rnn-t | 3.7 | 11.7 | 4.0 | 11.6 |
| Unilstm mocha | 4.1 | 11.0 | 4.2 | 11.2 |
| LC-BLSTM RNN-T | 3.3 | 9.8 | 3.5 | 10.2 |
| LC-BLSTM Mocha | 3.3 | 8.8 | 3.5 | 9.1 |
| Streaming mma | 2.5 | 6.9 | 2.7 | 7.1 |
Tedlium2 (WER)
| Modelo | Dev | teste |
|---|
| Conformador las | 7.0 | 6.8 |
| BLSTM LAS | 8.1 | 7.5 |
| LC-BLSTM RNN-T | 8.0 | 7.7 |
| LC-BLSTM Mocha | 10.3 | 8.6 |
| Unilstm rnn-t | 10.7 | 10.7 |
| Unilstm mocha | 13.5 | 11.6 |
WSJ (WER)
| Modelo | test_dev93 | test_eval92 |
|---|
| BLSTM LAS | 8.8 | 6.2 |
Desempenho de LM
Penn Tree Bank (PPL)
| Modelo | válido | teste |
|---|
| Rnnlm | 87.99 | 86.06 |
| + cache = 100 | 79.58 | 79.12 |
| + cache = 500 | 77.36 | 76.94 |
Wikitext2 (ppl)
| Modelo | válido | teste |
|---|
| Rnnlm | 104.53 | 98.73 |
| + cache = 100 | 90.86 | 85.87 |
| + cache = 2000 | 76.10 | 72.77 |
Referência
- https://github.com/kaldi-asr/kaldi
- https://github.com/espnet/espnet
- https://github.com/awni/speech
- https://github.com/hawkaaron/e2e-asr
Dependência
- https://github.com/seannaren/warp-ctc
- https://github.com/hawkaaron/warp-transducer
- https://github.com/1ytic/warp-rnnt