+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

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

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 (сторонніми розробниками окремо підготовлені модулі для Rust і Go). Готова модель поставляється тільки для англійської мови, але для інших мов за інструкцією, що додається, можна навчити систему самостійно, використовуючи голосові дані, зібрані проектом Common Voice.

DeepSpeech значно простіше традиційних систем і забезпечує більш високу якість розпізнавання за наявності стороннього шуму. У розробці не використовуються традиційні акустичні моделі та концепція фонем, замість них застосовується добре оптимізована система машинного навчання на основі нейронної мережі, яка дозволяє обійтися без розробки окремих компонентів для моделювання різних відхилень, таких як шум, луна та особливості мови.

Зворотною стороною такого підходу є те, що для отримання якісного розпізнавання та навчання нейронної мережі двигун DeepSpeech вимагає великого обсягу різноманітних даних, надиктованих в реальних умовах різними голосами та за наявності природних шумів. Збором подібних даних займається створений у Mozilla проект Common Voice, що надає перевірений набір даних з 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 разів швидше.
  • Проведено фільтрацію рідкісних слів у мовній моделі. Загальна кількість слів скорочено до 500 тисяч найпопулярніших слів, що зустрічаються в тексті, використаному під час тренування моделі. Проведене чищення дозволило знизити розмір мовної моделі з 1800МБ до 900МБ, практично не вплинувши на показники рівня помилок розпізнавання.
  • Додано підтримку різних технік створення додаткових варіацій (augmentation) звукових даних, що використовуються під час навчання (наприклад, додавання до набору варіантів, до яких внесено спотворення або шуми).
  • Додано бібліотеку з біндингами для інтеграції з додатками на базі платформи .NET.
  • Перероблено документацію, яку тепер зібрано на окремому сайті deepspeech.readthedocs.io

Інші новини

Найкраща ціна