Нейролингвистический анализатор для распознавания...

29
Использование искусственных нейронных сетей для обработки голосовых данных К.В. Заваров

Upload: konstantin-zavarov

Post on 16-Jun-2015

457 views

Category:

Technology


1 download

DESCRIPTION

Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

TRANSCRIPT

Page 1: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Использование искусственных нейронных сетей для обработки

голосовых данных

К.В. Заваров

Page 2: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Актуальность

1

Распознаваниеречи

Машинный перевод

Пониманиеестественных

языков

Искусственныйинтеллект

Распознаваниеобразов

Активная деятельность и развитие множества научно-исследовательских центров; Научно-технические конференции; Различные программно-технические разработки.

Page 3: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Аналоги

Аналоги

Возможности

Идентификаци

яУправле

ниеОбучен

ие

Sacrament - + -Диктограф - + -Dragon Dictate Naturally Speaking - + -Speaker Verification + - -Rosetta Stone - - +

2

Page 4: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Назначение программы

3

Автоматизация процессов обучения естественному языку, голосового управления, идентификации по голосу.

Page 5: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Цель работы

4

Повышение универсальности приложения за счет

использования единой модели ядра системы;

Снижение трудоемкости и сложности процесса решения

задач по обработке звука;

Расширение круга пользователей.

Page 6: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Задачи

5

Изучить предметную область;

Разработать алгоритм извлечения векторов признаков из речевого сигнала;

Разработать математическую модель многоклассового классификатора на основе искусственных нейронных сетей;

Реализовать разработанные алгоритмы на языке программирования C#;

Разработать пользовательский интерфейс с использованием технологии wpf;

Протестировать разработанное программное обеспечение.

Page 7: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Архитектура СРР

6

Извлечение вектора признаков

Акустический сигнал Wave PCM 11025 Гц

Блок предобработки

ИНС

Ядро

Блок постобработки

Результат распознавания

Сопоставление выхода ИНС со словарем

Вектор MFCC

Нейрон с наибольшим значением

Page 8: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Получение вектора MFCC

4. Спектральный анализ

5. Наложение фильтров шкалы мел

6. Логарифмирование

7. DCT

3. Обработка сигнала в окне

2. Разбивка на фреймы

1. Фильтрация

голосовой сигнал

MFCC

1. Предварительная фильтрация1)(9375.01)( nSnH

увеличение энергии сигала высоких частот.

7

Page 9: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Получение вектора MFCC

4. Спектральный анализ

5. Наложение фильтров шкалы мел

6. Логарифмирование

7. DCT

3. Обработка сигнала в окне

2. Разбивка на фреймы

1. Фильтрация

голосовой сигнал

MFCC

1. Предварительная фильтрация1)(9375.01)( nSnH

увеличение энергии сигала высоких частот.

2. Сегментация с перекрытием

предотвращение потери информации о сигнале на границе

В разработанной системе сегменты выбираются по 20 мс. с перекрытием в 2/3.

7

Page 10: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Получение вектора MFCC

4. Спектральный анализ

5. Наложение фильтров шкалы мел

6. Логарифмирование

7. DCT

3. Обработка сигнала в окне

2. Разбивка на фреймы

1. Фильтрация

голосовой сигнал

MFCC

1. Предварительная фильтрация1)(9375.01)( nSnH

увеличение энергии сигнала высоких частот.

2. Сегментация с перекрытием

предотвращение потери информации о сигнале на границе

В разработанной системе сегменты выбираются по 20 мс. с перекрытием в 2/3.

3. Наложение оконной функции),()()( nwnHnx

где – окно Хэмминга)(nw

снижение граничных эффектов после сегментации 7

Page 11: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Получение вектора 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

Page 12: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Получение вектора 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

Page 13: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Получение вектора 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

Page 14: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Получение вектора 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

Page 15: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Получение вектора MFCC

6. Вычисление средней логарифмической энергии

MiyY ii ..1),(log10

эффективное сжатие пространства признаков

преимущества гомоморфной обработки

4. Спектральный анализ

5. Наложение фильтров шкалы мел

6. Логарифмирование

7. DCT

3. Обработка сигнала в окне

2. Разбивка на фреймы

1. Фильтрация

голосовой сигнал

MFCC 12

Page 16: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Получение вектора MFCC

4. Вычисление средней логарифмической энергии

MiyY ii ..1),(log10

5. Вычисление дискретного косинусного преобразования (DCT)

эффективное сжатие пространства признаков

преимущества гомоморфной обработки

уплотнение энергии (преобразование сохраняет основную информацию в малом количестве коэф-фициентов)

где J – число MFCC коэффициентов

4. Спектральный анализ

5. Наложение фильтров шкалы мел

6. Логарифмирование

7. DCT

3. Обработка сигнала в окне

2. Разбивка на фреймы

1. Фильтрация

голосовой сигнал

MFCC 12

Page 17: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Математическая модель нейрона

Схема искусственного нейрона:

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)(

Page 18: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Архитектура нейронной сети

Графическое отображение топологии используемой ИНС (NN20-s-s-p):

Формула оценки необходимого числа синапсов в многослойной сети:

Где – размерность выходного сигнала; – число элементов обучающей выборки; – размерность входного сигнала.

Число нейронов в скрытых слоях определяется формулой:

MFCC

. . . N

V

wN

,11)log(1

0

0

ppll

NpN

N

pNw

o

p

0Nl

pl

NN ws 14

Page 19: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Архитектура нейронной сети

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

Page 20: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Постобработка речевого сигнала

16

RecStudio

Проект обучения Проект управления Проект идентификации

Коэффициенты ИНС

Библиотека взаимодействия

ВнешнееПО

Page 21: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Программные и технические средства

17

Технические средства Процессор Intel Pentium 4 1.6 ГГц ОЗУ 512 Мб Свободное место на диске – 100 Мб VGA – совместимая видеокарта клавиатура, мышь микрофон, динамик

Программные средства Windows XP SP2 Net Framework 4.0 в директории установленного ПО должны находиться библиотеки: libfftw3f-3.dll, Naudio.dll

Page 22: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Программная реализация

18

Диаграмма взаимосвязи классов ПО

Page 23: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Программная реализация

18

Диаграмма взаимосвязи классов ПО

Page 24: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Программная реализация

18

Диаграмма взаимосвязи классов ПО

Page 25: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Программная реализация

18

Диаграмма взаимосвязи классов ПО

Page 26: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Программная реализация

18

Диаграмма взаимосвязи классов ПО

Page 27: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Экранные формы

19

Главное окно приложения

Page 28: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Экранные формы

20

Окно эвристического поиска структуры ИНС

Окно обучения ИНС

Page 29: Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН

Выводы

2

Разработан алгоритм извлечения векторов признаков из речевого сигнала;

Разработана математическую модель многоклассового классификатора на основе искусственных нейронных сетей;

Выполнена программная реализация разработанной модели на языке программирования C#;

Разработан графический интерфейс пользователя;

Сформирован пакет технической документация.