Компания Mozilla представила движок распознавания речи DeepSpeech 0.9
9 ноября 2020 года
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/27/Wikinews-logo-ru.svg/300px-Wikinews-logo-ru.svg.png)
Опубликован выпуск развиваемого компанией Mozilla движка распознавания речи DeepSpeech 0.9, реализующего одноимённую архитектуру распознавания речи, предложенную исследователями из компании Baidu. Реализация написана на языке Python с использованием платформы машинного обучения TensorFlow и распространяется под свободной лицензией MPL 2.0.
Поддерживается работа в Linux, Android, macOS и Windows. Производительности достаточно для использования движка на платах LePotato, Raspberry Pi 3 и Raspberry Pi 4, а также на смартфонах Google Pixel 2, Sony Xperia Z Premium и Nokia 1.3. Для встраивания функции распознавания речи в свои программы предложены готовые к применению модули для Python, NodeJS, C++ и .NET (сторонними разработчиками отдельно подготовлены модули для Rust, Go и V).
В наборе предлагаются обученные модели, примеры звуковых файлов и инструментарий для распознавания из командной строки. Готовая модель поставляется только для английского и китайского языков. Для других языков можно обучить систему самостоятельно по прилагаемой инструкции (Архивная копия от 19 ноября 2020 на Wayback Machine), используя голосовые данные (Архивная копия от 22 июля 2020 на Wayback Machine), собранные проектом Common Voice. При использовании предлагаемой для загрузки готовой модели английского языка уровень ошибок распознавания в DeepSpeech составляет 7.06% при оценке тестовым набором LibriSpeech. Для сравнения, уровень ошибок при распознавании человеком оценивается в 5.83%.
В предложенной модели наилучший результат распознавания достигается при чистой записи мужского голоса с американским акцентом в окружении без посторонних шумов. По мнению автора библиотеки распознавания слитной речи Vosk недостатками набора Common Voice является однобокость голосового материала (преобладание людей мужского пола 20-30 лет, и недостаток материла с голосом женщин, детей и пожилых людей), отсутствие вариативности словаря (повторение одних и тех же фраз) и распространение записей во вносящем искажения формате MP3. Из недостатков DeepSpeech упоминается низкая производительность и высокое потребление памяти в декодировщике, а также существенные ресурсы для обучения модели (Mozilla использует систему с 8 GPU Quadro RTX 6000 c 24GB VRAM в каждом).
DeepSpeech состоит из двух подсистем - акустической модели и декодировщика. Акустическая модель использует методы глубинного машинного обучения для вычисления вероятности наличия определённых символов в подаваемом на вход звуке. Декодировщик применяет алгоритм лучевого поиска для преобразования данных о вероятности символов в текстовое представление. DeepSpeech значительно проще традиционных систем и при этом обеспечивает более высокое качество распознавания при наличии постороннего шума. В разработке не используются традиционные акустические модели и концепция фонем, вместо них применяется хорошо оптимизированная система машинного обучения на основе нейронной сети, которая позволяет обойтись без разработки отдельных компонентов для моделирования различных отклонений, таких как шум, эхо и особенности речи.
Обратной стороной подобного подхода является то, что для получения качественного распознавания и обучения нейронной сети движок DeepSpeech требует большого объёма разнородных данных, надиктованных в реальных условиях разными голосами и при наличии естественных шумов. Сбором подобных данных занимается созданный в Mozilla проект Common Voice, предоставляющий проверенный набор данных с 1469 часами на английском языке (Архивная копия от 22 июля 2020 на Wayback Machine), 692 на немецком, 554 на французском, 105 часами на русском и 22 часами на украинском. При обучении итоговой модели английского языка для DeepSpeech, кроме Common Voice использованы данные от проектов LibriSpeech, Fisher и Switchboard, а также около 1700 часов транскрибированных записей радиошоу.
Из изменений в новой ветке отмечается возможность форсирования веса избранных слов в процессе декодирования (например, --hot_words "friend:1.5,enemy:20.4"), поддержка платформы Electron 9.2 и опциональная реализация механизма нормализации слоёв ( Layer Norm) при тренировке нейронной сети.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.