Введение в архитектуры нейронных сетей / HighLoad++ 2016Grigory Sapunov
Slides from HighLoad++ 2016 conference.
Introduction into neural network architectures (Rus)
Презентация для конференции HighLoad++ 2016.
http://www.highload.ru/2016/abstracts/2454.html
Видеозапись доклада:
https://www.youtube.com/watch?v=XY5AczPW7V4
Введение в архитектуры нейронных сетей / Григорий Сапунов (Intento)Ontico
Цель доклада — помочь слушателям построить актуальную карту происходящего в области искусственных нейронных сетей. В рассказ войдёт разбор основных архитектур промышленных нейросетей сегодняшнего дня, их особенности и отличия друг от друга, границы применения и типовые решаемые задачи, а также актуальные направления развития области, в настоящий момент выходящие из лабораторий в промышленное использование. Также коснёмся темы используемых в индустрии фреймворков для работы с нейросетями.
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...ITMO University
Предлагается распараллеливание в технологии программно-аппаратной архитектуры (CUDA) алгоритма обучения радиально-базисной нейронной сети (RBFNN), основанного на идее последовательной настройки центров, ширины и весов сети, а также идее коррекции весов по алгоритму минимизации квадратичного функционала методом сопряженных градиентов. Приводятся результаты сравнения времени обучения RBFNN на различных центральных и графических процессорах, доказывающие эффективность распараллеливания.
Введение в архитектуры нейронных сетей / HighLoad++ 2016Grigory Sapunov
Slides from HighLoad++ 2016 conference.
Introduction into neural network architectures (Rus)
Презентация для конференции HighLoad++ 2016.
http://www.highload.ru/2016/abstracts/2454.html
Видеозапись доклада:
https://www.youtube.com/watch?v=XY5AczPW7V4
Введение в архитектуры нейронных сетей / Григорий Сапунов (Intento)Ontico
Цель доклада — помочь слушателям построить актуальную карту происходящего в области искусственных нейронных сетей. В рассказ войдёт разбор основных архитектур промышленных нейросетей сегодняшнего дня, их особенности и отличия друг от друга, границы применения и типовые решаемые задачи, а также актуальные направления развития области, в настоящий момент выходящие из лабораторий в промышленное использование. Также коснёмся темы используемых в индустрии фреймворков для работы с нейросетями.
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...ITMO University
Предлагается распараллеливание в технологии программно-аппаратной архитектуры (CUDA) алгоритма обучения радиально-базисной нейронной сети (RBFNN), основанного на идее последовательной настройки центров, ширины и весов сети, а также идее коррекции весов по алгоритму минимизации квадратичного функционала методом сопряженных градиентов. Приводятся результаты сравнения времени обучения RBFNN на различных центральных и графических процессорах, доказывающие эффективность распараллеливания.
5. Цель работы
4
Повышение универсальности приложения за счет
использования единой модели ядра системы;
Снижение трудоемкости и сложности процесса решения
задач по обработке звука;
Расширение круга пользователей.
6. Задачи
5
Изучить предметную область;
Разработать алгоритм извлечения векторов признаков из
речевого сигнала;
Разработать математическую модель многоклассового
классификатора на основе искусственных нейронных сетей;
Реализовать разработанные алгоритмы на языке
программирования C#;
Разработать пользовательский интерфейс с использованием
технологии wpf;
Протестировать разработанное программное обеспечение.
7. Архитектура СРР
6
Извлечение вектора признаков
Акустический сигнал Wave PCM 11025 Гц
Блок предобработки
ИНС
Ядро
Блок постобработки
Результат распознавания
Сопоставление выхода ИНС со словарем
Вектор MFCC
Нейрон с наибольшим значением
8. Получение вектора MFCC
4. Спектральный анализ
5. Наложение фильтров
шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в
окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC
1. Предварительная фильтрация
1
)(9375.01)( nSnH
увеличение энергии сигала высоких частот.
7
9. Получение вектора MFCC
4. Спектральный анализ
5. Наложение фильтров
шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в
окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC
1. Предварительная фильтрация
1
)(9375.01)( nSnH
увеличение энергии сигала высоких частот.
2. Сегментация с перекрытием
предотвращение потери информации о сигнале на
границе
В разработанной системе сегменты выбираются по
20 мс. с перекрытием в 2/3.
7
10. Получение вектора MFCC
4. Спектральный анализ
5. Наложение фильтров
шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в
окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC
1. Предварительная фильтрация
1
)(9375.01)( nSnH
увеличение энергии сигнала высоких частот.
2. Сегментация с перекрытием
предотвращение потери информации о сигнале на
границе
В разработанной системе сегменты выбираются по
20 мс. с перекрытием в 2/3.
3. Наложение оконной функции
),()()( nwnHnx
где – окно Хэмминга)(nw
снижение граничных эффектов после
сегментации
7
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
12. Получение вектора MFCC
где – поворачивающий множитель;
– n’ый отсчет входной последовательности;
– число входных отсчетов.
Типичная бабочка БПФ:
1
0
,1...,1,0,
N
n
kn
Nnk NkWxX
N
kn
i
kn
N eW
2
x
N
4. Вычисление коэффициентов спектра Фурье
1x
2x
1X
2X
k
NW
211 xWxX k
N
212 xWxX k
N
4. Спектральный анализ
5. Наложение фильтров
шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в
окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC
9
13. Получение вектора MFCC
где – число фильтров (M=36),
– значение i-го фильтра для k-ой частоты
,..1,y
1
0
i MifHX
N
k
kik
5. Мел-скейл фильтрация
M
)( ki fH
рассчитывается исходя из центральных мел-частот:icf
4. Спектральный анализ
5. Наложение фильтров
шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в
окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC
10
14. Получение вектора MFCC
Гц0
. . . . .
1
– частота Найквиста
где – число фильтров (M=36),
– значение i-го фильтра для k-ой частоты
,..1,y
1
0
i MifHX
N
k
kik
3. Мел-скейл фильтрация
M
)( ki fH
maxF
maxF
4. Спектральный анализ
5. Наложение фильтров
шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в
окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC
11
15. Получение вектора MFCC
6. Вычисление средней логарифмической
энергии
MiyY ii ..1),(log10
эффективное сжатие пространства признаков
преимущества гомоморфной обработки
4. Спектральный анализ
5. Наложение фильтров
шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в
окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC
12
16. Получение вектора MFCC
4. Вычисление средней логарифмической
энергии
MiyY ii ..1),(log10
5. Вычисление дискретного косинусного
преобразования (DCT)
эффективное сжатие пространства признаков
преимущества гомоморфной обработки
уплотнение энергии (преобразование сохраняет
основную информацию в малом количестве коэф-
фициентов)
где J – число MFCC коэффициентов
4. Спектральный анализ
5. Наложение фильтров
шкалы мел
6. Логарифмирование
7. DCT
3. Обработка сигнала в
окне
2. Разбивка на фреймы
1. Фильтрация
голосовой сигнал
MFCC
12
17. Математическая модель нейрона
Схема искусственного нейрона:
1x
2x
lx
f
1w
2w
lw
.
.
.
y
0b
S
Математическое представление:
,)(,
1
0
l
i
ii SfybxwS
где – входные сигналы;
– синаптические веса нейрона;
– линейна комбинация входных воздействий и порогового элемента ;
– сигмоидальная функция активации;
– выходной сигнал нейрона.
lxxx ,...,, 21
lwww ,...,, 21
S 0b
f
y
13
x
e
xf
1
1
)(
18. Архитектура нейронной сети
Графическое отображение топологии используемой ИНС (NN20-s-s-p):
Формула оценки необходимого числа синапсов в многослойной сети:
Где – размерность выходного сигнала;
– число элементов обучающей выборки;
– размерность входного сигнала.
Число нейронов в скрытых слоях определяется формулой:
MFCC
. . . N
V
wN
,11
)log(1
0
0
ppl
l
N
pN
N
pN
w
o
p
0N
l
pl
N
N w
s
14
19. Архитектура нейронной сети
15
Выходной сигнал k-го нейрона скрытого и выходного слоев:
x
m
k
m
k
e
xgSgy
1
1
)(,][][
i
m
k
m
i
m
ki
m
k mdiskbzwS 3..1;..1;..1,][][][][
Выходы входного слоя рассчитываются по формуле:
где – значение i’го выхода входного слоя;
– значение i’го входа входного слоя;
– число нейронов входного слоя.
]0[
iy
]0[
ix
l
где – значение k’го выхода m’го слоя;
– синаптический вес i’го нейрона слоя m, соединенный с k’ым нейроном
слоя m-1;
– i’ вход нейрона слоя m;
– i’ вход нейрона слоя m;
– число нейронов рассчитываемого слоя;
– количество входов нейрона;
– количество слоев.
][m
ky
][m
kiw
][m
iz
][m
kb
s
d
m
21. Программные и технические средства
17
Технические средства
Процессор Intel Pentium 4 1.6 ГГц
ОЗУ 512 Мб
Свободное место на диске – 100 Мб
VGA – совместимая видеокарта
клавиатура, мышь
микрофон, динамик
Программные средства
Windows XP SP2
Net Framework 4.0
в директории установленного ПО должны находиться
библиотеки: libfftw3f-3.dll, Naudio.dll
29. Выводы
2
Разработан алгоритм извлечения векторов признаков из
речевого сигнала;
Разработана математическую модель многоклассового
классификатора на основе искусственных нейронных сетей;
Выполнена программная реализация разработанной модели
на языке программирования C#;
Разработан графический интерфейс пользователя;
Сформирован пакет технической документация.