Об одной задаче аутентификации по голосу на основе методов машинного обучения
Коротеев Михаил Викторович
к.э.н., доцент Департамента анализа данных и машинного обучения, Финансовый университет при Правительстве РФ, mvkoroteev@fa.ru
Анисимов Ефим Сергеевич
студент, Финансовый университет при Правительстве Российской Федерации, 232579@edu.fa.ru
Надежная аутентификация является центральным элементом многих систем безопасности. Среди них выделяется своей универсальностью речевая аутентификация пользователей. В данной статье предлагается подход к построению информационной системы на основе определения принадлежности голоса человека. В качестве речевой базы данных использован Т1М1Т - датасет речевых сигналов и их транскрипций на английском языке. Показано, что даже при использовании классических методов машинного обучения, такие системы могут показать приемлемый уровень точности, что позволяет использовать их как системы контроля клиентского доступа в частности, при работе организаций, осуществляющих взаимодействие с клиентами удаленно. Ключевые слова: машинное обучение, аутентификация, распознавание речи, аутентификация по голосу, классификация, векторизация.
В настоящее время интенсивное развитие получило дистанционное предоставление услуг. Исторически одними из первых отраслей, подхвативших данную тенденцию, стали организации кредитно-финансовой и торговой сферы. Однако, принимая во внимание успехи включения обозначенными компаниями в модель бизнеса дистанционных услуг и достоинства таких сервисов, сегодня удаленное обслуживание стало существенной составляющей практически всех институтов, взаимодействующих с широким кругом клиентов. Причем примеры не ограничиваются всевозможными коммерческими организациями, но и охватывают различные государственные и муниципальные органы, а также благотворительные и иные некоммерческие организации.
Часть таких систем основана на обязательных процедурах идентификации и аутентификации пользователей с целью исключения несанкционированного доступа к учетным записям и пресечения возможных нарушений правил пользования сервисами в части допуска третьих лиц, не обладающих соответствующими правами. Именно по этой причине для поддержания требуемого уровня функционирования данные системы нуждаются во внедрении систем аутентификации.
Настоящее исследование посвящено созданию системы аутентификации с лежащей в её основе обработкой речевой информации. Актуальность работы подтверждается приведенным кратким описанием критических вопросов в рассматриваемой области.
Целью исследования является получение программного продукта, позволяющего заключить на основе получения двух речевых фрагментов об их принадлежности одному или более субъектам. Успешно реализованный продукт позволяет активно его внедрять во все сервисы, в ходе предоставления услуг которых используется разговор. Важно, что этому критерию соответствуют организации самых разнообразных видов деятельности: сервисы с биометрической аутентификации (например, при дистанционном банковском обслуживании), оказание медицинских услуг (телемедицина), предоставление юридических и иных консультаций... Это обуславливает широкую практическую значимость созданных нами и накопленных материалов.
Соответственно, для достижения поставленной цели в ходе исследования решаются следующие задачи:
1) подготовка необходимых входных данных;
2) обработка накопленной информации, создание программы;
3) тестирование созданного продукта, его оптимизация.
Подготовка наборов данных
Главными входными данными являются примеры, содержащие достаточный набор речевых фрагментов, принадлежащих различным спикерам. Для большего охвата возможных отрывков речи упомянутые фрагменты должны быть сняты на произнесении разных текстов одним человеком и при этом совпадающие тексты должны проговариваться разными людьми. Такой подход достаточно легко формирует основу для получения характеристик речи, которые, с одной стороны, будут описывать одну фразу применительно к разным людям
X X
о
го А с.
X
го т
о
м о м
Сл>
fO
es о es
о ш m
X
<
m О X X
и позволять определять общие свойства речи человека независимо от произносимых слов с другой. Во втором случае система за счёт знания принадлежности речи одному субъекту сможет научиться опознавать уникальные характеристики его голоса. В первом же случае модель сумеет выделить речевые параметры, которые будут различаться для разных субъектов даже при одинаковом произносимом тексте.
Описанным требованиям удовлетворяет акустико-фонети-ческий корпус TIMIT. Датасет TIMIT - это база данных речевых сигналов и их транскрипций на английском языке. Его используют для обучения и тестирования моделей распознавания речи. TIMIT (аббревиатура расшифровывается по названию создателей проекта Texas Instruments / Massachusetts Institute of Technology) - это проект создания речевой базы данных на английском языке, стартовавший в 1988 году. Позднее появилось семейство речевых баз данных на европейских языках SpeechDat, включая русский язык. Ресурс платный.
Для подготовки собственного датасета, содержащего речевые характеристики выбираемых из TIMIT звукозаписей, применялись возможности OpenSmile (библиотека и инструментарий для анализа аудио-сигналов, который может быть использован для извлечения различных акустических и пара-лингвистических характеристик голоса). В первую очередь, при помощи таблицы-описания аудиозаписей в тестовой выборке были извлечены пути к конвертируемым аудиофайлам, то есть файлам с указанным расширением *.wav (Waveform Audio File Format — формат файла-контейнера для хранения записи оцифрованного аудиопотока). Из всего объема test_data количество таких искомых файлов составило 1680 записей. Для каждой из них находился набор характеристик в соответствии с GeMAPS v01b (Geneva Minimalistic Acoustic Parameter Set - Женевский минималистичный стандартный набор параметров для исследования голоса и эмоциональных вычислений) - получалось соответствие аудиозаписи вектору из 62 параметров.
После получения набора из 1680 векторов, содержащих 62 параметра речи, а также соответствующего набора из 1680 идентификаторов спикеров завершающим шагом стало формирование готового к работе датасета. В рамках данной стадии сравнивался вектор с вектором и по результатам сравнения получались построчно матрицы Х и Y: соответствующая строка матрицы Х содержала совмещенные два сравниваемых вектора со значениями формант, а в той же строке Y присваивалось значение 1 в случае, если два сравниваемых вектора речевых характеристик описывают аудиозапись одного и того же человека, и 0 в противном случае.
Этапы обучения ML моделей
В результате реализации описанных выше действий был получен готовый к дальнейшей работе датасет, состоящий из матриц Х размера 1410360х124 и вектора-столбца Y размера 1410360х1, состоящего исключительно из нолей (случай объединения в соответствующей строке матрицы Х наборов речевых параметров разных людей) и единиц (случай сравнения речи одного и того же спикера). Как будет показано в дальнейшем, неоднократно возникает необходимость использования для обучения моделей лишь некоторой доли полученных примеров, что связано с вопросом времени обучения. Случайный отбор нужной доли осуществлялся с помощью функции sample библиотеки random, применяемой к предварительно объединённой матрице (матрица размера 1410360х125: первый 124 столбца в точности совпадают с уже описанной матрицей Х, а последний столбец - это Y), с выставлением необходимого процента отбора примеров в параметре frac. После фиксации уменьшенного размера примеров для обучения матрица из
125 столбцов разделялась аналогично способу её образования.
Следующим и одним из самых важных этапов в разработке стало обучение моделей. Их выбор состоял из предлагаемого набора классификаторов в библиотеке Scikit-learn, популярной Ру^оп-библиотеки для моделей машинного обучения На первом этапе был определён перечень из 19 моделей, результаты обучения которых сравнивались применительно к 0,5% исходной выборки. Сотая доля данных выбиралась из всего объёма без повторов случайным образом. Ключевые из полученных параметров (валидированная оценка, время обучения, точность и полнота), на основе которых принимались дальнейшие решения, а также все выбранные для первого эксперимента модели представлены в таблице 1.
Таблица 1
моделей на датасете из 7052 примеров
Model Mean score Time Precision Recall
RidgeClassifier 0,994186 0,076714 0,988690 0,994329
KNeighborsClassifier 0,994186 0,082240 0,988690 0,994329
QuadraticDisriminantAnalysis 0,994186 0,105592 0,988690 0,994329
SVC with rbf kernel 0,994186 0,465892 0,988690 0,994329
ExtraTreesClassifier 0,994186 0,479200 0,988690 0,994329
SVC with linear kernel 0,994186 1,457469 0,988690 0,994329
RandomForestClassifier 0,994186 3,411941 0,988690 0,994329
MLPClassifier 0,994044 2,724556 0,988690 0,994329
LogisticRegression 0,993761 0,130968 0,988690 0,994329
SVC with poly kernel 0,993761 0,502022 0,988690 0,994329
AdaBoostClassifier 0,993194 3,078302 0,988687 0,993856
SGDClassifier 0,991492 0,430791 0,988685 0,993384
GaussianProcessClassifier 0,991208 27,761606 0,988677 0,991966
PassiveAgressiveClassifier 0,989223 0,064187 0,991991 0,994329
GradientBoostClassifier 0,989223 16,100222 0,988661 0,98913
DecisionTreeClassifier 0,987663 0,947711 0,989363 0,984877
Perceptron 0,984259 0,050036 0,988674 0,991493
BernoulliNB 0,971784 0,039954 0,988442 0,952268
GaussianNB 0,506369 0,022424 0,989729 0,507561
На основе полученных результатов для дальнейшего тестирования отобрано 9 моделей, которые отличились достойным совокупным результатом на малой части тестовых данных, или показали лучший результат по показателю среди всех классификаторов, или обладают неплохим потенциалом дообучения по мнению авторов.
Далее эти 9 моделей протестированы на вдвое большем объеме выборки (1% от всего количества), в ходе тестирования были получены аналогичные предыдущему описанию показатели. В таблице 2 представлены данные результаты для каждого из рассмотренных классификаторов.
Таблица 2
Model Mean score Time Precision Recall
RidgeClassifier 0,996030 0,076910 0,991982 0,995983
KNeighborsClassifier 0,996030 0,188404 0,991982 0,995983
QuadraticDisriminantAnalysis 0,996030 0,217684 0,991982 0,995983
ExtraTressClassifier 0,996030 0,995184 0,991982 0,995983
SVC with rbf kernel 0,996030 1,364525 0,991982 0,995983
SVC with poly kernel 0,995888 1,694792 0,991981 0,995747
MLPClassifier 0,995675 5,996217 0,991982 0,995983
PassiveAggressiveClassifier 0,994399 0,120045 0,992610 0,994093
GaussianProcessClassifier 0,988585 156,455736 0,987250 0,987476
После анализа полученных результатов для дальнейшей работы были выбраны три классификатора с наибольшим потенциалом в рамках исследуемой задачи: классификатор на основе ридж-регрессии, алгоритм классификации к ближайших соседей и алгоритм PassiveAggressive в качестве альтернативной модели с лучшей фиксируемой точностью. (Ридж-ре-
грессия, (ridge regression) - один из методов понижения размерности, применяется для борьбы с избыточностью данных в датасет).
Эти три модели далее тестировались на 5% выборки, что составляет 70518 случайных примеров из исходного датасета. Результаты представлены в таблице 3.
Таблица 3
Таблица 5
Model Mean score Time Precision Recall
RidgeClassifier 0,994994 0,343588 0,990004 0,994375
KNeighborsClassifier 0,994796 1,233544 0,989628 0,994801
PassiveAggressiveClassifier 0,994214 0,429908 0,989998 0,993761
Model Mean score Time Precision Recall
RidgeClassifier 0,994640 5,556351 0,989308 0,994640
1000
0998
0996
ridge
0994
0992
0.990
laining score -•- Cross-validation score
» > 1 r
02
0.4
10
1е6
По итогам приходим к выводу о наилучшем соответствии ридж-регрессии решаемой в рамках настоящего исследования задаче - данный классификатор стабильно показывает сравнительно лучший результат и обладает хорошим уровнем обучаемости. В таблице 4 представлены результаты, которые показывает модель на полном датасете.
Таблица 4
Выбор силы регуляризац ии
Alpha Mean score Time Precision Recall
0,001 0,994640 7,261566 0,989308 0,994640
0,01 0,994640 5,652915 0,989308 0,994640
0,1 0,994640 5,493838 0,989308 0,994640
1 0,994640 5,556351 0,989308 0,994640
10 0,994640 5,568846 0,989308 0,994640
100 0,994640 5,708238 0,989308 0,994640
1000 0,994640 5,587085 0,989308 0,994640
Таблица 6 Выбор solver (при значении а = 0,1)
Solver Mean score Time Precision Recall
auto 0,994640 5,493838 0,989308 0,994640
svd 0,994640 38,77002 0,989308 0,994640
cholesky 0,994640 6,009817 0,989308 0,994640
lsqr 0,994640 6,497085 0,989308 0,994640
sag 0,994640 288,330024 0,989308 0,994640
saga 0,994640 490,196005 0,989308 0,994640
Помимо получения всех аналогичных показателей в ходе обучения на полной выборке были построены также кривые обучения, чтобы убедиться в отсутствии переобучения или недообучения модели. График представлен на рисунке 1.
0.6 0.8 Taining examples
Рисунок 1 - Кривые обучения для Ridge Classifier в ходе обучения на датасете из 1410360 примеров
В целом по полученному графику кривых обучения можно говорить о хорошей обучаемости ридж-регрессии без каких-либо недостаточных или избыточных свойств.
Для большей эффективности программного решения после отбора оптимальной для поставленной задачи модели был проведен Grid Search (алгоритм оптимизации, который позволяет выбирать лучшие параметры для оптимизации проблемы, реализован в Python) с целью улучшения достигнутых показателей. В качестве изменяемых показателей ридж-ре-грессии рассматривались alpha и solver. Из информации в таблицах 5 и 6 видно, что Grid Search позволяет улучшить результаты только по времени обучения модели - на остальные характеристики изменения эффекта не оказали. Однако и это является хорошим результатом, потому что скорость работы может оказывать значительный эффект в случае обработки повышенных объёмов информации.
В результате проведённого исследования приходим к окончательному выбору модели для применения - Ridge Classifier со стандартным solver и силой регуляризации а = 0,1.
Заключение
В завершение заметим, что точное следование поставленным задачам и последовательный анализ промежуточных результатов позволили достигнуть намеченной в исследовании цели. Результатом исследования стал программный продукт, позволяющий с точностью более 99% распознать принадлежность двух речевых фрагментов одному субъекту.
Высокая точность позволяет утверждать о широкой практической значимости научного исследования, поскольку такая система может применяться в самых разнообразных сервисах оказания дистанционных услуг, а также, например, при организации и повышении надежности механизмов доступа или для увеличения точности фонографических экспертиз. Это лишь небольшой перечень сфер применения нашей системы речевой аутентификации, причем области будут лишь расширяться как новыми наименованиями, так и дополнениями функций.
Необходимо отметить, что нами использован TIMIT - база данных речевых сигналов и их транскрипций на английском языке. Хорошо известен также платный ресурс - семейство речевых баз данных на европейских языках SpeechDat, которое включает русский язык. Продемонстрировав в нашем исследовании решение задачи построения и оценки конвейерной системы аутентификации речи на английском языке, мы планируем реализацию задачи применительно к русскому языку.
Литература
1. Eyben F. и др. The Geneva Minimalistic Acoustic Parameter Set (GeMApS) for Voice Research and Affective Computing // IEEE Transactions on Affective Computing. 2016. Т. 7, № 2. С. 190-202.
2. Fisher, William M.; Doddington, George R.; Goudie-Marshall, Kathleen M. (1986). "The DARPA Speech Recognition Research Database: Specifications and Status". Proceedings of DARPA Workshop on Speech Recognition. pp. 93-99.
3. Huang X. и др. Spoken Language Processing: A Guide to Theory, Algorithm, and System Development. Prentice Hall, 2001. 980 с.
4. Sainath T.N. и др. Convolutional, Long Short-Term Memory, fully connected Deep Neural Networks // 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2015.
5. Palaz D., -Doss M.M., Collobert R. Convolutional Neural Networks-based continuous speech recognition using raw speech
X X
о го А с.
X
го m
о
to о м
CJ
signal // 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2015.
6. Dileep A.D., Sekhar C.C. GMM-Based Intermediate Matching Kernel for Classification of Varying Length Patterns of Long Duration Speech Using Support Vector Machines // IEEE Transactions on Neural Networks and Learning Systems. 2014. T. 25, № 8. C. 1421-1432.
7. Schmidhuber J. Deep learning in neural networks: An overview // Neural Networks. 2015. T. 61. C. 85-117.
8. Schluter J., Bock S. Improved musical onset detection with Convolutional Neural Networks // 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2014.
9. Abdel-Hamid O. u gp. Convolutional Neural Networks for Speech Recognition // IEEE/ACM Transactions on Audio, Speech, and Language Processing. 2014. T. 22, № 10. C. 1533-1545.
10. Nattanun Chanchaochai and Christopher Cieri and Japhet Debrah and Hongwei Ding and Yue Jiang and Sishi Liao and Mark Liberman and Jonathan Wright and Jiahong Yuan and Juhong Zhan and Yuqing Zhan (2018). GlobalTIMIT: Acoustic-Phonetic Datasets for the World's Languages. Interspeech 2018. ISCA. doi:10.21437/interspeech.2018-1185.
About one voice authentication problem based on machine learning methods Koroteev M.V., Anisimov E.S.
Financial University under the Government of the Russian Federation JEL classification: C01, C02, C1, C4, C5, C6, C8
Strong authentication is a central element of many security systems. Among them, voice user authentication stands out for its versatility. This article proposes an approach to building an information system based on determining the identity of a person's voice. TIMIT, a dataset of speech signals and their transcriptions in English, was used as a speech database. It is shown that even when using classical machine learning methods, such systems can show an acceptable level of accuracy, which allows them to be used as client access control systems, in particular, when operating organizations that interact with clients remotely. Keywords: machine learning, authentication, speech recognition, voice authentication,
classification, vectorization. References
1. Eyben F. et al. The Geneva Minimalistic Acoustic Parameter Set (GeMAPS) for
Voice Research and Affective Computing // IEEE Transactions on Affective Computing. 2016. T. 7, no. 2. pp. 190-202.
2. Fisher, William M.; Doddington, George R.; Goudie-Marshall, Kathleen M. (1986).
"The DARPA Speech Recognition Research Database: Specifications and Status". Proceedings of DARPA Workshop on Speech Recognition. pp. 93-99.
3. Huang X. et al. Spoken Language Processing: A Guide to Theory, Algorithm, and
System Development. Prentice Hall, 2001. 980 pp.
4. Sainath T.N. and others. Convolutional, Long Short-Term Memory, fully connected
Deep Neural Networks // 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2015.
5. Palaz D., -Doss M.M., Collobert R. Convolutional Neural Networks-based
continuous speech recognition using raw speech signal // 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2015.
6. Dileep A.D., Sekhar C.C. GMM-Based Intermediate Matching Kernel for
Classification of Varying Length Patterns of Long Duration Speech Using Support Vector Machines // IEEE Transactions on Neural Networks and Learning Systems. 2014. T. 25, no. 8. pp. 1421-1432.
7. Schmidhuber J. Deep learning in neural networks: An overview // Neural Networks.
2015. T. 61. pp. 85-117.
8. Schluter J., Bock S. Improved musical onset detection with Convolutional Neural
Networks // 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2014.
9. Abdel-Hamid O. et al. Convolutional Neural Networks for Speech Recognition //
IEEE/ACM Transactions on Audio, Speech, and Language Processing. 2014. T. 22, No. 10. pp. 1533-1545.
10. Nattanun Chanchaochai and Christopher Cieri and Japhet Debrah and Hongwei
Ding and Yue Jiang and Sishi Liao and Mark Liberman and Jonathan Wright and Jiahong Yuan and Juhong Zhan and Yuqing Zhan (2018). GlobalTIMIT: Acoustic-Phonetic Datasets for the World's Languages. Interspeech 2018. ISCA. doi:10.21437/interspeech.2018-1185.
fO CN
o
CN
O HI
m
X
<
m o x
X