Это введение в AutoSpeech, модель машинного обучения, которую можно использовать с ailia SDK. Вы можете легко использовать эту модель для создания приложений ИИ с помощью ailia SDK, а также многих других готовых к использованию AIlia MODELS.

Обзор

AutoSpeech – это модель машинного обучения, которая может идентифицировать людей по их речи. Путем ввода двух аудиофайлов и создания векторов признаков каждой записи можно вычислить степень сходства между двумя файлами. Этот метод можно использовать для сопоставления записи с векторами признаков голосов людей, хранящихся в базе данных для идентификации. Его можно использовать для голосовой биометрической аутентификации или идентификации говорящих в транскрипции речи.



Архитектура

Существуют две основные задачи распознавания говорящего: идентификация говорящего (SID) и проверка говорящего (SV). В последние годы появились комплексные системы распознавания говорящих, которые достигли самых современных результатов.

При сквозном распознавании говорящего сверточная нейронная сеть (CNN) или рекуррентная нейронная сеть (RNN) используется в качестве экстрактора признаков для каждого звукового кадра, который затем превращается во встраивание говорящего фиксированной длины (d-vector ) на уровне временной агрегации. Наконец, для этих вложений используется косинусное сходство для принятия окончательного решения об идентификации говорящего.

Для извлечения признаков обычно используются архитектуры VGG и ResNet . Однако эти архитектуры предназначены для идентификации изображений и не оптимальны для распознавания говорящего.

AutoSpeech использует поиск нейронной архитектуры (NAS) для поиска наилучшей сетевой архитектуры. Пространство поиска представляет собой набор следующих слоев:

Процесс NAS состоит из двух типов нейронных ячеек: обычных ячеек, которые сохраняют пространственное разрешение тензора признаков (количество измерений), и редукционных ячеек, уменьшающих разрешение. . Например, в VGG Conv -> Relu соответствует нормальной ячейке, а MaxPooling соответствует сокращенной ячейке. Эти ячейки складываются 8 раз, чтобы сформировать окончательную архитектуру модели.

Набор данных VoxCeleb1 использовался для обучения и оценки.



Результаты оценки представлены ниже. Предлагаемый метод превосходит методы, основанные на VGG и ResNet.

Обработка выполняется на данных спектра STFT аудиофайлов с частотой дискретизации 16 кГц. Аудиофайл делится на кадры, для которых вычисляется вектор признаков, а среднее значение всех кадров берется в качестве окончательного вектора признаков фиксированной длины. Затем вычисляется метрика косинусного сходства путем нормализации и скалярного произведения векторов признаков.

использование

Следующая команда позволит вам ввести два аудиофайла и вывести их сходство.

$ python3 auto_speech.py --input1 wav/id10270/8jEAjG6SegY/00008.wav --input2 wav/id10270/x6uYqmx31kE/00001.wav


Вот пример вывода. Если сходство превышает пороговое значение, человек идентифицируется как один и тот же человек, и на выходе отображается «совпадение».

INFO auto_speech.py (229) : Start inference...
INFO auto_speech.py (243) :  similar: 0.42532125
INFO auto_speech.py (245) :  verification: match (threshold: 0.260)

Обучение проводится на наборе данных, состоящем из речей на английском языке, но давайте проверим его на японских предложениях, используя библиотеку аудиофайлов ниже.



Различные выводы показали, что предложения от одного и того же человека совпадали со сходством между 0,41 и 0,80. Пример похожих предложений (одинаковых слов) от двух разных людей, не имеющих аналогов со сходством 0,228. Поэтому ту же модель можно использовать и для других языков, в данном случае для японского.

Топор Инк. разработал ailia SDK, который обеспечивает кросс-платформенный быстрый вывод на основе графического процессора.

ax Inc. предоставляет широкий спектр услуг от консалтинга и создания моделей до разработки приложений и SDK на основе ИИ. Не стесняйтесь связаться с нами для любого запроса.