KR101793011B1 - 스파이킹 네트워크들의 효율적인 하드웨어 구현 - Google Patents

스파이킹 네트워크들의 효율적인 하드웨어 구현 Download PDF

Info

Publication number
KR101793011B1
KR101793011B1 KR1020157033774A KR20157033774A KR101793011B1 KR 101793011 B1 KR101793011 B1 KR 101793011B1 KR 1020157033774 A KR1020157033774 A KR 1020157033774A KR 20157033774 A KR20157033774 A KR 20157033774A KR 101793011 B1 KR101793011 B1 KR 101793011B1
Authority
KR
South Korea
Prior art keywords
memory
artificial
processing units
neurons
synaptic
Prior art date
Application number
KR1020157033774A
Other languages
English (en)
Other versions
KR20160010477A (ko
Inventor
제프리 알렉산더 레빈
벤카트 렌건
에릭 크리스토퍼 말론
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20160010477A publication Critical patent/KR20160010477A/ko
Application granted granted Critical
Publication of KR101793011B1 publication Critical patent/KR101793011B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

본 개시물의 소정의 양태들은 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 것을 지지하며, 여기서 복수의 인공 뉴런들은 각각의 슈퍼 뉴런 프로세싱 유닛에 할당된다. 슈퍼 뉴런 프로세싱 유닛들은 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 저장 및 로딩하기 위한 메모리와 인터페이스될 수 있으며, 여기서 메모리의 조직은 연속적인 메모리 액세스를 허용한다.

Description

스파이킹 네트워크들의 효율적인 하드웨어 구현{EFFICIENT HARDWARE IMPLEMENTATION OF SPIKING NETWORKS}
35 U.S.C. § 119 하의 우선권 주장
본 출원은 발명의 명칭이 "Spike Time Windowing for Implementing Spike-Timing Dependent Plasticity (STDP)" 이고 2013년 5월 21일자에 출원된 미국 가특허출원 번호 제 61/825,657호, 발명의 명칭이 "Spike Time Windowing for Implementing Spike-Timing Dependent Plasticity (STDP)" 이고 2013년 8월 6일자에 출원된 미국 가특허출원 번호 제 61/862,714호, 발명의 명칭이 "Computed Synapses for Neuromorphic Systems" 이고 2013년 8월 6일자에 출원된 미국 가특허출원 번호 제 61/862,741호, 발명의 명칭이 "Implementing Delays between Neurons in an Artificial Nervous System" 이고 2013년 8월 6일자에 출원된 미국 가특허출원 번호 제 61/862,734호, 발명의 명칭이 "Efficient Hardware Implementation of Spiking Networks" 이고 2014년 1월 28일자에 출원된 미국 가특허출원 번호 제 61/932,364호의 이점을 주장하며, 그 각각은 그 전체가 참조로 본원에 포함된다.
분야
본 개시물의 소정의 양태들은 일반적으로 인공 신경계들에 관한 것으로, 보다 구체적으로 스파이킹 신경 네트워크들의 효율적인 하드웨어 구현을 위한 방법 및 장치에 관한 것이다.
인공 뉴런들 (즉, 신경 프로세싱 유닛들) 의 상호연결된 그룹을 포함할 수도 있는 인공 신경 네트워크는 연산 디바이스이거나 또는 연산 디바이스에 의해 수행되는 방법을 나타낸다. 인공 신경 네트워크들은 생물학적 신경 네트워크들의 상응하는 구조 및/또는 기능을 가질 수도 있다. 하지만, 인공 신경 네트워크들은, 종래의 연산 기법들이 번거롭거나, 비실용적이거나, 또는 부적절한 소정의 애플리케이션들에 혁신적이고 유용한 연산 기법들을 제공할 수도 있다. 인공 신경 네트워크들은 관찰들로부터 기능을 추론할 수 있으므로, 이러한 네트워크들은 태스크 (task) 또는 데이터의 복잡성이 종래 기법들에 의한 기능의 디자인을 부담스럽게 만드는 애플리케이션들에서 특히 유용하다.
일 타입의 인공 신경 네트워크는 스파이킹 신경 네트워크이고, 이 스파이킹 신경 네트워크는 뉴런 및 시냅스 상태뿐만 아니라 그 동작 모델에 시간의 개념을 편입하여, 이에 따라, 연산 기능이 신경 네트워크에서 출현할 수 있는 리치 세트의 거동들을 제공한다. 스파이킹 신경 네트워크들은 뉴런의 상태에 기초한 특정 시간 또는 시간들에서 뉴런들이 발화 또는 "스파이크"하고, 그 시간이 뉴런 기능에 중요하다는 개념에 기초하고 있다. 뉴런이 발화할 때, 뉴런은 다른 뉴런들로 이동하는 스파이크를 발생시키고, 이 다른 뉴런들은 궁극적으로 이 스파이크가 수신되는 시간에 기초하여 그 상태들을 조절시킬 수도 있다. 다시 말해, 신경 네트워크에서의 스파이크들의 상대적 또는 절대적인 타이밍에서 정보가 인코딩될 수도 있다.
본 개시물의 소정의 양태들은 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 방법을 제공한다. 방법은 일반적으로 인공 뉴런들의 상태들을 업데이트하기 위해 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 단계로서, 인공 뉴런들의 서브세트가 각각의 슈퍼 뉴런 프로세싱 유닛에 할당되는, 상기 동작시키는 단계, 및 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 액세스하기 위해 메모리와 슈퍼 뉴런 프로세싱 유닛들을 인터페이스하는 단계로서, 메모리의 조직이 연속적인 메모리 액세스를 허용하는, 상기 인터페이스하는 단계를 포함한다.
본 개시물의 소정의 양태들은 인공 신경계를 동작시키기 위한 장치를 제공한다. 장치는 일반적으로 인공 뉴런들의 상태들을 업데이트하기 위해 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키도록 구성되는 제 1 회로로서, 인공 뉴런들의 서브세트가 각각의 슈퍼 뉴런 프로세싱 유닛에 할당되는, 상기 제 1 회로, 및 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 액세스하기 위해 메모리와 슈퍼 뉴런 프로세싱 유닛들을 인터페이스하는 제 2 회로로서, 메모리의 조직이 연속적인 메모리 액세스를 허용하는, 상기 제 2 회로를 포함한다.
본 개시물의 소정의 양태들은 인공 신경계를 동작시키기 위한 장치를 제공한다. 장치는 일반적으로 인공 뉴런들의 상태들을 업데이트하기 위해 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 수단으로서, 인공 뉴런들의 서브세트가 각각의 슈퍼 뉴런 프로세싱 유닛에 할당되는, 상기 동작시키는 수단, 및 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 액세스하기 위해 메모리와 슈퍼 뉴런 프로세싱 유닛들을 인터페이스하는 수단으로서, 메모리의 조직이 연속적인 메모리 액세스를 허용하는, 상기 인터페이스하는 수단을 포함한다.
본 개시물의 소정의 양태들은 인공 신경계를 동작시키기 위한 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램 제품은 일반적으로, 명령들이 인공 뉴런들의 상태들을 업데이트하기 위해 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 것으로서, 인공 뉴런들의 서브세트가 각각의 슈퍼 뉴런 프로세싱 유닛에 할당되는, 상기 동작시키도록, 그리고 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 액세스하기 위해 메모리와 슈퍼 뉴런 프로세싱 유닛들을 인터페이스하는 것으로서, 메모리의 조직이 연속적인 메모리 액세스를 허용하는, 상기 인터페이스하도록 실행가능하게 하는 비일시적 컴퓨터 판독가능 매체 (예를 들어, 저장 디바이스) 를 포함한다.
본 개시물의 상기 기술된 특징들이 상세하게 이해될 수 있도록, 위에서 간단하게 요약된 더욱 특정한 설명은 양태들을 참조하여 행해질 수도 있고, 양태들의 일부는 첨부된 도면들에서 예시된다. 그러나, 첨부된 도면들은 본 개시물의 소정의 전형적인 양태들만을 예시하고, 상기 설명은 다른 동일하게 효과적인 양태들을 인정할 수도 있기 때문에, 첨부된 도면들은 그러므로 그 범위의 제한으로 간주되지 않아야 한다는 것에 주목해야 한다.
도 1은 본 개시물의 소정의 양태들에 따른, 뉴런들의 예시적인 네트워크를 예시한다.
도 2는 본 개시물의 소정의 양태들에 따른, 연산 네트워크 (신경 시스템 또는 신경 네트워크) 의 예시적인 프로세싱 유닛 (뉴런) 을 예시한다.
도 3은 본 개시물의 소정의 양태들에 따른, 예시적인 스파이크-타이밍 의존적인 가소성 (STDP; spike-timing dependent plasticity) 곡선을 예시한다.
도 4는 본 개시물의 소정의 양태들에 따른, 뉴런의 거동을 정의하는 양의 체계 (positive regime) 및 음의 체계 (negative regime) 를 예시하는 인공 뉴런에 대한 상태의 예시적인 그래프이다.
도 5는 본 개시물의 소정의 양태들에 따른, 인공 신경계의 예시적인 하드웨어 구현을 나타낸다.
도 6은 본 개시물의 소정의 양태들에 따른, 인공 신경계를 동작시키기 위한 예시적인 동작들의 흐름도이다.
도 6a는 도 6에 나타낸 동작들을 수행하는 것이 가능한 예시적인 수단을 예시한다.
도 7은 본 개시물의 소정의 양태들에 따른, 범용 프로세서를 이용하여 인공 신경계를 동작시키기 위한 예시적인 구현예를 예시한다.
도 8은 본 개시물의 소정의 양태들에 따른, 메모리가 개개의 분산된 프로세싱 유닛들과 인터페이스될 수도 있는 인공 신경계를 동작시키기 위한 예시적인 구현예를 예시한다.
도 9는 본 개시물의 소정의 양태들에 따른, 분산된 메모리들 및 분산된 프로세싱 유닛들에 기초하여 인공 신경계를 동작시키기 위한 예시적인 구현예를 예시한다.
도 10은 본 개시물의 소정의 양태들에 따른, 신경 네트워크의 예시적인 구현예를 예시한다.
본 개시물의 여러 양태들은 이하에서 첨부 도면들을 참조하여 좀더 충분히 설명된다. 본 개시물은 그러나, 많은 상이한 형태들로 구현될 수도 있으며, 본 개시물을 통해서 제시되는 임의의 특정의 구조 또는 기능에 한정되는 것으로 해석되어서는 안된다. 대신, 이들 양태들은 본 개시물이 철저하고 완전하게 되도록, 그리고 본 개시물의 범위를 당업자들에게 충분히 전달하기 위해서 제공된다. 본원에서의 교시들에 기초하여, 당업자는 본 개시물의 범위가 본 개시물의 임의의 다른 양태와 독립적으로 구현되든 그와 결합되든, 본원에서 개시된 본 개시물의 임의의 양태를 포괄하도록 의도되는 것으로 이해하여야 한다. 예를 들어, 본원에서 개시된 임의의 개수의 양태들을 이용하여, 장치가 구현될 수도 있거나 또는 방법이 실시될 수도 있다. 게다가, 본 개시물의 범위는 본원에서 개시된 본 개시물의 여러 양태들에 추가해서 또는 이 이외에, 다른 구조, 기능, 또는 구조 및 기능을 이용하여 실행되는 장치 또는 방법을 포괄하도록 의도된다. 본원에서 개시된 본 개시물의 임의의 양태는 청구항의 하나 이상의 엘리먼트들에 의해 구현될 수도 있는 것으로 이해되어야 한다.
단어 "예시적인"은 "일 예, 사례, 또는 예시로서 기능하는 것"을 의미하도록 본원에서 사용된다. 본원에서 "예시적인"으로 설명하는 임의의 양태는 다른 양태들에 보다 바람직하거나 또는 유리한 것으로 반드시 해석되지는 않는다.
특정의 양태들이 본원에서 설명되지만, 이들 양태들의 많은 변형예들 및 치환들은 본 개시물의 범위 이내이다. 바람직한 양태들의 일부 이익들 및 이점들이 언급되지만, 본 개시물의 범위는 특유의 이점들, 용도들 또는 목적들에 한정되는 것으로 의도되지 않는다. 대신, 본 개시물의 양태들은 상이한 기술들, 시스템 구성들, 네트워크들 및 프로토콜들에 넓게 적용가능한 것으로 의도되며, 이들 중 일부가 일 예로서 도면들에 그리고 바람직한 양태들의 다음 설명에 예시된다. 상세한 설명 및 도면들은 한정이라기 보다는 단지 본 개시물의 예시이며, 본 개시물의 범위는 첨부된 청구범위 및 이의 균등물들에 의해 정의된다.
예시적인 신경 시스템
도 1 은 본 개시물의 소정의 양태들에 따른, 뉴런들의 다중 레벨들을 갖는 예시적인 신경 시스템 (100) 을 예시한다. 신경 시스템 (100) 은 시냅스 접속들 (즉, 공급-순방향 접속들) 의 네트워크 (104) 를 통해서 또 다른 뉴런들의 레벨 (106) 에 연결된 뉴런들의 레벨 (102) 을 포함할 수도 있다. 더 적거나 또는 더 많은 뉴런들의 레벨들이 전형적인 신경 시스템에 존재할 수도 있지만, 간결성을 위해, 단지 2개의 뉴런들의 레벨들이 도 1 에 예시된다. 뉴런들의 일부가 측면 접속들을 통해서 동일한 계층의 다른 뉴런들에 접속할 수도 있다는 점에 유의해야 한다. 더욱이, 뉴런들의 일부는 피드백 접속들을 통해서 이전 계층의 뉴런에 되접속할 수도 있다.
도 1 에 예시된 바와 같이, 레벨 (102) 에서 각각의 뉴런은 이전 레벨의 복수의 뉴런들 (도 1 에 미도시) 에 의해 발생될 수도 있는 입력 신호 (108) 를 수신할 수도 있다. 신호 (108) 는 레벨 (102) 뉴런에의 입력 (예컨대, 입력 전류) 을 나타낼 수도 있다. 이러한 입력들은 멤브레인 전위를 충전시키기 위해 뉴런 멤브레인 상에 축적될 수도 있다. 멤브레인 전위가 그의 임계값에 도달할 때, 뉴런은 발화하여 뉴런들의 다음 레벨 (예컨대, 레벨 (106)) 로 전달될 출력 스파이크를 발생시킬 수도 있다. 이러한 거동은 아날로그 및 디지털 구현예들을 포함한, 하드웨어 및/또는 소프트웨어로 에뮬레이트되거나 또는 시뮬레이션될 수 있다.
생물학적 뉴런들에서, 뉴런이 발화할 때 발생되는 출력 스파이크는 활동 전위 (action potential) 로서 지칭된다. 이 전기 신호는 대략 100 mV 의 진폭 및 약 1 ms 의 지속시간을 갖는, 상대적으로 빠른, 일시적인, 양단간 (all-or nothing) 신경 임펄스이다. 접속된 뉴런들의 시리즈를 갖는 신경 시스템의 특정의 양태 (예컨대, 도 1 에서 뉴런들의 하나의 레벨로부터 또 다른 레벨로의 스파이크들의 전송) 에서, 모든 활동 전위는 기본적으로 동일한 진폭 및 지속기간을 가지며, 따라서, 신호 내 정보는 진폭에 의해서가 아닌, 스파이크들의 주파수 및 개수 (또는, 스파이크들의 시간) 에 의해서 단지 표현된다. 활동 전위에 의해 운반되는 정보는 스파이크, 스파이크된 뉴런, 및 하나 이상의 다른 스파이크들에 대한 그 스파이크의 시간에 의해 결정된다.
뉴런들의 하나의 레벨로부터 또 다른 레벨로의 스파이크들의 전송은 도 1 에 예시된 바와 같이, 시냅스 접속들의 네트워크 (또는, 간단히 "시냅스들") (104) 를 통해서 달성될 수도 있다. 시냅스들 (104) 은 레벨 (102) 뉴런들 (시냅스들 (104) 에 대한 시냅스전 뉴런들) 로부터 출력 신호들 (즉, 스파이크들) 을 수신할 수도 있다. 소정의 양태들에 있어, 이들 신호들은 조정가능한 시냅스 가중치들 ω1 (i,i+1), ..., ωP (i,i+1) (여기서, P 는 레벨들 102 와 106 의 뉴런들 사이의 시냅스 접속들의 총 개수이다) 에 따라서 스케일링될 수도 있다. 다른 양태들에 대해, 시냅스들 (104) 은 임의의 시냅스 가중치들을 적용하지 않을 수도 있다. 또, (스케일링된) 신호들은 레벨 (106) (시냅스들 (104) 에 대한 시냅스후 뉴런들) 에서 각각의 뉴런의 입력 신호로서 결합될 수도 있다. 레벨 (106) 에서의 모든 뉴런은 대응하는 결합된 입력 신호에 기초하여 출력 스파이크들 (110) 을 발생할 수도 있다. 출력 스파이크들 (110) 은 그후 시냅스 접속들의 또 다른 네트워크 (도 1 에 미도시) 를 이용하여 뉴런들의 또 다른 레벨로 전달될 수도 있다.
생물학적 시냅스들은 전기적 또는 화학적 시냅스로 분류될 수도 있다. 전기적 시냅스들이 흥분성 신호들을 전송하는데 주로 사용되는 반면, 화학적 시냅스들은 시냅스후 뉴런들에서의 흥분성 또는 억제성 (과분극하는) 활동들을 중재할 수 있으며, 또한 뉴런 신호들을 증폭하도록 기능할 수 있다. 흥분성 신호들은 일반적으로 멤브레인 전위를 탈분극시킨다 (즉, 휴지 전위에 대해 멤브레인 전위를 증가시킨다). 멤브레인 전위를 임계값 초과하여 탈분극시키기 위해서 충분한 흥분성 신호들이 소정의 기간 이내에 수신되면, 활동 전위가 시냅스후 뉴런에서 발생한다. 이에 반해, 억제성 신호들은 일반적으로 멤브레인 전위를 탈분극시킨다 (즉, 감소시킨다). 억제성 신호들은, 충분히 강하면, 흥분성 신호들의 총합을 상쇄시킬 수 있으며 멤브레인 전위가 임계값에 도달하는 것을 방지할 수 있다. 시냅스 흥분을 중화시키는 것에 더해서, 시냅스 억제는 자발적 활성 뉴런들에 걸쳐서 강력한 제어를 행할 수 있다. 자발적 활성 뉴런은 추가적인 입력 없이, 예를 들어, 그의 동력학 또는 피드백으로 인해 스파이크하는 뉴런을 지칭한다. 이들 뉴런들에서 활동 전위들의 자발적 발생을 억제함으로써, 시냅스 억제는 요철모양 (sculpturing) 으로 일반적으로 지칭되는, 뉴런에서의 발화의 패턴을 형상화할 수 있다. 여러 시냅스들 (104) 은 원하는 거동에 따라서, 흥분성 또는 억제성 시냅스들의 임의의 조합으로서 작용할 수도 있다.
신경 시스템 (100) 은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스 (PLD), 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 구성요소들, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 이들의 임의의 조합에 의해 에뮬레이트될 수도 있다. 신경 시스템 (100) 은 넓은 범위의 애플리케이션들, 예컨대 이미지 및 패턴 인식, 기계 학습, 모터 제어 등에 활용될 수도 있다. 신경 시스템 (100) 에서 각각의 뉴런은 뉴런 회로로서 구현될 수도 있다. 출력 스파이크를 개시하는 임계값까지 충전되는 뉴런 멤브레인은 예를 들어, 그를 통과해서 흐르는 전류를 적분하는 커패시터로서 구현될 수도 있다.
일 양태에서, 커패시터는 뉴런 회로의 전류 적분 (integrating) 디바이스로서 제거될 수도 있으며, 더 작은 멤리스터 엘리먼트가 그 대신에 사용될 수도 있다. 이 접근법은 뉴런 회로들에서 뿐만 아니라, 부피가 큰 커패시터들이 전류 적분기들 (electrical current integrators) 로서 사용되는 여러 다른 애플리케이션들에서 제공될 수도 있다. 게다가, 시냅스들 (104) 의 각각은 멤리스터 엘리먼트에 기초하여 구현될 수도 있으며, 여기서 시냅스 가중치 변화들은 멤리스터 저항의 변화들에 관련될 수도 있다. 나노미터 최소 배선폭 (nanometer feature-sized) 멤리스터들에 의하면, 뉴런 회로 및 시냅스들의 영역이 실질적으로 감소될 수도 있으며, 이것은 초대규모의 신경 시스템 하드웨어 구현예의 구현을 실현가능하게 할 수도 있다.
신경 시스템 (100) 을 에뮬레이트하는 신경 프로세서의 기능은 뉴런들 사이의 접속들의 강도들을 제어할 수도 있는 시냅스 접속들의 가중치들에 의존할 수도 있다. 시냅스 가중치들은 전원 차단되어진 후 프로세서의 기능을 유지하기 위해 비-휘발성 메모리에 저장될 수도 있다. 일 양태에서, 시냅스 가중치 메모리는 메인 신경 프로세서 칩과 별개인 외부 칩 상에 구현될 수도 있다. 시냅스 가중치 메모리는 교체가능한 메모리 카드로서 신경 프로세서 칩과는 별개로 패키지될 수도 있다. 이것은 신경 프로세서에 다양한 기능들을 제공할 수도 있으며, 여기서 특정의 기능은 신경 프로세서에 현재 부착된 메모리 카드에 저장되는 시냅스 가중치들에 기초할 수도 있다.
도 2 는 본 개시물의 소정의 양태들에 따른, 연산 네트워크 (computational network) (예컨대, 신경 시스템 또는 신경 네트워크) 의 프로세싱 유닛 (예컨대, 인공 뉴런 (202)) 의 예 (200) 를 예시한다. 예를 들어, 뉴런 (202) 은 도 1 로부터의 레벨들 (102) 및 (106) 의 뉴런들 중 임의의 뉴런에 대응할 수도 있다. 뉴런 (202) 은 신경 시스템의 외부에 있는 신호들, 또는 동일한 신경 시스템의 다른 뉴런들에 의해 발생되는 신호들, 또는 양쪽일 수도 있는, 다수의 입력 신호들 2041-204N1N)을 수신할 수도 있다. 입력 신호는 실수 값 또는 복소수 값인, 전류 또는 전압일 수도 있다. 입력 신호는 고정-소수점 또는 부동-소수점 표시를 가진 수치 값을 포함할 수도 있다. 이들 입력 신호들은 조정가능한 시냅스 가중치들 2061-206N1N)에 따라서 신호들을 스케일링하는 시냅스 접속들을 통해서 뉴런 (202) 으로 전달될 수도 있으며, 여기서 N 은 뉴런 (202) 의 입력 접속들의 총 개수일 수도 있다.
뉴런 (202) 은 스케일링된 입력 신호들을 결합하고 그 결합된 스케일링된 입력들을 이용하여, 출력 신호 (208) (즉, 신호 y) 를 발생시킬 수도 있다. 출력 신호 (208) 는 실수 값 또는 복소수 값인, 전류, 또는 전압일 수도 있다. 출력 신호는 고정-소수점 또는 부동-소수점 표시를 가진 수치 값을 포함할 수도 있다. 출력 신호 (208) 는 그후 동일한 신경 시스템의 다른 뉴런들에의 입력 신호로서, 또는 동일한 뉴런 (202) 에의 입력 신호로서, 또는 신경 시스템의 출력으로서 전달될 수도 있다.
프로세싱 유닛 (뉴런 (202)) 은 전기 회로에 의해 에뮬레이트될 수도 있으며, 그의 입력 및 출력 접속들은 시냅스 회로들을 가진 와이어들에 의해 에뮬레이트될 수도 있다. 프로세싱 유닛, 그의 입력 및 출력 접속들은 또한 소프트웨어 코드에 의해 에뮬레이트될 수도 있다. 프로세싱 유닛은 또한 전기 회로에 의해 에뮬레이트될 수도 있으며, 반면 그의 입력 및 출력 접속들은 소프트웨어 코드에 의해 에뮬레이트될 수도 있다. 일 양태에서, 컴퓨터 네트워크에서 프로세싱 유닛은 아날로그 전기 회로를 포함할 수도 있다. 또 다른 양태에서, 프로세싱 유닛은 디지털 전기 회로를 포함할 수도 있다. 여전히, 또 다른 양태에서, 프로세싱 유닛은 아날로그 및 디지털 구성요소들 양쪽과의 혼합된 신호 전기 회로를 포함할 수도 있다. 컴퓨터 네트워크는 프로세싱 유닛들을 전술한 유형들 중 임의의 유형으로 포함할 수도 있다. 이러한 프로세싱 유닛들을 이용하는 컴퓨터 네트워크 (신경 시스템 또는 신경 네트워크) 는 이미지 및 패턴 인식, 기계 학습, 모터 제어 등과 같은, 큰 범위의 애플리케이션들에 활용될 수도 있다.
신경 네트워크를 학습하는 과정 동안, 시냅스 가중치들 (예컨대, 도 1 로부터 가중치들 ω1 (i,i+1), ..., ωP (i,i+1) 및/또는 도 2 로부터 가중치들 2061-206N) 은 무작위 값들로 초기화되고, 그리고 학습 규칙에 따라서 증가되거나 또는 감소될 수도 있다. 학습 규칙의 일부 예들은 스파이크-타이밍-의존적인 가소성 (STDP) 학습 규칙, Hebb 규칙, Oja 규칙, Bienenstock-Copper-Munro (BCM) 규칙, 등이다. 매우 자주, 가중치들은 2개의 값들 (즉, 가중치들의 이봉 분포) 중 하나로 정할 수도 있다. 이 효과는 시냅스 가중치 당 비트수를 감소시키고, 시냅스 가중치들를 저장하는 메모리로부터 판독하고 그에 기록하는 속도를 증가시키고, 그리고 시냅스 메모리의 소비 전력을 감소시키는데 이용될 수 있다.
시냅스 유형
신경 네트워크들의 하드웨어 및 소프트웨어 모델들에서, 시냅스 관련 기능들의 프로세싱은 시냅스 유형에 기초할 수 있다. 시냅스 유형들은 비가소성 (non-plastic) 시냅스들 (소정의 가중치 및 지연의 변화들이 없음), 가소성 시냅스들 (가중치가 변할 수도 있음), 구조적 지연 가소성 시냅스들 (가중치 및 지연이 변할 수도 있음), 완전 가소성 시냅스들 (가중치, 지연 및 연결성 (connectivity) 이 변할 수도 있음), 및 그의 변형예들 (예컨대, 지연이 변할 수 있지만, 소정의 가중치 또는 연결성에서의 변화도 없음) 을 포함할 수도 있다. 이것의 이점은 프로세싱이 세분될 수 있다는 점이다. 예를 들어, 비가소성 시냅스들은 가소성 기능들이 실행되는 것을 (또는, 이러한 기능들이 완료하기를 대기하는 것을) 필요로 하지 않을 수도 있다. 이와 유사하게, 지연 및 가중치 가소성은 함께 또는 별개로, 차례차례로 또는 병렬로, 동작할 수도 있는 동작들로 세분될 수도 있다. 상이한 유형들의 시냅스들은 적용하는 상이한 가소성 유형들의 각각에 대해 상이한 룩업 테이블들 또는 공식들 및 파라미터들을 가질 수도 있다. 따라서, 방법들은 시냅스의 유형에 대한 관련된 테이블들에 액세스할 것이다.
스파이크-타이밍 의존적인 구조적 가소성이 시냅스 가소성과는 독립적으로 실행될 수도 있다는 사실의 추가적인 암시들이 있다. 구조적 가소성은, 구조적 가소성 (즉, 지연 변화의 양) 이 직접 사전-사후 스파이크 시간 차이의 양의 (direct) 함수일 수도 있기 때문에, 설령 가중치 크기에 어떠한 변화도 없더라도 (예컨대, 가중치가 최소 또는 최대 값에 도달하였거나, 또는 일부 다른 원인으로 인해 변화되지 않으면) 실행될 수도 있다. 이의 대안으로, 이것은 가중치 변화 양의 함수로서, 또는 가중치들 또는 가중치 변화들의 범위들에 관련된 조건들에 기초하여 설정될 수도 있다. 예를 들어, 시냅스 지연은 단지 가중치 변화가 일어날 때 또는 가중치들이 제로에 도달하면 변할 수도 있으며, 그러나 가중치들이 최대에 도달되면, 변하지 않을 수도 있다. 그러나, 이들 프로세스들을 병렬화하여 메모리 액세스들의 수 및 중첩을 감소시킬 수 있도록 독립적인 기능들을 갖는 것이 유리할 수 있다.
시냅스 가소성의 결정
신경가소성 (또는, 간단히 "가소성") 은 새로운 정보, 감각의 자극, 발달, 손상, 또는 기능장애에 응답하여, 그들의 시냅스 접속들 및 거동을 변경하는, 뇌에서의 뉴런들 및 신경 네트워크들의 능력 (capacity) 이다. 가소성은 생물학에서의 학습 및 기억, 뿐만 아니라 연산 신경과학 및 신경 네트워크들에 중요하다. (예컨대, Hebbian 이론에 따른) 시냅스 가소성, 스파이크-타이밍-의존적인 가소성 (STDP), 비-시냅스 가소성, 활동-의존적 가소성, 구조적 가소성, 및 항상적 가소성 (homeostatic plasticity) 과 같은, 가소성의 여러 형태들이 연구되었다.
STDP 는 뇌에서의 뉴런들과 같은, 뉴런들 사이의 시냅스 접속들의 강도를 조정하는 학습 프로세스이다. 접속 강도들은 특정의 뉴런의 출력 및 수신된 입력 스파이크들 (즉, 활동 전위들) 의 상대적인 타이밍에 기초하여 조정된다. STDP 프로세스 하에서, 장기 강화 (LTP) 는, 소정의 뉴런으로의 입력 스파이크가 평균적으로, 그 뉴런의 출력 스파이크 직전에 발생하는 경향이 있으면, 일어날 수도 있다. 그 후, 그 특정의 입력이 다소 더 강하게 이루어진다. 이에 반해, 장기 억압 (LTD) 은 입력 스파이크가 평균적으로, 출력 스파이크 직후에 발생하는 경향이 있으면, 일어날 수도 있다. 그 후, 그 특정의 입력이 다소 더 약하게 이루어지며, "스파이크-타이밍-의존적 가소성" 으로 명명한다. 그 결과, 시냅스후 뉴런의 여기의 원인일지도 모르는 입력들은 미래에 심지어 더 많이 기여할 가능성이 있도록 이루어지며, 반면 시냅스후 스파이크의 원인이 아닌 입력들은 미래에 덜 기여할 가능성이 있도록 이루어진다. 프로세스는 접속들의 초기 세트의 서브세트가 유지되지만 모든 나머지의 영향이 제로 또는 거의 제로로 감소될 때까지 계속한다.
그의 입력들 중 많은 입력들이 (즉, 출력을 일으키는데 충분히 누적적인) 짧은 기간 내에 일어날 때 뉴런이 일반적으로 출력 스파이크를 발생하기 때문에, 일반적으로 남아 있는 입력들의 서브세트는 시간에 맞춰 상관되려는 경향이 있는 입력들을 포함한다. 게다가, 출력 스파이크 전에 발생하는 입력들이 강화되기 때문에, 가장 빠른 충분히 누적적인 상관의 표시를 제공하는 입력들이 결국 뉴런에의 최종 입력이 될 것이다.
STDP 학습 규칙은 시냅스전 뉴런을 시냅스후 뉴런에 접속하는 시냅스의 시냅스 가중치를 시냅스전 뉴런의 스파이크들 시간 tpre 과 시냅스후 뉴런의 스파이크 시간 tpost 사이의 시간 차이 (즉, t=tpost-tpre) 의 함수로서 효과적으로 적응시킬 수도 있다. STDP 의 전형적인 공식화 (formulation) 는, 시간 차이가 양이면 (시냅스전 뉴런이 시냅스후 뉴런 이전에 발화하면) 시냅스 가중치를 증가시키고 (즉, 시냅스를 강화시키고 (potentiate)), 그리고 시간 차이가 음이면 (시냅스후 뉴런이 시냅스전 뉴런 전에 발화하면) 시냅스 가중치를 감소시키는 (즉, 시냅스를 억압하는) 것이다.
STDP 프로세스에서, 시간에 걸친 시냅스 가중치의 변화는 다음으로 주어진 바와 같이, 지수 감쇠를 이용하여 달성될 수도 있으며,
Figure 112015115605659-pct00001
여기서, k+ 및 k- 는 각각 양 및 음의 시간 차이에 대한 시상수들이고, 그리고 α+ 및 α- 는 대응하는 스케일링 크기들이고, 그리고 μ는 양의 시간 차이 및/또는 음의 시간 차이에 적용될 수도 있는 오프셋이다.
도 3은 STDP 에 따른 시냅스전 및 시냅스후 스파이크들의 상대적인 타이밍의 함수로서의 시냅스 가중치 변화의 예시적인 그래프 (300) 를 예시한다. 시냅스전 뉴런이 시냅스후 뉴런 이전에 발화하면, 대응하는 시냅스 가중치가 그래프 (300) 의 부분 (302) 에 예시된 바와 같이, 증가될 수도 있다. 이 가중치 증가는 시냅스의 LTP 로서 지칭될 수 있다. LTP 의 양이 시냅스전 및 시냅스후 스파이크 시간들 사이의 차이의 함수로서 거의 기하급수적으로 감소할 수도 있다는 것이 그래프 부분 (302) 로부터 관찰될 수 있다. 발화의 역방향 순서는 시냅스 가중치를 감소시켜, 그래프 (300) 의 부분 (304) 에 예시된 바와 같이, 시냅스의 LTD 를 초래할 수도 있다.
도 3 에서 그래프 (300) 에 예시된 바와 같이, 음의 오프셋 μ는 STDP 그래프의 LTP (인과관계의) 부분 (302) 에 적용될 수도 있다. X-축 (y=0) 의 교차 지점 (306) 은 계층 i-1 (시냅스전 층) 로부터의 인과관계의 입력들에 대한 상관을 고려하기 위해 최대 시간 지체와 일치하도록 구성될 수도 있다. 프레임-기반의 입력의 경우 (즉, 입력이 스파이크들 또는 펄스들을 포함하는 특정의 지속기간의 프레임의 유형인 경우) 에, 오프셋 값 μ는 프레임 경계를 반영하도록 연산될 수 있다. 프레임에서 제 1 입력 스파이크 (펄스) 는 시냅스후 전위에 의해 직접적으로 모델링될 때와 같이 또는 신경 상태에 대한 효과의 관점에서 시간에 걸쳐서 감쇠하는 것으로 간주될 수도 있다. 프레임에서 제 2 입력 스파이크 (펄스) 가 특정의 시간 프레임과 상관되거나 또는 관련되는 것으로 간주되면, 프레임 전후에 관련된 시간들은, 관련된 시간들에서의 값이 상이할 수 있도록 (예컨대, 하나의 프레임보다 큰 것에 대해 음 및 하나의 프레임보다 작은 것에 대해 양) STDP 곡선의 하나 이상의 부분들을 오프셋함으로써, 그 시간 프레임 경계에서 분리될 수도 있으며, 가소성 항들 (terms) 에서 상이하게 취급될 수도 있다. 예를 들어, 음의 오프셋 μ는, 곡선이 실제로 프레임 시간보다 큰 사전-사후 시간에서 제로 아래로 가며 따라서 LTP 대신 LTD 의 부분이도록, LTP 를 오프셋하도록 설정될 수도 있다.
뉴런 모델들 및 동작
유용한 스파이킹 뉴런 모델을 설계하기 위한 일부 일반적인 원리들이 존재한다. 우수한 뉴런 모델은 2개의 연산 체계들, 즉 일치 검출 및 함수적 연산의 관점에서, 풍부한 전위 거동을 가질 수도 있다. 더욱이, 우수한 뉴런 모델은 시간 코딩을 가능하게 하기 위해 2개의 엘리먼트들을 가져야 한다: 입력들의 도달 시간은 출력 시간에 영향을 미치며 일치 검출은 좁은 시간 윈도우를 가질 수 있다. 마지막으로, 연산적으로 흥미를 끌기 위해서, 우수한 뉴런 모델은 연속적인 시간으로 닫힌 형태의 해 (closed-form solution) 를 가지며 가까운 어트랙터들 (attractors) 및 새들 (saddle) 지점들을 포함한 안정한 거동을 가질 수도 있다. 즉, 유용한 뉴런 모델은 풍부하고 현실적이고 생물학적으로 일관된 거동들을 모델링하는데 뿐만 아니라, 신경 회로들 설계하고 역설계하는데 모두 사용될 수 있으며, 그리고 실용적인 모델이다.
뉴런 모델은 입력 도달, 출력 스파이크 또는 내부든 또는 외부든 다른 이벤트와 같은 이벤트들에 의존할 수도 있다. 풍부한 행동 레파토리를 획득하기 위해, 복잡한 거동들을 나타낼 수도 있는 상태 머신이 요망될 수도 있다. 입력 기여 (있다면) 와는 별개인, 이벤트 자체의 발생이 상태 머신에 영향을 미치거나 그 이벤트에 후속하는 동력학을 구속할 수 있으면, 시스템의 미래 상태는 오직 상태 및 입력의 함수라기 보다는, 상태, 이벤트, 및 입력의 함수이다.
일 양태에서, 뉴런 n 은 다음 동력학에 의해 지배되는 멤브레인 전압 νn(t) 을 가진 스파이킹 누설 적분 발화 (spiking leaky-integrate-and-fire) 뉴런으로서 모델링될 수도 있으며,
Figure 112015115605659-pct00002
여기서, α 및 β 는 파라미터들이고, ωm,n 는 시냅스전 뉴런 m 을 시냅스후 뉴런 n 에 접속하는 시냅스에 대한 시냅스 가중치이고, 그리고 ym(t)는 뉴런 n 의 세포체에서 도달까지
Figure 112015115605659-pct00003
tm ,n 에 따른 수상 (dendritic) 또는 축삭 (axonal) 지연에 의해 지연될 수도 있는 뉴런 m 의 스파이킹 출력이다.
지연 시냅스후 뉴런으로의 충분한 입력이 확립될 때의 시간으로부터 시냅스후 뉴런이 실제로 발화할 때의 시간까지 지연이 존재한다는 점에 유의해야 한다. Izhikevich의 단순 모델과 같은, 역학적 스파이킹 뉴런 모델에서, 시간 지연이 탈분극 임계값 νt 와 피크 스파이크 전압 νpeak 사이의 차이가 있으면 초래될 수도 있다. 예를 들어, 단순 모델에서, 뉴런 세포체 동력학은 다음과 같은, 전압 및 복구에 대한 미분 방정식들의 쌍에 의해 지배될 수 있으며,
Figure 112015115605659-pct00004
여기서, ν 는 멤브레인 전위이고, u 는 멤브레인 복구 변수이고, k 는 멤브레인 전위 ν 의 시간 척도를 기술하는 파라미터이고, α 는 복구 변수 u 의 시간 척도를 기술하는 파라미터이고, b 는 멤브레인 전위 ν 의 임계값 아래의 (sub-threshold) 요동들에 대한 복구 변수 u 의 감도를 기술하는 파라미터이고, νr 는 멤브레인 휴지 전위이고, I 는 시냅스 전류이고, 그리고 C 는 멤브레인의 커패시턴스이다. 이 모델에 따르면, 뉴런은 ν>νpeak 일 때 스파이크하도록 정의된다.
Hunzinger Cold 모델
Hunzinger Cold 뉴런 모델은 신경 거동들의 풍부한 변종을 재현할 수 있는 최소 이중 체계 스파이킹 선형 동역학적 모델이다. 모델의 1 또는 2차원 선형 동력학은 2개의 체계들을 가질 수 있으며, 여기서, 시상수 (및 커플링) 는 그 체계에 의존할 수 있다. 임계값 아래의 체계에서, 시상수, 즉, 규약에 의한 음수는, 생물학적으로 일관된 선형 방식으로 셀을 휴지로 복귀시키려고 일반적으로 작용하는 누설 채널 동력학을 나타낸다. 임계값 이상의 (supra-threshold) 체계에서의 시상수, 즉, 규약에 의한 양수는, 스파이크하도록 셀을 일반적으로 구동하지만 스파이크 발생에서 레이턴시를 초래하는 누설 방지 채널 동력학을 반영한다.
도 4 에 예시된 바와 같이, 모델의 동력학은 2개의 (또는 그 이상의) 체계들로 분할될 수도 있다. 이들 체계들은 (LIF 뉴런 모델과 혼동되지 않도록, 누설 적분 발화 (LIF) 체계로서 상호교환가능하게 또한 지칭되는) 음의 체계 (402) 및 (ALIF 뉴런 모델과 혼동되지 않도록, 누설 방지 적분 발화 (ALIF) 체계로서 상호교환가능하게 또한 지칭되는) 양의 체계 (404) 로 불릴 수도 있다. 음의 체계 (402) 에서, 그 상태는 미래 이벤트 시에 휴지 (ν-) 에 빠지는 경향이 있다. 이 음의 체계에서, 모델은 일반적으로 시간 입력 검출 성질들 및 다른 임계값 아래의 거동을 나타낸다. 양의 체계 (404) 에서, 그 상태는 스파이킹 이벤트 (νS) 에 빠지는 경향이 있다. 이 양의 체계에서, 모델은 후속 입력 이벤트들에 따라서 스파이크하기 위해 레이턴시를 초래하는 것과 같은, 연산 성질들을 나타낸다. 이벤트들의 관점에서 동력학의 공식화 및 이들 2개의 체계들로의 동력학의 분리는 모델의 기본적인 특성들이다.
(상태들 ν 및 u 에 대해) 선형 이중 체계 2차원 동력학은 다음과 같이 규약에 의해 정의될 수도 있으며,
Figure 112015115605659-pct00005
여기서, qρ 및 γ 는 커플링을 위한 선형 변환 변수들이다.
심볼 ρ 는 본원에서, 특정의 체계에 대한 관계를 논의하거나 또는 표현할 때, 심볼 ρ 를 음의 및 양의 체계들에 대해 부호 "-" 또는 "+" 로 각각 대체하는 규약를 가진 동력학 체계를 표시하기 위해 사용된다.
모델 상태는 멤브레인 전위 (전압) ν 및 복구 전류 u 에 의해 정의된다. 기본적인 유형에서, 체계는 모델 상태에 의해 본질적으로 결정된다. 정확하고 일반적인 정의의 미묘하지만 중요한 양태들이 존재하며, 그러나 지금은, 전압 ν 이 임계값 (ν+) 보다 크면 양의 체계 (404) 에, 그렇지 않으면 음의 체계 (402) 에 그 모델이 있는 것으로 간주한다.
체계 의존적인 시상수들은 음의 체계 시상수인 τ-, 및 양의 체계 시상수인 τ+ 을 포함한다. 복구 전류 시상수τu 는 일반적으로 체계와 무관하다. 편의를 위해, 음의 체계 시상수 τ- 는 감쇠를 반영하기 위해 음의 양으로서 일반적으로 규정되어, τu 인 바와 같이, 전압 발전 (voltage evolution) 에 대해 동일한 수식이 지수 및 τ+ 가 일반적으로 양수일 양의 체계에 대해 사용될 수 있도록 한다.
2개의 상태 엘리먼트들의 동력학은 이벤트들에서 그들의 널-클라인들로부터 그 상태들을 오프셋하는 변환들에 의해 커플링될 수도 있으며, 여기서, 변환 변수들은 다음과 같으며
Figure 112015115605659-pct00006
여기서, δ, ε, β 및 ν-, ν+ 는 파라미터들이다. νρ 에 대한 2개의 값들은 2개의 체계들에 있어 참조 전압들에 대한 베이스이다. 파라미터 ν- 는 음의 체계에 대한 베이스 전압이며, 멤브레인 전위는 일반적으로 음의 체계에서 ν- 쪽으로 감쇠할 것이다. 파라미터 ν+ 는 양의 체계에 대한 베이스 전압이며, 멤브레인 전위는 일반적으로 양의 체계에서 ν+ 쪽으로부터 나아갈 것이다.
ν 및 u 에 대한 널-클라인들 (null-clines) 은 변환 변수들 qρ 및 r 의 음수로 각각 주어진다. 파라미터 δ 는 u 널-클라인의 기울기를 제어하는 스케일 인자이다. 파라미터 ε 은 일반적으로 -ν- 과 동일하게 설정된다. 파라미터 β 는 양쪽의 체계들에서 ν 널-클라인들의 기울기를 제어하는 저항값이다. τρ 시간-일정한 파라미터들은 지수 감쇠들 뿐만 아니라, 널-클라인 기울기들을 각각의 체계에서 별개로 제어한다.
모델은 전압 ν 이 값 νS 에 도달할 때 스파이크하도록 정의된다. 그 후에, 그 상태는 일반적으로 (기술적으로 하나이고 스파이크 이벤트와 동일할 수도 있는) 리셋 이벤트에서 리셋되며:
Figure 112015115605659-pct00007
여기서,
Figure 112015115605659-pct00008
Figure 112015115605659-pct00009
u 는 파라미터들이다. 리셋 전압
Figure 112015115605659-pct00010
은 일반적으로 ν- 으로 설정된다.
순간적인 커플링의 원리에 의해, 닫힌 형태의 해는 상태 (그리고 단일 지수 항을 가진 상태) 에 대해서 뿐만 아니라, 특정의 상태에 도달하는데 요구되는 시간에 대해서 가능하다. 닫힌 형태의 상태 해들은 다음과 같다
Figure 112015115605659-pct00011
따라서, 모델 상태는 입력 (시냅스전 스파이크) 또는 출력 (시냅스후 스파이크) 시와 같은 이벤트들 시에 단지 업데이트될 수도 있다. 동작들은 또한 (입력이든 또는 출력이든) 임의의 특정의 시간에 수행될 수도 있다.
더욱이, 순간적인 커플링 원리에 의해, 시냅스후 스파이크의 시간은, 특정의 상태에 도달하는 시간이 반복 기법들 또는 수치 방법들 (예컨대, Euler 수치 방법) 없이 미리 결정될 수도 있도록, 예상될 수도 있다. 이전 전압 상태 ν0 로 주어지면, 전압 상태 νf 에 도달되기 전까지의 시간 지연은 다음과 같이 주어진다.
Figure 112015115605659-pct00012
전압 상태 ν 가 νS 에 도달하는 시간에서 일어나는 것으로 스파이크가 정의되면, 전압이 주어진 상태 ν 에 있는 시간으로부터 측정될 때 스파이크들이 발생할 때까지, 시간의 양, 또는 상대적인 지연에 대한 닫힌 형태의 해는 다음과 같으며,
Figure 112015115605659-pct00013
(14)
여기서,
Figure 112015115605659-pct00014
는 다른 변형예들이 가능할 수도 있지만 파라미터 ν+ 로 일반적으로 설정된다.
상기 모델 동력학의 정의들은 모델이 양의 체계 또는 음의 체계인지 여부에 의존한다. 언급한 바와 같이, 커플링 및 체계 ρ 는 이벤트들 시에 연산될 수도 있다. 상태 전파의 목적들을 위해, 체계 및 커플링 (변환) 변수들은 최종 (선행의 (prior)) 이벤트 시의 그 상태에 기초하여 정의될 수도 있다. 스파이크 출력 시간을 이후에 예상하려는 목적을 위해, 체계 및 커플링 변수는 다음 (현재의) 이벤트 시의 상태에 기초하여 정의될 수도 있다.
Cold 모델의 여러 가능한 구현예들이 있으며, 그 시뮬레이션, 에뮬레이션 또는 모델을 시간에 맞춰 실행하고 있다. 이것은 예를 들어, 이벤트-업데이트, 스텝-이벤트 업데이트, 및 스텝-업데이트 모드들을 포함한다. 이벤트 업데이트는 (특정의 순간에서) 이벤트들 또는 "이벤트 업데이트" 에 기초하여 상태들이 업데이트되는 업데이트이다. 스텝 업데이트는 모델이 간격들 (예컨대, 1ms) 로 업데이트되는 업데이트이다. 이것은 반복 방법들 또는 수치적 방법들을 반드시 필요로 하지는 않는다. 이벤트-기반의 구현예는 또한 스텝들에서 또는 그들 사이에, 또는 "스텝-이벤트" 업데이트에 의해 이벤트가 발생하면 모델을 단지 업데이트함으로써, 제한된 시간 해상도에서, 스텝-기반의 시뮬레이터에서, 가능하다.
신경 코딩
도 1 의 인공 뉴런들 (102, 106) 로 이루어진 모델과 같은, 유용한 신경 네트워크 모델은 일치 코딩 (coincidence coding), 시간 코딩 (temporal coding) 또는 레이트 코딩 (rate coding) 과 같은, 여러 적합한 신경 코딩 방식들 중 임의의 방식을 통해서 정보를 인코딩할 수도 있다. 일치 코딩에서, 정보는 뉴런 모집단 (population) 의 활동 전위들 (스파이킹 활동) 의 일치 (또는, 시간 근접성) 로 인코딩된다. 시간 코딩에서, 뉴런은 절대 시간으로든 또는 상대적인 시간으로든, 활동 전위들 (즉, 스파이크들) 의 정확한 타이밍을 통해서 정보를 인코딩한다. 정보는 따라서 뉴런들의 모집단 중 스파이크들의 상대적인 타이밍으로 인코딩될 수도 있다. 이에 반해, 레이트 코딩은 신경 정보를 발화 레이트 또는 모집단 발화 레이트로 코딩하는 것을 수반한다.
뉴런 모델이 시간 코딩을 수행할 수 있으면, 뉴런 모델은 또한 (레이트가 단지 타이밍 또는 스파이크간 간격들의 함수이기 때문에) 레이트 코딩을 수행할 수 있다. 시간 코딩을 가능하게 하기 위해, 우수한 뉴런 모델은 다음의 2개의 엘리먼트들을 가져야 한다: (1) 입력들의 도달 시간이 출력 시간에 영향을 미친다; 그리고 (2) 일치 검출이 좁은 시간 윈도우를 가질 수 있다. 접속 지연들은, 시간 패턴의 엘리먼트들을 적당히 지연시킴으로써, 엘리먼트들이 타이밍 일치가 될 수도 있기 때문에, 일치 검출을 시간 패턴 디코딩으로 확장하는 하나의 수단을 제공한다.
도달 시간
우수한 뉴런 모델에서, 입력의 도달 시간은 출력의 시간에 영향을 미쳐야 한다. 시냅스 입력은 Dirac delta 함수든 또는 형상화된 시냅스후 전위 (PSP)든, 흥분성 (EPSP) 이든 또는 억제성 (IPSP) 이든, 입력 시간으로서 지칭될 수도 있는 도달 시간 (예컨대, delta 함수의 시간 또는 스텝 또는 다른 입력 함수의 시작 또는 피크) 를 갖는다. 뉴런 출력 (즉, 스파이크) 은 (예컨대, 세포체에서, 축삭을 따른 지점에서, 또는 축삭의 말단에서 측정될 때는 언제나) 출력 시간으로 지칭될 수도 있는 발생의 시간을 갖는다. 그 출력 시간은 스파이크의 피크의 시간, 스파이크들의 시작, 또는 출력 파형과 관련된 임의의 다른 시간일 수도 있다. 아주 중요한 원리는 출력 시간이 입력 시간에 의존한다는 것이다.
사람들은 언뜻 보기에는 모든 뉴런 모델들이 이 원리에 따른다고 생각할지 모르지만, 이것은 일반적으로 사실이 아니다. 예를 들어, 레이트-기반의 모델들은 이 특징을 갖지 않는다. 많은 스파이킹 모델들은 또한 일반적으로 따르지 않는다. 누설 적분 발화 (leaky-integrate-and-fire; LIF) 모델은 (임계값을 넘은) 여분의 입력들이 존재하면, 더 이상 빨리 발화하지 않는다. 더욱이, 아주 높은 타이밍 해상도에서 모델링되면 따를지도 모르는 모델들은 종종 타이밍 해상도가 예컨대, 1 ms 스텝들까지 제한될 때 따르지 않을 것이다.
입력들
뉴런 모델에의 입력은 전류들로서의 입력들, 또는 컨덕턴스-기반의 입력들과 같은, Dirac delta 함수들을 포함할 수도 있다. 후자의 경우에, 뉴런 상태에의 기여는 연속적이거나 또는 상태-의존적일 수도 있다.
스파이킹 네트워크들의 효율적인 하드웨어 구현예
본 개시물의 소정의 양태들은 스파이킹 신경 네트워크들의 효율적인 하드웨어 구현예를 제공한다. 스파이크 기반의 연산은 하드웨어에서 구현되는 경우 특별한 고려사항들을 필요로 할 수도 있다. 매우 미세한 그레인 병렬성은 종종 스파이크 기반의 연산을 이용한 인공 신경계에 내재한다. 예를 들어, 뉴런 "팬 아웃 (fan-out)"은 스파이킹 신경 네트워크 (인공 신경계, 예를 들어, 도 1로부터의 시스템 (100)) 에서 다수의 인공 뉴런들에 대해 효율적으로 연산될 필요가 있을 수도 있다. 본 과제에 대한 해결책은 동적 랜덤 액세스 메모리 (DRAM) 를 이용하는 것과 관련될 수 있고, 이것은 최고 밀도를 갖는 현재 기술을 나타내고 최고 메모리 스루풋에 대한 연속적인 액세스를 요구한다. 더욱이, 스파이크 기반의 연산은 인공 신경계의 시냅스전 및 시냅스후 인공 뉴런들에 대한 가소성 쿼리를 필요로 할 수도 있다.
도 5는 본 개시물의 소정의 양태들에 따른, 인공 신경계의 예시적인 하드웨어 구현예 (500) 를 나타낸다. 상술한 바와 같이, STDP 학습 규칙에 기반한 시냅스 가중치들의 업데이트 (학습) 는 효과 가소성 업데이트 및 리어셈블 블록 (502) 에서 일어날 수도 있다. 본 개시물의 소정의 양태들에 있어서, 업데이트된 시냅스 가중치들 및 가소성 파라미터들은 캐시 라인 인터페이스 (504) 를 통해서 오프 칩 메모리 (예를 들어, DRAM (506)) 에 저장될 수도 있다.
통상적인 인공 신경계에는, 인공 뉴런들보다 매우 더 많은 시냅스들 (시냅스 접속들) 이 있다. 이로인해, 큰 신경 네트워크 (인공 신경계) 의 경우, 시냅스 가중치 업데이트들을 효율적인 방식으로 프로세싱하는 것이 종종 소망된다. 다수의 시냅스들은 시냅스 가중치들 및 다른 파라미터들을 메모리 (예를 들어, DRAM (506)) 에 저장하는 것을 제안할 수도 있다. 인공 신경계의 인공 뉴런들이 이른바 "슈퍼 뉴런 (SN)" (예를 들어, 도 5에서 SN (508)) 에서 스파이크들을 발생시키는 경우, 인공 뉴런들은 이들 스파이크들을 DRAM 룩업들을 통해 시냅스후 인공 뉴런들에 포워딩하여 시냅스후 인공 뉴런들 및 상응하는 신경 가중치들을 결정할 수도 있다.
빠르고 효율적인 룩업을 인에이블하기 위해, 시냅스 오더링은 예를 들어 인공 뉴런으로부터의 팬 아웃에 기초하여 메모리에서 연속적으로 유지될 수도 있다. 이후, 도 5의 효과 가소성 엡데이트 및 리어셈블 블록 (502) 에서 STDP 업데이트들을 프로세싱하는 경우, 효율성은 이 메모리 레이아웃을 고려할 때 포워드 팬 아웃에 기반하여 STDP 업데이트들을 프로세싱하는 것을 딕테이트할 수도 있으며, 그 이유는 LTP 업데이트에 대한 역 맵핑을 결정하기 위해서 DRAM 또는 큰 룩업 테이블이 검색될 필요가 없기 때문이다. 도 5에 도시된 접근법은 이것을 용이하게 한다. 효과 가소성 엡데이트 및 리어셈블 블록 (502) 은 시냅스전 및 시냅스후 스파이크 시간들을 얻으려는 노력으로 슈퍼 뉴런들 (508) 을 쿼리하여, 관련 상태 메모리의 양을 다시 감소시킬 수도 있다.
도 5는 또한 입력 전류 누산기들 및 신경 모델들에 대한 시간 다중화된 하드웨어에 기반한 슈퍼 뉴런들의 개념을 나타낸다. 도 5에 나타낸 바와 같이, 다중 슈퍼 뉴런들 (508) 은 효율성, 즉 성능 속도를 개선하기 위해 병렬로 동작시킬 수도 있다. 본 개시물의 소정의 양태들에 따라서, 슈퍼 뉴런 (508) 에서의 연산 유닛들의 수는 그 슈퍼 뉴런에 할당된 인공 뉴런들의 수보다 적을 수도 있으며, 즉 하나의 연산 유닛이 복수의 인공 뉴런들과 연관될 수도 있다.
본 개시물의 일 양태에서, 인공 뉴런의 상태는 정의된 기간마다, 즉, "Tau" 스텝에서 업데이트될 수도 있다. 일 양태에서, 인공 뉴런들은 메모리에, 예를 들어, DRAM (506) 에 시냅스후 팬 아웃으로의 포인터를 저장할 수도 있다. 일 양태에서, 각각의 슈퍼 뉴런 (508) 은 신경 입력들의 누산을 구현할 수도 있다.
본 개시물의 소정의 양태에 따르면, 팬 아웃 기반의 시냅스 메모리 조직은 높은 스루풋 및 긴 "버스티" 읽기들을 초래할 수도 있다. 예를 들어, 단일의 512-비트 "캐시 라인" (예를 들어, 도 5에서는 캐시 라인 인터페이스 (504)) 은 다중의 시냅스 접속들을 포함할 수도 있다. 512-비트 액세스는 DRAM들에 대한 최고의 효율성을 현재 나타냄에 유의해야 한다.
본 개시물의 소정의 양태에 따르면, 시냅스전 및 시냅스후 뉴런 룩업은 가소성 학습 규칙을 구현하기 위해 이용될 수도 있다. 또한, 본 개시물의 소정의 양태들은 스파이크들의 동적 확률적 드로핑을 지지하며, 여기서 종래 프로세서는 패브릭 안으로 타이트하게 통합될 수도 있다. 본 개시물의 일 양태에서, DRAM 메모리 (506) 에 저장된 시냅스 관련 정보 (예를 들어, 가중치들 및 다른 파라미터들) 는 목적지 라우팅 정보를 포함할 수도 있다. 이것은 메모리 맵핑 및 조직 덕분에 달성될 수도 있다. 부가하여, 외부 및 내부 시냅스 활성화들은 다른 프로세싱 노드들과의 동기화는 물론 예시적인 하드웨어 구현예 (500) 안으로 통합될 수도 있다. 본 개시물에 제공된 메모리 조직은, 각각의 시냅스전 뉴런이 그 시냅스들 모두를 함께 포함할 수도 있다는 것을 지지한다.
본 개시물의 소정의 양태들에 따르면, 가소성 쿼리는 시냅스후 뉴런에 라우트 요청을 제공할 수도 있다. 메시지는 시냅스전 (공격자) 뉴런으로부터 시냅스후 (피해자) 뉴런으로 전송될 수도 있으며, 이는 이후 (리턴 어드레스를 포함하는) 정보를 다시 라우팅할 수도 있다. 별도의 시냅스 블록은 이것을 용이하게 할 수도 있다.
도 6은 본 개시물의 소정의 양태들에 따라서, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 예시적인 동작들 (600) 의 흐름도이다. 동작들 (600) 은 (예를 들어, 뉴로모픽 (neuromorphic) 프로세서와 같은 하나 이상의 신경 프로세싱 유닛들에 의해) 하드웨어에서 수행될 수도 있다. 인공 신경계는 시각 신경계, 청각 신경계, 해마 등과 같은 다양한 생물학적 또는 가상의 신경계들 중 어느 것에 대해 모델링될 수도 있다.
동작들 (600) 은, 602 에서, 인공 뉴런들의 상태들을 업데이트하기 위해 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 것에 의해 시작할 수도 있고, 여기서 인공 뉴런들의 서브세트가 각각의 슈퍼 뉴런 프로세싱 유닛에 할당될 수도 있다. 604에서, 슈퍼 뉴런 프로세싱 유닛들은 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 액세스하기 위해 메모리와 인터페이스될 수도 있으며, 여기서 메모리의 조직은 연속적인 메모리 액세스를 허용한다.
본 개시물의 일 양태에서, 다중의 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 것은 인공 뉴런들의 모델들 및 입력 전류 누산기들에 대해 슈퍼 뉴런 프로세싱 유닛들을 시간 다중화하는 것을 포함할 수도 있다. 슈퍼 뉴런 프로세싱 유닛들 중 하나에 할당된 인공 뉴런의 상태는 정의된 스텝 (예를 들어, "Tau" 스텝) 마다 업데이트될 수도 있다. 일 양태에서, 인공 뉴런들 중 어느 것과 연관된 시냅스후 팬 아웃으로의 포인터는 메모리에 저장될 수도 있다. 일 양태에서, 다중의 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 것은 슈퍼 뉴런 프로세싱 유닛들의 각각에 의해 신경 입력 누산기들을 구현하는 것을 포함할 수도 있다.
본 개시물의 일 양태에서, 각각의 슈퍼 뉴런 프로세싱 유닛에서의 연산 유닛들의 수는 그 슈퍼 뉴런 프로세싱 유닛에 할당된 인공 뉴런들의 수보다 적을 수도 있다. 메모리는, 예를 들어, DRAM 을 포함할 수도 있고, DRAM의 연속적인 메모리 액세스는 (예를 들어, 512 비트까지) 다중 시냅스에 관련된 데이터로의 동시 액세스를 포함할 수도 있다.
일 양태에서, 메모리의 조직은 가소성을 구현하기 위해 시냅스전 및 시냅스후 뉴런 룩업을 포함할 수도 있다. 일 양태에서, 인공 신경계의 스파이크들의 드로핑은 동적 확률적 방식으로 수행될 수도 있다. 일 양태에서, 인공 신경계의 시냅스와 연관된 데이터는 메모리에 저장될 수도 있고, 여기서 데이터는 목적지 라우팅 정보를 포함할 수도 있다. 일 양태에서, 외부 및 내부 시냅스 활성화는 메모리의 조직 및 슈퍼 뉴런 프로세싱 유닛들을 이용함으로써 인공 신경계에서 통합될 수도 있다.
도 7은 본 개시물의 소정의 양태들에 따라서, 범용 프로세서 (702) 를 이용하여 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 상술된 방법의 예시적인 블록도 (700) 를 나타낸다. 범용 프로세서 (702) 에서 관련 실행되는 명령들이 프로그램 메모리 (706) 로부터 로딩될 수도 있는 반면, 연산 네트워크 (신경 네트워크) 와 연관된 변수들 (신경 신호들), 시냅스 가중치들, 및/또는 시스템 파라미터들이 메모리 블록 (704) 에 저장될 수도 있다. 본 개시물의 일 양태에서, 범용 프로세서 (702) 로 로딩된 명령들은 인공 뉴런들의 상태들을 업데이트하기 위해 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키기 위한 코드로서, 인공 뉴런들의 서브세트가 각각의 슈퍼 뉴런 프로세싱 유닛에 할당되는, 상기 코드, 및 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 액세스하기 위해 메모리와 슈퍼 뉴런 프로세싱 유닛들을 인터페이스하기 위한 코드로서, 메모리의 조직이 연속적인 메모리 액세스를 허용하는, 상기 코드를 포함할 수도 있다.
도 8은, 본 개시물의 소정의 양태들에 따라서 메모리 (802) 가 상호접속 네트워크 (804) 를 통해 연산 네트워크 (신경 네트워크) 의 개별 (분산된) 프로세싱 유닛들 (신경 프로세서들)(806) 과 인터페이스될 수 있는 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 상술된 방법의 예시적인 블록도 (800) 를 나타낸다. 연산 네트워크 (신경 네트워크) 와 연관된 변수들 (신경 신호들), 시냅스 가중치들, 및/또는 시스템 파라미터들이 메모리 (802) 에 저장될 수도 있고, 메모리 (802) 로부터 상호접속 네트워크 (804) 를 통해 각각의 프로세싱 유닛 (신경 프로세서)(806) 으로 로딩될 수도 있다. 본 개시물의 일 양태에서, 프로세싱 유닛 (806) 은 인공 뉴런들의 상태들을 업데이트하기 위해 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키고 (여기서 인공 뉴런들의 서브세트가 각각의 슈퍼 뉴런 프로세싱 유닛에 할당된다), 그리고 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 액세스하기 위해 메모리와 슈퍼 뉴런 프로세싱 유닛들을 인터페이스하도록 (여기서 메모리의 조직이 연속적인 메모리 액세스를 허용한다) 구성될 수도 있다.
도 9는 본 개시물의 소정의 양태들에 따라서, 분산된 가중치 메모리들 (902) 및 분산된 프로세싱 유닛들 (신경 프로세서들)(904) 에 기초하여 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 상술된 방법의 예시적인 블록도 (900) 를 나타낸다. 도 9에 나타낸 바와 같이, 하나의 메모리 뱅크 (902) 는 연산 네트워크 (신경 네트워크) 의 하나의 프로세싱 유닛 (904) 과 직접 인터페이스될 수도 있으며, 여기서 그 메모리 뱅크 (902) 는 그 프로세싱 유닛 (신경 프로세서)(904) 와 연관된 변수들 (신경 신호들), 시냅스 가중치들, 및/또는 시스템 파라미터들을 저장할 수도 있다. 본 개시물의 일 양태에서, 프로세싱 유닛(들)(904) 은 인공 뉴런들의 상태들을 업데이트하기 위해 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키고 (여기서 인공 뉴런들의 서브세트가 각각의 슈퍼 뉴런 프로세싱 유닛에 할당된다), 그리고 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 액세스하기 위해 메모리와 슈퍼 뉴런 프로세싱 유닛들을 인터페이스하도록 (여기서 메모리의 조직이 연속적인 메모리 액세스를 허용한다) 구성될 수도 있다.
도 10은 본 개시물의 소정의 양태들에 따른 신경 네트워크 (1000) 의 예시적인 구현예를 예시한다. 도 10에 나타낸 바와 같이, 신경 네트워크 (1000) 는 상술된 방법의 다양한 동작들을 수행할 수도 있는 복수의 로컬 프로세싱 유닛 (1002) 을 포함할 수도 있다. 각각의 프로세싱 유닛 (1002) 은 신경 네트워크의 파라미터들을 저장하는 로컬 스테이트 메모리 (1004) 및 로컬 파라미터 메모리 (1006) 을 포함할 수도 있다. 부가하여, 프로세싱 유닛 (1002) 은 로컬 (뉴런) 모델 프로그램을 갖는 메모리 (1008), 로컬 학습 프로그램을 갖는 메모리 (1010), 및 로컬 접속 메모리 (1012) 를 포함할 수도 있다. 더욱이, 도 10에 나타낸 바와 같이, 각각의 로컬 프로세싱 유닛 (1002) 은 로컬 프로세싱 유닛의 로컬 메모리들을 위한 구성을 제공할 수도 있는 구성 프로세싱에 대한 유닛 (1014), 및 로컬 프로세싱 유닛들 (1002) 사이에 라우팅을 제공하는 라우팅 접속 프로세싱 엘리먼트들 (1016) 과 인터페이스될 수도 있다.
본 개시물의 소정의 양태들에 따르면, 각각의 로컬 프로세싱 유닛 (1002) 은 신경 네트워크의 소망하는 하나 이상의 기능성 피쳐들에 기초하여 신경 네트워크의 파라미터들을 결정하고, 그리고 결정된 파라미터들이 또한 적응, 튜닝 및 업데이트될 때 소망하는 기능성 피쳐들 측을 향해 하나 이상의 기능성 피쳐들을 디벨럽하도록 구성될 수도 있다.
상술된 방법들의 다양한 동작들은, 상응하는 기능들을 수행할 수 있는 임의의 적합한 수단에 의해 수행될 수도 있다. 그 수단은 프로세서, 또는 주문형 집적 회로 (application specific integrated circuit; ASIC) 를 포함하지만 회로에 한정되지 않는 다양한 하드웨어 및/또는 소프트웨어 컴포넌트(들) 및/또는 모듈(들)을 포함할 수도 있다. 예를 들어, 도 5, 7-10 에 도시된 하나 이상의 다양한 프로세서들에 의해 다양한 동작들이 수행될 수도 있다. 일반적으로, 도면들에 나타낸 동작들이 존재하는 곳에서, 이들 동작들은 유사한 넘버링을 이용하여 상응하는 상대편 수단-플러스-기능 컴포넌트들을 가질 수도 있다. 예를 들어, 도 6에 예시된 동작들 (600) 은 도 6a에 나타낸 수단들 (600A) 에 대응한다.
예를 들어, 디스플레이하는 수단은 디스플레이 (예를 들어, 모니터, 평명 스크린, 터치 스크린 등), 프린터, 또는 시각적 묘사 (예를 들어, 표, 차트 또는 그래프) 를 위한 데이터를 출력하기 위한 임의의 다른 적합한 수단을 포함할 수도 있다. 프로세싱하기 위한 수단, 수신하기 위한 수단, 트래킹하기 위한 수단, 조정하기 위한 수단, 업데이트하기 위한 수단, 또는 결정하기 위한 수단은, 하나 이상의 프로세서들 또는 프로세싱 유닛들을 포함할 수도 있는 프로세싱 시스템을 포함할 수도 있다. 감지하기 위한 수단은 센서를 포함할 수도 있다. 저장하기 위한 수단은, 프로세싱 시스템에 의해 액세스될 수도 있는, 메모리 또는 임의의 다른 적합한 저장 디바이스 (예를 들어, RAM) 를 포함할 수도 있다.
본원에서 사용될 때, 용어 "결정하는 것" 은 매우 다양한 액션들을 포괄한다. 예를 들어, "결정하는 것" 은 계산하는 것, 컴퓨팅하는 것, 프로세싱하는 것, 유도하는 것, 연구하는 것, 탐색하는 것 (예컨대, 테이블, 데이터베이스 또는 또 다른 데이터 구조에서 탐색하는 것), 확인하는 것 (ascertaining) 등을 포함할 수도 있다. 또한, "결정하는 것" 은 수신하는 것 (예컨대, 정보를 수신하는 것), 액세스하는 것 (예컨대, 메모리 내 데이터에 액세스하는 것) 등을 포함할 수도 있다. 또한, "결정하는 것" 은 결심하는 것 (resolving), 선택하는 것 (selecting), 선정하는 것 (choosing), 확립하는 것 (establishing) 등을 포함할 수도 있다.
본원에서 사용될 때, 아이템들의 리스트 "중 적어도 하나" 를 인용하는 어구는 단일 멤버들을 포함한, 그들 아이템들의 임의의 조합을 지칭한다. 일 예로서, "a, b, 또는 c 중 적어도 하나" 는 a, b, c, a-b, a-c, b-c, 및 a-b-c 를 포괄하도록 의도된다.
본 개시물과 관련하여 설명된 여러가지 예시적인 로직 블록들, 모듈들, 및 회로들은, 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 신호 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스 (PLD), 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 구성요소들 또는 본원에서 설명한 기능들을 수행하도록 설계된 이들의 임의의 조합으로, 구현되거나 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있으며, 그러나 대안적으로는, 프로세서는 임의의 시중에서 입수가능한 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예컨대, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수도 있다.
본 개시물과 관련하여 설명된 방법 또는 알고리즘의 스텝들은 하드웨어로 직접, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 조합으로 구현될 수도 있다. 소프트웨어 모듈은 당업계에 알려져 있는 임의의 유형의 저장 매체에 상주할 수도 있다. 사용될 수도 있는 저장 매체들의 일부 예들은 랜덤 액세스 메모리 (RAM), 판독전용 메모리 (ROM), 플래시 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM 및 기타 등등을 포함한다. 소프트웨어 모듈은 단일 명령, 또는 많은 명령들을 포함할 수도 있으며, 여러 상이한 코드 세그먼트들을 통해서, 상이한 프로그램들 사이에, 그리고 다수의 저장 매체들을 가로질러 분포될 수도 있다. 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링될 수도 있다. 대안적으로는, 저장 매체는 프로세서에 통합될 수도 있다.
본원에서 설명한 방법들은 설명한 방법을 달성하기 위한 하나 이상의 스텝들 또는 액션들을 포함한다. 방법 스텝들 및/또는 액션들은 청구의 범위로부터 일탈함이 없이 서로 상호 교환될 수도 있다. 즉, 스텝들 또는 액션들의 특정의 순서가 규정되지 않는 한, 특정의 스텝들 및/또는 액션들의 순서 및/또는 사용은 청구항들의 범위로부터 일탈함이 없이 수정될 수도 있다.
설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 하드웨어로 구현되는 경우, 예시적인 하드웨어 구성은 디바이스 내 프로세싱 시스템을 포함할 수도 있다. 프로세싱 시스템은 버스 아키텍처로 구현될 수도 있다. 버스는 프로세싱 시스템의 특정의 애플리케이션 및 전체 설계 제약들에 따라서, 임의의 개수의 상호접속하는 버스들 및 브릿지들을 포함할 수도 있다. 버스는 프로세서, 머신-판독가능 매체들, 및 버스 인터페이스를 포함한 여러 회로들을 함께 링크할 수도 있다. 버스 인터페이스는 네트워크 어댑터를, 특히, 프로세싱 시스템에 버스를 통해서 접속하는데 사용될 수도 있다. 네트워크 어댑터는 신호 프로세싱 기능들을 구현하는데 사용될 수도 있다. 소정의 양태들에 있어, 사용자 인터페이스 (예컨대, 키패드, 디스플레이, 마우스, 조이스틱, 등) 는 또한 버스에 접속될 수도 있다. 버스는 또한 타이밍 소스들, 주변장치들, 전압 조정기들, 전력 관리 회로들, 및 기타 등등과 같은 여러 다른 회로들에 링크될 수도 있으며, 이들은 당업계에 널리 알려져 있으므로, 더이상 추가로 설명되지 않는다.
프로세서는 버스를 관리하는 것, 및 머신-판독가능 매체들 상에 저장된 소프트웨어의 실행을 포함한 일반적인 프로세싱을 담당할 수도 있다. 프로세서는 하나 이상의 범용 및/또는 특수-목적 프로세서들로 구현될 수도 있다. 예들은 마이크로프로세서들, 마이크로제어기들, DSP 프로세서들, 및 소프트웨어를 실행할 수도 있는 다른 회로를 포함한다. 소프트웨어는 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어, 또는 기타로 지칭되든, 명령들, 데이터, 또는 이들의 임의의 조합을 의미하는 것으로 넓게 해석되어야 할 것이다. 머신-판독가능 매체들은 일 예로서, RAM (Random Access Memory), 플래시 메모리, ROM (Read Only Memory), PROM (Programmable Read-Only Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), 레지스터들, 자기 디스크들, 광 디스크들, 하드 드라이브들, 또는 임의의 다른 적합한 저장 매체, 또는 이들의 임의의 조합을 포함할 수도 있다. 머신-판독가능 매체들은 컴퓨터-프로그램 제품에 통합될 수도 있다. 컴퓨터-프로그램 제품은 패키징 재료들을 포함할 수도 있다.
하드웨어 구현예에서, 머신-판독가능 매체들은 프로세서와 분리된 프로세싱 시스템의 부분일 수도 있다. 그러나, 당업자들이 용이하게 알 수 있는 바와 같이, 머신-판독가능 매체들, 또는 그의 임의의 부분은 프로세싱 시스템의 외부에 있을 수도 있다. 일 예로서, 머신-판독가능 매체들은 송신 라인, 데이터에 의해 변조된 반송파, 및/또는 디바이스로부터 분리된 컴퓨터 제품을 포함할 수도 있으며, 이 모든 것은 버스 인터페이스를 통해서 프로세서에 의해 액세스될 수도 있다. 대안적으로, 또는 추가적으로, 머신-판독가능 매체들, 또는 그의 임의의 부분은, 캐시 및/또는 일반 레지스터 파일들에서의 경우와 같이, 프로세서에 통합될 수도 있다.
프로세싱 시스템은 외부 버스 아키텍처를 통해서 다른 지원 회로와 함께 모두 링크된, 프로세서 기능을 제공하는 하나 이상의 마이크로프로세서들 및 머신-판독가능 매체들의 적어도 일부분을 제공하는 외부 메모리를 가진 범용 프로세싱 시스템으로서 구성될 수도 있다. 이의 대안으로, 프로세싱 시스템은, 프로세서를 가진 ASIC (Application Specific Integrated Circuit), 버스 인터페이스, 사용자 인터페이스, 지원 회로, 및 단일 칩으로 통합된 머신-판독가능 매체들 중 적어도 일부로, 또는 하나 이상의 FPGAs (Field Programmable Gate Arrays), PLDs (Programmable Logic Devices), 제어기들, 상태 머신들, 게이트 로직, 이산 하드웨어 구성요소들, 또는 임의의 다른 적합한 회로, 또는 본 개시물 전반에 걸쳐서 설명되는 여러 기능을 수행할 수 있는 회로들의 임의의 조합으로 구현될 수도 있다. 당업자들은 특정의 애플리케이션에 의존하는 프로세싱 시스템에 대한 설명된 기능 및 전체 시스템에 가해지는 전체 설계 제약들을 얼마나 최적으로 구현하는지를 알 수 있을 것이다.
머신-판독가능 매체들은 다수의 소프트웨어 모듈들을 포함할 수도 있다. 소프트웨어 모듈들은 프로세서에 의해 실행될 때, 프로세싱 시스템으로 하여금 여러 기능들을 수행하도록 하는 명령들을 포함한다. 소프트웨어 모듈들은 송신 모듈 및 수신 모듈을 포함할 수도 있다. 각각의 소프트웨어 모듈은 단일 저장 디바이스에 상주할 수도 있거나 또는 다수의 저장 디바이스들에 걸쳐서 분산될 수도 있다. 일 예로서, 소프트웨어 모듈은 트리거링 이벤트가 발생할 때 하드 드라이브로부터 RAM 으로 로드될 수도 있다. 소프트웨어 모듈의 실행 동안, 프로세서는 액세스 속도를 증가시키기 위해 명령들의 일부를 캐시에 로드할 수도 있다. 하나 이상의 캐시 라인들은 그후 프로세서에 의한 실행을 위해 일반적인 레지스터 파일에 로드될 수도 있다. 이하에서 소프트웨어 모듈의 기능을 참조할 때, 그 소프트웨어 모듈로부터 명령들을 실행할 때 이러한 기능이 프로세서에 의해 구현되는 것으로 이해되어야 할 것이다.
소프트웨어로 구현되는 경우, 이 기능들은 컴퓨터-판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나 또는 전달될 수도 있다. 컴퓨터-판독가능 매체들은 한 장소로부터 또 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함한, 컴퓨터 저장 매체들 및 통신 매체들 양쪽을 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수도 있는 임의의 가용 매체일 수도 있다. 비한정적인 예로서, 이런 컴퓨터-판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 스토리지, 자기디스크 스토리지 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 전달하거나 또는 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터-판독가능 매체로 적절히 지칭된다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 무선 기술들, 예컨대 적외선 (IR), 라디오, 및 마이크로파를 이용하여 송신되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 무선 기술들 예컨대 적외선, 라디오, 및 마이크로파가 그 매체의 정의에 포함된다. 디스크 (disk) 및 디스크 (disc) 는, 본원에서 사용할 때, 컴팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 Blu-ray® 디스크를 포함하며, 디스크들 (disks) 은 데이터를 자기적으로 보통 재생하지만, 디스크들 (discs) 은 레이저로 데이터를 광학적으로 재생한다. 따라서, 일부 양태들에서 컴퓨터-판독가능 매체들은 비일시성 컴퓨터-판독가능 매체들 (예컨대, 유형의 매체들) 을 포함할 수도 있다. 게다가, 다른 양태들에 대해 컴퓨터-판독가능 매체들은 일시성 컴퓨터-판독가능 매체들 (예컨대, 신호) 를 포함할 수도 있다. 앞에서 언급한 것들의 조합들이 또한 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
따라서, 소정의 양태들은 본원에서 제시되는 동작들을 수행하는 컴퓨터 프로그램 제품을 포함할 수도 있다. 예를 들어, 이러한 컴퓨터 프로그램 제품은 본원에서 설명되는 동작들을 수행하기 위해 하나 이상의 프로세서들에 의해 실행가능한 명령들을 안에 저장하고 (및/또는 인코딩하고) 있는 컴퓨터 판독가능 매체를 포함할 수도 있다. 소정의 양태들에 있어, 컴퓨터 프로그램 제품은 패키징 재료를 포함할 수도 있다.
또, 본원에서 설명하는 방법들 및 기법들을 수행하는 모듈들 및/또는 다른 적합한 수단은 적용가능한 경우, 디바이스에 의해 다운로드되거나 및/또는 아니면 획득될 수 있는 것으로 이해되어야 한다. 예를 들어, 이러한 디바이스는 본원에서 설명하는 방법들을 수행하기 위한 수단의 전달을 용이하게 하기 위해서 서버에 커플링될 수 있다. 이의 대안으로, 본원에서 설명하는 여러 방법들은, 디바이스가 저장 수단을 디바이스에 커플링하거나 제공하자마자 여러 방법들을 획득할 수 있도록, 저장 수단 (예컨대, RAM, ROM, 컴팩트 디스크 (CD) 또는 플로피 디스크와 같은 물리적인 저장 매체 등) 을 통해 제공될 수 있다. 더욱이, 본원에서 설명하는 방법들 및 기법들을 디바이스에 제공하기 위한 임의의 다른 적합한 기법이 이용될 수 있다.
청구항들은 위에서 예시한 엄밀한 구성 및 구성요소들에 한정되지 않는 것으로 이해되어야 한다. 청구의 범위로부터 일탈함이 없이, 여러 변경들, 위에서 설명되는 방법들 및 장치의 배열, 동작 및 세부 사항들에서, 변화들 및 변형들이 이루어질 수도 있다.

Claims (44)

  1. 인공 신경계를 동작시키는 장치에 의해 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 방법으로서,
    상기 인공 뉴런들의 상태들을 업데이트하기 위해 상기 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 단계로서, 상기 인공 뉴런들의 서브세트가 각각의 슈퍼 뉴런 프로세싱 유닛에 할당되는, 상기 동작시키는 단계;
    메모리와 상기 슈퍼 뉴런 프로세싱 유닛들을 인터페이스하는 단계; 및
    상기 메모리에 저장된 상기 인공 신경계의 시냅스 가중치들 및 가소성 (plasticity) 파라미터들을 액세스하는 단계로서, 상기 메모리의 조직이 연속적인 메모리 액세스를 허용하는, 상기 액세스하는 단계를 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 방법.
  2. 제 1 항에 있어서,
    상기 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 단계는,
    상기 인공 뉴런들의 모델들 및 입력 전류 누산기들에 대해 상기 슈퍼 뉴런 프로세싱 유닛들을 시간 다중화하는 단계를 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 방법.
  3. 제 1 항에 있어서,
    상기 슈퍼 뉴런 프로세싱 유닛들 중 하나에 할당된 임의의 인공 뉴런의 상태를 정의된 스텝마다 업데이트하는 단계를 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 방법.
  4. 제 1 항에 있어서,
    상기 인공 뉴런들 중 임의의 것과 연관된 시냅스후 팬 아웃 (post-synaptic fan-out) 으로의 포인터를 상기 메모리에 저장하는 단계를 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 방법.
  5. 제 1 항에 있어서,
    상기 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 단계는,
    상기 슈퍼 뉴런 프로세싱 유닛들의 각각에 의해 신경 입력 누산기들을 구현하는 단계를 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 방법.
  6. 제 1 항에 있어서,
    각각의 슈퍼 뉴런 프로세싱 유닛에서의 연산 유닛들의 수는 그 슈퍼 뉴런 프로세싱 유닛에 할당된 상기 인공 뉴런들의 수보다 적은, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 방법.
  7. 제 1 항에 있어서,
    상기 메모리는 동적 랜덤 액세스 메모리 (dynamic random access memory; DRAM) 를 포함하고, 그리고
    상기 DRAM의 연속적인 메모리 액세스는 다중 시냅스들과 관련된 데이터로의 동시 액세스를 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 방법.
  8. 제 1 항에 있어서,
    상기 메모리의 조직은 가소성을 구현하기 위해 시냅스전 및 시냅스후 뉴런 룩업 테이블들을 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 방법.
  9. 제 1 항에 있어서,
    동적 확률적 방식으로 상기 인공 신경계의 스파이크들을 드로핑하는 단계를 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 방법.
  10. 제 1 항에 있어서,
    상기 인공 신경계의 시냅스들과 연관된 데이터를 상기 메모리에 저장하는 단계로서, 상기 데이터가 목적지 라우팅 정보를 포함하는, 상기 저장하는 단계를 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 방법.
  11. 제 1 항에 있어서,
    상기 메모리의 조직 및 상기 슈퍼 뉴런 프로세싱 유닛들을 이용함으로써 상기 인공 신경계에서, 외부 및 내부 시냅스 활성화들을 통합하는 단계를 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 방법.
  12. 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치로서,
    상기 인공 뉴런들의 상태들을 업데이트하기 위해 상기 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키도록 구성된 제 1 회로로서, 상기 인공 뉴런들의 서브세트가 각각의 슈퍼 뉴런 프로세싱 유닛에 할당되는, 상기 제 1 회로;
    메모리와 상기 슈퍼 뉴런 프로세싱 유닛들을 인터페이스하도록 구성된 제 2 회로; 및
    상기 메모리에 저장된 상기 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 액세스하기 위한 제 3 회로로서, 상기 메모리의 조직이 연속적인 메모리 액세스를 허용하는, 상기 제 3 회로를 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  13. 제 12 항에 있어서,
    상기 제 1 회로는 또한,
    상기 인공 뉴런들의 모델들 및 입력 전류 누산기들에 대해 상기 슈퍼 뉴런 프로세싱 유닛들을 시간 다중화하도록 구성되는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  14. 제 12 항에 있어서,
    상기 슈퍼 뉴런 프로세싱 유닛들 중 하나에 할당된 임의의 인공 뉴런의 상태를 정의된 스텝마다 업데이트하도록 구성된 제 4 회로를 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  15. 제 12 항에 있어서,
    상기 인공 뉴런들 중 임의의 것과 연관된 시냅스후 팬 아웃으로의 포인터를 상기 메모리에 저장하도록 구성된 제 4 회로를 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  16. 제 12 항에 있어서,
    상기 슈퍼 뉴런 프로세싱 유닛들의 각각에 의해 신경 입력 누산기들을 구현하도록 구성된 제 4 회로를 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  17. 제 12 항에 있어서,
    각각의 슈퍼 뉴런 프로세싱 유닛에서의 연산 유닛들의 수는 그 슈퍼 뉴런 프로세싱 유닛에 할당된 상기 인공 뉴런들의 수보다 적은, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  18. 제 12 항에 있어서,
    상기 메모리는 동적 랜덤 액세스 메모리 (dynamic random access memory; DRAM) 를 포함하고, 그리고
    상기 DRAM의 연속적인 메모리 액세스는 다중 시냅스들과 관련된 데이터로의 동시 액세스를 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  19. 제 12 항에 있어서,
    상기 메모리의 조직은 가소성을 구현하기 위해 시냅스전 및 시냅스후 뉴런 룩업 테이블들을 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  20. 제 12 항에 있어서,
    동적 확률적 방식으로 상기 인공 신경계의 스파이크들을 드로핑하도록 구성되는 제 4 회로를 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  21. 제 12 항에 있어서,
    상기 인공 신경계의 시냅스들과 연관된 데이터를 상기 메모리에 저장하도록 구성되는 제 4 회로로서, 상기 데이터가 목적지 라우팅 정보를 포함하는, 상기 제 4 회로를 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  22. 제 12 항에 있어서,
    상기 메모리의 조직 및 상기 슈퍼 뉴런 프로세싱 유닛들을 이용함으로써 상기 인공 신경계에서, 외부 및 내부 시냅스 활성화들을 통합하도록 구성되는 제 4 회로를 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  23. 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치로서,
    상기 인공 뉴런들의 상태들을 업데이트하기 위해 상기 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 수단으로서, 상기 인공 뉴런들의 서브세트가 각각의 슈퍼 뉴런 프로세싱 유닛에 할당되는, 상기 동작시키는 수단;
    메모리와 상기 슈퍼 뉴런 프로세싱 유닛들을 인터페이스하는 수단; 및
    상기 메모리에 저장된 상기 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 액세스하는 수단으로서, 상기 메모리의 조직이 연속적인 메모리 액세스를 허용하는, 상기 액세스하는 수단을 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  24. 제 23 항에 있어서,
    상기 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 수단은,
    상기 인공 뉴런들의 모델들 및 입력 전류 누산기들에 대해 상기 슈퍼 뉴런 프로세싱 유닛들을 시간 다중화하는 수단을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  25. 제 23 항에 있어서,
    상기 슈퍼 뉴런 프로세싱 유닛들 중 하나에 할당된 임의의 인공 뉴런의 상태를 정의된 스텝마다 업데이트하는 수단을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  26. 제 23 항에 있어서,
    상기 인공 뉴런들 중 임의의 것과 연관된 시냅스후 팬 아웃으로의 포인터를 상기 메모리에 저장하는 수단을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  27. 제 23 항에 있어서,
    상기 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 수단은,
    상기 슈퍼 뉴런 프로세싱 유닛들의 각각에 의해 신경 입력 누산기들을 구현하는 수단을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  28. 제 23 항에 있어서,
    각각의 슈퍼 뉴런 프로세싱 유닛에서의 연산 유닛들의 수는 그 슈퍼 뉴런 프로세싱 유닛에 할당된 상기 인공 뉴런들의 수보다 적은, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  29. 제 23 항에 있어서,
    상기 메모리는 동적 랜덤 액세스 메모리 (dynamic random access memory; DRAM) 를 포함하고, 그리고
    상기 DRAM의 연속적인 메모리 액세스는 다중 시냅스들과 관련된 데이터로의 동시 액세스를 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  30. 제 23 항에 있어서,
    상기 메모리의 조직은 가소성을 구현하기 위해 시냅스전 및 시냅스후 뉴런 룩업 테이블들을 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  31. 제 23 항에 있어서,
    동적 확률적 방식으로 상기 인공 신경계의 스파이크들을 드로핑하는 수단을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  32. 제 23 항에 있어서,
    상기 인공 신경계의 시냅스들과 연관된 데이터를 상기 메모리에 저장하는 수단으로서, 상기 데이터가 목적지 라우팅 정보를 포함하는, 상기 저장하는 수단을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  33. 제 23 항에 있어서,
    상기 메모리의 조직 및 상기 슈퍼 뉴런 프로세싱 유닛들을 이용함으로써 상기 인공 신경계에서, 외부 및 내부 시냅스 활성화들을 통합하는 수단을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키는 장치.
  34. 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 비일시적 컴퓨터 판독가능 저장 매체는:
    상기 인공 뉴런들의 상태들을 업데이트하기 위해 상기 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 것으로서, 상기 인공 뉴런들의 서브세트가 각각의 슈퍼 뉴런 프로세싱 유닛에 할당되는, 상기 인공 신경계에서의 다중 슈퍼 뉴런 프로세싱 유닛들을 동시에 동작시키는 것;
    메모리와 상기 슈퍼 뉴런 프로세싱 유닛들을 인터페이스하는 것; 그리고
    상기 메모리에 저장된 상기 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 액세스하는 것으로서, 상기 메모리의 조직이 연속적인 메모리 액세스를 허용하는, 상기 인공 신경계의 시냅스 가중치들 및 가소성 파라미터들을 액세스하는 것을
    실행가능한 명령들이 저장된, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 비일시적 컴퓨터 판독가능 저장 매체.
  35. 제 34 항에 있어서,
    상기 인공 뉴런들의 모델들 및 입력 전류 누산기들에 대해 상기 슈퍼 뉴런 프로세싱 유닛들을 시간 다중화하기 위한 명령을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 비일시적 컴퓨터 판독가능 저장 매체.
  36. 제 34 항에 있어서,
    상기 슈퍼 뉴런 프로세싱 유닛들 중 하나에 할당된 임의의 인공 뉴런의 상태를 정의된 스텝마다 업데이트하기 위한 명령을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 비일시적 컴퓨터 판독가능 저장 매체.
  37. 제 34 항에 있어서,
    상기 인공 뉴런들 중 임의의 것과 연관된 시냅스후 팬 아웃 (post-synaptic fan-out) 으로의 포인터를 상기 메모리에 저장하기 위한 명령을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 비일시적 컴퓨터 판독가능 저장 매체.
  38. 제 34 항에 있어서,
    상기 슈퍼 뉴런 프로세싱 유닛들의 각각에 의해 신경 입력 누산기들을 구현하기 위한 명령을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 비일시적 컴퓨터 판독가능 저장 매체.
  39. 제 34 항에 있어서,
    각각의 슈퍼 뉴런 프로세싱 유닛에서의 연산 유닛들의 수는 그 슈퍼 뉴런 프로세싱 유닛에 할당된 상기 인공 뉴런들의 수보다 적은, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 비일시적 컴퓨터 판독가능 저장 매체.
  40. 제 34 항에 있어서,
    상기 메모리는 동적 랜덤 액세스 메모리 (dynamic random access memory; DRAM) 를 포함하고, 그리고
    상기 DRAM의 연속적인 메모리 액세스는 다중 시냅스들과 관련된 데이터로의 동시 액세스를 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 비일시적 컴퓨터 판독가능 저장 매체.
  41. 제 34 항에 있어서,
    상기 메모리의 조직은 가소성을 구현하기 위해 시냅스전 및 시냅스후 뉴런 룩업 테이블들을 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 비일시적 컴퓨터 판독가능 저장 매체.
  42. 제 34 항에 있어서,
    동적 확률적 방식으로 상기 인공 신경계의 스파이크들을 드로핑하기 위한 명령을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 비일시적 컴퓨터 판독가능 저장 매체.
  43. 제 34 항에 있어서,
    상기 인공 신경계의 시냅스들과 연관된 데이터를 상기 메모리에 저장하기 위한 명령으로서, 상기 데이터가 목적지 라우팅 정보를 포함하는, 상기 저장하기 위한 명령을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 비일시적 컴퓨터 판독가능 저장 매체.
  44. 제 34 항에 있어서,
    상기 메모리의 조직 및 상기 슈퍼 뉴런 프로세싱 유닛들을 이용함으로써 상기 인공 신경계에서, 외부 및 내부 시냅스 활성화들을 통합하기 위한 명령을 더 포함하는, 복수의 인공 뉴런들을 갖는 인공 신경계를 동작시키기 위한 비일시적 컴퓨터 판독가능 저장 매체.
KR1020157033774A 2013-05-21 2014-05-20 스파이킹 네트워크들의 효율적인 하드웨어 구현 KR101793011B1 (ko)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201361825657P 2013-05-21 2013-05-21
US61/825,657 2013-05-21
US201361862734P 2013-08-06 2013-08-06
US201361862714P 2013-08-06 2013-08-06
US201361862741P 2013-08-06 2013-08-06
US61/862,741 2013-08-06
US61/862,714 2013-08-06
US61/862,734 2013-08-06
US201461932364P 2014-01-28 2014-01-28
US61/932,364 2014-01-28
US14/267,005 2014-05-01
US14/267,005 US9542643B2 (en) 2013-05-21 2014-05-01 Efficient hardware implementation of spiking networks
PCT/US2014/038841 WO2014189970A2 (en) 2013-05-21 2014-05-20 Efficient hardware implementation of spiking networks

Publications (2)

Publication Number Publication Date
KR20160010477A KR20160010477A (ko) 2016-01-27
KR101793011B1 true KR101793011B1 (ko) 2017-11-02

Family

ID=51022429

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157033774A KR101793011B1 (ko) 2013-05-21 2014-05-20 스파이킹 네트워크들의 효율적인 하드웨어 구현

Country Status (6)

Country Link
US (1) US9542643B2 (ko)
EP (1) EP3000076A2 (ko)
JP (1) JP6130056B2 (ko)
KR (1) KR101793011B1 (ko)
CN (1) CN105229675B (ko)
WO (1) WO2014189970A2 (ko)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8712940B2 (en) * 2011-05-31 2014-04-29 International Business Machines Corporation Structural plasticity in spiking neural networks with symmetric dual of an electronic neuron
US9053429B2 (en) 2012-12-21 2015-06-09 International Business Machines Corporation Mapping neural dynamics of a neural model on to a coarsely grained look-up table
US9087301B2 (en) 2012-12-21 2015-07-21 International Business Machines Corporation Hardware architecture for simulating a neural network of neurons
US9330355B2 (en) 2013-08-06 2016-05-03 Qualcomm Incorporated Computed synapses for neuromorphic systems
EP3035249B1 (en) * 2014-12-19 2019-11-27 Intel Corporation Method and apparatus for distributed and cooperative computation in artificial neural networks
US10748058B2 (en) 2015-12-28 2020-08-18 International Business Machines Corporation LUT based neuron membrane potential update scheme in STDP neuromorphic systems
US10552731B2 (en) 2015-12-28 2020-02-04 International Business Machines Corporation Digital STDP synapse and LIF neuron-based neuromorphic system
US10891543B2 (en) 2015-12-28 2021-01-12 Samsung Electronics Co., Ltd. LUT based synapse weight update scheme in STDP neuromorphic systems
KR102505695B1 (ko) * 2016-03-18 2023-03-02 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치 및 이를 사용한 시스템
US11003984B2 (en) 2016-05-31 2021-05-11 Samsung Electronics Co., Ltd. Timing sequence for digital STDP synapse and LIF neuron-based neuromorphic system
CN111310893B (zh) * 2016-08-05 2023-11-21 中科寒武纪科技股份有限公司 一种用于执行神经网络运算的装置及方法
US11501130B2 (en) 2016-09-09 2022-11-15 SK Hynix Inc. Neural network hardware accelerator architectures and operating method thereof
US10586147B2 (en) * 2016-09-22 2020-03-10 Intel Corporation Neuromorphic computing device, memory device, system, and method to maintain a spike history for neurons in a neuromorphic computing environment
US11281963B2 (en) 2016-09-26 2022-03-22 Intel Corporation Programmable neuron core with on-chip learning and stochastic time step control
US10489702B2 (en) * 2016-10-14 2019-11-26 Intel Corporation Hybrid compression scheme for efficient storage of synaptic weights in hardware neuromorphic cores
KR101997975B1 (ko) * 2016-12-01 2019-07-08 한국과학기술원 신경망 시스템을 이용한 정보의 장기, 단기, 및 하이브리드 기억을 위한 방법
US20180174027A1 (en) * 2016-12-20 2018-06-21 Michael I. Davies Multi-compartment dendrites in neuromorphic computing
US10248906B2 (en) * 2016-12-28 2019-04-02 Intel Corporation Neuromorphic circuits for storing and generating connectivity information
US10140574B2 (en) * 2016-12-31 2018-11-27 Via Alliance Semiconductor Co., Ltd Neural network unit with segmentable array width rotator and re-shapeable weight memory to match segment width to provide common weights to multiple rotator segments
KR101918102B1 (ko) 2017-02-14 2019-02-08 한국과학기술연구원 플로팅 게이트 적분기를 이용한 고집적 저전력 소모 인공뉴런 회로 및 이를 포함하는 뉴로모르픽 시스템, 이의 제어 방법
US10922608B2 (en) * 2017-03-08 2021-02-16 Arm Ltd Spiking neural network
CN106934457B (zh) * 2017-03-08 2019-12-06 杭州领芯电子有限公司 一种可灵活时分复用的脉冲神经元实现架构
FR3064384B1 (fr) * 2017-03-23 2019-05-03 Stmicroelectronics Sa Bloc refractaire pour dispositif integre de neurone artificiel
US10679119B2 (en) * 2017-03-24 2020-06-09 Intel Corporation Handling signal saturation in spiking neural networks
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US10909449B2 (en) * 2017-04-14 2021-02-02 Samsung Electronics Co., Ltd. Monolithic multi-bit weight cell for neuromorphic computing
US11308387B2 (en) 2017-05-09 2022-04-19 Samsung Electronics Co., Ltd. STDP with synaptic fatigue for learning of spike-time-coded patterns in the presence of parallel rate-coding
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US11157287B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system with variable latency memory access
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
CN107742153B (zh) * 2017-10-20 2020-02-21 华中科技大学 一种基于忆阻器的具有稳态可塑性的神经元电路
US10452540B2 (en) * 2017-10-20 2019-10-22 International Business Machines Corporation Memory-mapped interface for message passing computing systems
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US11366998B2 (en) * 2018-03-27 2022-06-21 Intel Corporation Neuromorphic accelerator multitasking
EP3769266A4 (en) * 2018-05-08 2021-12-15 Tartan Ai Ltd. PROCESSING ELEMENT FOR NEURAL NETWORK
EP3605401A1 (en) 2018-07-31 2020-02-05 GrAl Matter Labs S.A.S. Data processing module, data processing system and data processing method
US11200484B2 (en) 2018-09-06 2021-12-14 International Business Machines Corporation Probability propagation over factor graphs
CN109886416A (zh) * 2019-02-01 2019-06-14 京微齐力(北京)科技有限公司 集成人工智能模块的系统芯片及机器学习方法
WO2020172557A1 (en) 2019-02-22 2020-08-27 Micron Technology, Inc. Memory device interface and method
KR102351087B1 (ko) * 2019-06-04 2022-01-14 주식회사 딥엑스 인공신경망의 데이터 로컬리티 기반의 데이터 캐슁을 이용하여 고속의 인공신경망 오퍼레이션을 지원하는 데이터 관리 장치
KR102301041B1 (ko) * 2019-07-04 2021-09-14 한국과학기술연구원 뉴로모픽 장치
US11934946B2 (en) 2019-08-01 2024-03-19 International Business Machines Corporation Learning and recall in spiking neural networks
KR20210059815A (ko) 2019-11-15 2021-05-26 삼성전자주식회사 메모리 기반의 뉴로모픽 장치
WO2021133826A1 (en) * 2019-12-27 2021-07-01 Micron Technology, Inc. Neuromorphic memory device and method
US11635910B2 (en) 2019-12-30 2023-04-25 Micron Technology, Inc. Memory device interface and method
EP4085459A4 (en) 2019-12-31 2024-02-21 Micron Technology Inc MEMORY MODULE MULTI-PORT BUFFER TECHNIQUES
CN111461312B (zh) * 2020-03-26 2022-04-22 华中科技大学 一种基于忆阻器随机丢弃神经元
KR102204107B1 (ko) * 2020-07-16 2021-01-18 세종대학교산학협력단 뉴런의 임계값에 STDP(Spiking Timing Dependent Plasticity)를 적용한 스파이킹 뉴럴 네트워크(Spiking Neural Network)
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
CN114037050B (zh) * 2021-10-21 2022-08-16 大连理工大学 一种基于脉冲神经网络内在可塑性的机器人退化环境避障方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130073497A1 (en) 2011-09-16 2013-03-21 Cornell University Neuromorphic event-driven neural computing architecture in a scalable neural network
US20130073495A1 (en) 2011-09-21 2013-03-21 Eugene M. Izhikevich Elementary network description for neuromorphic systems
US20130173515A1 (en) 2012-01-04 2013-07-04 International Business Machines Corporation Electronic synapses from stochastic binary memory devices

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3260357B2 (ja) * 1990-01-24 2002-02-25 株式会社日立製作所 情報処理装置
US7085749B2 (en) 2001-05-31 2006-08-01 Canon Kabushiki Kaisha Pulse signal circuit, parallel processing circuit, pattern recognition system, and image input system
US7430546B1 (en) 2003-06-07 2008-09-30 Roland Erwin Suri Applications of an algorithm that mimics cortical processing
WO2006000103A1 (en) * 2004-06-29 2006-01-05 Universite De Sherbrooke Spiking neural network and use thereof
US7627540B2 (en) 2005-06-28 2009-12-01 Neurosciences Research Foundation, Inc. Addressing scheme for neural modeling and brain-based devices using special purpose processor
US8103602B2 (en) 2006-12-29 2012-01-24 Neurosciences Research Foundation, Inc. Solving the distal reward problem through linkage of STDP and dopamine signaling
US7818273B2 (en) 2007-09-18 2010-10-19 International Business Machines Corporation System and method for cortical simulation
GB0811057D0 (en) * 2008-06-17 2008-07-23 Univ Ulster Artificial neural network architecture
US8600919B2 (en) 2008-08-28 2013-12-03 Massachusetts Institute Of Technology Circuits and methods representative of spike timing dependent plasticity of neurons
US8630966B2 (en) 2009-01-27 2014-01-14 Salk Institute For Biological Studies Temporally dynamic artificial neural networks
US8510244B2 (en) 2009-03-20 2013-08-13 ISC8 Inc. Apparatus comprising artificial neuronal assembly
US8250010B2 (en) * 2009-05-21 2012-08-21 International Business Machines Corporation Electronic learning synapse with spike-timing dependent plasticity using unipolar memory-switching elements
US20100312736A1 (en) 2009-06-05 2010-12-09 The Regents Of The University Of California Critical Branching Neural Computation Apparatus and Methods
US8527438B2 (en) 2009-12-22 2013-09-03 International Business Machines Corporation Producing spike-timing dependent plasticity in an ultra-dense synapse cross-bar array
US9665822B2 (en) * 2010-06-30 2017-05-30 International Business Machines Corporation Canonical spiking neuron network for spatiotemporal associative memory
US9269042B2 (en) 2010-09-30 2016-02-23 International Business Machines Corporation Producing spike-timing dependent plasticity in a neuromorphic network utilizing phase change synaptic devices
US8655813B2 (en) 2010-12-30 2014-02-18 International Business Machines Corporation Synaptic weight normalized spiking neuronal networks
US9147156B2 (en) 2011-09-21 2015-09-29 Qualcomm Technologies Inc. Apparatus and methods for synaptic update in a pulse-coded network
KR101888468B1 (ko) 2011-06-08 2018-08-16 삼성전자주식회사 Stdp 기능 셀을 위한 시냅스, stdp 기능 셀 및 stdp 기능 셀을 이용한 뉴로모픽 회로
US9412064B2 (en) 2011-08-17 2016-08-09 Qualcomm Technologies Inc. Event-based communication in spiking neuron networks communicating a neural activity payload with an efficacy update
US9460387B2 (en) * 2011-09-21 2016-10-04 Qualcomm Technologies Inc. Apparatus and methods for implementing event-based updates in neuron networks
US8725662B2 (en) 2011-09-21 2014-05-13 Brain Corporation Apparatus and method for partial evaluation of synaptic updates based on system events
US9092735B2 (en) * 2011-09-21 2015-07-28 Qualcomm Incorporated Method and apparatus for structural delay plasticity in spiking neural networks
US9111222B2 (en) * 2011-11-09 2015-08-18 Qualcomm Incorporated Method and apparatus for switching the binary state of a location in memory in a probabilistic manner to store synaptic weights of a neural network
US9218563B2 (en) 2012-10-25 2015-12-22 Brain Corporation Spiking neuron sensory processing apparatus and methods for saliency detection
US9177245B2 (en) 2013-02-08 2015-11-03 Qualcomm Technologies Inc. Spiking network apparatus and method with bimodal spike-timing dependent plasticity
US9436908B2 (en) 2013-02-22 2016-09-06 Qualcomm Technologies Inc. Apparatus and methods for rate-modulated plasticity in a neuron network
US20140351186A1 (en) 2013-05-21 2014-11-27 Qualcomm Incorporated Spike time windowing for implementing spike-timing dependent plasticity (stdp)
US9436909B2 (en) 2013-06-19 2016-09-06 Brain Corporation Increased dynamic range artificial neuron network apparatus and methods
US9330355B2 (en) 2013-08-06 2016-05-03 Qualcomm Incorporated Computed synapses for neuromorphic systems
US20150046381A1 (en) 2013-08-06 2015-02-12 Qualcomm Incorporated Implementing delays between neurons in an artificial nervous system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130073497A1 (en) 2011-09-16 2013-03-21 Cornell University Neuromorphic event-driven neural computing architecture in a scalable neural network
US20130073495A1 (en) 2011-09-21 2013-03-21 Eugene M. Izhikevich Elementary network description for neuromorphic systems
US20130173515A1 (en) 2012-01-04 2013-07-04 International Business Machines Corporation Electronic synapses from stochastic binary memory devices

Also Published As

Publication number Publication date
JP2016522495A (ja) 2016-07-28
US9542643B2 (en) 2017-01-10
WO2014189970A3 (en) 2015-04-09
CN105229675A (zh) 2016-01-06
JP6130056B2 (ja) 2017-05-17
KR20160010477A (ko) 2016-01-27
US20140351190A1 (en) 2014-11-27
EP3000076A2 (en) 2016-03-30
CN105229675B (zh) 2018-02-06
WO2014189970A2 (en) 2014-11-27

Similar Documents

Publication Publication Date Title
KR101793011B1 (ko) 스파이킹 네트워크들의 효율적인 하드웨어 구현
US10339041B2 (en) Shared memory architecture for a neural simulator
US9330355B2 (en) Computed synapses for neuromorphic systems
US10140573B2 (en) Neural network adaptation to current computational resources
KR20170031695A (ko) 신경망들에서의 콘볼루션 동작의 분해
US20150134582A1 (en) Implementing synaptic learning using replay in spiking neural networks
US20150212861A1 (en) Value synchronization across neural processors
US9959499B2 (en) Methods and apparatus for implementation of group tags for neural models
KR20160145636A (ko) 스파이킹 뉴럴 네트워크에서의 글로벌 스칼라 값들에 의한 가소성 조절
KR20160125967A (ko) 일반적인 뉴런 모델들의 효율적인 구현을 위한 방법 및 장치
WO2014172025A1 (en) Method for generating compact representations of spike timing-dependent plasticity curves
KR101782760B1 (ko) 시냅스 지연의 동적 할당 및 검사
US9542645B2 (en) Plastic synapse management
US9418332B2 (en) Post ghost plasticity
US9460384B2 (en) Effecting modulation by global scalar values in a spiking neural network
US9342782B2 (en) Stochastic delay plasticity
US20140365413A1 (en) Efficient implementation of neural population diversity in neural system

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant