Без обратных связей

Нейроны слоя 0 (показанные кружками) служат лишь точками разветвления и не выполняют вычислений. Каждый нейрон слоя 0 соединен с каждым нейроном слоя 1 (называемого слоем Кохонена) отдельным весом wmn. Эти веса в целом рассматриваются как матрица весов W. Аналогично, каждый нейрон в слое Кохонена (слое 1) соединен с каждым нейроном в слое Гроссберга (слое 2) весом vnp. Эти веса образуют матрицу весов V. Все это весьма напоминает другие сети, различие, однако, состоит в операциях, выполняемых нейронами Кохонена и Гроссберга.

Как и многие другие сети, встречное распространение функционирует в двух режимах: в нормальном режиме, при котором принимается входной вектор Х и выдается выходной вектор Y, и в режиме обучения, при котором подается входной вектор и веса корректируются, чтобы дать требуемый выходной вектор.

После того как определена общая структура сети, необходимо уточнить ее параметры. К параметрам сети относятся количество нейронов входа и выхода, число нейронов слоев Кохонена и Гроссберга, а также величины синаптических связей.

2.4.1. Входной слой

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

Ввод виброакустических колебаний осуществляется через аналого-цифровой преобразователь, переводится в цифровую форму и сохраняется в виде файлов формата WAVE в кодировке PCM (разрядность 8 бит, частота дискретизации 22050 Гц). Работа с файлами позволяет многократно повторять процессы их обработки нейросетью, что особенно важно при обучении.

При вводе звука определяющими являются частота дискретизации (fd) и разрядность преобразования (сколько единиц информации кодирует один отсчет). Частота дискретизации определяет максимальную частоту сигнала, которую можно закодировать. Как следует из теоремы Колесникова,

fmax < fd / 2, (2.1)

где fd – частота дискретизации.

Процесс ввода информации в нейросеть изображен на рис. 2.5.

 

  Рис.2.5. Ввод информации на вход нейросети Очевидно, что представление виброакустического сигнала во временной форме неэффективно. Оно не отражает характерных особенностей акустического сигнала. Для того, чтобы виброакустические колебания можно было подать на вход нейросети, необходимо представить их в виде энергетического спектра.

Спектр непериодического сигнала вычисляется с помощью комплексного преобразования (интеграла) Фурье:

. (2.2)

Интегрирование выполняется по всему временному интервалу действия сигнала. Вычисление производится для выбираемого диапазона частот: 128, 256, 512, ..., 65536 (по степеням двойки). Непосредственное вычисление ДПФ (дискретного преобразования Фурье) требует выполнения N умножений комплексных чисел и N-1 сложений комплексных чисел для каждого значения X(k). Так как нужно вычислить N значений, то общее число вычислений сводится к N*N умножениям и N*(N-1) сложениям. Для больших N (N>1000) число операций непомерно большое. Поэтому применяются так называемые алгоритмы быстрого преобразования Фурье (БПФ), применяемые для случая N = 2**r, r - целое число. Алгоритмы основаны на итерациях, каждая из которых сводит предыдущее значение ДПФ к ДПФ степени N/2, т.е. исходная последовательность из N точек разбивается на две подпоследовательности из N/2 точек, что позволяет сократить число операций умножения в два раза.

Пусть

(2.3)

(N – период точечной последовательности)

Разобьем исходную последовательность:

X1 = x(2n), X2 = x(2n+1), n = 0,1,2,…,(N/2 – 1) (2.4)

Тогда получим следующее:

(2.5)
(2.6)
(2.7)

Произведя расчеты, определяем количество входных нейронов, которое составит 11025. После проведенных преобразований спектр вибросигнала накладывается на вход нейросети. Вход нейросети — это линейно упорядоченный массив элементов, которым будем присваивать уровни соответствующих частот в спектре. Эти элементы не выполняют никаких решающих функций, а только передают сигналы дальше в нейросеть.

2.4.2. Слой Кохонена

 

Слой Кохонена классифицирует входные векторы в группы схожих, что достигается такой подстройкой весов слоя Кохонена, когда близкие входные векторы активируют один и тот же нейрон данного слоя.

Ассоциированное с каждым нейроном Кохонена множество весов соединяет его с каждым входом. Например, на рис.2.4 нейрон Кохонена К1 имеет веса w11, w21, …, wm1, составляющие весовой вектор W1. Они соединяются через входной слой с входными сигналами х1, x2, …, xm, составляющими входной вектор X. Подобно нейронам большинства сетей выход NET каждого нейрона Кохонена является просто суммой взвешенных входов. Это может быть выражено следующим образом:

NETj = w1jx1 + w2jx2 + … + wmjxm (2.8)

где NETj – это выход NET нейрона Кохонена j,

(2.9)

или в векторной записи

N = XW, (2.10)

где N – вектор выходов NET слоя Кохонена.

Нейрон Кохонена с максимальным значением NET является «победителем». Его выход равен единице, у остальных он равен нулю.

Чтобы получить наилучшие результаты от применения НС для предварительной классификации, например амплитудно-частотных спектров вибросигналов, необходимо изначально знать, сколько классов присутствует в обрабатываемых данных. Если количество нейронов окажется недостаточным, то НС отнесет спектры «смежных» классов к более представительным классам. Если перезадаться числом нейронов, то «смежные» спектры НС отнесет к несуществующим на самом деле классам. В связи с этим, в работе определим количество нейронов слоя Кохонена экспериментальным путем. Необходимым и достаточным будем считать такое количество, при котором нейросеть будет правильно классифицировать предъявляемые на ее вход образы.

 

2.4.3 Слой Гроссберга

Слой Гроссберга функционирует в сходной манере. Его выход NET является взвешенной суммой выходов k1,k2, ..., kn слоя Кохонена, образующих вектор К. Вектор соединяющих весов, обозначенный через V, состоит из весов v11, v21, ..., vnp. Тогда выход NET каждого нейрона Гроссберга есть

(2.11)

где NETj – выход j-го нейрона Гроссберга, или в векторной форме

Y = KV, (2.12)
где Y – выходной вектор слоя Гроссберга;
К – выходной вектор слоя Кохонена;
V – матрица весов слоя Гроссберга.
     

Если слой Кохонена функционирует таким образом, что лишь у одного нейрона величина NET равна единице, а у остальных равна нулю, то лишь один элемент вектора К отличен от нуля, и вычисления очень просты. Фактически каждый нейрон слоя Гроссберга лишь выдает величину веса, который связывает этот нейрон с единственным ненулевым нейроном Кохонена.