Использование искусственных нейронных сетей для обработки
голосовых данных
К.В. Заваров
Актуальность
1
Распознаваниеречи
Машинный перевод
Пониманиеестественных
языков
Искусственныйинтеллект
Распознаваниеобразов
Активная деятельность и развитие множества научно-исследовательских центров; Научно-технические конференции; Различные программно-технические разработки.
Аналоги
Аналоги
Возможности
Идентификаци
яУправле
ниеОбучен
ие
Sacrament - + -Диктограф - + -Dragon Dictate Naturally Speaking - + -Speaker Verification + - -Rosetta Stone - - +
2
Назначение программы
3
Автоматизация процессов обучения естественному языку, голосового управления, идентификации по голосу.
Цель работы
4
Повышение универсальности приложения за счет
использования единой модели ядра системы;
Снижение трудоемкости и сложности процесса решения
задач по обработке звука;
Расширение круга пользователей.
Задачи
5
Изучить предметную область;
Разработать алгоритм извлечения векторов признаков из речевого сигнала;
Разработать математическую модель многоклассового классификатора на основе искусственных нейронных сетей;
Реализовать разработанные алгоритмы на языке программирования C#;
Разработать пользовательский интерфейс с использованием технологии wpf;
Протестировать разработанное программное обеспечение.
Архитектура СРР
6
Извлечение вектора признаков
Акустический сигнал Wave PCM 11025 Гц
Блок предобработки
ИНС
Ядро
Блок постобработки
Результат распознавания
Сопоставление выхода ИНС со словарем
Вектор MFCC
Нейрон с наибольшим значением
Получение вектора MFCC
4. Спектральный анализ
5. Наложение фильтров шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC
1. Предварительная фильтрация1)(9375.01)( nSnH
увеличение энергии сигала высоких частот.
7
Получение вектора MFCC
4. Спектральный анализ
5. Наложение фильтров шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC
1. Предварительная фильтрация1)(9375.01)( nSnH
увеличение энергии сигала высоких частот.
2. Сегментация с перекрытием
предотвращение потери информации о сигнале на границе
В разработанной системе сегменты выбираются по 20 мс. с перекрытием в 2/3.
7
Получение вектора MFCC
4. Спектральный анализ
5. Наложение фильтров шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC
1. Предварительная фильтрация1)(9375.01)( nSnH
увеличение энергии сигнала высоких частот.
2. Сегментация с перекрытием
предотвращение потери информации о сигнале на границе
В разработанной системе сегменты выбираются по 20 мс. с перекрытием в 2/3.
3. Наложение оконной функции),()()( nwnHnx
где – окно Хэмминга)(nw
снижение граничных эффектов после сегментации 7
Получение вектора MFCC
4. Вычисление коэффициентов спектра Фурье
Объединение результатов ДПФ
время
частота
ДПФ ДПФ
Входные отсчеты
ДПФ входных отсчетов 1 2 3 … k … … N
Группировка входных
отсчетов
1 2 3 … n … … N
S(n)
1 2 3 … k … … N
S(n)
4. Спектральный анализ
5. Наложение фильтров шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC 8
Получение вектора MFCC
где – поворачивающий множитель;
– n’ый отсчет входной последовательности;
– число входных отсчетов.
Типичная бабочка БПФ:
1
0
,1...,1,0,N
n
knNnk NkWxX
N
kni
knN eW
2
x
N
4. Вычисление коэффициентов спектра Фурье
1x
2x
1X
2X
kNW
211 xWxX kN
212 xWxX kN
4. Спектральный анализ
5. Наложение фильтров шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC 9
Получение вектора MFCC
где – число фильтров (M=36),
– значение i-го фильтра для k-ой частоты
,..1,y1
0i MifHX
N
kkik
5. Мел-скейл фильтрация
M)( ki fH
рассчитывается исходя из центральных мел-частот:icf
4. Спектральный анализ
5. Наложение фильтров шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC 10
Получение вектора MFCC
Гц0
. . . . .
1
– частота Найквиста
где – число фильтров (M=36),
– значение i-го фильтра для k-ой частоты
,..1,y1
0i MifHX
N
kkik
3. Мел-скейл фильтрация
M)( ki fH
maxF
maxF
4. Спектральный анализ
5. Наложение фильтров шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC 11
Получение вектора MFCC
6. Вычисление средней логарифмической энергии
MiyY ii ..1),(log10
эффективное сжатие пространства признаков
преимущества гомоморфной обработки
4. Спектральный анализ
5. Наложение фильтров шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC 12
Получение вектора MFCC
4. Вычисление средней логарифмической энергии
MiyY ii ..1),(log10
5. Вычисление дискретного косинусного преобразования (DCT)
эффективное сжатие пространства признаков
преимущества гомоморфной обработки
уплотнение энергии (преобразование сохраняет основную информацию в малом количестве коэф-фициентов)
где J – число MFCC коэффициентов
4. Спектральный анализ
5. Наложение фильтров шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC 12
Математическая модель нейрона
Схема искусственного нейрона:
1x
2x
lx
f
1w
2w
lw...
y
0b
S
Математическое представление:
,)(,1
0
l
iii SfybxwS
где – входные сигналы;
– синаптические веса нейрона;
– линейна комбинация входных воздействий и порогового элемента ;
– сигмоидальная функция активации;
– выходной сигнал нейрона.
lxxx ,...,, 21
lwww ,...,, 21
S0b
fy
13
xexf
1
1)(
Архитектура нейронной сети
Графическое отображение топологии используемой ИНС (NN20-s-s-p):
Формула оценки необходимого числа синапсов в многослойной сети:
Где – размерность выходного сигнала; – число элементов обучающей выборки; – размерность входного сигнала.
Число нейронов в скрытых слоях определяется формулой:
MFCC
. . . N
V
wN
,11)log(1
0
0
ppll
NpN
N
pNw
o
p
0Nl
pl
NN ws 14
Архитектура нейронной сети
15
Выходной сигнал k-го нейрона скрытого и выходного слоев:
x
mk
mk e
xgSgy
1
1)(,][][
i
mk
mi
mki
mk mdiskbzwS 3..1;..1;..1,][][][][
Выходы входного слоя рассчитываются по формуле:
где – значение i’го выхода входного слоя;
– значение i’го входа входного слоя; – число нейронов входного слоя.
]0[iy
]0[ixl
где – значение k’го выхода m’го слоя;
– синаптический вес i’го нейрона слоя m, соединенный с k’ым нейроном слоя m-1; – i’ вход нейрона слоя m; – i’ вход нейрона слоя m;
– число нейронов рассчитываемого слоя; – количество входов нейрона; – количество слоев.
][mky
][mkiw
][miz
][mkbsdm
Постобработка речевого сигнала
16
RecStudio
Проект обучения Проект управления Проект идентификации
Коэффициенты ИНС
Библиотека взаимодействия
ВнешнееПО
Программные и технические средства
17
Технические средства Процессор Intel Pentium 4 1.6 ГГц ОЗУ 512 Мб Свободное место на диске – 100 Мб VGA – совместимая видеокарта клавиатура, мышь микрофон, динамик
Программные средства Windows XP SP2 Net Framework 4.0 в директории установленного ПО должны находиться библиотеки: libfftw3f-3.dll, Naudio.dll
Программная реализация
18
Диаграмма взаимосвязи классов ПО
Программная реализация
18
Диаграмма взаимосвязи классов ПО
Программная реализация
18
Диаграмма взаимосвязи классов ПО
Программная реализация
18
Диаграмма взаимосвязи классов ПО
Программная реализация
18
Диаграмма взаимосвязи классов ПО
Экранные формы
19
Главное окно приложения
Экранные формы
20
Окно эвристического поиска структуры ИНС
Окно обучения ИНС
Выводы
2
Разработан алгоритм извлечения векторов признаков из речевого сигнала;
Разработана математическую модель многоклассового классификатора на основе искусственных нейронных сетей;
Выполнена программная реализация разработанной модели на языке программирования C#;
Разработан графический интерфейс пользователя;
Сформирован пакет технической документация.