Использование нейросетей для анализа звуковой информации


Критерии выбора модели нейросети


На уровне ввода сигнала происходит  выделение из него  знакомых системе образцов и представление их одним нейроном или нейронным ансамблем на следующих уровнях.  Как при обучении, так и при распознавании входные вектора являются нечеткими, т.е. имеется небольшой разброс векторов, принадлежащих к одному классу. В связи с этим нейросеть, осуществляющая эту операцию, должна обладать определенной способностью к статистическому усреднению. Напротив, может оказаться, что группа векторов находится в непосредственной близости друг к другу, но все они представляют разные классы. Тогда нейросеть должна определять тонкие различия между векторами. 

Ещё одно требование к нейросети входного уровня  – обучение  без учителя, т.е. способность самостоятельно формировать нейронные ансамбли.

Существует большое число нейросетевых алгоритмов, выполняющих функцию разделения входного сигнала на классы. В основе большинства из них лежат 3 способа разделения:

1. Разделение входных сигналов гиперплоскостями (простой персептрон). Применение этого алгоритма оправдано только для задач, обладающих высокой линейностью. Например, можно построить нейросеть, разбивающую точки (0,0) и (1,1) на два класса для двумерного сигнала, но невозможно решить задачу по разбиению точек (0,0), (1,1) – первый класс, и (0,1), (1,0) – второй  (рис. 11). Это хорошо известный пример неспособности простого персептрона решить задачу «исключающее или».

Разделение двумерного сигнала простым персептроном

Рис. 11

2. Разделение входного сигнала гиперповерхностями (многослойные персептроны). При последовательном соединении слоев, подобных простому персептрону, появляется возможность комбинировать гиперплоскости и получать гиперповерхности довольно сложной формы, в том числе и замкнутые. Такая нейросеть в принципе при достаточном числе нейронов способна разделять сигналы на классы практически любой сложности. Но применение таких нейросетей ограничено  сложностью их обучения. Был разработан мощный алгоритм, называемый «алгоритмом обратного распространения ошибки», но  и он требует значительного времени обучения и не гарантирует успешный результат (опасность попадания в локальные минимумы).
Подробнее этот алгоритм описан в приложении 7.2, а пример его работы проиллюстрирован на рисунке 12. Скриншот получен с программы   \NNTest\nntest.exe (с библиотекой nntest4.dll), и на нем видно, что 3-х слойный персептрон способен строить довольно сложные гиперповерхности для разделения входных сигналов на классы (здесь красные и синие крестики иллюстрируют два класса в двумерном сигнальном пространстве, а интенсивность белого цвета в каждой точке с координатами [x,y]   показывает уровень отклика нейросети на сигнал [x,y]).

Разделение двумерного сигнала многослойной нейросетью с обучением алгоритмом обратного распространения ошибки.



Рис. 12

3. Поиск наибольшего соответствия (наименьшего углового или линейного расстояния). Принадлежность входного вектора к какому либо классу определяется путем нахождения наименьшего расстояния до нейрона или нейронного ансамбля, представляющего этот класс, или при попадании входного сигнала в некоторую окрестность нейронного ансамбля (рис. 13) При этом в разных алгоритмах используется различная форма расстояния.

Классификация по максимальному соответствию



Рис. 13

В данной работе был выбран 3 способ, потому что одно из  важных особенностей нейросети с такой формой классификации заключается в способности обучаться без учителя.


Содержание раздела