roboforum.ru

Технический форум по робототехнике.

Модель импульсного нейрона

Модель импульсного нейрона

Alexab » 14 июл 2009, 10:44

Здравствуйте.

Для обмена опытом, кину ссылку на свои наработки, возможно кого заинтересует:
http://ailab.ru/investigation/bionika/matematicheskoe-modelirovanie-processov-preobrazovaniya-impulsnikh-potokov-v-estestvennom-neirone.html

Изначально моделька делалась в бытность студентом, в последнее время претерпела некоторые технические изменения. Глобальная идея: моделировать процессы преобразования информации в нервной системе "от печки", т.е от нейрона, черезмерно не упрощая модель нейрона, но и не спускаясь на уровень химии процессов. Собственно это один из возможных уровней абстракции.

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

Если кого-то заинтересует, буду рад обсудить в меру своих знаний. :)

Собственно тут: http://ailab.ru/downloads/sdk/ можно по слову NeuroModeler скачать .exe-шник, исходники, описание, и тестовые проектики. Правда все для самой первой модели нейрона, но идейно это одно и то же.

Re: Модель импульсного нейрона

hagureinu » 14 дек 2009, 14:22

спасибо, очень интересно

Re: Модель импульсного нейрона

Michael_K » 14 дек 2009, 14:48

Неплохо, только вот.

Глобальная идея: моделировать процессы преобразования информации
в нервной системе "от печки", т.е от нейрона...


Довольно спорный подход...

Все равно, что вычленить из процессора транзистор, как составной элемент...
и смоделировать его. Хотя по сути модель конкретного транзистора к функциональности
процессора в целом имеет очень слабое отношение - процессоры делались на разных
технологиях (и на лампах, и на пневматике, и на транзисторах совершенно разных типов)...

А ввобще, да. Модель нейрона - вполне на уровне других моделей
(я не про биохимию, а про нейросети ).

Re: Модель импульсного нейрона

Alexab » 14 дек 2009, 15:07

Подход несомненно спорный. Об "ИИ" даже речь не веду, тем более, что по моему мнению абстрактные рассуждения на эту тематику не слишком ценны.

Пока ближайшая локальная цель - потестировать на модели простейшие нейронные структуры, с целью:
а) увидеть насколько качественно реакции модели соотвествуют/не соответствуют реакциям естественных структур.
б) попытаться понять "физический смысл" таких структур и как построить их аналоги для технических систем.

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

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

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

Re: Модель импульсного нейрона

shadowjack » 02 сен 2011, 18:43

Апну тему по импульсным нейронам.
Реализовал "в лоб" вот эту модель: http://dl.dropbox.com/u/31443847/docs/neural%20networks/Simple%20model%20of%20spiking%20neurons%202003.pdf (с float-ами) на arduino. При шаге 1мс получается обрабатывать в реальном времени полносвязную сеть из четырех нейронов. Попробую сделать на интах.

Re: Модель импульсного нейрона

Michael_K » 02 сен 2011, 19:35

Это прекрасно, но не очень понятно, как это можно использовать?
Тем более на Ардуино...

Re: Модель импульсного нейрона

shadowjack » 02 сен 2011, 20:35

Как? Конечно, для управления роботами. Вот есть такой круглый червь - нематода C. elegans. Вся его нервная система состоит из 307 нейронов, которые полностью рулят его поведением - движением, питанием, размножением.
Алгоритмы заменяются рефлексами. Программирование (в смысле составления алгоритмов) - обучением и эволюцией (тоже, кончно, с помощью
программирования). В общем, все переспективно и интересно.
А чем плох ардуино? Микроконтроллерная плата, IDE и библиотеки с открытыми исходниками.

Re: Модель импульсного нейрона

Виталий » 02 сен 2011, 22:05

Наверное можно заняться разведением червей... раз они так популярны.

Re: Модель импульсного нейрона

Michael_K » 02 сен 2011, 22:21

Эмм... нет, я немножко не про то...
Во-первых, не очень понятно, как возбуждать эти нейроны.
Рецепторы и эффекторы ведь тоже, насколько я понимаю, должны так же импульсно возбуждать(ся), реполяризоваться и т.п. Или я не прав?
А во-вторых, может на компе смоделить проще для начала :)

Добавлено спустя 4 минуты 1 секунду:
http://habrahabr.ru/blogs/artificial_in ... ce/104252/

Re: Модель импульсного нейрона

Alexab » 02 сен 2011, 23:32

shadowjack, оо, вы тоже интересуетесь нематодой. :)

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

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

Re: Модель импульсного нейрона

Michael_K » 02 сен 2011, 23:41

Alexab писал(а):...но аппаратно реализованная модель нейрона это интересно.Я сейчас мучаюсь с тем что мои модельки на компе считаются так медленно, что достаточно большую сеть в рилтайме обсчитать не выходит.

Боюсь, что реализацию нескольких нейронов на "ардуино" назвать "аппаратной реализацией" - это огромная натяжка. А уж сравнивать скорости ТАКОЙ реализации с компьютером - и вовсе странно.

Вообще говоря, хочется услышать озвученные цели работ.
Потому что моделирование "поведения" сети - это одно. Моделирование процессов, происходящих в нейронах - другое. А моделирование поведения организма (пусть только на сенсорно-двигательном уровне) - вообще совершенно третье.

Ну мне так кажется.

Re: Модель импульсного нейрона

Alexab » 02 сен 2011, 23:49

Боюсь, что реализацию нескольких нейронов на "ардуино" назвать "аппаратной реализацией" - это огромная натяжка. А уж сравнивать скорости ТАКОЙ реализации с компьютером - и вовсе странно.

Ну, я привел пример где и несколько нейронов уже могут помочь. У меня в модели управления движком, 6 афферентных нейронов и 2 эфферента. Ценность такой реализации может быть именно в том, что на той же плате можно реализовать например управление устройством. Хотя проблема быстродействия и ширины канала связи между основной сетью и ее взаимодействующей с внешним миром частью остается.

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

Re: Модель импульсного нейрона

Michael_K » 03 сен 2011, 00:02

Alexab писал(а):Ясно, что конкретно такую задачу (стабилизации угла) проще решить общепринятыми методами.

Это понятно, речь не об этом.
Alexab писал(а):Естественно это не есть конечная цель, а способ проверки модели нейрона, методов формирования структуры мембраны нейрона в зависимости от роли нейрона в сети, и подхода как такового.

Цель - "получить как можно более точную и полную модель нейрона" понятна... Это важно, например, для медиков, чтобы понимать и иметь возможность эмулировать и предсказывать процессы, происходящие в живых организмах.

Но, тогда не очень понятно, причем здесь всякие моторчики и углы. Очевидно, что в живом организме очень много разных процессов и "всё влияет на всё". Точно так же, по-моему, очевидно, что в каждой конкретной прикладной задаче есть факторы(связи, процессы) основные, определяющие, а есть второстепенные, незначительные, которыми можно (и нужно!) пренебречь.

Разделить их, я думаю, вполне реально, хотя, конечно, тут огромное поле для исследований (лабораторных прежде всего). Собственно на этом разделении и появляется наука, когда из эмпирических данных появляется абстрактная модель, теория. Вполне вероятно, что эмпирических данных собрано уже достаточно, просто они разнородны, и, что по-моему самое неприятное, слишком разнородны области их применения.
(Я тут с учеными-медиками как раз сейчас общаюсь - темные люди - ужас просто :)).

По-моему, ежу понятно, что действительно полной и точной моделью нейрона может являться лишь сам нейрон. Чтобы создавать модель, нужно понять, в какую сторону эту модель придется (!!!) упростить для конкретной задачи моделирования. Медики (по крайней мере все, с которыми я общался) думают совершенно иначе. У них шаманство в голове, а не наука, несмотря на диссертации.

Re: Модель импульсного нейрона

shadowjack » 03 сен 2011, 01:04

Вот здесь есть обзор моделей импульсных нейронов: http://icwww.epfl.ch/~gerstner/SPNM/SPNM.html - начиная от точных (четыре и более переменных состояния), к точным для моделирования поведения сети (две переменных состояния) до простых (одна переменная). Там есть и анализ, сравнение и т.д. Там же описаны и модели дендритов. Только для применений в области управления (а не моделирования биологических нейронов) они, судя по всему, не нужны.
Модель с двумя переменными, которую я использую, достаточна, чтобы воспроизвести основные качества нейронов. По ссылке в моем первом посте достаточно много про нее описано.
Возбуждать извесно как - либо импульсами, либо током. Тип сенсора в зависимости от задачи и природы сенсора - либо пороговый, либо пропорциональный. Эффекторы управляются частотой импульсов (например, чаще импульсы - больше скважность ШИМ-а).
По реализации: с плавающей точкой производительность поднялась до 5-ти нейронов, сделал реализацию на целых числах - на 12 нейронах еще есть запас по производительности, кончается память (по памяти еще не оптимизировал). Точность целочисленной реализации - приемлемая (ко времени срабатывания первого нейрона набегает 1мс, т.е. шаг), и скорее всего, еще будет улучшена.

Re: Модель импульсного нейрона

noonv » 03 сен 2011, 11:21

я уже давно портировал на дуину либу для ИНС - но памяти атмеги хватает только на самую простенькую НС, да и об обучении речи не идёт :)


Rambler\'s Top100 Mail.ru counter