Компанія Mozilla представила двигун розпізнавання мови DeepSpeech 0.6

представлений випуск Mozilla, що розвивається движка розпізнавання мови DeepSpeech 0.6, що реалізує однойменну архітектуру розпізнавання мови, запропоновану дослідниками із компанії Baidu. Реалізація написана мовою Python з використанням платформи машинного навчання TensorFlow та поширюється під вільною ліцензією MPL 2.0. Підтримується робота в Linux, Android, MacOS та Windows. Продуктивності достатньо для використання двигуна на платах LePotato, Raspberry Pi 3 та Raspberry Pi 4.

У наборі також пропонуються навчені моделі, приклади звукових файлів та інструментарій для розпізнавання з командного рядка. Для вбудовування функції розпізнавання мовлення у свої програми запропоновані готові до застосування модулі для Python, NodeJS, C++ та .NET (сторонніми розробниками окремо підготовлені модулі Іржа и Go). Готова модель поставляється тільки для англійської мови, але для інших мов додається інструкції можна навчити систему самостійно, використовуючи голосові дані, зібрані проектом 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% при оцінці тестового набору LibriSpeech. Для порівняння, рівень помилок при розпізнаванні людиною оцінюється о 5.83%.

DeepSpeech складається з двох підсистем - акустичної моделі та декодувальника. Акустична модель використовує методи глибинного машинного навчання для обчислення ймовірності наявності певних символів у звуку, що подається на вхід. Декодировщик застосовує алгоритм променевого пошуку перетворення даних про ймовірність символів в текстове представлення.

Основні нововведення DeepSpeech 0.6 (гілка 0.6 не сумісна з минулими випусками і потребує оновлення коду та моделей):

  • Запропоновано новий потоковий декодувальник, що забезпечує більш високу чуйність і не залежить від розміру оброблюваних звукових даних. У результаті, в новій версії DeepSpeech вдалося знизити затримку на розпізнавання до 260 мс, що на 73% швидше, ніж раніше, і дозволяє застосовувати DeepSpeech у рішеннях для розпізнавання мови на льоту.
  • Внесено зміни до API та проведено роботу з уніфікації імен функцій. Додані функції для отримання додаткових метаданих про синхронізацію, що дозволяють не просто отримувати на виході текстове уявлення, а й відстежувати прив'язку окремих символів та пропозицій до позиції звукового потоку.
  • У інструментарій для навчання модулі додано підтримку використання бібліотеки CuDNN для оптимізації роботи з рекурентними нейронними мережами (RNN), що дозволило досягти істотного (приблизно вдвічі) збільшення продуктивності навчання моделі, але зажадало внесення до коду змін, що порушують сумісність з моделями, підготовленими раніше.
  • Мінімальні вимоги до версії TensorFlow піднято з 1.13.1 до 1.14.0. Додано підтримку легковажної редакції TensorFlow Lite, при використанні якої розмір пакету DeepSpeech зменшено з 98 MB до 3.7 MB. Для використання на вбудовуваних та мобільних пристроях з 188 MB до 47 MB ​​також скорочено розмір упакованого файлу з моделлю (для стиснення використано метод квантування після завершення навчання моделі).
  • Мовна модель переведена на інший формат структур даних, що дозволяє виконувати мапінг файлів у пам'ять під час завантаження. Підтримка старого формату припинено.
  • Змінено режим завантаження файлу з мовною моделлю, що дозволило зменшити споживання пам'яті та зменшити затримки при обробці першого запиту після створення моделі. У процесі роботи DeepSpeech тепер споживає у 22 рази менше пам'яті та запускається у 500 разів швидше.

    Компанія Mozilla представила двигун розпізнавання мови DeepSpeech 0.6

  • Проведено фільтрацію рідкісних слів у мовній моделі. Загальна кількість слів скорочено до 500 тисяч найпопулярніших слів, які трапляються в тексті, використаному при тренуванні моделі. Проведене чищення дозволило знизити розмір мовної моделі з 1800МБ до 900МБ, практично не вплинувши на показники рівня помилок розпізнавання.
  • Додано підтримку різних технік створення додаткових варіацій (augmentation) звукових даних, що використовуються під час навчання (наприклад, додавання до набору варіантів, які внесені спотворення чи шуми).
  • Додано бібліотеку з біндингами для інтеграції з додатками на базі платформи .NET.
  • Перероблено документацію, яка тепер зібрана на окремому сайті deepspeech.readthedocs.io.

Джерело: opennet.ru

Додати коментар або відгук