Neuro Matlab: модели спайковых нейронов в Matlab Simulink

Mercurial репозиторий с моделями находится по адресу https://foss.heptapod.net/nmsdk/neuromatlab (mercurial) или https://github.com/aicommunity/NeuroMatlab (git).

Все модели находятся в библиотеке NeuroModelerLibrary.mdl в корне.

Остальные папки являются примерами, иллюстрирующими те или иные особенности моделей.

Расшифровка аббревиатур в начале наименований папок с примерами:

  • NP (Neuron Parts) - эксперименты с функциональными элементами модели нейрона (синапс, ионный механизм, генератор ПД).
  • N (Neuron) - эксперименты с моделью нейрона.
  • MC (Motion Control) - моделирование нейронных сетей для управления движением.

В статье будут рассмотрены элементы библиотеки и примеры моделей, построенных на их основе.

Описание библиотеки

Ниже (рис. 1) показаны группы моделей библиотеки.

Рис.1 1

Рис. 1. Обзор Matlab Simulink библиотеки

Краткое описание групп:

  • Support - содержит вспомогательные (технологические) блоки, которые были использованы при построении моделей нейрона или при проведении экпериментов (например, блок генератора испульсного входного воздействия Two-output Pulse Generator).
  • Neuron Elements - функциональные элементы модели нейрона: ионный механизм, участок мембраны, синапс, генератор ПД и т.п. 
  • Recycle Bin - устаревшие элементы модели нейрона, а также элементы, находящиеся в разработке.

Под общим названием "CSNM Implementations" идут группы, содержащие модели нейронов с предварительно созданной структурой мембраны и использующие их НС:

  • Simple Cells - простейшие клетки с минимальным числом участков мембраны, и афферетные нейроны.
  • Sized Cells - нейроны с различным размером сомы и дендритом.
  • Dendrites Cells - нейроны с ветвлением дендритов.
  • Multistate Cells - нейроны мембрана которых имеет несколько устойчивых состояний.
  • Pacemaker Cells - модели пейсмекерных нейронов.
  • Memory Modules - нейронные структуры, относящиеся к моделированию управления движением.

В разделе CSNM w/o spikes Impl., содержится единственная группа Analog SImple Cells, описывающая нейроны с активационными функциями вместо генератора потенциала действия.

Раздел Classic Spiking Neuron Models включает реализации классических моделей. На данный момент представлена модель Leaky Integrate-and-Fire (с учетом периода рефракции и без) и несколько вариантов статического синапса (имеется в виду синапс с фиксированным значением веса, задающий синаптический ток в форме экспоненциальной функции). 

Важно отметить, что в некоторых разделах блоки представлены в нескольких версиях (рис. 2), соответствующих определенному этапу в разработке библиотеки. В экспериментах, описание которых будет дано ниже, использованы различные версии функциональных элементов. Номер версии будет указан в описании эксперимента.

Параметры блоков заданы по умолчанию, изменять их при воспроизведении экспериментов не требуется, необходимо только выбрать из библиотеки нужную версию элемента.

Рис. 2

Рис. 2. Содержание раздела Neuron Elements

 

Эксперименты с моделью нейрона

N01 Simple neuron activity tests (old model). В этой папке содержатся первые эксперименты с обновленной моделью нейрона, в которой появилась возможность задавать описание структуры мембраны. По этой причине в экспериментах используется устаревшее описание модели участка мембраны. Модели нейронов, используемые в этих тестах, практически идентичны актуальным, но отличаются иными значениями набора параметров (заданы в библиотеке по умолчанию). Использованные модели соответствуют версиям 0.1 и 0.2 и находятся в подразделе Simple Cells раздела CSNM Implementations.

Набор схем для экспериментов позволяет повторить результаты, описанные в статье "Математическое моделирование процессов преобразования импульсных потоков в естественном нейроне". 

SimpleNeuronTest.mdl - Простейший пример, показывающий возможную реакцию модели нейрона на одиночный возбуждающий импульс.

NeuronSizeActivity.mdl - Иллюстрирует разницу в реакциях моделей крупного и мелкого нейронов (отличаются числом участков мембраны сомы), и разницу в поведении в зависимости от того как далеко от сомы по дендриту расположен возбуждающий синапс.

PresynapticInhibition.mdl - Воспроизводит эффект пресинаптического торможения и его действие на аналогичные эксперименту выше клетки различного размера.

N02 Typical neuron model activity tests. Это набор тестов к статье "Воспроизведение реакций естественных нейронов как результат моделирования структурно-функциональных свойств мембраны и организации синаптического аппарата".  Помимо прочего, эксперименты иллюстрируют некоторые специфические варианты реализации модели участков мембраны, воспроизводящие эффекты, подобные поведению потенциал-зависимых ионных каналов, а также электрический синапс. 

Эксперименты основаны на версии модели 0.2 и соответствующих значениях парамеров (заданы по умолчанию в блоках нужной версии). Модели, используемые в этих тестах, находятся в подразделах Dendrites Cells, Sized Cells, Pacemaker Cells и Multistate Cells раздела CSNM Implementations.

FFCharacteristic.mdl, FFCharacteristicBySize.mdl - Схемы для определения ЧЧХ моделей нейронов с различной структурой мембраны.

LongDendriteCells.mdl, LongDendriteCells2.mdl - Демонстрация особенностей временной суммации сигналов на дендритах.

MultiSizeCells.mdl - Демонстрация различия поведения нейронов разного размера.

PacemakerCells.mdl - Реализация на модели пейсмекерных нейронов.

PotentialDependentChannels.mdl - Пример модели с потенциал-зависимыми каналами (см. нейроны C.Elegans).

ChemicalVersusElectricSynapse.mdl - Демонстрация работы электрического сипнаса.

OscillationSystem.mdl - Пример генератора ритма как структуры из 2 нейронов с положительной ОС.

N03 Neuron membrane capacity test. Описание еще одной специфической модификации модели участка мембраны с большой постоянной времени. Особенности поведения описаны в статье "Применение эффектов временной суммации сигналов в нейросетевых системах управления движением".  В эксперименте использована версия модели 0.2, блоки находятся в подразделе Simple Cells раздела CSNM Implementations.

PulseNeuronMembraneCapacityTest.mdl - Демонстрирует описание поведения такого нейрона при активации по одному входу.

N04 Afferent neurons. Примеры работы модели афферетного нейрона, преобразующего аналоговый сигнал в последовательность имульсов. В эксперименте использована версия модели 0.2, блоки находятся в подразделе Simple Cells раздела CSNM Implementations.

AfferentTest.mdl - Тестовый пример для съема АЧХ нейрона при различных параметрах входного преобразования сигнала.

N05 Reflexive inhibition. Эти тесты демонстрируют возможность воспроизводить эффекты возвратного торможения в простейших сетях из пары нейронов (аналог связки мотонейрон-клетка Реншоу). Для этого теста в настройках модели был изменен коэффициент пресинаптического торможения, чтобы эффект проявился более ярко. В эксперименте использована версия модели 0.2, блоки находятся в подразделах Simple Cells и Sized Cells раздела CSNM Implementations.

MN_Renshow_system.mdl - Пример взамодействия нейронов в связке мотонейрона (крупный нейрон) и клетки Реншоу (мелкий нейрон).

ReflexiveInhibition.mdl - Иллюстрация стабилизации ритма разрядов цепочки нейронов с возвратным торможением.

N06 Neurons with electrical synapses. Эксперименты с электрическим синапсом. В эксперименте использована версия модели 0.2, блоки находятся в подразделе Simple Cells раздела CSNM Implementations.

GraduatedPotentials.mdl - Тест "неполноценного" нейрона с отключенным генератором и электрическим синапсом. Пример реализации нейрона без генерации импульса (тоническое распространение сигнала с затуханием).

N07 Integrate-and-non-fire neuron model. Вариант реализации модели нейрона без генератора ПД. Вместо генератора используется функция гиперболического тангенса (с отсечением отрицательной составляющей). Временная суммация сигналов и возможность описания структуры мембраны сохраняется. В эксперименте использована версия модели 0.2, блоки находятся в подразделе Analog Simple Cells раздела CSNM w/o spikes Impl.

AnalogNeuronSimpleTest.mdl - пример реакций такой модели на входное воздействие.

N08 IaF tests. Раздел содержит схемы экспериментов с представленной в библиотеке реализацией порогового интегратора с утечкой.

Classical_vs_Segm_IaF.mdl - Сравнение классической и сегментной моделей порогового интегратора с утечкой, представленных в библиотеке.

MultiSizeCells_IaF - исследование зависимости генерируемого нейроном потенциала от размера сомы нейрона для модели CSNM и сегментной модели IaF (аналог эксперимента MultiSizeCells, но в сравнении с IaF).

MultiSynapseTest_IaF - исследование зависимости генерируемого нейроном потенциала от числа активных синапсов (т.е. силы возбуждающего сигнала) для модели CSNM и сегментной модели IaF (аналог эксперимента MultiSynapseTest, но в сравнении с IaF).

N09 Comparison to NEST Simulator. Эксперименты по сравнению библиотечной реализации порогового интегратора с утечкой и аналогичной стандартной модели симулятора NEST.

Раздел NestComparison_Neuron содержит файлы эксперимента по сравнению модели порогового интегратора с утечкой (IaF Neuron), представленной в библиотеке, и аналогичной стандартной моделью симулятора NEST (iaf_psc_alpha). Сравнивался мембранный потенциал моделей при отсутствии синаптического воздействия при различных значениях постоянного возбуждающего тока: 350 пА, 376 пА, 400 пА.

Comparison_to_Nest_Neuron.mdl - модель эксперимента для библиотечной реализации порогового интегратора

Comparison_to_Nest_Neuron.m - программа на языке MATLAB, позволяющая извлечь данные из модели Simulink в формате Excel-таблицы

Comparison_to_Nest_Neuron.py - программа на языке python, включающая аналогичный эксперимент для модели iaf_psc_alpha симулятора NEST. Позволяет запустить моделирование экперимента и также извлечь выходные данные в формате Excel-таблицы.

Результаты эксперимента представлены в файле NestComparation_Results.xlsx: экпериментальные данные - на листах Voltages, Voltages_Nest, Voltages_Simulink; сравнение полученных результатов - на листе Voltages_Difference.

Раздел NestComparison_Synapse содержит файлы эксперимента по сравнению модели статического синапса (Static Synapse), представленной в библиотеке, и аналогичной моделью симулятора NEST.
В реализации NEST функция формирования синаптического тока является частью модели порогового интегратора (iaf_psc_alpha), тип связи между нейроном и возбуждающим воздействием задается отдельно - путем выбора модели синаптической связи (static_synapse). Поэтому в эксперименте использованы обе модели, а в качестве выходных данных считывается значение параметра I_syn_ex модели нейрона iaf_psc_alpha. В ходе эксперимента сравнивался синаптический ток, формируемый в ответ на поданный входной импульс.

Comparison_to_Nest_Synapse.mdl - модель эксперимента для библиотечной реализации статического синапса

Comparison_to_Nest_Synapse.m - программа на языке MATLAB, позволяющая извлечь данные из модели Simulink в формате Excel-таблицы

Comparison_to_Nest_Synapse.py - программа на языке python, включающая аналогичный эксперимент для симулятора NEST. Позволяет запустить моделирование и также извлечь выходные данные в формате Excel-таблицы.

Результаты эксперимента представлены в файле NestComparation_Results.xlsx на листах SynCurrents и SynCurnts_0.1ms.

N2021 UniNeuron. Эксперименты по унификации модели, то есть исследование работоспособности моделей, составленных из блоков синапса и нейрона, принадлежащих к различным моделям (IaF и CSNM).

Combined_models.mdl - тест на способность модели CSNM к унификации. Сравниваются результаты работы комбинированных систем, построенных путем сочетания блоков синапсов и нейронов разных моделей (Leaky IaF и CSNM), и цельных систем, включающих синапс и нейрон одной модели (только Leaky IaF или только CSNM). Блок генератора предпороговой зоны CSNM использован в версии 0.2.

Combined_models_Gen_wo_Inertia.mdl - то же, но для модели CSNM используется обновленный блок генератора предпороговой зоны (версия 0.3 в библиотеке). Последний отличается от версии 0.2 улучшенными инерционными свойствами.

MultiSizeCells.mdl - исследование зависимости генерируемого нейроном потенциала от размера сомы нейрона модели CSNM.

MultiSynapseTest.mdl - исследование зависимости генерируемого нейроном потенциала от числа активных синапсов (т.е. силы возбуждающего сигнала) для модели CSNM.

 

Отдельные эксперименты с функциональными элементах модели нейрона

NP01 Synapse Simple Tests. Содержит схемы для экспериментов с моделью синапса. Использована версия модели 0.2, блоки находятся в разделе Neuron Elements.

Synapse.mdl - Простая иллюстрация работы модели синапса и его влияния на мембрану.

Эксперименты по моделированию нейронных сетей для управления движением (запланированы для публикации, в настоящее время недоступны)

MC01 RCN comparations.  Модель регулятора на основе НС спинального уровня управления мышечным сокращением.

MC02 PCN experiments. Моделирование сети запоминания положений (состояний) объекта управления.

MC03 TCN experiments. Моделирование сети запоминания движений по траектории.