stringtranslate.com

НЕСТ (программное обеспечение)

NEST — это программное обеспечение для моделирования импульсных моделей нейронных сетей , включая крупномасштабные нейронные сети. NEST изначально был разработан Маркусом Дисманном и Марком-Оливером Гевалтигом, а в настоящее время разрабатывается и поддерживается NEST Initiative.

Философия моделирования

Моделирование NEST пытается следовать логике электрофизиологического эксперимента, который проводится внутри компьютера, с той разницей, что исследуемая нейронная система должна быть определена экспериментатором.

Нейронная система определяется возможно большим количеством нейронов и их связей . В сети NEST могут сосуществовать различные модели нейронов и синапсов. Любые два нейрона могут иметь несколько связей с различными свойствами. Таким образом, связность в общем случае не может быть описана матрицей веса или связности , а скорее списком смежности .

Для манипулирования или наблюдения за динамикой сети экспериментатор может определить так называемые устройства, которые представляют собой различные инструменты (для измерения и стимуляции), обнаруженные в эксперименте. Эти устройства записывают свои данные либо в память , либо в файл.

NEST является расширяемым, и в него можно добавлять новые модели нейронов, синапсов и устройств.

Пример

растр NEST

Следующий пример имитирует импульсную активность в разреженной случайной сети с повторяющимся возбуждением и торможением [1]

На рисунке показана спайковая активность 50 нейронов в виде растрового графика. Время увеличивается по горизонтальной оси, идентификатор нейрона увеличивается по вертикальной оси. Каждая точка соответствует спайку соответствующего нейрона в заданное время. Нижняя часть рисунка показывает гистограмму со средней частотой срабатывания нейронов.

импорт  гнезда импорт  гнезда.raster_plotJ_ex  =  0,1  # возбуждающий вес J_in  =  - 0,5  # ингибирующий вес p_rate  =  20000,0  # внешняя скорость Пуассонаneuron_params =  { "C_m" :  1.0 ,  "tau_m" :  20.0 ,  "t_ref" :  2.0 ,  "E_L" :  0.0 ,  "V_reset" :  0.0 ,  "V_m" :  0.0 ,  "V_th" :  20.0 }# Установка параметров нейронов и устройств nest.SetDefaults ( " iaf_psc_delta" , neuron_params ) nest.SetDefaults ( "poisson_generator" , { "rate" : p_rate } ) nest.SetDefaults ( " spike_detector" , { "withtime" : True , " withgid " : True } )       # Создать нейроны и устройства nodes_ex  =  nest.Create ( " iaf_psc_delta" , 10000 ) nodes_in = nest.Create ( " iaf_psc_delta " , 2500 ) noise = nest.Create ( " poisson_generator" ) espikes = nest.Create ( " spike_detector" )        # Настройка моделей синапсов nest.CopyModel ( "static_synapse" , "excitatory" , { " weight" : J_ex , "delay" : 1.5 } ) nest.CopyModel ( " static_synapse" , "inhibitory" , { "weight" : J_in , " delay" : 1.5 })          # Подключить случайную сеть и оснастить ее устройствами nest.Connect ( nodes_ex , nodes_ex + nodes_in , { "rule" : 'fixed_indegree' , "indegree" : 1000 }, "excitatory" ) nest.Connect ( nodes_in , nodes_ex + nodes_in , { "rule" : ' fixed_indegree' , " indegree " : 250 } , " inhibitory" ) nest.Connect ( nodes_ex + nodes_in , syn_spec = " excitatory " ) nest.Connect ( nodes_ex [ 1 : 51 ] , espikes )                 # Моделировать для 100. мс гнездо . Моделировать ( 100.0 )# Результаты построения графика nest.raster_plot.from_device ( espikes , hist = True ) nest.raster_plot.show ( ) 

Функции

Модели нейронов

Сетевые модели

Модели синапсов

Модели устройств

Точность

Параллельное и распределенное моделирование

Взаимодействие

История

Разработка NEST была начата в 1993 году Маркусом Дисманном и Марком-Оливером Гевалтигом в Рурском университете в Бохуме , Германия , и Институте науки Вейцмана в Реховоте , Израиль . В то время симулятор назывался SYNOD, а симуляции определялись на языке симуляции на основе стека, называемом SLI. [7]

В 2001 году программное обеспечение сменило название с SYNOD на NEST. До 2004 года NEST разрабатывался и использовался исключительно членами-основателями NEST Initiative. Первый публичный релиз появился летом 2004 года. С тех пор NEST выпускался регулярно, примерно один или два раза в год.

С 2007 года NEST поддерживает гибридный параллелизм, используя потоки POSIX и MPI . [5]

В 2008 году стековый язык моделирования SLI был заменен современным интерфейсом Python , однако старый язык моделирования по-прежнему используется внутри компании. [8] В то же время был разработан язык спецификаций, независимый от симулятора PyNN, с поддержкой NEST. [9] В 2012 году инициатива NEST изменила лицензию с проприетарной лицензии NEST на GNU GPL V2 или более позднюю.

Пользовательские интерфейсы

Смотрите также

Ссылки

  1. ^ Брунель, Николас (2000). «Динамика редко связанных сетей возбуждающих и тормозных импульсных нейронов». Журнал вычислительной нейронауки . 8 (3): 183–208. doi :10.1023/A:1008925309027. PMID  10809012. S2CID  1849650.
  2. ^ Хенкер, С.; Парцш, Дж.; Шуффни, Р. (2012). «Оценка точности численных методов, используемых в современных симуляторах для импульсных нейронных сетей». Журнал вычислительной нейронауки . 32 (2): 309–326. doi :10.1007/s10827-011-0353-9. PMID  21837455. S2CID  254601151.
  3. ^ Роттер, Стефан; Дисманн, Маркус (1999). «Точное цифровое моделирование инвариантных во времени линейных систем с приложениями к нейронному моделированию». Биологическая кибернетика . 81 (5–6): 381–402. doi :10.1007/s004220050570. PMID  10592015. S2CID  8124866.
  4. ^ Моррисон, Эбигейл; Штраубе, Сирко; Плессер, Ханс Эккехард; Дисманн, Маркус (2007). «Точная подпороговая интеграция с непрерывным временем скачков в моделировании нейронных сетей с дискретным временем». Neural Computation . 19 (1): 47–79. doi :10.1162/neco.2007.19.1.47. PMID  17134317. S2CID  8517223.
  5. ^ аб Плессер, Ганс Э.; Эпплер, Йохен М.; Моррисон, Эбигейл; Дисманн, Маркус; Гевалтиг, Марк-Оливер (2007). «Эффективное параллельное моделирование крупномасштабных нейронных сетей на кластерах многопроцессорных компьютеров». Euro-Par 2007 Параллельная обработка . Конспекты лекций по информатике. Том. 4641. стр. 672–681. дои : 10.1007/978-3-540-74466-5_71. ISBN 978-3-540-74465-8.
  6. ^ Джурфельдт, Микаэль; Хьёрт, Йоханнес; Эпплер, Йохен М.; Дудани, Нирадж; Гелиас, Мориц; Потянс, Тобиас К.; Бхалла, Упиндер С.; Дисманн, Маркус; Хеллгрен Коталески, Жанетт; Экеберг, Орьян (2010). «Взаимодействие во время выполнения симуляторов нейронных сетей на основе MUSIC Framework». Нейроинформатика . 8 (1): 43–60. doi : 10.1007/s12021-010-9064-z. ПМЦ 2846392 . ПМИД  20195795. 
  7. ^ NEST - Симулятор мозга (видео). Bernstein Network . 2012-07-11 – через YouTube.
  8. ^ Эпплер, Йохен М.; Гелиас, М.; Мюллер, Э.; Дисманн, М.; Гевалтиг, Миссури (2008). «PyNEST: удобный интерфейс симулятора NEST». Границы нейроинформатики . 2:12 . doi : 10.3389/neuro.11.012.2008 . ПМК 2636900 . ПМИД  19198667. 
  9. ^ Davison, AP; Brüderle, D.; Eppler, J.; Kremkow, J.; Muller, E.; Pecevski, D.; Perrinet, L.; Yger, P. (2009). "PyNN: общий интерфейс для симуляторов нейронных сетей". Frontiers in Neuroinformatics . 2 : 11. doi : 10.3389/neuro.11.011.2008 . PMC 2634533. PMID  19194529 . 

Внешние ссылки