издание на базата на енджина за разпознаване на реч, разработен от Mozilla , който реализира същата архитектура за разпознаване на реч, от изследователи на Baidu. Реализацията е написана на Python с използване на платформата за машинно обучение TensorFlow и е с отворен лиценз MPL 2.0. Поддържани са Linux, Android, macOS и Windows. Производителността е достатъчна за работа с платки LePotato, Raspberry Pi 3 и Raspberry Pi 4.
Включени са също обучени модели, звукови файлове и инструменти за разпознаване от команден ред. За вграждане на функцията за разпознаване на реч в приложенията са предложени готови модули за Python, NodeJS, C++ и .NET (разработени са допълнителни модули от трети разработчици за и ). Готовият модел се предлага само на английски език, но за други езици с може да се обучи самостоятелно, с помощта на , събрани от проекта Common Voice.
DeepSpeech е значително по-прост в сравнение с традиционните системи и осигурява по-високо качество на разпознаване на фона на страничен шум. В разработката не се използват традиционни акустични модели и концепцията за фонеми; вместо тях се прилага добре оптимизирана система за машинно обучение на базата на невронни мрежи, която позволява да се избегне разработването на отделни компоненти за моделиране на различни отклонения, като шум, ехото и особеностите на речта.
Недостатък на този подход е, че за качествено разпознаване и обучение на невронната мрежа, двигателят DeepSpeech изисква голям обем разнородни данни, диктувани в реални условия от различни гласове и на фона на естествени шумове.
Събирането на такива данни се осъществява от проекта, създаден в Mozilla, , който предоставя проверен набор от данни с 780 часа на , 325 на немски, 173 на френски и 27 часа на руски.
Крайната цел на проекта Common Voice е да се натрупат 10 хиляди часа записи на различни произношения на стандартни фрази от човешката реч, което ще позволи достигане на приемливо ниво на грешки при разпознаване. В сегашния си вид участниците в проекта вече са записали общо 4.3 хиляди часа, от които 3.5 хиляди са преминали проверка. При обучението на финалния модел на английски език за DeepSpeech са използвани 3816 часа реч, освен Common Voice, обхващаща данни от проектите LibriSpeech, Fisher и Switchboard, както и около 1700 часа транскрибирани записи на радиопредавания.
При използването на предлаганата за изтегляне готова модел на английски език, нивото на грешки в разпознаването в DeepSpeech е 7.5% при оценка с тестов набор. . За сравнение, нивото на грешки при разпознаване от човек е 5.83%.
DeepSpeech се състои от две подсистеми — акустичен модел и декодер. Акустичният модел използва методи на дълбочинно машинно обучение за изчисляване на вероятността за наличие на определени символи в подавания звук. Декодерът прилага алгоритъм за търсене на лъч, за да преобразува данните за вероятността на символите в текстово представяне.
Основни DeepSpeech 0.6 (клон 0.6 не е съвместим с предишните версии и изисква актуализация на кода и моделите):
- Предложен е нов потоков декодер, който осигурява по-висока отзивчивост и не зависи от размера на обработваните звукови данни. В резултат на това, в новата версия на DeepSpeech успяхме да намалим закъснението при разпознаване до 260 мс, което е с 73% по-бързо, отколкото преди, и позволява прилагането на DeepSpeech в решения за разпознаване на реч в реално време.
- Направени са промени в API и е проведена работа по унификация на имената на функциите. Добавени са функции за получаване на допълнителни метаданни за синхронизация, позволяващи не само получаването на текстово представяне, но и проследяване на привързването на отделни символи и изречения към позицията в звуковия поток.
- В инструментария за обучение на модули е добавена поддръжка за използване на библиотеката за оптимизация на работата с рекурсивни невронни мрежи (RNN), което доведе до значително (приблизително два пъти) увеличение на производителността на обучението на модела, но изискваше промени в кода, които нарушават съвместимостта с по-рано подготвени модели.
- Минималните изисквания за версия TensorFlow са повишени от 1.13.1 до 1.14.0. Добавена е поддръжка за леката версия на TensorFlow Lite, при която размерът на пакета DeepSpeech е намален от 98 MB до 3.7 MB. За употреба на вградени и мобилни устройства размерът на опакования файл с модела е съкратен от 188 MB до 47 MB (методът на квантоване е използван след завършване на обучението на модела).
- Езиковият модел е прехвърлен на друг формат на структурни данни, позволяващ мапиране на файлове в паметта при зареждане. Поддръжката на стария формат е прекратена.
- Променен е режимът на зареждане на файла с езиковия модел, което е дало възможност за намаляване на потреблението на памет и намаляване на забавянето при обработката на първото запитване след създаването на модела. Процесът на работа на DeepSpeech сега консумира 22 пъти по-малко памет и се стартира 500 пъти по-бързо.
- Извършена е филтрация на редките думи в езиковия модел. Общият брой думи е съкратен до 500 хиляди от най-популярните думи, срещащи се в текста, използван при обучението на модела. Извършеният процес на почистване е позволил намаляване на размера на езиковия модел от 1800MB до 900MB, практически без влияние върху нивата на грешките при разпознаване.
- Добавена е поддръжка за различни за създаване на допълнителни вариации (augmentations) на звуковите данни, използвани при обучението (например, добавяне на варианти, в които са направени изкривявания или шумове).
- Добавена е библиотека с биндинги за интеграция с приложения на базата на платформата .NET.
- Документацията е преработена и сега е събрана на отделен сайт .
Източник: opennet.ru
