Для доступа к кредитным картам банки начали применять аутентификационную технологию, основанную на голосовых биометрических данных. С точки зрения информационной безопасности такие речевые элементы являются конфиденциальными и им необходима защита от компрометации и обезличивания. Обезличивания можно добиться, применяя методы изменения (клонирования) голоса. Докладчик продемонстрирует программную реализацию метода клонирования голоса, покажет, как система распознавания голоса может определить клонированные, и представит данные исследования о зависимости между показателями работы детектора клонированного голоса и количеством кепстральных свойств, используемых для обучения.
2. Voice Biometrics
• Every person has unique voice biometrics like a finger print;
• Voice biometrics can be used for authorization to different systems
(mobile device, smart house, bank account,…)
• Voice biometrics is private and needs protections against voice
cloning.
3. What was done?
• Neural network based voice cloning implementation using open
source software;
• Employment of GMM based speaker identification for detection of
cloned voice.
4. NN based voice cloning architecture
Source Speech
World Vocoder:
Feature Extraction
Aperiodicity
Log-F0
Rastamat:
Extraction Mel-FCC
Tiny DNN:
Neural
Network
Linear Conversion
Log-F0
Aperiodicity
Spectrum
World Vocoder:
Synthesis
Target Speech
Rastamat: Inversion
MFCC to Spectrum
Mel-FCC
Predicted Mel-FCC
AWT(source speaker) and SLT(target speaker) from CMU_ARCTIC: http://festvox.org/cmu_arctic/
5. Alignment of source and target Mel-FCC
features using Dynamic Time Warping
arctic_a0001: "Author of the danger trail, Philip Steels, etc."
Source speaker
(AWT)
Target speaker
(SLT)
9. Employment of GMM based speaker
recognition tool for cloned voice detection
Github link: https://github.com/ppwwyyxx/speaker-recognition
Examples:
Train:
speaker-recognition.py -t enroll -i "f1 m1" -m model.out
Label f1 has files f1arctic_a0001.wav,f1arctic_a0002.wav
Label m1 has files m1arctic_a0001.wav,m1arctic_a0002.wav
Start training...
0.545000076294 seconds
Predict:
speaker-recognition.py -t predict -i "f1/*.wav" -m model.out
f1arctic_a0001.wav -> f1
f1arctic_a0002.wav -> f1
10. Experiment with detection of cloned voice &
Results
SLT (target speaker)
arctic_a0001.wav
arctic_a0002.wav
arctic_a0003.wav
arctic_a0004.wav
arctic_a0005.wav
…
arctic_a0020.wav
Train: Predict:
SLT (target speaker)
wav name probability
arctic_b0002_orig.wav 0.953
arctic_b0002_NN.wav 0.765
arctic_b0002_DBN.wav 0.892
arctic_b0002_DBN_MLPG.wav 0.912
arctic_b0002_LSTM.wav 0.745
arctic_b0002_LSTM_MLPG.wav 0.769
11. Conclusion
1. Speaker recognition systems used for authorization should have
meticulously selected probability threshold against cloned voice;
2. Voice biometric should be regularly gathered and updated in
database due to physiological changes in organism through ages;
3. Voice biometric based identification is a good addition to multi-
factor authorization schemes.
12. Link to our voice cloner sources:
https://github.com/RomanKazantsev/voice-cloner
13. References
• T. Nakashika, R. Takashima, T. Takiguchi, Y. Ariki. Voice Conversion in
High-order Eigen Space Using Deep Belief Nets;
• WORLD [1] (D4C edition [2]);
• PLP and RASTA matlab library;
• Tiny-dnn;
• CMU_ARCTIC speech database.
Hinweis der Redaktion
У каждого человека существует своя уникальная голосовая биометрия как отпечатки пальцев. Эта биометрия может быть оцифрована и использована для авторизация к различным информационным системам таким как: мобильные устройства, компьютеры, умные дома, банковские счета. В некоторых зарубежных банках запущены системы, которые быстро идентифицируют клиентов по голосу. После успешной идентификации клиент может выполнить денежные операции. Разрабатываются стандарты умных домов следующего поколения, где системы цифрового наблюдения используют биометрию голоса.
Биометрия голоса человека является частной и требует защиты от клонирования
Системы, использующие голосовую биометрию для авторизации, подвержены атакам на основе клонирования голоса.
До 2010 г. много было предложено вероятностых моделей для конверсии голоса в том числе GMM (Gaussian Mixture Models). Сейчас в тренде это использование нейронных сетей, которые показывают лучшие результаты. Нужно сказать, что японские коллеги дальше всех продвинулись в разработке технологий для обработки и клонирования голоса.
В первой части доклада я детально расскажу о нашей реализации системы клонирования голоса с помощью нейронных сетей. Для реализации были взяты только компоненты с открытым исходным кодом: вокодер для для извлечения параметров аудио сигнала и для обратной операции синтеза, фреймверк для глубинного обучения и библиотека для работы с кепстральными коэффициентами. Реализация покрывает все этапы конверсии голоса: сбор данных для исходного и целевого голосов, обучение нейронной сети для конверсии (или клонирования) параметров исходного голоса в целевой, предсказание параметров целевого голоса с помощью обученной модели, синтез полученных параметров целового голоса в аудио сигнал.
Во второй части покажу как системы биометрической аутентификации, реализованной на основе GMM, реагируют на клонированный голос, и насколько вероятность принадлежности клонированного голоса целевой персоне ниже чем для настоящего голоса.
Во всех статья про клонирование голоса на основе нейронных сетей используется STRAIGHT вокодер. STRAIGHT вокодер разработан в университете Коби, Япония. Этот вокодер распространяется либо по коммерческой лицензии, т.е. на платной основе, либо по академической, для получения которой требуется университетская почта. Поэтому в нашей работе мы использовали WORLD вокодер, распространяющийся по 3-BSD лицензии. Я сделал тестовый запуск вокодера. Сначала извлек параметры: основная частота, апериодичность, спектр. А затем сделал синтезировал их. PSNR для результирующего сигнала был равен 115дб, что говорит о хорошем качестве синтеза.
Следующая компонента это rastamat (матлабовская или октейвовская библиотека) которая позволяет извлекать кепстральные коэффициенты. В этих коэффициентах хранится биометрия человеческого голоса. Эти коэффициенты подаются на вход нейронный сети, на выходе которой кепстральные коэффициенты с преобразованной биометрией, повторяющей биометрию целевого голоса. Для построения нейронной сети использовался фреймверк Tiny-DNN с лицензией 3-BSD.
Далее предсказанные кепстральные коэффициенты интертируются обратно в спектр. Логарифм основной частоты подвергается линейной конверсии. Из трениг данных для целевого голоса вычисляется математическое ожидание и стандартное отклонение для логарифма основной частоты, которые используют для линейно конверсии. Компонента апериодичности используется в синтезе без изменений.
Для экспериментов использовалась CMU_ARCTIC, это база из речей для разных спикеров. Мы взяли две группы записей для AWT, которая испольщовалась в качестве исходного сигнала (сигнала для конверсии) и SLT.
Рассмотрим пару аудиозаписей с текстом сделанными спикерами AWT и SLT. Для обучений нейронной сети необходимы пары векторов с кепстральными коэффициентами для сорс спикера и таргет спикера. Когда мы извлекли семплы с кепстральные коэффициэнты для обоих спикером, нужно найти соответствие между этими сэмплами (векторами). Люди говорят с разной скоростью и делают разные паузы в своей речи. Эта задача непростая и требует особого внимания, т.к. иначе возникнут проблемы приобучении нейронной сети. Во всех статьях, котрые мы сумели найти, сказано только про выравнивание данных (кепстральных сэмплов) с использование алгоритма динамической трансформации временной школы. Которым мы воспользовались но были проблемы с обучением нейронной сети и отсутсвовало соотвествие. Это один из недостатков DTW, когда он одному семплу ставит в соответствие несколько других. Поэтому нам пришлось анализировать спектрограммы аудиосигналов и выделять подмножеством семплов, соотвтествующие одному cслог и затем из них извлекать кепстральные данные и запускать алгоритм динамической трансформации временной школы.
Для сбора данных была разработана функция для извлечения параллельных (снихронизированных) кепстральных данных для обоих спикеров, и для подсчета математического среднего и стандартного отклонения для целевого голоса, которые будут использровать в линейной конверсии основной частоты исходного голоса.
На вход подаются имена аудиозаписей и множество временных интервалов для них, собраны во время анализа спектрограмм для обоих спикеров.
В статье японских коллег использовался DNN это два DBN соединненных NN. Хорошую опенсорсную реализацию DBN для обработки аудиосигнала мы не нашли. Имеющиеся в интернете использовались для распознования изображений. Проблема состоит в отм, что для обучения используется константый лернинг рейт. Поэтому результирующие данные постоянно сходились при увеличении кол-ва тренинг сэмплов. Мы решили отказаться и использовать многослойный персептрон.
Для конвертирования кепстральных коэффициентов использовалася многослойный персептрон с в качестве функции активации использовался сигмоид. Структура нейронной сети включает 4 слоя, входной и выходной слои с 12 нейронами каждый и два скрытых слоя с 40 нейронами. Для нормализации использовалась линейная нормализация.
На последнем шаге клонирования делаем синтез вычесленных параметров: кепстральных, полученных из нейронной сети, компонента апериодичности не меняется, а логарифм основной частоты линейно конвертируется. Линейная конверсия основной частоты делается внутри скрипта для синтеза.
Следующей задачей, которой мы занимались это изучение поведения средств распознование по голосу, если на вход подавать клонированную речь. В интернете статей на данную тему мы не нашли, поэтому возможно энаше исследование является уникальным.
Мы взяли опенсорсную систему распознования, которая использует GMM (Gaussian Mixture Model). Для каждого спикера строится обучается собственная GMM, а на этапе прогнозирования выбирается тот класс на котором GMM выдает наибольшую вероятность.
На данном слайде приведены примеры запуска скрипта для тренинга двух спикеров f1 и m1 и для прогнозариования кто говорит.
Мы решили модифицировать этот скрипт, чтобы он печатал вероятность. А затем разыграть следующий сценарий: обучаем систему разпознования на аудиозаписях с голосом целевого спикера (никаких клонированных речей), а потом делаем предикт для клонированного голоса и отдельно для такой же записи с оригинальным голосом. И сравнить полученные вероятности.