Эта статья написана«Линия фронта ИИ»Оригинал, оригинальная ссылка:Сквозная система автоматического распознавания речи Facebook с открытым исходным кодом wav2letter
Переводчик|Сюэ Миндэн
Редактор | Наталья
wav2letter — это простая и эффективная сквозная система автоматического распознавания речи, исходный код которой открыт исследовательской группой Facebook AI. ConvNets Архитектуры, упомянутые в этих двух документах.
Адрес бумаги:
(1) WavLetter: сквозная система распознавания скорости на основе ConvNet
(2) Распознавание речи на основе букв с помощью Gated ConvNets
Бумажные цитаты
Если вы хотите использовать wav2letter или родственные предварительно обученные модели, процитируйте две приведенные ниже статьи.
Эксплуатационные требования
- Компьютер под управлением MacOS или Linux.
- Каркас факела.
- Обучение на процессоре: Intel MKL.
- Обучение на GPU: NVIDIA CUDA Toolkit (cuDNN v5.1 для CUDA 8.0).
- Чтение звуковых файлов: Libsndfile.
- Стандартные речевые функции: FFTW.
Установить
MKL
Если вы планируете тренироваться на процессоре, настоятельно рекомендуется использовать Intel MKL.
Измените файл .bashrc и добавьте следующее:
LuaJIT и LuaRocks
Следующее установит LuaJIT и LuaRocks в каталог $HOME/user.Если вы хотите установить на системном уровне, удалите параметр DCMAKE_INSTALL_PREFIX=$HOME/user.
Ниже мы предполагаем, что luarocks и luajit уже включены в $PATH, если нет, вызовите luarocks и luajit с правильным путем. Предполагая, что они установлены в каталоге $HOME/usr, вызовите ~/usr/bin/luarocks и ~/usr/bin/luajit.
Инструмент языковой модели KenLM
Если вы хотите использовать декодер wav2letter, вам необходимо установить KenLM, а для установки KenLM требуется Boost.
OpenMPI и TorchMPI
OpenMPI и TorchMPI необходимы, если вы хотите обучать модели с несколькими процессорами/графическими процессорами (или несколькими машинами).
СОВЕТ: рекомендуется перекомпилировать OpenMPI, так как стандартные дистрибутивы используют множество переменных тегов компиляции, некоторые из которых имеют решающее значение для успешной работы TorchMPI.
Сначала установите OpenMPI:
Примечание: можно использовать openmpi-3.0.0.tar.bz2, но параметр --enable-mpi-thread-multiple необходимо удалить.
TorchMPI теперь можно установить:
Факел и другие библиотеки
пакет wav2letter
Обучите модель wav2letter
предварительная обработка данных
Каталог данных содержит несколько скриптов для предварительной обработки различных наборов данных, в настоящее время предоставляются только LibriSpeech и TIMIT.
Вот пример предварительной обработки корпуса LibriSpeech ASR:
тренироваться
Тренируйтесь на нескольких графических процессорах
Используйте OpenMPI для запуска нескольких обучающих процессов, по одному на каждый GPU, мы предполагаем, что mpirun уже включен в $PATH.
запустить декодер (вывод)
Перед запуском декодера нам нужно выполнить некоторую предварительную обработку.
Во-первых, создайте словарь букв, включая повторяющиеся буквы, используемые в wav2letter.
Таким образом, у нас есть языковая модель, а затем она предварительно обрабатывается. Здесь мы используем предварительно обученную языковую модель LibriSpeech, конечно, мы также можем использовать KenLM для обучения других моделей. Затем мы записываем слова строчными буквами и генерируем для них фонетические транскрипции. Сценарий предварительной обработки может выдать вам несколько предупреждений о том, что некоторые слова неправильно фонетизированы из-за повторяющихся букв (здесь 2, потому что был использован параметр -r 2), но это случается редко, так что, на наш взгляд, это не большая проблема.
Примечание. Мы также можем использовать 4gram.arpa.gz, но это требует больше времени на предварительную обработку.
Дополнительный шаг: преобразование модели в двоичный файл с помощью KenLM может ускорить последующую загрузку, мы предполагаем, что KenLM уже включен в $PATH:
Теперь мы запускаем test.lua в наборе данных. Скрипт также отображает коэффициент ошибок в буквах и коэффициент ошибок в словах — последний не был рассчитан с использованием акустической модели с постобработкой.
Затем запустите декодер:
предварительно обученная модель
Мы предоставляем предварительно обученные модели для LibriSpeech:
Чтобы использовать предварительно обученную модель, вам необходимо выполнить шаги установки и декодирования, указанные в README.
Примечание. Предварительно обученная модель обучается на инфраструктуре Facebook, поэтому вам необходимо передать соответствующие параметры в test.lua во время выполнения:
Для большего содержания сухих товаров вы можете обратить внимание на AI Frontline, ID:ai-front, фоновый ответ "AI, TF и большие данныеПолучите серию мини-книг и карт навыков «AI Frontline» в формате PDF.