+7 499 196 95 39
Программа служит для определения принадлежности входных примеров к классам по выходной активности обученной спайковой (импульсной) нейронной сети. Алогоритм декодирования заключается в следующем: 1. Каждому выходному нейрону ставится в соответствие определённый класс в задаче классификации (далее - «свой класс» для данного нейрона); 2. На этапе тестирования записываются частоты возбуждения (спайков) нейрона в ответ на все примеры тренировочной и тестировочной выборки; 3. Для каждого нейрона и каждого класса вычисляется средняя частота спайков этого нейрона в ответ на тренировочную выборку этого класса. Диапазон выходной частоты нейрона на «своём» классе определяется как средняя частота этого нейрона в ответ на свой класс плюс-минус половина расстояния до ближайшей средней частоты этого нейрона в ответ на какой- либо другой класс; 4. Нейрон называется распознавшим пример как «свой», если выходная частота нейрона в ответ на этот пример лежит внутри диапазона выходной частоты этого нейрона на «своём» классе; 5. Для каждого нейрона вычисляется разность между его средними выходными частотами в ответ на различные классы. Эта разность характеризует то, насколько хорошо нейрон различает классы; 6. Окончательно, пример тестировочной выборки считается отнесённым сетью к i-ку классу, если i-й нейрон распознал этот пример как свой. Если несколько нейронов распознали пример как свой, из них учитывается нейрон с максимальной разностью, определённой на шаге 5. Входные примеры кодируются средними частотами независимых пуассоновских спайковых последовательностей. В качестве модели синаптической пластичности используется аддитивная Spike-Timing-Dependent Plasticity (STDP) со схемой учёта пар спайков «симметричная с ограничением». Python 3.5, bash