11. EDFlib // Teunis van Beelen website. - URL: https://www.teuniz.net/edflib/ (date of access: 02.11.2023).
12. Eigen. - URL: https://eigen.tuxfamily.org/ (date of access: 02.11.2023).
13. cURLpp. - URL: http://www.curlpp.org/ (date of access: 02.11.2023).
14. JSON for Modern C++ // Niels Lohmann. - URL: https://json.nlohmann.me/ (date of access: 03.11.2023).
15. Trofimov A. G. et al. A greedy feature selection algorithm for brain-computer interface classification committees // Procedia computer science. - 2018. - Vol. 123. -P. 488-493.
УДК 004.81
doi:10.18720/SPBPU/2/id24-167
Корсаков Антон Михайлович 1,
ст. науч. сотр.;
Бахшиев Александр Валерьевич 2, доцент, канд. техн. наук;
Станкевич Лев Александрович 3, доцент, канд. техн. наук;
Лопота Александр Витальевич 4, директор-главный конструктор, д-р техн. наук
НЕЙРОМОРФНЫЕ СРЕДСТВА РЕШЕНИЯ ЗАДАЧ КЛАССИФИКАЦИИ И УПРАВЛЕНИЯ
1 3; 4 Россия, Санкт-Петербург, ГНЦ РФ «ЦНИИ робототехники и
технической кибернетики», 1 [email protected], 4 [email protected];
2 3 Россия, Санкт-Петербург, Санкт-Петербургский политехнический
университет Петра Великого, 2 [email protected], 3 [email protected]
Аннотация. В качестве модели нейрона для данной работы обосновывается выбор сегментной спайковой модели. Приводится краткое описание такой модели. Описывается способ структурной адаптации модели ко входному паттерну импульсов. Приводится общая схема организации сегментных спайковых нейронов в сеть для решения задачи классификации. В качестве кодирования числовой информации в паттерны импульсов выбирается временное кодирование. Приводятся краткие результаты экспериментов по решению задачи классификации на общедоступных наборах данных (Iris, MNIST). Делается вывод о сопоставимости полученных результатов с результатами, полученными классическими методами.
Ключевые слова, нейроморфные системы, спайковый нейрон, спайковые нейронные сети, задача классификации.
Anton M. Korsakov \
Senior Researcher;
Aleksandr V. Bakhshiev 2, Candidate of Technical Sciences, Associate Professor;
Lev A. Stankevich 3, Candidate of Technical Sciences, Associate Professor;
Alexander V. Lopota 4, Doctor of Technical Sciences, Director-Chief Designer
NEUROMORPHIC MEANS OF SOLVING CLASSIFICATION AND CONTROL PROBLEMS
1 3' 4 Russian State Scientific Center for Robotics and Technical Cybernetics,
St. Petersburg, Russia, 1 [email protected], 4 [email protected]; 2 3 Peter the Great St. Petersburg Polytechnic University, St. Petersburg, Russia, 2 [email protected], 3 [email protected]
Abstract. The choice of a compartmental spiking model is justified as a neuron model for this work. A brief description of such a model is given. The method of structural adaptation of the model to the input spike pattern is described. The general scheme of the compartmental spiking neurons organization into a network for solving the classification problem is given. The time-to-first-spike method is chosen as encoding numerical information into spike patterns. Brief results of experiments on solving the classification problem on publicly available data sets (Iris, MNIST) are presented. The conclusion is made about the comparability of the obtained results with the existing classical methods.
Keywords: neuromorphic systems, spiking neuron, spiking neural networks, classification task.
Введение
Искусственные нейронные сети (ИНС) представляют собой упрощённые модели биологических нейронных сетей [1]. В классических ИНС входы и выходы нейронов обычно имеют вид аналоговых величин, в то время как в биологических нейронах эти сигналы определяются частотой импульсов [2]. Однако экспериментальные данные нейробиоло-гии свидетельствуют о том, что биологическая нервная система кодирует информацию не только при помощи частоты возбуждения нейронов, но и через моменты времени генерации импульсов (спайков) [3]. Используя биологически правдоподобные модели спайковых нейронов в качестве базовой единицы для построения спайковых нейронных сетей (СНС), авторы [4] кодируют и обрабатывают нейронную информацию при помощи рассчитанных последовательностей спайков. СНС часто называют третьим поколением нейронных сетей [5]. Они обладают значительно большими возможностями настройки нейронных сигналов, а также аппроксимации любой непрерывной функции [6].
В настоящей работе рассматривается возможность решения задачи классификации с использованием СНС с сегментными нейронами. Для этого предлагается специальный алгоритм структурной адаптации нейронов ко входным паттернам импульсов, а также общая схема организации таких нейронов в сеть для решения поставленной задачи. Работа алгоритмов демонстрируется на общедоступных модельных наборах данных (Iris, MNIST).
Сегментная спайковая модель нейрона с возможностью структурной адаптации
На рисунке 1 представлена схема сегментной спайковой модели нейрона (CSNM — Compartmental Spiking Neuron Model) [7], использованная в ходе выполнения работы. Предполагается, что на вход поступают спайки, которые преобразуются в синапсах в выходную величину, отображающую влияние синаптического тока на сегмент мембраны нейрона.
Дендриты Сома Низкопороговая зона
Рис. 1. Схема модели нейрона CSNM
Здесь (Б1 - BNs) — участки мембраны, описывающие тело нейрона. D1,3 — участки мембраны, описывающие i-й дендрит. Sex' — модели си-наптической передачи. Их суммарное влияние оказывает либо возбуждающее (через ионный канал Inh), либо тормозное (через ионный канал lex) воздействие на соответствующий участок мембраны.
Полагаем, что нейроны обмениваются информацией через события (возникновение спайков), которые можно представить по формуле:
х, ={Ue[W +Л"' (1)
г [0, t е [tt; 11 +Л], v 7
где xi — выход нейрона в i-й интервал времени, а t — время.
Представленная структурная организация модели нейрона позволяет проводить расчет систем дифференциальных уравнений для каждого нейрона независимо, поскольку нейроны обмениваются исключительно информацией о моменте времени возникновения спайка, а входной вектор системы уравнений модели нейрона формируется внутри модели как функция от моментов времени прихода спайков.
Система в целом характеризуется набором из следующих гиперпараметров: размер нейрона N (число сегментов сомы), множество длин дендритов Иа и число возбуждающих и тормозных синапсов Ияуп для каждого сегмента мембраны. Их значения определяют структуру системы, которая формирует требуемую реакцию нейрона на входные воздействия.
Настоящая статья не ставит своей задачей подробное математическое описание использовавшейся модели нейрона. Такое описание можно найти в работе [7].
1. Постановка задачи
Отметим возможности рассмотренной модели нейрона, играющие существенную роль при решении задачи её структурного обучения:
- создание произвольного числа сегментов тела нейрона, что означает возможность изменять размерность входного паттерна импульсов,
- независимое наращивание длин дендритов. Увеличение длины дендрита приводит к временной задержке сигнала и к уменьшению его амплитуды,
- добавление произвольного числа синапсов на произвольном участке мембраны (соме, дендрите). Добавление синапса приводит к увеличению амплитуды сигнала,
- произвольная организация связей (как возбуждающих, так и тормозных) между отдельными элементами.
Всё вышеперечисленное означает возможность структурного ре-конфигурирования модели нейрона, что, в свою очередь, позволяет изменять время прихода и амплитуду сигнала с каждого из дендритов на сому нейрона.
В рамках решения задачи структурной адаптации работа будет вестись с паттернами импульсов, под которыми будем понимать совокупность сигналов, поступающих на входы нейрона (дендриты) за некоторый промежуток времени. Отдельный входной сигнал представляет собой одиночный импульс единичной амплитуды. Соответственно отдельные сигналы в паттерне имеют одинаковую (единичную) амплитуду, но, в общем случае, различное время поступления на соответствующий вход (дендрит) нейрона. Считаем, что за определённый промежуток времени поступления паттерна, на отдельном входе (дендрите) может быть зафиксировано не более одного входного сигнала.
Результатом распознавания конкретного паттерна будем считать генерацию выходного сигнала нейроном. Выходной сигнал генерируется в низкопороговой зоне нейрона (генератор потенциала действия) и представляет собой импульсы единичной амплитуды, формируемые при превышении порога величиной мембранного потенциала. Само же значение потенциала внутри низкопороговой зоны нелинейно связано с суммой сигналов, пришедших на вход нейрона. Таким образом, для преодоления порога и генерации потенциала действия, необходимо максимизировать сумму вкладов в потенциал внутри низкопороговой зоны от всех дендри-тов, что может быть достигнуто синхронизацией действия входных сигналов в нейроне, т. е. одновременностью прихода всех импульсов паттерна на тело нейрона.
Как было показано выше, синхронизация может быть достигнута путём добавления в модель отдельных сегментов дендритов. Однако это приводит к уменьшению амплитуды входного сигнала, приходящего на сому, на данном дендрите, что могло бы стать препятствием для выбора фиксированного, универсального для всех входных паттернов, порога генерации. Уменьшение сигнала компенсируется добавлением синапсов на конечный сегмент дендрита, что приводит к увеличению амплитуды входного сигнала на соме.
Процедуру наращивания длины дендрита будем называть синхронизацией, тогда как процедуру добавления синапсов — нормализацией (рис. 2). Таким образом, нашей задачей является максимизация потенциала внутри низкопороговой зоны нейрона путём синхронизации и нормализации, с целью вызвать генерацию потенциала действия. Процессы синхронизации и нормализации в рамках структурной адаптации к конкретному паттерну соответствуют обучению нейрона данному паттерну импульсов. Генерация потенциала действия при фиксированном паттерне импульсов и соответствующей ему конфигурации обученного нейрона является результатом распознавания данного паттерна импульсов.
а б
Рис. 2. Структурная адаптация модели нейрона: синхронизация (а), нормализация (б)
Результаты экспериментальных исследований структурной адаптации спайковой модели нейрона представлены в работе [8].
2. Общая схема решения задачи классификации
Важной особенностью обученного нейрона является его способность отвечать на паттерны импульсов до некоторого предела отличные, чем паттерн импульсов, которому данный нейрон обучался. Однако время ответа нейрона на паттерн импульсов, отличный от паттерна импульсов, которому нейрон обучался, различается со временем ответа нейрона на паттерн импульсов, которому тот был обучен. В первом случае это время оказывается больше, т. е. чем ближе входной паттерн импульсов, к паттерну импульсов, которому обучен нейрон, тем быстрее происходит генерация выходного импульса в нейроне. На рисунке 3 представлена общая структурная схема организации в сеть обученных нейронов, решающая поставленную задачу.
Рис. 3. Общая схема решения задачи классификации паттернов импульсов
Пусть задачу классификации требуется решить для К различных классов. Результатом решения является отнесение тестового паттерна
импульсов к одному из этих классов, либо не отнесение ни к одному из них.
На представленной схеме каждому классу соответствуют М нейронов (М — размер обучающей выборки для класса), каждый из которых обучен своему обучающему примеру (обучающему паттерну). В результате предъявления тестового примера (тестового паттерна) всей системе, каждый из обученных нейронов производит сравнение своего обучающего паттерна с тестовым и, при превышении суммарным значением мембранного потенциала фиксированного порога, происходит генерация выходного импульса теми из нейронов, для которых указанный порог оказался превышен.
Выходы нейронов, принадлежащих одному классу, поступают в качестве входов на соответствующий данному классу нейрон, реализующий функцию логического «ИЛИ». Логический элемент «ИЛИ» подразумевает наличие нескольких входов, при этом активность лишь одного из входов элемента приводит к активности его единственного выхода.
Как указывалось ранее, быстрее выходной импульс генерируют те из нейронов, для которых их обучающий паттерн оказался ближе к тестовому. Таким образом, естественным решением является организация тормозных связей от каждого из нейронов «ИЛИ» ко всем остальным, т. е. нейрон, чей обучающий паттерн оказался ближе к тестовому («нейрон-победитель»), успевает затормозить все остальные нейроны. На рисунке 3 тормозные связи от первого нейрона «ИЛИ» к К-ому обозначены оранжевым цветом, а от К-ого к первому — красным. Реакция соответствующего нейрона «ИЛИ» и означает отнесение тестового паттерна к соответствующему классу.
3. Кодирование числовых данных
Перед подачей входных данных в сеть необходимо закодировать числовые признаки в значения временных задержек. Согласно [9], использовавшийся метод кодирования можно определить, как "йте4о-й^-spike", или, другими словами, временное кодирование. Определим входной набор данных как
X={(-; X;...; ; У), (X; X2;...; 4; У) —; < ХМ; уМ)}, (2)
где М — общей размер входных данных, а N — размерность пространства признаков.
Согласно [10] задержку п-го признака т-го примера входных данных X можно вычислить по формуле (3).
х — х .
max min
где xnmin — минимальное значение n-го признака по всему набору данных, xnmax — максимальное значение n-го признака по всему набору данных, а T — ширина временного окна.
Можно заметить, что кодирование данных в данном случае является простой линейной нормализацией с заданным диапазоном.
4. Эксперименты по решению задачи классификации на
общедоступных наборах данных
Для проведения исследований разработанной схемы для решения задачи классификации (рис. 3) необходимы общедоступные наборы данных, применимые в данной области. Наиболее популярными наборами реальных данных являются Iris и MNIST.
Набор данных Iris [11] представляет собой описание цветков (по 50 измерений) трех типов. Для каждого цветка измерены четыре величины, которые выступают в качестве признаков. Набор данных Iris широко используется в машинном обучении в связи с небольшим размером и двумя линейно неразделимыми классами. Подробно результаты работы с базой данных Iris с использованием предложенной на рисунке 3 схемы описаны авторами в [12]. При обучении лишь по одному примеру на класс авторам удалось достичь результатов, сопоставимых с существующими на данный момент решениями.
База данных MNIST [13] — объёмная база данных образцов рукописного написания цифр является стандартом для исследований методов распознавания изображений с помощью машинного обучения в первую очередь на основе нейронных сетей. База данных состоит из 60 000 изображений в оттенках серого размером 28 x 28, состоящих из 10 цифр, а также тестового набора из 10 000 изображений. Цифры нормализованы по размеру и центрированы. В данном наборе каждое изображение представлено массивом чисел от 0 до 255, что соответствует интенсивностям пикселей, расположенных построчно. Исходными признаками можно считать интенсивности каждого пикселя, т. е. размер исходного пространства признаков равен 784.
Помимо решения самой задачи классификации, работа с базой данных MNIST предполагала значительный объём исследований, связанный с понижением размерности пространства признаков, где авторами к настоящему моменту получены оригинальные решения.
В ходе выполнения работы на первом этапе применялся метод главных компонент — PCA (англ. Principal Component Analysis). Метод главных компонент ищет в N-мерном пространстве такое K-мерное про-
странство, что проекция всех точек на него будет иметь наибольшую дисперсию. На втором этапе, результаты, полученные с использованием PCA, визуализировались при помощи метода t_SNE (англ. t-distributed Stochastic Neighbor Embedding) (рис. 4). Преобразование t_SNE визуализирует сходство между различными элементами набора данных.
Как можно заметить из рисунка 4, в результате применения метода t_SNE точки, соответствующие различным классам (цифрам), сформировали ярко выраженные кластеры. Таким образом, становится очевидной идея следующего шага: в качестве признаков предлагается использовать значения точек на рисунке 4 по х- и ^-координатам. В результате размерность пространства признаков удалось снизить до значения два.
В качестве обучающей выборки в экспериментах с базой данных MNIST было использовано лишь по одному обучающему примеру (центроиде) для каждого из десяти классов (в противовес 6 000 обучающих примеров на класс, используемых при стандартных экспериментах с MNIST).
""Ч;-5-»-г
Рис. 4. Визуализация отработки метода t_SNE после предварительной обработки
исходных данных методом PCA
Результаты сведены в таблице 1. Из таблицы 1 видно, что результаты предложенной сети сопоставимы с результатами, полученными на стандартных классификаторах.
Таблица 1
Результаты стандартных классификаторов на наборе данных MNIST в сравнении с предложенным методом, полученные на одних и тех же
исходных данных
Метод Средняя точность классификации, %
Перцептрон 36,8 ± 7,5
Логистическая регрессия 66,9
kNN 77
Random Forest 52,4 ± 2,8
Support Vector Machine 77,3
MPL 81,1 ± 0,4
Предложенная сеть 70,77
Заключение
Анализ существующих архитектур спайковых нейронных сетей показал, что для большинства спайковых нейронных сетей создана традиционная стратегия развития, которая изменяет их структуру путем регулирования количества нейронов в процессе обучения, а также в динамическом режиме адаптирует сеть под задачу, настраивая веса нейронов в реальном времени. По мнению авторов, адаптивная способность спай-ковой нейронной сети может быть увеличена, если использовать модели нейронов с изменяемой структурой дендритного дерева и синаптическо-го аппарата. Использование наряду с настройкой параметров нейронов и структуры нейронной сети, дополнительной возможности настройки внутренней структуры самих нейронов, по мнению авторов этой работы, может значительно повысить эффективность реализации поведенческих функций в нейроморфных системах управления.
По мнению авторов, полученные результаты показывают эффективность разработанных нейроморфных средств при решении задач классификации. Намечены пути продолжения этих исследований, направленные на разработку нейрологических реализаций спайковых нейронных сетей и переход к их аппаратной реализации.
Благодарности
Исследование выполнено за счет гранта Российского научного фонда № 23-21-00287, https://rscf.ru/project/23-21-00287.
Список литературы
1. Neural networks: An overview of early research, current frameworks and new challenges / A. Prieto, B. Prieto, E. M. Ortigosa, E. Ros, F. Pelayo, J. Ortega, I. Rojas // Neurocomputing. - 2016. - Vol. 214. - Pp. 242-268.
2. Haykin S. Neural networks and learning machines // Harlow: Pearson Education, 2009. - 934 p.
3. Walter F., Röhrbein F., Knoll A. Computation by time // Neural Processing Letters. - 2016. - Vol. 44. - Pp. 103-124.
4. Gerstner W., Kistler W.M. Spiking neuron models: Single neurons, populations, plasticity // Cambridge: Cambridge University Press, 2002. - 496 p.
5. Ghosh-Dastidar S., Adeli H. Spiking neural networks // International Journal of Neural Systems. - 2009. - Vol. 19. - Pp. 295-308.
6. Maass W. Lower bounds for the computational power of networks of spiking neurons // Neural computation. - 1996. - Vol. 8. - Pp. 1-40.
7. Бахшиев А.В., Демчева А.А. Сегментная спайковая модель нейрона CSNM // Известия высших учебных заведений. Прикладная нелинейная динамика. - 2022. -№ 30. - С. 299-310.
8. Korsakov A., Astapova L., Bakhshiev A. The method of structural adaptation of the compartmental spiking neuron model // International Conference Cyber-Physical Systems and Control. - Cham: Springer International Publishing, 2023. - С. 545-553.
9. Park S., Kim S., Na B., Yoom S. T2FSNN: Deep spiking neural networks with time-to-first-spike coding // 2020 57th ACM/IEEE Design Automation Conference (DAC). - 2020. - Pp. 1-6.
10. Lin P., Chang S., Wang H., Huang Q., He J. SpikeCD: a parameter-insensitive spiking neural network with clustering degeneracy strategy // Neural Computing and Applications. - 2019. - № 31. - С. 3933-3945.
11. UCI Machine Learning Repository: Iris Data Set [Electronic Source]. - URL: https://archive.ics.uci.edu/ml/datasets/iris (date of access: 22.04.2023).
12. Astapova L.A., Korsakov A.M., Bakhshiev A.V., Eremenko E.A., Smirnova E.Y. Compartmental spiking neuron model for pattern classification // Journal of Physics: Conference Series. - IOP Publishing, 2021. - Vol. 2094. - P. 032032.
13. LeCun Ya., Cortes C., Burges C. MNIST handwritten digit database [Electronic Source]. - URL: http://yann.lecun.com/exdb/mnist/ (date of access: 12.10.2023).
УДК 65.011.56
doi:10.18720/SPBPU/2/id24-168
Костенко Дмитрий Андреевич 1,
аспирант;
Олейников Виталий Сергеевич 2,
ст. преподаватель; Хохловский Владимир Николаевич 3,
доцент, канд. техн. наук, доцент
ПРЕДОБРАБОТКА ЗАШУМЛЕННЫХ ДАННЫХ ПЕРЕД НЕЙРОСЕТЕВЫМ АНАЛИЗОМ
1 2' 3 Россия, Санкт-Петербург, Санкт-Петербургский политехнический
университет Петра Великого; 1 [email protected], 2 [email protected], 3 [email protected]
Аннотация. В работе предложена методика уточнения нейросетевой модели производственного процесса, представленного зашумлёнными статистическими данными. Уточнение достигается путём разделения исходных данных и вычленения признаков, соответствующих разным состояниям оборудования, в отдельные наборы