lançamento do motor de reconhecimento de fala desenvolvido pela Mozilla , que implementa a arquitetura de reconhecimento de fala homônima, por pesquisadores da Baidu. A implementação é escrita em Python utilizando a plataforma de aprendizado de máquina TensorFlow e disponível sob a licença livre MPL 2.0. É compatível com Linux, Android, macOS e Windows. A performance é suficiente para usar o motor em placas LePotato, Raspberry Pi 3 e Raspberry Pi 4.
O pacote também inclui modelos treinados, arquivos de áudio e ferramentas para reconhecimento a partir da linha de comando. Para integrar a função de reconhecimento de fala em seus programas, são oferecidos módulos prontos para uso em Python, NodeJS, C++ e .NET (módulos preparados separadamente por desenvolvedores terceiros para e ). O modelo pronto está disponível apenas para a língua inglesa, mas para outros idiomas, é possível material fornecido , coletados pelo projeto Common Voice.
DeepSpeech é significativamente mais simples do que sistemas tradicionais e, ao mesmo tempo, oferece uma qualidade de reconhecimento superior mesmo na presença de ruído ambiente. No desenvolvimento, não são utilizadas modelos acústicos tradicionais e a concepção de fonemas; em vez disso, é aplicada uma bem otimizada sistema de aprendizado de máquina baseado em rede neural, que permite abrir mão do desenvolvimento de componentes separados para modelar diversas variações, como ruído, eco e características da fala.
O lado negativo dessa abordagem é que, para obter um reconhecimento de qualidade e treinar a rede neural, o motor DeepSpeech exige uma grande quantidade de dados variados, ditados em condições reais por diferentes vozes e na presença de ruídos naturais.
A coleta desses dados é realizada pelo projeto criado na Mozilla , que fornece um conjunto de dados verificado com 780 horas em , 325 em alemão, 173 em francês e 27 horas em russo.
O objetivo final do projeto Common Voice é acumular 10 mil horas de gravações de diversas pronúncias de frases típicas da fala humana, o que permitirá alcançar um nível aceitável de erros no reconhecimento. No estado atual, os participantes do projeto já ditaram um total de 4,3 mil horas, das quais 3,5 mil passaram por verificação. Para o treinamento do modelo final da língua inglesa para o DeepSpeech, foram usados 3816 horas de fala, além do Common Voice, abrangendo dados dos projetos LibriSpeech, Fisher e Switchboard, e incluindo cerca de 1700 horas de gravações transcritas de programas de rádio.
Ao usar o modelo de língua inglesa pronto para download, o nível de erro no reconhecimento no DeepSpeech é de 7,5% quando avaliado com o conjunto de testes . Para comparação, o nível de erros no reconhecimento por um ser humano é de 5,83%.
O DeepSpeech é composto por dois subsistemas — um modelo acústico e um decodificador. O modelo acústico utiliza métodos de aprendizado profundo para calcular a probabilidade da presença de determinados símbolos no som apresentado. O decodificador aplica um algoritmo de busca em feixe para converter os dados sobre a probabilidade dos símbolos em uma representação textual.
Principais DeepSpeech 0.6 (a versão 0.6 não é compatível com versões anteriores e requer atualização do código e modelos):
- Um novo decodificador em fluxo foi proposto, oferecendo maior responsividade e não dependente do tamanho dos dados de áudio processados. Como resultado, na nova versão do DeepSpeech, foi possível reduzir a latência de reconhecimento para 260 ms, que é 73% mais rápido do que antes, permitindo a aplicação do DeepSpeech em soluções para reconhecimento de fala em tempo real.
- Foram feitas alterações na API e unificação dos nomes das funções. Funções foram adicionadas para obter metadados adicionais sobre sincronização, permitindo não só obter uma representação textual, mas também rastrear a associação de caracteres e sentenças com a posição no fluxo de áudio.
- Adicionada ao conjunto de ferramentas para treinamento de módulos o suporte para uso da biblioteca para otimizar o desempenho com redes neurais recorrentes (RNN), o que possibilitou um aumento significativo (cerca de duas vezes) na eficiência do treinamento do modelo, mas exigiu alterações no código que comprometem a compatibilidade com os modelos preparados anteriormente.
- Os requisitos mínimos da versão do TensorFlow foram elevados de 1.13.1 para 1.14.0. Foi adicionado suporte à edição leve do TensorFlow Lite, que reduziu o tamanho do pacote DeepSpeech de 98 MB para 3.7 MB. O tamanho do arquivo compactado do modelo também foi reduzido de 188 MB para 47 MB para uso em dispositivos embarcados e móveis (o método de quantização foi aplicado após a conclusão do treinamento do modelo).
- O modelo de linguagem foi convertido para um novo formato de estrutura de dados, permitindo o mapeamento de arquivos na memória durante o carregamento. O suporte ao formato antigo foi descontinuado.
- O modo de carregamento do arquivo com o modelo de linguagem foi alterado, o que reduziu o consumo de memória e diminuiu a latência no processamento da primeira solicitação após a criação do modelo. Agora, o DeepSpeech consome 22 vezes menos memória e inicia 500 vezes mais rápido.
- Foi realizada a filtragem de palavras raras no modelo de linguagem. O número total de palavras foi reduzido para 500 mil das palavras mais populares encontradas no texto usado para treinar o modelo. A limpeza realizada permitiu reduzir o tamanho do modelo de linguagem de 1800 MB para 900 MB, praticamente sem afetar os índices de erro de reconhecimento.
- Adicionado suporte a várias de criação de variações adicionais (augmentation) de dados sonoros utilizados no treinamento (por exemplo, adicionando ao conjunto variantes que contenham distorções ou ruídos).
- Foi adicionada uma biblioteca com bindings para integração com aplicativos baseados na plataforma .NET.
- A documentação foi reformulada e agora está reunida em um site separado .
Fonte: opennet.ru
