NEST(소프트웨어)
NEST (software)| 원본 작성자 | 마르쿠스 디즈만, 마크 올리버 게왈틱, 애비게일 모리슨, 한스 에케하르트 플레서 |
|---|---|
| 개발자 | NEST 이니셔티브 |
| 초기 릴리즈 | 2004년 8월 1일 |
| 안정적 해제 | 2.20.0 / 2020년 1월 31일; 전 |
| 기록 위치 | C++, 파이톤, 사이튼 |
| 운영 체제 | 교차 플랫폼 |
| 다음에서 사용 가능 | 영어 |
| 유형 | 컴퓨터 신경과학 |
| 면허증 | GPLv2+ |
| 웹사이트 | www |
NEST는 대규모 뉴런 네트워크를 포함한 신경망 모델을 스파이크하기 위한 시뮬레이션 소프트웨어다.NEST는 처음에 마르쿠스 디즈만과 마크 올리버 게왈틱에 의해 개발되었고 현재는 NEST 이니셔티브에 의해 개발되고 유지되고 있다.null
모델링 철학
NEST 시뮬레이션은 그 차이를 가지고 컴퓨터 내부에서 일어나는 전기생리학적 실험의 논리를 따르려고 하는데, 그 논리는 조사할 신경계가 실험자에 의해 정의되어야 한다는 것이다.null
신경계는 아마도 많은 수의 뉴런과 그들의 연결에 의해 정의된다.NEST 네트워크에서는 서로 다른 뉴런과 시냅스 모델이 공존할 수 있다.어떤 두 개의 뉴런이라도 서로 다른 성질을 가진 여러 개의 연결을 가질 수 있다.따라서 연결은 일반적으로 중량이나 연결 매트릭스로 설명되지 않고 인접 목록으로 설명할 수 있다.null
네트워크 역학을 조작하거나 관찰하기 위해, 실험자는 실험에서 발견되는 다양한 기기(측정 및 자극용)를 나타내는 이른바 장치를 정의할 수 있다.이 장치들은 메모리나 파일에 데이터를 쓴다.null
NEST는 확장 가능하며 뉴런, 시냅스, 디바이스에 대한 새로운 모델이 추가될 수 있다.null
예
다음 예제는 반복적인 흥분과 억제가[1] 있는 희박한 무작위 네트워크에서 스파이킹 활동을 시뮬레이션한다.
그림은 50개의 뉴런이 래스터 플롯으로 치솟는 활동을 보여준다.시간은 수평축을 따라 증가하고, 뉴런 이드는 수직축을 따라 증가한다.각각의 점은 주어진 시간에 각각의 뉴런의 스파이크에 해당한다.그림의 아래쪽에는 뉴런의 평균 발화 속도가 있는 히스토그램이 표시된다.null
수입하다 둥지를 틀다 수입하다 nest.raster_plot J_ex = 0.1 # 흥분성 중량 제이인 = -0.5 # 억제중량 p_레이트 = 20000. # 외부 포아송 비율 뉴런_파람스= {"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} # 뉴런과 장치의 매개변수 설정 둥지를 틀다.기본값 설정("iaf_psc_message", 뉴런_파람스) 둥지를 틀다.기본값 설정("poisson_poison", {"등급": p_레이트}) 둥지를 틀다.기본값 설정("spike_detector", {"시간과 함께": 진실의, "withgid": 진실의}) # 뉴런과 장치 만들기 node_ex=둥지를 틀다.만들다("iaf_psc_message", 10000) node_in=둥지를 틀다.만들다("iaf_psc_message", 2500) 잡음=둥지를 틀다.만들다("poisson_poison") 에스피크족=둥지를 틀다.만들다("spike_detector") # 시냅스 모델 구성 둥지를 틀다.카피모델("static_synapse", "흥미로운", {"체중":J_ex, "delay":1.5}) 둥지를 틀다.카피모델("static_synapse", "오피토리얼", {"체중":제이인, "delay":1.5}) # 무작위 네트 연결 및 장비로 장치 연결 둥지를 틀다.연결하다(node_ex, node_ex+node_in, {"규칙": 'fixed_swithries', "그리스": 1000}, "흥미로운") 둥지를 틀다.연결하다(node_in, node_ex+node_in, {"규칙": 'fixed_swithries', "그리스": 250}, "오피토리얼") 둥지를 틀다.연결하다(잡음, node_ex+node_in, syn_spec="흥미로운") 둥지를 틀다.연결하다(node_ex[1:51], 에스피크족) # 100. ms 시뮬레이션 둥지를 틀다.시뮬레이션(100.) # 플롯 결과 둥지를 틀다.래스터_플롯.from_device(에스피크족, 히스=진실의) 둥지를 틀다.래스터_플롯.보여줘,() 특징들
뉴런 모델
- 다양한 유형의 시냅스 전류 또는 전위를 가진 통합 및 화재 모델
- 컨덕턴스 기반 시냅스와 통합 및 화재 모델
- 싱글 컴파트먼트 호지킨-헉슬리 모델
- 적응형 지수 적분 및 화재 뉴런(AdEx)
- MAT2 뉴런 모델
네트워크 모델
시냅스 모델
- 균질하거나 이질적인 무게와 지연을 갖는 정적 시냅스.
- 스파이크 타이밍에 따른 가소성
- 단기소성성(Tsodiks & Markram 시냅스)
- 신경세포 시냅스, 도파민 사용.
장치 모델
- 스파이크 검출기
- 전위, 전류 등에 대한 멀티미터
- AC, DC 및 스텝 전류 생성기
- 소음 발생기(포아송, 가우스, 감마)
- 스파이크 재생용 스파이크 생성기
정확도
- NEST는 시뮬레이션의[2] 높은 정확도와 정밀도를 목표로 한다.
- 각각의 뉴런 모델은 적절한 해결사를 가지고 있고 많은 모델들은 단위 테스트를 한다.
- 가능하다면 정확한 통합이[3] 사용된다.
- 기본적으로 스파이크는 시뮬레이션 시간 단계에 의해 정의된 그리드에 떨어진다.일부 모델은 연속 시간에 스파이크 교환을 지원한다.[4]
병렬 및 분산 시뮬레이션
- OpenMP 또는 POSIX 스레드를 사용한 다중 스레드 시뮬레이션 지원.
- 하이브리드 다중 스레드 및 분산 시뮬레이션 지원
- 병렬화는 NEST의 시뮬레이션 커널에 의해 반자동으로 처리된다.
- 최대 10000개의 코어에 대한 초선형 선형 [5]및 선형 확장
상호운용성
역사
NEST 개발은 1993년 마르쿠스 디즈만과 마르크 올리버 게왈틱이 독일 보훔의 루르 대학교 보훔과 이스라엘 레호보트의 바이즈만 과학 연구소에서 시작했다.이때 시뮬레이터는 SYNOD라고 불렸고 시뮬레이션은 SLI라고 불리는 스택 기반 시뮬레이션 언어로 정의되었다.[7]
2001년 SYNOD에서 NEST로 명칭을 변경하였다.2004년까지 NEST는 NEST Initiative의 창립 멤버들에 의해 독점적으로 개발되어 사용되었다.첫 공개는 2004년 여름에 나타났다.이후 NEST는 1년에 한두 번 정도 정기적으로 출시되었다.null
2007년부터 NEST는 POSIX 쓰레드와 MPI를 이용하여 하이브리드 병렬화를 지원한다.[5]
2008년에 스택 기반 시뮬레이션 언어 SLI가 현대적인 파이썬 인터페이스로 대체되었지만, 오래된 시뮬레이션 언어는 여전히 내부적으로 사용되고 있다.[8]동시에, 시뮬레이터 독립 사양 언어 PyNN은 NEST를 지원하여 개발되었다.[9]2012년에 NEST Initiative는 독점 NEST License에서 GNU GPL V2 이상으로 라이선스를 변경하였다.null
사용자 인터페이스
- NEST 기본 사용자 인터페이스는 NEST 시뮬레이션 커널을 제어하는 파이썬 패키지다.PyNEST는 Python 및 그 라이브러리와의 손쉬운 사용성과 원활한 상호작용을 목표로 한다.
- PyNN은 신경 시뮬레이션을 위한 시뮬레이터 독립언어로 NEST뿐만 아니라 BRIAN, NEWSON, 신경동형 하드웨어를 지원한다.
- NEST는 또한 포스트스크립트의 영향을 받는 간단한 스택 지향 프로그래밍 언어를 이해하는 자체 시뮬레이션 언어 통역기(SLI)를 유지한다.[citation needed]
참고 항목
참조
- ^ 뉴욕주 브루넬(2000년)흥분성 및 억제성 스파이크 뉴런의 희박하게 연결된 네트워크의 역학.컴퓨터 신경 과학 저널, 8(3), 183–208.
- ^ Henker, S, Partzsch, J, Schemmel, J. (2011)신경망 스파이크를 위한 최첨단 시뮬레이터에 사용되는 수치적 방법의 정확도 평가.컴퓨터 신경 과학 저널.
- ^ Rotter S, Diesmann M.(1999) 뉴런 모델링에 적용된 시간 내 변이 선형 시스템의 정확한 디지털 시뮬레이션 생물학적 사이버네틱스 81:381-402
- ^ 모리슨 A, 스트라우베 S, 플레서 H. E, 디즈만 M. (2007) 이산 시간 신경 네트워크 시뮬레이션에서 연속 스파이크 시간과의 정확한 하위 임계값 통합 Neural Compute 19(1:47-79).
- ^ a b Plesser H. E, Eppler J. M, 모리슨 A, Diesmann M, Gewaltig Marc-Oliver(2007) 다중 프로세서 컴퓨터 클러스터의 대규모 뉴런 네트워크의 효율적인 병렬 시뮬레이션 In: Euro-Par 병렬 처리 2007, Springer LNCS 4641:672-681
- ^ 미카엘 주르펠트, 요하네스 호르트, 조센 엠 에플러, 니라즈 두다니, 모리츠 헬리아스, 토비아스 C.포잔스, 업파인더 S.Bhalla, Markus Diesmann, Janette Hellgren Kotaleski, Erjan Ekeberg (2010) MUSIC Framework Neuroformatics 8(1:43-60, DOI 10.1007/s12010-010-9064-z) 기반 Run-time Interoperability Byperability
- ^ 독일 번스타인 네트워크의 NEST 비디오 다큐멘터리
- ^ 에플러, J. M, 헬리아스, M, 디즈만, M, 뮬러, E, 게왈틱, 마크 올리버(2008)가 있다.PyNEST: NEST 시뮬레이터에 대한 편리한 인터페이스.신경정보학의 프런티어, 2월(1월), 1–12. doi:10.3389/neuro.11.012.18
- ^ 데이비슨, D.브뤼델레, J. 에플러, J. 크렘코우, E. 뮬러, D.페체프스키, L. 페리넷, P.Yger, PyNN: 뉴런 네트워크 시뮬레이터의 공통 인터페이스, Front.신경인후.2:11, 2009