KR20230170916A - 재구성 가능한 계층적 다수-세그먼트 스파이킹 신경망 - Google Patents

재구성 가능한 계층적 다수-세그먼트 스파이킹 신경망 Download PDF

Info

Publication number
KR20230170916A
KR20230170916A KR1020237035636A KR20237035636A KR20230170916A KR 20230170916 A KR20230170916 A KR 20230170916A KR 1020237035636 A KR1020237035636 A KR 1020237035636A KR 20237035636 A KR20237035636 A KR 20237035636A KR 20230170916 A KR20230170916 A KR 20230170916A
Authority
KR
South Korea
Prior art keywords
neuron
synaptic
output
neurons
synapse
Prior art date
Application number
KR1020237035636A
Other languages
English (en)
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 KR20230170916A publication Critical patent/KR20230170916A/ko

Links

Classifications

    • 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/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
    • G06N3/065Analogue means

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)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Logic Circuits (AREA)
  • Multi Processors (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 복수의 스파이킹 뉴런, 및 스파이킹 뉴런들을 상호 연결하여 적어도 부분적으로 하드웨어로 구현된 네트워크를 형성하는 복수의 시냅스 요소를 포함하는 뉴런-시냅스 어레이를 개시한다. 뉴런-시냅스 어레이는 가중치 블록과 출력 블록을 포함하며, 각 가중치 블록은 시냅스 요소들 중 하나 이상을 포함하고, 각 출력 블록은 뉴런들 중 하나 이상과 뉴런 스위칭 회로를 포함한다. 각 출력 블록은 뉴런 스위칭 회로를 통해 가중치 블록의 서브세트에 전기적으로 연결될 수 있다. 뉴런 스위칭 회로는 가중치 블록 서브세트 내에 포함된 적어도 하나의 시냅스 요소를 각각의 출력 블록 내에 포함된 적어도 하나의 뉴런에 선택적으로 전기적으로 연결하여 뉴런-시냅스 어레이를 선택된 시냅스 요소들에 전기적으로 연결된 뉴런 세트들로 분할하도록 구성된다.

Description

재구성 가능한 계층적 다수-세그먼트 스파이킹 신경망
본 발명은 자동 신호인식 기술에 관한 것으로, 더 구체적으로는 스파이킹 뉴런들의 재구성 가능한 계층적 다중-세그먼트 네트워크를 위한 시스템 및 방법에 관한 것이다.
심층 신경망(DNN: deep neural networks)은 수많은 기계 학습 애플리케이션의 기초를 형성한다; 음성 및 이미지 인식을 시작으로, DNN을 활용하는 애플리케이션의 수가 기하급수적으로 증가했다. 처음에는, 하드웨어(심층-네트워크) 가속기가 표준 동기식 디지털 로직에 구현되었다. 신경망의 고수준 병렬성은 디지털 시스템의 (전형적인) 직렬 및 시간-다중화 처리에서는 복제되지 않는다; 반대로, 메모리와 처리 요소가 공존하는 아날로그 컴퓨팅 노드로서 구현된 하드웨어 DNN 에뮬레이터의 연산 프리키티브(computational primitives)는 속도, 크기 및 전력 소비 측면에서 상당한 개선을 제공한다.
생물학적 신경망 모델에서 각각의 개별 뉴런은 희소한 이벤트 또는 스파이크를 통해 비동기적으로 통신한다. 이러한 이벤트-기반 스파이킹 신경망(SNN: spiking neural network)에서는 상태를 변경하는 뉴런만이 스파이크를 생성하고 후속 층들에서 신호 처리를 기동할 수 있으므로, 결과적으로, 연산 자원을 절약한다. 특히 SNN은 지역(local) 스파이크-기반 연산, 지역 또는 전역(globla) 피드백, 온라인 학습을 통해 희소한 2진 시계열을 처리하는 비동기적 분산 아키텍처를 통합한다. 생물학적 신경 처리 시스템과 유사하게, 혼합-신호 기반 SNN 프로세서는 두 가지 기본 특성(즉 시간의 명시적인 표현과 공간의 명시적인 사용)을 유지하여, 각 뉴런/시냅스 요소에 대해 전용의 물리적 회로를 구현한다.
본질적으로, 이러한 SNN 구현은 하이브리드 아날로그-디지털 신호 표현을 채택한다. 즉, 펄스/스파이크 트레인(train)이 이벤트들의 타이밍에서 아날로그 정보를 전송하고, 이 정보는 뉴런의 수상돌기(입력)에서 다시 아날로그 신호로 변환된다. 정보는 뉴런 집단에서 발생하는 활동 패턴에 의해 부호화되며, 시냅스들(후속 뉴런에 대한 연결)은 수신하는 펄스에 따라 자신의 기능을 조정할 수 있어, 신호 전송 에너지-효율성과, 정보를 저장하고 불러오는 유연성을 제공한다. SNN은, 진폭-도메인, 시간-도메인, 주파수 도메인 특징이 고유의 공간- 및 시간-부호화된 스파이크 시퀀스들로 부호화될 수 있다는 원리에 따라, 패턴 인식 및 센서 데이터 융합에 직접 적용될 수 있다. 이러한 시퀀스들의 생성은 스파이킹 뉴런들의 하나 이상 세그먼트의 사용에 의존한다.
SNN을 하드웨어 기재에 매핑하는 현재 알려진 방법은, 예를 들어 SNN 내의 특정 기능에 사용되는 뉴런의 수, 시냅스들을 통한 연결성, 및 이들 뉴런과 시냅스의 구성에 관하여 큰 유연성을 허용하지 않는다.
또한, SNN에 의해 요구되는 기본적인 동작들은 아날로그 전자 회로에 의해 매우 효율적으로 구현되지만, 제조 불일치로 인해 그 기능적 특성이 왜곡된다. 다음 문헌을 참조할 수 있다: M.J.M. Pelgrom, A.C.J. Duinmaijer, A.P.G. Welbers, "Matching properties of MOS transistors", IEEE Journal of Solid-State Circuits, vol. 24, no. 5, pp. 1433-1439, 1989. 특히 더 작은 공정 규모와 더 낮은 동작 전류에서, 이들 회로는 양자 효과 및 외부 잡음에 점점 더 취약해지며, 이는 신호대잡음 비를 효과적으로 감소시키고 처리 성능을 제한한다. 다음 문헌을 참조할 수 있다: K.L. Shepard, V. Narayanan, "Noise in deep submicron digital design", IEEE International Conference on Computer-Aided Design, pp.524-531, 1997.
드라이버, 바이어싱, 뉴런 및 시냅스가 더 긴 상호연결에 걸쳐 더 많은 수의 장치에 의해 공유되는 대형 어레이의 경우 이러한 비이상성의 영향이 증가한다.
본 발명에 개시된 뉴런-시냅스 세그먼트는 시냅스 회로와 뉴런 유닛의 반복적인 어레이들로 구성된다. 본 발명은 이러한 어레이들이 어떻게 분할되고 세그먼트들에 매핑되는지의 양태를 포함하며, 뉴런-시냅스 어레이 및 수반되는 연결이 재구성되고 분할될 수 있는 방법과 메커니즘을 설명하고, 이어서 SNN을 하드웨어 기재에 매핑하는 데 더 큰 유연성을 제공한다. 매핑 방법론은 세그먼트의 제약-기반 분할 및 매핑[각 세그먼트의 크기(뉴런의 개수), 그들의 연결성(토폴로지 및 시냅스의 개수), 및 그들의 구성(가중치 및 레이어의 개수) 측면에서]을 포함하며, 여기서 선택된 정의와 제한된 제약은 세그먼트 네트워크의 지정된 기능과 연결된 성능 지표이다. 본 개시의 나머지 부분에서 자세히 설명되는 이러한 접근법은 복잡한 감각 신호의 패턴 인식이 가능한 스파이킹 뉴런들의 대규모 네트워크를 실현하기 위한 효과적인 수단을 제공한다.
본 개시내용의 제1 측면에 따르면, 복수의 스파이킹 뉴런, 및 상기 스파이킹 뉴런들을 상호 연결하여 적어도 부분적으로 하드웨어로 구현된 스파이킹 신경 네트워크를 형성하는 복수의 시냅스 요소를 포함하는 뉴런-시냅스 어레이가 개시된다. 각각의 시냅스 요소는 다수의 입력 중 적어도 하나로부터 시냅스 입력 신호를 수신하도록 배열되고 성기 시냅스 입력 신호에 가중치를 적용하여 시냅스 출력 신호를 생성하도록 적응되며, 상기 시냅스 요소는 각 시냅스 요소에 의해 적용되는 가중치를 조정하도록 구성 가능하다. 또한, 상기 스파이킹 뉴런들 각각은 상기 시냅스 요소들 중 하나 이상으로부터 상기 시냅스 출력 신호들 중 하나 이상을 수신하도록 배열되고, 상기 수신된 하나 이상의 시냅스 출력 신호에 응답하여 시공간 스파이크 트레인 출력 신호를 생성하도록 적응된다.
상기 뉴런-시냅스 어레이는 가중치 블록들과 출력 블록들을 포함하며, 각 가중치 블록은 상기 시냅스 요소들 중 하나 이상을 포함하고, 각 출력 블록은 상기 뉴런들 중 하나 이상과 뉴런 스위칭 회로를 포함한다. 각각의 출력 블록은 상기 뉴런 스위칭 회로를 통해 가중치 블록들의 서브세트에 전기적으로 연결 가능하며, 상기 뉴런 스위칭 회로는 상기 가중치 블록 서브세트 내에 포함된 적어도 하나의 시냅스 요소를 각각의 출력 블록 내에 포함된 적어도 하나의 뉴런에 선택적으로 전기적으로 연결하여, 상기 뉴런-시냅스 어레이를 선택된 시냅스 요소에 전기적으로 연결된 뉴런 세트들로 분할한다.
본 개시 내용의 제1 측면의 일 실시형태에 따르면, 출력 블록이 전기적으로 연결된 가중치 블록들의 서브세트는 시냅스 요소들의 어레이 내에서 하나 이상의 열(column)을 형성하고 및/또는 특정 가중치 블록에 포함된 시냅스 요소들이 뉴런-시냅스 어레이의 동일한 행 내에 제공되고 및/또는 각 출력 블록이 가중치 블록의 열에 연결된다.
본 개시 내용의 제1 측면의 일 실시형태에 따르면, 뉴런 스위칭 회로 각각은 뉴런 스위칭 회로의 논리 회로에 구현된 도체 배선을 포함하는 스위칭 신호 경로들을 포함하며, 여기서 상기 스위칭 신호 경로는 서로 다른 구성들 사이에서, 바람직하게는 트랜지스터 게이트를 사용함으로써, 스위칭 가능하도록 구성되고, 여기서 각 구성은 가중치 블록의 서브세트 내에 포함된 적어도 하나의 시냅스 요소 중 어느 것이 출력 블록 내에 포함된 적어도 하나의 뉴런 중 어느 것에 전기적으로 연결되는지를 결정한다.
본 개시 내용의 제1 측면의 일 실시형태에 따르면, 상기 뉴런 스위칭 회로는 상기 스위칭 신호 경로를 동적으로 재구성하도록 구성되며, 바람직하게는 여기서 상기 동적 재구성은 상기 뉴런-시냅스 어레이의 제약-기반 분할(partitioning) 및 세분화(segmentation)를 통합하는 매핑 방법론에 기초고, 바람직하게는 여기서 상기 세분화는 가중치 블록과 출력 블록 크기를 입력 신호대잡음 비에 일치시키는 것에 기초한다.
본 개시 내용의 제1 측면의 일 실시형태에 따르면, 상기 뉴런-시냅스 어레이의 세분화는, 상기 뉴런-시냅스 서브어레이들(subarrays) 중 2개 이상이 하나 이상의 학습 규칙, 학습 속도 및/또는 (후)가소성 메커니즘 측면에서 구별되도록, 상기 하나 이상의 학습 규칙, 학습 속도 및/또는 (후)가소성 메커니즘을 기반으로 수행된다.
본 개시 내용의 제1 측면의 일 실시형태에 따르면, 상기 가중치 블록들 중 적어도 하나는, 상기 뉴런-시냅스 어레이 내의 시냅스 요소들의 스위칭 및/또는 결합을 용이하게 하기 위해, 인터리브 구조(interleaved structure)로 구성되고, 및/또는 여기서 각각의 출력 블록에 대해 상기 스위칭은 더 높은 매핑 유연성을 얻기 위해 독립적으로 제어 가능하고, 및/또는 여기서 상기 출력 블록들 중 적어도 하나는 인터리브 구조로 구성되고, 및/또는 여기서 상기 출력 블록들 중 임의의 것의 뉴런 출력은 하나 이상의 뉴런-시냅스 서브어레이에 브로드캐스드(broadcast)된다.
본 발명의 제1 측면의 일 실시형태에 따르면, 상기 출력 블록들 중 한 출력 블록 내의 각 뉴런은 전위의 차등적인 아날로그 변화로서 수동적으로 동작한다(conduct).
본 개시 내용의 제1 측면의 일 실시형태에 따르면, 상기 뉴런-시냅스 어레이는 뉴런-시냅스 서브어레이들로 세분화되며, 여기서 상기 뉴런-시냅스 서브어레이들은 분리 가능하고 자체 필수 회로를 가지며, 및/또는 단일 양식(single modality)을 처리하고 단일 양식에 최적화되도록 배열된다.
본 개시내용의 제1 측면의 일 실시형태에 따르면, 서로 다른 뉴런-시냅스 서브어레이들 뉴런들 사이에는 장거리 및 단거리 상호 연결이 모두 존재하며, 여기서 더 먼 뉴런-시냅스 서브어레이들 사이보다 근위 뉴런-시냅스 서브어레이들 사이에 더 조밀한 연결이 존재한다.
본 발명의 제1 측면의 일 실시형태에 따르면, 상기 출력 블록들 중 적어도 하나는 상기 출력 블록들 중 상기 적어도 하나 내의 특정 뉴런의 누적 기간 및/또는 통합 상수가 제어 신호를 통해 제어 가능하다는 점에서 제어 가능하다.
본 개시 내용의 제1 측면의 일 실시형태에 따르면, 상기 뉴런들 중 하나의 뉴런 막 전위는 아날로그 영역에서 커패시터 양단의 전압으로서 또는 디지털 래치에 저장된 다중비트(multibit) 변수로서; 또는 디지털 영역에서 CMOS 논리 회로를 사용하여 구현된다.
본 개시의 제2 측면에 따르면, 스파이킹 신경 프로세서가 개시된다. 스파이킹 신경 프로세서는 디지털 또는 아날로그 데이터를 스파이크로 부호화하는 데이터-스파이크 부호화기, 상기 데이터-스파이크 부호화기에 의해 출력된 스파이크를 입력으로 취하도록 배열되고 상기 입력의 결과로서 시공간 스파이크 트레인을 출력하도록 배열된, 본 개시 내용의 제1 측면에 따른 뉴런-시냅스 어레이, 및 상기 뉴런-시냅스 어레이로부터 발생하는 시공간 스파이크 트레인을 복호화하도록 배열된 스파이크 복호화기를 포함한다.
본 개시내용의 제3 측면에 따르면, 뉴런-시냅스 어레이를 구성하는 방법이 개시된다. 뉴런-시냅스 어레이는 복수의 스파이킹 뉴런, 및 상기 스파이킹 뉴런을 상호 연결하여 적어도 부분적으로 하드웨어로 구현된 네트워크를 형성하는 복수의 시냅스 요소를 포함한다. 각각의 시냅스 요소는 다수의 입력 중 적어도 하나로부터 시냅스 입력 신호를 수신하고 상기 시냅스 입력 신호에 가중치를 적용하여 시냅스 출력 신호를 생성하도록 적응되며, 상기 시냅스 요소는 각 시냅스 요소에 의해 적용되는 가중치를 조정하도록 구성 가능하다. 또한, 스파이킹 뉴런들 각각은 상기 시냅스 요소들 중 하나 이상으로부터 상기 시냅스 출력 신호들 중 하나 이상을 수신하고, 상기 수신된 하나 이상의 시냅스 출력 신호에 응답하여 시공간 스파이크 트레인 출력 신호를 생성하도록 적응된다.
상기 방법은 뉴런-시냅스 어레이를 가중치 블록들과 출력 블록들로 나누는 단계로서, 여기서 각 가중치 블록은 상기 시냅스 요소들 중 하나 이상을 포함하고, 각 출력 블록은 상기 뉴런들 중 하나 이상과 뉴런 스위칭 회로를 포함하는 단계; 각 출력 블록을 상기 뉴런 스위칭 회로를 통해 가중치 블록들의 서브세트에 전기적으로 연결 가능하게 만드는 단계, 및 가중치 블록들의 서브세트 내에 포함된 적어도 하나의 시냅스 요소를 각각의 출력 블록 내에 포함된 적어도 하나의 뉴런에 선택적으로 전기적으로 연결하도록 상기 뉴런 스위칭 회로를 구성하여, 상기 뉴런-시냅스 어레이를 선택된 시냅스 요소들에 전기적으로 연결된 뉴런 세트들로 분할하는 단계를 포함한다.
본 개시 내용의 제3 측면의 일 실시형태에 따르면, 출력 블록이 전기적으로 연결된 가중치 블록들의 서브세트는 시냅스 요소들의 어레이 내에 하나 이상의 열을 형성하고 및/또는 특정 가중치 블록에 포함된 시냅스 요소들이 뉴런-시냅스 어레이의 동일한 행 내에 제공된다.
본 개시의 제3 측면의 일 실시형태에 따르면, 뉴런 스위칭 회로들의 각각은 상기 뉴런 스위칭 회로의 논리 회로에 구현된 도체 배선을 포함하는 스위칭 신호 경로들을 포함하며, 여기서 상기 스위칭 신호 경로는, 바람직하게는 트랜지스터 게이트를 사용함으로써, 서로 다른 구성들 사이에서 스위칭 가능하도록 구성되고, 여기서 각 구성은 가중치 블록의 서브세트 내에 포함된 적어도 하나의 시냅스 요소 중 어느 것이 출력 블록 내에 포함된 적어도 하나의 뉴런 중 어느 것에 전기적으로 연결되는지를 결정한다.
이제, 상응하는 참조 부호가 상응하는 부분을 나타내는 첨부된 개략도를 참조하여 단지 예로서 실시형태들을 설명할 것이다:
도 1은 n2 개 시냅스를 갖는 정사각형 뉴런-시냅스 어레이의 개략도를 보여준다.
도 2a-2c는 재구성 가능한 뉴런-시냅스 어레이의 구성을 도식적으로 나타낸 것이다. 도 2a에서 주요 구성단위는 각각 m 개 가중치와 m 개 뉴런을 모으는 출력 블록(Oj)과 가중치 블록(Wi,j)이고, 도 2b는 가중치 블록(Wi,j)의 구조를 도시하며, 도 2c는 출력 블록(Oj)의 구조를 도시한다.
도 2d는 열/뉴런 복호화기 내 뉴런 스위칭 회로의 가능한 구성들의 예시적인 실시형태를 도시한다.
도 3은 예시적인 재구성 가능한 어레이(예를 들어, 도 2에 도시됨)를 다수의 세그먼트/서브어레이로 나누는 방법을 개략적으로 도시한다.
도 4a-4d는 재구성 가능한 뉴런-시냅스 어레이의 예시적인 구성을 개략적으로 도시한다: 도 4a에는 n2 개 시냅스와 n 개 뉴런, 도 4b에서는 도 4a의 어레이가 2개 세그먼트로 나누어지고, 각 세그먼트는 n2/2 개 시냅스와 2×n 개 뉴런을 가지며, 도 4c에서는 어레이가 4개 세그먼트로 나누어지고 각 세그먼트는 n2/4 개 시냅스와 4×n 개 뉴런을 가지며, 도 4d에서는 어레이가 8개 세그먼트로 나누어지고 각 세그먼트는 n2/8 개 시냅스와 8×n 개 뉴런을 가진다.
도 5는 재구성 가능한 뉴런-시냅스 어레이 구성의 예시적인 표현을 보여준다: 각 세그먼트(서브어레이)는 뉴런마다 서로 다른 시냅스 수를 가질 수 있다.
도 6a는 데이터-스파이크 부호화기, 다수-세분화된 아날로그/혼합-신호 뉴런-시냅스 어레이, 및 스파이크 복호화기를 통합한 스파이킹 신경 프로세서의 예시적인 표현을 도시한다.
도 6b는 상호연결 구조의 예시적인 표현을 도시한다.
도면들은 단지 설명의 목적으로만 사용된 것이며, 청구범위에 명시된 범위나 보호를 제한하는 역할을 하지 않는다.
이하, 특정 실시형태를 더욱 상세하게 설명한다. 그러나 이들 실시형태는 본 개시 내용에 대한 보호 범위를 제한하는 것으로 해석될 수 없다는 것을 인식해야 한다.
도 1은 n2 개의 시냅스와 n 개의 뉴런을 갖는 정사각형 뉴런-시냅스 어레이(100)의 개략도를 보여준다. 뉴런-시냅스 어레이(100)는 시냅스(101)가 있는 시냅스 행렬(150)과 뉴런(103)이 있는 뉴런 행(160)을 포함한다. 시냅스와 뉴런은 부분적으로 또는 전체적으로 하드웨어로 구현될 수 있다.
시냅스 행렬(150)의 각 시냅스(101)는 그에 속한 특정 가중치(Wi,j)를 가지며, 여기서 i는 시냅스 행렬(150)의 i번째 행을 나타내고, j는 시냅스 행렬(150)의 j번째 열을 나타낸다. 시냅스 행렬(150)의 각 행은 각각의 입력(102)에 의해 구동된다. 입력(102)은 전기 신호이며, 예를 들어 전압 또는 전류 스파이크[트레인(train)]일 수 있다. 시냅스 행렬(150)의 각 열(j)은 Nj로 표시된 각각의 출력 뉴런(103)을 구동한다.
각각의 가중치(Wi,j)는 시냅스 행렬(150)의 i번째 행에 대한 각각의 입력(102)과 시냅스 행렬(150)의 j번째 열에 연결된 뉴런(Nj) 사이의 연결의 강도 또는 진폭을 나타낸다. 다시 말하면, 가중치(Wi,j)가 증가하면, 시냅스 행렬(150)의 i번째 행의 각각의 입력(102)과 j번째 열에 연결된 뉴런(Nj) 사이의 연결이 강화된다.
뉴런의 막 전하와 관련된, 특정 뉴런(Nj)의 막 전위가 특정 값('역치'라고 함)에 도달할 때, 그 뉴런이 발사한다. 이 전기 신호는 전압 또는 전류 스파이크로 표시되며 스파이크 출력 라인(180)을 통해 SNN의 다른 부분으로 전송된다.
뉴런 행(160)은, 예를 들어 특정 뉴런(들)(103)의 누적 기간 및/또는 통합 상수가 제어 신호(170)를 통해 제어될 수 있다는 점에서 제어될 수 있다(비록 하나의 제어 신호(170)만 도시되어 있지만, 각 뉴런에 대해 하나 이상의 별도의 제어 신호가 있을 수 있다). 이러한 방식으로, 시냅스 행렬(150)로부터의 신호에 대한 뉴런(103)의 반응이 제어될 수 있다.
이 정사각형 뉴런-시냅스 어레이는 US 63/107,498에 설명된 것과 같은 스파이킹 신경망 하드웨어의 일 예이며, 이것은 임의의 연결 토폴로지의 구현을 용이하게 하는 프로그래밍 가능한 상호연결 구조를 사용하여 연결된, 스파이킹 뉴런, 시냅스의 구성 가능한 어레이들을 이용한다. 상기 문헌에서, n2 개 시냅스와 n 개 뉴런을 구동하는 n 개 입력으로 구성된 분산된 구성요소들을 사용하여 효율적인 뉴런-시냅스 어레이가 설명되었다. 즉, 시스템은 어레이의 접합부에 전자 시냅스들의 존재를 통합하는 반면, 어레이의 주변부는 생물학적 뉴런의 소마(soma)와 축삭둔덕(axon hillock)의 활동을 모방한 뉴런 회로들의 행들을 포함한다.
이러한 어레이는 분할되어 세그먼트들의 어레이에 매핑될 수 있으며, 각 세그먼트는 프로그래밍 가능한 스파이크 뉴런들의 네트워크를 포함한다.
도 2a 내지 2c는 n2 개 시냅스 요소와 n 개 뉴런을 포함하는 재구성 가능한 뉴런-시냅스 어레이의 구성에 대한 도식적 표현을 보여준다. 도 2a에서 주요 구성단위는 각각 1×m 개 시냅스 요소와 m 개 뉴런을 모으는 가중치 블록(201)과 출력 블록(202)이다.
도 2b는 입력 라인들이 있는 단일 가중치 블록(201)을 도시한다. 더 큰 팬-인(fan-in)을 지원하기 위해, 여러 시냅스 열에 대해 분산된 여러 시냅스 요소의 시냅스 출력이 단일 뉴런으로 안내되어, 한 뉴런의 잠재적인 팬-인을 n×m 개 고유 입력으로 효과적으로 늘릴 수 있다. 이는 시냅스들을 가중치 블록들에 모음으로써 달성된다. 상기 재구성 가능한 뉴런-시냅스 어레이의 구성은 한 가중치 블록 내의 시냅스 요소의 개수(m)에 의해 제어되는 가능한 아키텍처의 공간을 설명하며, 여기서 m ∈ [1, n]이고, 한 뉴런에 대한 최대 팬-인은 n×m 개이며, 입력 포트의 개수는 n×m 개이고, 단일 입력 스파이크를 통해 브로드캐스트되는 뉴런 개수는 n/m 개이다. Wn,n /m 가중치 블록의 개수를 늘리면, 한 입력이 모든 매핑된 뉴런들 간에 공유되지 않을 때 더 높은 시냅스 활용을 제공한다.
따라서 한 가중치 블록(201) 내 시냅스 열(시냅스 요소들의 열) 개수는 도 2b에 도시된 바와 같이 m과 동일하고, n/m은 뉴런-시냅스 어레이(150)의 각 행에 있는 가중치 블록(201)의 총 개수이며, 여기서 n은 시냅스 행렬(150) 내 열의 전체 개수 이다(정사각형 어레이를 가정함). 한 가중치 블록은 여러 행의 시냅스 요소와 여러 열의 시냅스 요소를 포함할 수 있지만, 이 예에서 각 가중치 블록(201) 내 행의 개수는 1이다. 각 가중치 블록은 Wij로 표시되며, 여기서 i∈ [1, n]이고 j∈ [1, n/m]이다.
도 2a는 단순화를 위해 가중치 블록(201)의 각 행에 대해 단일 입력 라인을 도시하지만, 가중치 블록(201)의 각 행은 실제로 다수의 입력을 받는다. 예를 들어 m 개 시냅스 요소로 구성된 가중치 블록(201)은 도 2b에 도시된 바와 같이 m 개 입력을 가질 수 있으므로, 각 행의 가중치 블록(201)은 m 개 입력 라인에 연결된다. 마찬가지로, 도 2a는 단순화를 위해 가중치 블록(201)의 각 열의 출력을 전송하기 위한 단일 라인을 도시한다. 그러나 가중치 블록(201)의 각 열은 실제로 다수의 출력을 생성한다. 예를 들어 m 개 시냅스 요소로 구성된 하나의 가중치 블록(201)은 도 2b에 도시된 바와 같이 m 개 출력을 생성할 수 있으므로, 각 열의 가중치 블록들(201)은 m 개 출력 라인에 연결된다.
도 2c는 단일 출력 블록(202)을 도시한다. 한 열의 가중치 블록들(201)에 의해 구동되는 각 출력 블록(202) 내 뉴런의 개수는 m이다. 각 출력 블록은 Oi로 표시되며, 여기서 i∈[1, n/m]이다.
따라서 상기 정사각형의 재구성 가능한 뉴런-시냅스 어레이는 크기 m의 n/m 개 출력 블록으로 나눌 수 있다(여기서 m ≤ n). 따라서 n 개의 고유한 입력 포트와 m 개의 뉴런으로 구성된 n/m 개의 출력 블록을 갖는 분리 가능한 뉴런-시냅스 어레이가 형성된다.
이에 따라 고유 입력의 총 개수가 증가하고 이것은 개별 뉴런들에 대한 팬-인을 늘리거나 더욱 세분된 스파이크 분포를 제공하기 위해 사용될 수 있다. 피드백 연결은 반복 및 다층 네트워크의 효율적인 매핑을 위해 어레이에 따라 적절하게 크기가 조정된다. 따라서 한 행당 가중치 블록의 수(n/m)는 n2 개 뉴런-시냅스 어레이의 내부 분할을 지정한다; 전체적으로, 고유 입력 수가 n×m 개로 증가한다. m=n이면 각 시냅스는 전용 입력 포트를 갖지만, m=1이면 원래 n2 개 어레이가 얻어지고, 따라서 입력이 모든 뉴런에 걸쳐 공유된다.
도 2b에는 재구성 가능한 뉴런-시냅스 어레이의 구성에 대해 단일 가중치 블록(Wi,j)의 구조가 도시되어 있다.
Wn,n /m 가중치 블록들 각각은 상기 어레이 구성을 따른다. 즉, ini(여기서, i∈[1,n])으로 표시된 m 개의 입력 세트가 한 행의 가중치 블록들을 따라 브로드캐스트된다. 즉, 단일 입력()(여기서, x∈[1,m])이 n/m 개 뉴런에 직접 배포된다.
가중치 블록(Wi,j)(여기서, i∈[1,n] 및 j∈[1,n/m])의 x 번째 시냅스 요소(여기서 x∈[1,m])는 으로 표시된다. ini(여기서, i∈[1,n])으로 표시된 m 개의 한세트의 입력들이 i번째 행의 시냅스 요소들을 따라 브로드캐스트된다; 즉, m 개의 입력들의 세트 내 단일 입력()(여기서, x∈[1,m])이 n/m 개의 뉴런에 배포된다.
도 2c에는 재구성 가능한 뉴런-시냅스 어레이의 구성을 위해 출력 블록(Oj)의 구조가 도시되어 있다.
한 열의 가중치 블록(201)은 출력 블록(202)에 연결 가능한 다수의 시냅스 열들을 포함하고 시냅스 열들의 출력(252)을 열/뉴런 복호화기(250)로 전달한다. 열/뉴런 복호화기(250)는 시냅스 열 출력(252)을 출력 블록(202)의 하나 이상의 뉴런(254) 세트에 연결하기 위한 스위칭 회로(260)를 포함하며, 스위칭 회로(260)는 하나 이상의 선택 신호(251)에 의해 제어된다. 열/뉴런 복호화기(250)에서 나오는 교환된 신호(switcjed signal)는 출력 블록(Oj)(여기서, j∈[1,n/m])에 대해 (여기서, x∈[1,m])으로 표시된 하나 이상의 뉴런(254)으로 교환된 것이며, 시냅스 열 출력(252)을 다양한 뉴런 조합들 또는 뉴런 세트들에 연결할 수 있도록 한다.
선택 신호(251)를 사용하여, 열/뉴런 복호화기(250)가 시냅스 열 출력(252)을 출력 블록(202)의 한 세트의 뉴런(254)에서 다른 세트의 뉴런(254)으로 교환하는 방법을 선택할 수 있다. 뉴런 세트(254) 또는 개별 뉴런의 동작 특성을 결정하는 데 하나 이상의 뉴런 제어 신호(253)가 사용될 수 있다.
도 2d에는, 4개의 시냅스 열(270)이 열/뉴런 복호화기(250)에 대해 입력으로서 역할을 할 때, 열/뉴런 복호화기(250)에서 가능한 뉴런 스위칭 회로(260)의 구성들에 대한 예시적인 실시형태가 도시되어 있다. 이 실시형태에서, 열/뉴런 복호화기(250)는 도시된 바와 같은 4개의 가능한 출력 뉴런 구성(280)을 갖는 4개의 인접한 시냅스 열(270)의 각 그룹을 제공하도록 배열된다. 즉, 4개의 시냅스 열은 그 출력이 출력 블록(202)의 4개의 서로 다른 뉴런 세트(254)로 선택적으로 향하도록 할 수 있다. 열/뉴런 복호화기(250)에는 서로 다른 개수의 시냅스 열(270)과 출력 뉴런(254)이 연결될 수 있고, 시냅스 열과 출력 뉴런의 개수도 다를 수 있으며, 출력 뉴런 구성(280)의 개수와 배열도 다를 수 있다.
뉴런 스위칭 회로(260)의 4가지 구성(280)이 다음에 논의된다. 첫 번째 구성에서, 4개의 시냅스 열(270)은 스위칭 신호 경로(261)를 통해 4개의 출력 뉴런에 대해 각각의 입력으로서 역할을 한다. 두 번째 구성에서, 4개의 시냅스 열(270) 중 2쌍이 스위칭 신호 경로(261)를 통해 두 세트의 출력 뉴런에 대해 입력으로서 역할을 한다. 즉, 시냅스 열(i 0, i 1)은 출력 뉴런(O 0)에 대응하고 시냅스 열(i 2, i 3)은 출력 뉴런(O 2)에 대응한다. 세 번째 구성에서, 세 개의 시냅스 열(i 0, i 1i 2)이 하나의 출력 뉴런 세트(Oo)에 대응하고, 나머지 시냅스 열(i 3)은 스위칭 신호 경로(261)를 통해 출력 뉴런(O 3)에 대응한다. 네 번째 구성에서는, 네 개의 시냅스 열 모두가 스위칭 신호 경로(261)를 통해 단일 출력 뉴런 세트(O 0)에 대응된다.
스위칭 신호 경로(261)는 스위칭 회로(260)의 논리 회로에 구현된 전도 경로를 포함할 수 있다. 스위칭 신호 경로(261)는, 예를 들어 구성 가능하거나 고정된 트랜지스터 게이트에 의해, 특정 구현에서 서로 다른 구성들 사이에서 교환될 수 있다. 스위칭 신호 경로(261)의 특정 연결은 뉴런-시냅스 어레이의 초기 제조 시(예컨대, 공장에서) 설정되거나, 열/뉴런 복호화기(250) 및/또는 뉴런 스위칭 회로(260)의 프로그래밍 또는 다른 구성을 통해 즉석에서 설정될 수 있다. 뉴런 스위칭 회로(260)는 예를 들어, 뉴런-시냅스 어레이의 동작 중에 동적으로 스위칭 신호 경로(261)를 재구성할 수 있다. 언급한 바와 같이, 열/뉴런 복호화기(250)가 한 세트의 뉴런(254)에서 다른 세트의 뉴런(254)으로 스위칭하는 방법을 선택하기 위해 하나 이상의 선택 신호(251)가 사용될 수 있다. 상기 동적 재구성은 세그먼트들의 제약-기반 분할 및 매핑을 통합하는 특정 매핑 방법론에 기초할 수 있다. 이에 대한 예시적인 실시형태가 아래에서 추가로 설명된다. 예를 들어, 상기 동적 재구성은 뉴런-시냅스 어레이 내 특정 세그먼트의 신호대잡음 비(S/N)를 기반으로 수행될 수 있다. 이에 대해서는 아래에서 더 설명한다.
이와 같이 뉴런 스위칭 회로(260)는 어느 시냅스 열(270)이 어느 출력 뉴런 세트(280)에 출력을 보내는지 결정한다. 즉, 뉴런 스위칭 회로(260)는, 뉴런 스위칭 회로(260)의 현재 활동적인 구성의 결과로서, 뉴런-시냅스 어레이의 특정 세분화를 구현한다.
더 큰 팬-인을 지원하기 위해, 가중치 블록(Wn,n/m)은 m 개의 인접한 시냅스 열의 교환(스위칭, switching)/결합을 용이하게 하기 위해 인터리브 구조(interleaved structure)로서 구성될 수 있다. 더 많은 매핑 유연성을 위해 n/m 개 뉴런 스위치 각 세트의 구성이 독립적으로 제어될 수 있다. 반복 스파이크 또는 층간 연결의 대기시간에 민감한 라우팅에 대해, 여러 옵션을 고려할 수 있다. 예를 들어, 출력 뉴런(i)과 선택된 입력 사이에 직접 경로를 제공하거나, 입력이 신속하게 임의의 그룹에 라우팅 처리될 수 있도록 뉴런 그룹 또는 세트의 인터리브 구성을 활용하거나, 어레이에 스파이크의 유연한 주입을 제공할 수 있으며, 여기서 뉴런 출력은 개별 또는 다수 그룹에 자동으로 브로드캐스트될 수 있다.
어레이를 세분화하면 성능의 견고성과 신뢰성 측면에서 균일성을 달성할 수 있다. 즉, (i) 세분화는 견고한 전력 분배를 가능하게 하고(수직의 넓은 금속 버스(더 낮은 저항용)를 시냅스 행 경계에 배치하여 IR 강하 문제를 완화할 수 있음), (ⅱ) 가중치 유지 회로의 액세스를 위한 인터페이스에 클록이 필요한 경우, 세분화는 클록 거부 전략(clock rebuffing strategy) 전략에 필요한 계층 구조를 생성하고, (ⅲ) 세분화는 큰 구동 강도를 가진 단일 프리-시냅스 대신 신호 무결성을 향상시키고, 세분화는 분산된 접근을 허용하는데, 이는 각 세그먼트 후에 신호가 거부(rebuffed)/증폭될 수 있기 때문이며, (iv) 세분화는 어레이 내에서 관찰 가능성을 높이고 검증 프로세스를 단순화한다.
도 3은 예시적인 재구성 가능한 어레이(예를 들어, 도 2에 도시됨)를 다수의 세그먼트/서브어레이로 분할하는 방법을 개략적으로 도시한다.
제1 서브어레이(301)는 가중치 블록(Wij)을 포함하고, 여기서 i∈[1,n] 및 j∈[1,x]이다. 제2 서브어레이(302)는 가중치 블록(Wij)을 포함하고, 여기서 i∈[1,n] 및 j∈[x+1,y]이다. 최종 서브어레이(303)는 가중치 블록(Wij)을 포함하고, 여기서 i∈[1,n] 및 j∈[z+1,n/m]이다. 여기서, x,y,z는 자연수이고 x≤y≤z≤n/m이다. 더 많은 서브어레이가 존재할 수 있다. 다수의 n 개 입력 라인(304)이 서로 다른 가중치 블록을 공급한다. 가중치 블록(Wi,j) 각각은 출력 블록(Oj)에 연결된다. 각각의 서브어레이는 각각 서브어레이(301, 302, 303)의 출력 블록(305, 306, 307)으로서 세분화된 다수의 출력 블록을 포함할 수 있다. 특정 뉴런(Nj)의 막 전위(뉴런의 막 전하와 관련됨)가 특정 값에 도달하면, 뉴런이 발사한다. 이 전기 신호는 전압 또는 전류 스파이크로 표시되며 스파이크 출력 라인(309)을 통해 SNN의 다른 부분으로 전송된다.
각 출력 블록은 다음과 같이 제어될 수 있다. 예를 들어 특정 뉴런(들)의 누적 기간 및/또는 통합 상수가 제어 신호(308)를 통해 제어될 수 있다. 이러한 방식으로, 서브어레이(301, 302, 303)의 가중치 블록으로부터의 신호에 대한 뉴런의 반응이 제어될 수 있다.
앞서 언급했듯이 SNN에 의해 요구되는 기본 동작들은 아날로그 전자 회로를 통해 매우 효율적으로 구현되지만, 제작 불일치로 인해 기능적 특성이 왜곡된다. 특히 더 작은 공정 구조와 더 낮은 동작 전류에서, 이러한 회로는 양자 효과 및 외부 잡음에 점점 더 취약해지며, 이로 인해 신호대잡음 비가 효과적으로 감소하고 처리 성능이 제한된다. 드라이버, 바이어싱, 뉴런 및 시냅스가 더 긴 상호연결에 걸쳐 더 많은 수의 장치에 의해 공유되는 대규모 어레이의 경우 이러한 비이상성의 영향이 증가한다. 대규모 어레이를, 각각 고유한 필수 회로를 가진 더 작은 세그먼트(서브어레이)로 세분화함으로써, 성능 균일성이 가능해지고, 또한 매핑 방법론에 세그먼트의 제약-기반 분할 및 매핑이 통합된 경우에 이러한 비이상성이 완화될 수 있다.
일 실시형태에서, 상기 세그먼트는 목표 신호 처리 기능(예를 들어 이득, 필터링, 승산, 가산)의 특성, 또는 주파수/시간 동작 상수에 기초하여 구성될 수 있다.
또 다른 실시형태에서, 뉴런-시냅스 어레이의 서로 다른 영역/세그먼트는 목표 적용 사례, 전처리 신호 체인/경로의 채널 수, 관심 주파수 대역, 특징 세트의 복잡성 및 특성, 또는 시스템의 목표 신호대잡음 비에 기초하여 구성될 수 있다.
또 다른 실시형태에서, 세그먼트는 생물물리적/화학적 영감을 받은 정의(예를 들어 시공간(장기 및 단기) 평가, 노화 인공물, 뇌 통신 비용 및 영역/층)에 기초하여 구성될 수 있다.
또 다른 실시형태에서, 세그먼트는 학습 규칙, 학습속도 및 연관된 비용-기반 메커니즘 또는 (후-) 가소성 메커니즘[(post-) plasticity mechanisms]에 기초하여, 또는 미리 정의된 성능지수(Figure of Merit) 성능-기반 정의에 기초하여 정의될 수 있다.
또 다른 실시형태서, 뉴런-시냅스 어레이 내의 세그먼트는 항상성 조절(지역적 및 전역적) 요구사항, 또는 오류 전파/교정 능력 및 메커니즘 제한사항, 또는 흥분/억제 비율, 누화, 또는 네트워크 포화 메커니즘과 같은 제한 메커니즘을 기반으로 구성될 수 있다.
도 4a 내지 4d는 재구성 가능한 뉴런-시냅스 어레이(400)의 예시적인 구성을 개략적으로 도시한다. 도 4a의 어레이(400)는 n2 개의 시냅스(401) 및 n 개의 뉴런(402)을 갖는다. 도 4b에서는 도 4a의 어레이(400)가 두 세그먼트로 분할되고, 각 세그먼트는 n2/2 개의 시냅스와 2×n 개의 뉴런을 갖는다. 도 4c에서는 도 4a의 어레이(400)가 4개의 세그먼트로 분할되고, 각 세그먼트는 n2/4 개의 시냅스(401) 및 4×n 개의 뉴런(402)을 갖는다. 도 4d에서는 어레이(400)가 8개의 세그먼트로 분할되고, 각 세그먼트는 n2/8 개의 시냅스(401)와 8×n 개의 뉴런(402)을 갖는다.
상기 뉴런-시냅스 세그먼트는 n2 개의 시냅스와 n 개의 뉴런을 구동하는 n 개의 입력으로 구성될 수 있다(도 1 내지 3, 도 4a 참조). 수지상/어레이 거리를 줄임으로써, 복합체 및 구획은 지연을 단축하고 잡음을 감소시킨다. 즉, 전력 소비를 줄이고 동일한 영역에 대해 시냅스 연결당 뉴런 수를 증가시킨다. 도 4a의 어레이는 각각 n2/2 개의 시냅스와 n 개의 뉴런을 갖는 두 개의 세그먼트로 분할될 수 있다(도 4b 참조); 따라서 두 세그먼트에 걸친 전체 시냅스 개수 동일하게 유지되는 반면, 뉴런의 수는 두 배로 늘어난다. 마찬가지로, 도 4a의 어레이는 4개의 세그먼트로 분할되고(도 4c 참조), n2/4개 시냅스가 있는 각 세그먼트는 총 뉴런 수를 4배로 증가시키거나, 8개의 세그먼트로 분할되어(도 4d 참조), n2/8개 시냅스를 갖는 각 세그먼트는 뉴런 수를 8배 늘릴 수 있다.
어레이의 정보 용량은 신호(S) 대 잡음(N) 비(S/N)에 따라 달라지며 log2(1 + S/N)만큼 증가한다. 그러나 어레이를 통해 신호를 전달하는 데 드는 에너지 비용은 √S/N만큼 증가한다. 따라서 √S/N이 증가함에 따라 어레이의 효율성이 떨어진다. 즉, 모든 구성 요소가 동일한 신호를 전송하려고 시도하더라도, 단위 고정 비용당 정보가 증가한다. 이러한 두 가지 경쟁적 경향이 균형을 이루는 곳에서 최적화가 발생한다. 결과적으로, 신호전달 비용에 대한 고정비용의 비율이 높을수록 더 큰 최적 어레이가 제공된다.
최적의 어레이 크기는 또한, 전체 시스템에서 성능을 최대화하기 위해 구성 요소들 간에 할당된 S/N을 분산한다는 관점에서, 상기 회로의 다른 부분들의 비용에 따라 달라진다.
도 5는 재구성 가능한 뉴런-시냅스 어레이(500)의 구성의 예시적인 표현을 도시한다: 각각의 세그먼트(서브어레이)(501)는 뉴런 당 상이한 시냅스 수를 가질 수 있다. 세그먼트(501) 레벨에서, 센서 출력의 정확도를 높이거나 차별화된 특징 선택 및 추출 능력의 향상을 위해, 각각 단일 양식(modality) 처리에 특화된 특수 세그먼트가 정의될 수 있다.
상기 세그먼트들 각각은 본 발명의 설명에 따라 정의된 뉴런 당 상이한 시냅스 수를 가질 수 있으며, 여기서 m=[1,n]이다.
입력 잡음은 어레이의 S/N에 의해 접근되는 경계를 부과하기 때문에 입력의 S/N은 어레이의 최적 크기에 큰 영향을 미친다. 이는 낮은 입력 S/N에서 대형 어레이의 능률과 가장 효율적인 어레이의 크기를 감소시킨다. 즉, 낮은 S/N을 갖는 입력은 더 적은 정보를 포함하고, 더 작은 어레이는 더 낮은 정보 용량을 가지므로, 최적의 어레이는 그 용량을 그 입력에 일치시킨다. 입력 S/N에 대해 어레이 크기를 일치시키는 것은 시스템 내 용량을 일치시켜 최적의 솔루션을 얻기 위해 대칭 발달(symmorphosis)의 원리를 따른다(참조: E.R. Weibel의 "Symmorphosis: On form and function in shaping life", Cambridge, MA: Harvard University Press, 2000.
세그먼트 내의 뉴런 수를 절약하려면(그러나 하나의 구성 요소가 최적이 아니게 여러 작업을 수행하는 것을 방지하려면), 뉴런 내 회로(들)의 연산 능력을 향상시켜야 한다. 즉, 뉴런의 특정 양식에 대해 더 많은 신경수용체(AMPA, NMDA, GABA) 또는 뉴런 전도성-기반(Na, Ca, K) 정의를 할당하여 뉴런의 민감도와 신호대잡음 비를 향상시켜야 한다. 이러한 뉴런은, 일반적으로 여러 뉴런으로 구성된 회로를 요구하는 기능을 수행하기 위해, 내부(신경수용체 또는 전도성-기반) 회로를 사용할 수 있다.
신경조절자는 광범위하게 브로드캐스트될 수 있지만 여전히 지역적으로 및 구체적으로 작용하여 적절한 신경수용체를 갖는 뉴런에만 영향을 미칠 수 있다. 신경조절자의 도달 범위는, 신경수용체가 상이한 세그먼트 내 신호전달 네트워크들에 연결되는 여러 하위 유형들로 다양화되기 때문에, 더욱 향상된다. 결과적으로 소규모의 목표 조정을 통해 전체 네트워크를 재조정하고 재구성할 수 있으므로, 효율적인 처리 모듈화가 가능하고, 다른 신호 처리 기능이 필요한 경우 작업 일정을 조정할 수 있다. 신경수용체는 전류의 전압 의존성을 변경하고, 이후 활성화 및 비활성화 곡선의 모양에 영향을 미친다.
각 수용체는 연관된 비선형 특성의 모델인 다중-(전달)컨덕턴스 채널을 나타낸다. NMDA 수용체는 시냅스 가중치의 활동-종속적 수정을 제공할 수 있는 반면, AMPA 수용체는 빠른 시냅스 전류를 통해 소마를 구동할 수 있다. 빠른 수용체 수정은 시냅스 효능의 활동-종속적 변화를 위한 제어 메커니즘으로 작용할 수 있다. 수지상 스파이크(버스트) 그룹들이 특정 뉴런의 역치를 초과하기에 충분할 경우, 축색 돌기는 활동 전위를 생성하여; 뒤따르는 스파이크가 수상 돌기로 피드백되고, 소마 신호와 함께 NMDA 수용체 신호에 승산 및 가산되어 후속적으로 가중치 제어를 생성한다.
일반적으로, 상기 피드백 신호는 사용 가능한 신호들의 서브세트일 수 있으며 상기 시스템 매개변수의 서브세트에 작용할 수 있다(즉, 교란(perturbations)이 보상될 때 특정한 고유의 속성을 보존함). 다음 문헌을 참조할 수 있다: T. O'Leary, A.H. Wiliams, A. France, E. Marder의 "Cell types, network homeostasis, and pathological compensation from a biologically plausible ion channel expression model", Neuron, vol. 82, pp. 809-821, 2014.
네트워크 교란이 발생하는 경우, 뉴런 연산 요소들은 교란의 부호, 강도 및 위상을 기반으로 스파이크를 생성한다. 뉴런 클러스터의 공진 응답이 왜곡되거나 변경되면, 각 뉴런은 스파이킹의 위상을 조정한다. 이어서, 뉴런 연산 요소들은 시간-종속 연산을 수행할 수 있다.
충분히 높은 수준의 이질성(예를 들어, 통합 커패시턴스, 발사 역치, 불응기와 같은 뉴런-시냅스 매개변수의 이질성 증가)에서, 상기 네트워크는 공간적으로 무질서한 신경 활동 패턴을 보여준다. 네트워크 활동 프로파일이 좁으면, 상기 네트워크에 의해 부호화된 공간 자극 분포의 동질성에 대한 필요성이 증가된다.
도 6a는 하나 이상의 데이터-스파이크 부호화기(606), 다수-세그먼트 아날로그/혼합-신호 뉴런-시냅스 어레이(607), 및 스파이크 복호화기(611)를 통합하는 스파이킹 신경 프로세서(600)의 예시적인 표현을 도시한다.
데이터는 AER(601), 인터페이스들 예를 들어 SPI(602), I2C(603) 및/또는 I/O(입력/출력)(604), 및/또는 전처리기 DSP/CPU(605)와 같은 입력 모듈에 대해 입력으로 사용된다. 이들 입력 모듈의 출력은 하나 이상의 데이터-스파이크 부호화기(606)로 전송된다. 상기 하나 이상의 데이터-스파이크 부호화기(606)는 상기 데이터를 스파이크로 부호화하며 상기 스파이크는 아날로그/혼합-신호 뉴런-시냅스 어레이(607)의 입력으로 사용된다.
뉴런-시냅스 어레이(607)에 의해 출력되는 스파이크는 스파이크 복호화기(611)에 의해 복호화될 수 있다. 패턴 조회 모듈(612)은 스파이크 출력 신호 내의 특정 패턴을 해석하는 데 사용될 수 있다. 상기 복호화된 스파이크는 그 다음 하나 이상의 출력 인터페이스 및/또는 인터럽트 로직(613)으로 전송될 수 있다. 구성 및 제어 모듈(614)은 스파이킹 신경 프로세서의 다양한 부분들의 구성 및 제어, 예를 들어 뉴런-시냅스 어레이(607) 내의 시냅스 요소 및 뉴런의 가중치 및 구성 매개변수를 설정하는 것을 허용한다.
뉴런-시냅스 어레이(607)는 위에서 언급된 실시형태 중 임의의 것에 따라 세분화될 수 있다. 특정 세그먼트 내의 뉴런은 전위의 차등적 (아날로그) 변화로서 수동적으로 동작할 수 있으므로, 직접적이고 에너지 효율적인 아날로그 연산에만 의존한다. 간단하고 날카로우며 에너지 집약적인 활동 전위가 장거리 신호전달을 위해 비축된다. 즉, 다수-세그먼트 아날로그/혼합-신호 뉴런-시냅스 어레이 내의 상호연결은 생물학적 뇌의 패러다임을 따른다. 즉, 근위 세그먼트들 내/사이에 연결이 조밀하고 원위 세그먼트들 사이에 연결이 덜 조밀하다. 따라서, 장거리 상호연결(610)과 단거리 상호연결(609) 모두가 세분화된 뉴런-시냅스 어레이(607) 내의 뉴런들 사이에 존재할 수 있다.
도 6b는 상호연결 구조의 예시적인 표현을 도시한다.
다시 장거리 상호연결(610)과 단거리 상호연결(609)이 뉴런-시냅스 어레이(607) 내의 서로 다른 세그먼트(608) 사이에 존재할 수 있다.
이러한 (이중) 상호연결 구조는 특유의 설계 목표에 따라 관리된다: 단거리 통신(609)의 경우 근위 세그먼트들 간의 낮은 대기시간에 우선순위가 주어지는 반면(높은 연결 밀도로 획득됨), 장거리 통신(610)의 경우 원위 세그먼트들 간의 높은 처리량이 목표가 된다. 세그먼트-세그먼트 상호연결 구조는 디지털 CMOS 로직으로 구현될 수 있지만, 뉴런-시냅스 어레이 자체는 예를 들어 아날로그/혼합-신호, 디지털, 또는 비휘발성 메모리 기술을 사용하여 구현될 수 있다.
가장 간단한 형태에서, 뉴런 막 전위는 커패시터 양단의 전압으로서 또는 디지털 래치(latches)에 저장된 다중비트(multibit) 변수로서 아날로그 영역에서 구현될 수 있다. 대안으로 디지털 뉴런은 덧셈기, 곱셈기, 카운터와 같은 CMOS 논리 회로를 사용하여 실현될 수 있다. 회로 설계 관점에서 볼 때, 시냅스는 입력 스파이크를 변조하고 이들을 전하로 변환하는데, 결과적으로 상기 전하는 시냅스 후 뉴런의 막 커패시턴스에서 통합되는 시냅스 후 전류를 생성한다. 실리콘 시냅스의 구현은 전형적으로 상기 혼합-신호 방법론을 따른다.
다른 유형의 시냅스 전송의 시공간 조율은 감각 신호의 추론과 관련된 학습 성능에 기본적이다. 강력한 입력에 대해서는 신경 발사가 주로 입력 변동에 의해 구동되는 동적 상태로 네트워크가 조직되며, 이것은 비동기적-불규칙 상태와 유사하다. 즉, 시간 및 쌍별 스파이크 수 교차-상관이 0에 접근한다. 모든 입력 시냅스 간의 이질시냅스 억제(heterosynaptic depression)는 네트워크 내에서 안정적인 활동 시퀀스를 생성한다.
상기 뉴런들은 시간-고정된 패턴을 생성한다: 전도 지연(및 가소성 규칙) 간의 상호 작용으로 인해, 네트워크는 재생 가능하고 정확한 발사 시퀀스를 형성하는 신경 그룹/세그먼트 세트를 활용한다. 전도가 증가함에 따라(결과적으로 네트워크에 대한 순수한 자극을 주는 것으로) 발사 속도는 증가하고 변동 계수가 낮아져 더욱 균일해질 수 있다. 상기 네트워크는 서도 다른 세그먼트에서 규칙적인 타이밍 관계(버스트-간 간격 및 듀티 사이클)를 가진 스파이크 트레인을 생성할 수 있다.
저주파 동기화된 거동의 훈련은 위상을 재조직하여 최적 상태, 즉 가장 자극받기 쉬운 상태가 현재의 입력 자극 이벤트의 시간적 특성과 일치하도록 하는 것을 포함한다. 시냅스 전류의 순서(즉, 외부, 내부)는 개별 뉴런의 활동전위 생성 시간의 지터(jitter)를 감소시키고, 결과적으로 활동 제어 가능성이 향상된 네트워크를 생성한다.
생물학적 신경계와 기존 컴퓨팅 간의 에너지 효율성 및 인지 성능의 큰 차이는 물리적 환경과의 실시간 상호 작용에 관련된 작업에서, 특히 제어되지 않거나 시끄러운 감각 입력이 있는 경우에 명백하게 나타난다. 그러나 뉴로모픽(neuromorphic) 이벤트-기반 신경 네트워크는, 예제를 통해 학습할 수 있는 능력, 작업의 병렬성, 연상 기억, 다인자 최적화 및 확장성 덕분에, 복잡한 감각 신호의 통계의 변화에 적응하고 학습하는 소형 및 저전력 인지시스템을 위한 본질적인 선택지이다.
상기 뉴로모픽 네트워크를 위한 현재의 다중-세그먼트 재구성 가능 아키텍처는 생체의학 신호의 패턴 검출(예를 들어, 스파이크 분류, 발작 감지 등), 이미지 분류(예를 들어, 손으로 쓴 숫자), 음성 명령에 이르는 응용 분야에 대해 에너지 효율적인 솔루션을 제공하는 설계를 허용하고, 가상-물리 시스템 및 사물인터넷에서의 스마트 센서 또는 웨어러블 장치를 포함한 광범위한 장치들에 적용될 수 있다.
상기 실시형태들 중 2개 이상이 임의의 적절한 방식으로 결합될 수 있다.

Claims (15)

  1. 복수의 스파이킹 뉴런들 및 복수의 시냅스 요소들을 포함하는 뉴런-시냅스 어레이로서, 상기 복수의 시냅스 요소들은 상기 스파이킹 뉴런들을 상호 연결하여 스파이킹 신경망을 형성하고, 상기 스파이킹 신경망은 부분적으로 또는 전체적으로 하드웨어로 구현되며,
    각 시냅스 요소는 다수의 입력 중 하나 이상으로부터 시냅스 입력 신호를 수신하도록 배열되고, 상기 시냅스 입력 신호에 가중치를 적용하여 시냅스 출력 신호를 생성하도록 적응되며, 상기 시냅스 요소들은 각 시냅스 요소에 의해 적용되는 가중치를 조정하도록 구성 가능하며,
    상기 스파이킹 뉴런들 각각은 상기 시냅스 요소들 중 하나 이상으로부터 상기 시냅스 출력 신호들 중 하나 이상을 수신하도록 배열되고, 상기 수신된 하나 이상의 시냅스 출력에 응답하여 시공간 스파이크 트레인 출력 신호를 생성하도록 적응되며,
    상기 뉴런-시냅스 어레이는 가중치 블록들 및 출력 블록들을 포함하고, 각 가중치 블록은 상기 시냅스 요소들 중 하나 이상을 포함하고, 각 출력 블록은 상기 뉴런들 중 하나 이상과 뉴런 스위칭 회로를 포함하며;
    각 출력 블록은 상기 뉴런 스위칭 회로를 통해 가중치 블록들의 서브세트에 전기적으로 연결 가능하고, 상기 뉴런 스위칭 회로는 상기 가중치 블록 서브세트 내에 포함된 하나 이상의 시냅스 요소를 상기 각 출력 블록 내에 포함된 하나 이상의 뉴런에 선택적으로 전기적으로 연결하여, 상기 뉴런-시냅스 어레이를 선택된 시냅스 요소들에 전기적으로 연결된 뉴런 세트들로 분할하도록 구성되는, 뉴런-시냅스 어레이.
  2. 제1항에 있어서,
    출력 블록이 전기적으로 연결된 상기 가중치 블록 서브세트가 시냅스 요소의 어레이 내에서 하나 이상의 열을 형성하고, 및/또는
    특정 가중치 블록에 포함된 시냅스 요소들이 상기 뉴런-시냅스 어레이의 동일한 행 내에 제공되고, 및/또는
    각 출력 블록이 가중치 블록들의 열에 연결되는, 뉴런-시냅스 어레이.
  3. 제1항 또는 제2항에 있어서,
    상기 뉴런 스위칭 회로들 각각은 상기 뉴런 스위칭 회로의 논리회로에 구현된 도체 배선을 포함하는 스위칭 신호 경로를 포함하고,
    상기 스위칭 신호 경로는, 바람직하게는 트랜지스터 게이트를 사용함으로써, 서로 다른 구성들 사이에서 스위칭 가능하도록 구성되고,
    각 구성은 상기 가중치 블록 서브세트 내에 포함된 하나 이상의 시냅스 요소 중 어느 것이 상기 출력 블록 내에 포함된 하나 이상의 뉴런 중 어느 것에 전기적으로 연결되는지를 결정하는, 뉴런-시냅스 어레이.
  4. 제3항에 있어서,
    상기 뉴런 스위칭 회로는 상기 스위칭 신호 경로를 동적으로 재구성하도록 구성되고, 바람직하게는 상기 동적 재구성은 상기 뉴런-시냅스 어레이의 제약-기반 분할 및 세분화를 통합하는 매핑 방법론에 기초하고, 바람직하게는 상기 세분화는 상기 가중치 블록 및 출력 블록 크기를 입력 신호 대 잡음 비에 일치시키는 것을 기반으로 하는, 뉴런-시냅스 어레이.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 뉴런-시냅스 서브어레이들 중 2개 이상이 하나 이상의 학습 규칙, 학습 속도 및/또는 (후)가소성 메커니즘 측면에서 구별되도록, 상기 뉴런-시냅스 어레이의 상기 세분화가 상기 하나 이상의 학습 규칙, 학습 속도 및/또는 (후)가소성 메커니즘에 기초하여 수행되는, 뉴런-시냅스 어레이.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 가중치 블록 중 하나 이상은 상기 뉴런-시냅스 어레이 내의 시냅스 요소의 스위칭 및/또는 결합을 용이하게 하기 위해 인터리브 구조로 구성되고, 및/또는
    각 출력 블록에 대해 상기 스위칭은 더 높은 매핑 유연성을 얻기 위해 독립적으로 제어 가능하고, 및/또는
    상기 출력 블록들 중 하나 이상은 인터리브 구조로 구성되고, 및/또는
    상기 출력 블록들 중 하나 이상의 뉴런 출력이 하나 이상의 뉴런-시냅스 서브어레이에 브로드캐스트되는, 뉴런-시냅스 어레이.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 출력 블록들 중 한 출력 블록 내의 뉴런들 각각은 전위의 차등적 아날로그 변화로서 수동적으로 동작하는, 뉴런-시냅스 어레이.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 뉴런-시냅스 어레이는 뉴런-시냅스 서브어레이들로 세분화되고, 상기 뉴런-시냅스 서브어레이들은 분리 가능하고 자체의 필수 회로를 가지며, 및/또는 단일 양식(single modality)을 처리하고 단일 양식에 맞게 최적화되도록 배열되는, 뉴런-시냅스 어레이.
  9. 제8항에 있어서,
    서로 다른 뉴런-시냅스 서브어레이들의 뉴런들 사이에는 장거리 및 단거리 상호연결이 모두 존재하고, 더 먼 뉴런-시냅스 서브어레이들 사이보다 근위 뉴런-시냅스 서브어레이들 사이에 더 조밀한 연결이 존재하는, 뉴런-시냅스 어레이.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 출력 블록들 중 하나 이상은 상기 출력 블록들 중 상기 하나 이상 내의 특정 뉴런의 누적 기간 및/또는 통합 상수가 제어 신호를 통해 제어 가능하다는 점에서 제어 가능한 것인, 뉴런-시냅스 어레이.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 뉴런들 중 하나의 뉴런 막 전위는 아날로그 도메인에서 커패시터 양단의 전압으로서 또는 디지털 래치에 저장된 다중비트 변수로서, 또는 CMOS 논리회로를 사용하여 디지털 영역에서 구현되는, 뉴런-시냅스 어레이.
  12. 스파이킹 뉴럴 프로세서로서,
    디지털 또는 아날로그 데이터를 스파이크로 부호화하는 데이터-스파이크 부호화기;
    상기 데이터-스파이크 부호화기에 의해 출력된 스파이크를 입력으로 취하도록 배열되고 상기 입력의 결과로서 시공간 스파이크 트레인을 출력하도록 배열된, 청구항 1 내지 10 중 어느 하나에 따른 뉴런-시냅스 어레이; 및
    상기 뉴런-시냅스 어레이에서 발생하는 시공간 스파이크 트레인을 복호화하도록 배열된 스파이크 복호화기;
    를 포함하는, 스파이킹 뉴럴 프로세서.
  13. 뉴런-시냅스 어레이를 구성하는 방법으로서,
    상기 뉴런-시냅스 어레이는 복수의 스파이킹 뉴런 및 복수의 시냅스 요소를 포함하며, 상기 복수의 시냅스 요소는 상기 스파이킹 뉴런들을 상호 연결하여 네트워크를 형성하고 상기 네트워크는 부분적으로 또는 전체적으로 하드웨어로 구현되며,
    각 시냅스 요소는 다수의 입력 중 하나 이상으로부터 시냅스 입력 신호를 수신하고 상기 시냅스 입력 신호에 가중치를 적용하여 시냅스 출력 신호를 생성하도록 적응되며, 상기 시냅스 요소들은 각 시냅스 요소에 의해 적용되는 가중치를 조정하도록 구성 가능하며,
    상기 스파이킹 뉴런들 각각은 상기 시냅스 요소들 중 하나 이상으로부터 상기 시냅스 출력 신호들 중 하나 이상을 수신하고, 상기 수신된 하나 이상의 시냅스 출력 신호에 응답하여 시공간 스파이크 트레인 출력 신호를 생성하도록 적응되며,
    여기서 상기 방법은:
    상기 뉴런-시냅스 어레이를 가중치 블록들과 출력 블록들로 나누는 단계로서, 각 가중치 블록은 상기 시냅스 요소들 중 하나 이상을 포함하고, 각 출력 블록은 상기 뉴런들 중 하나 이상과 뉴런 스위칭 회로를 포함하는, 단계;
    각 출력 블록을 상기 뉴런 스위칭 회로를 통해 가중치 블록 서브세트에 전기적으로 연결 가능하게 만드는 단계; 및
    상기 가중치 블록 서브세트 내에 포함된 하나 이상의 시냅스 요소를 각 출력 블록 내에 포함된 하나 이상의 뉴런에 선택적으로 전기적으로 연결하도록 상기 뉴런 스위칭 회로를 구성하여, 상기 뉴런-시냅스 어레이를 선택된 시냅스 요소들에 전기적으로 연결된 뉴런 세트들로 분할하는 단계를 포함하는, 뉴런-시냅스 어레이의 구성 방법.
  14. 제13항에 있어서,
    출력 블록이 전기적으로 연결된 가중치 블록들의 서브세트는 시냅스 요소들의 어레이 내에서 하나 이상의 다중 열을 형성하고, 및/또는
    특정 가중치 블록에 포함된 시냅스 요소들은 상기 뉴런-시냅스 어레이의 같은 행 내에 제공되는, 뉴런-시냅스 어레이의 구성 방법.
  15. 제13항 또는 제14항에 있어서,
    상기 뉴런 스위칭 회로들 각각은 상기 뉴런 스위칭 회로의 논리회로에 구현된 도체 배선을 포함하는 스위칭 신호 경로를 포함하고,
    상기 스위칭 신호 경로는, 바람직하게는 트랜지스터 게이트를 사용함으로써, 서로 다른 구성들 사이에서 스위칭 가능하도록 구성되고,
    각 구성은 상기 가중치 블록 서브세트 내에 포함된 하나 이상의 시냅스 요소 중 어느 것이 상기 출력 블록 내에 포함된 하나 이상의 뉴런 중 어느 것에 전기적으로 연결되는지를 결정하는, 뉴런-시냅스 어레이의 구성 방법.
KR1020237035636A 2021-04-16 2022-04-16 재구성 가능한 계층적 다수-세그먼트 스파이킹 신경망 KR20230170916A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163175570P 2021-04-16 2021-04-16
US63/175,570 2021-04-16
PCT/EP2022/060197 WO2022219195A1 (en) 2021-04-16 2022-04-16 Hierarchical reconfigurable multi-segment spiking neural network

Publications (1)

Publication Number Publication Date
KR20230170916A true KR20230170916A (ko) 2023-12-19

Family

ID=81750577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237035636A KR20230170916A (ko) 2021-04-16 2022-04-16 재구성 가능한 계층적 다수-세그먼트 스파이킹 신경망

Country Status (6)

Country Link
EP (1) EP4323923A1 (ko)
JP (1) JP2024513998A (ko)
KR (1) KR20230170916A (ko)
CN (1) CN117178275A (ko)
TW (1) TW202247050A (ko)
WO (1) WO2022219195A1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856055B2 (en) * 2011-04-08 2014-10-07 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks
US20190303740A1 (en) * 2018-03-30 2019-10-03 International Business Machines Corporation Block transfer of neuron output values through data memory for neurosynaptic processors
US20220230051A1 (en) * 2018-11-18 2022-07-21 Innatera Nanosystems B.V. Spiking Neural Network

Also Published As

Publication number Publication date
JP2024513998A (ja) 2024-03-27
CN117178275A (zh) 2023-12-05
WO2022219195A1 (en) 2022-10-20
TW202247050A (zh) 2022-12-01
EP4323923A1 (en) 2024-02-21

Similar Documents

Publication Publication Date Title
Moradi et al. A scalable multicore architecture with heterogeneous memory structures for dynamic neuromorphic asynchronous processors (DYNAPs)
Park et al. Hierarchical address event routing for reconfigurable large-scale neuromorphic systems
Zenke et al. Brain-inspired learning on neuromorphic substrates
Sporns Network analysis, complexity, and brain function
Walter et al. Neuromorphic implementations of neurobiological learning algorithms for spiking neural networks
Indiveri et al. Artificial cognitive systems: From VLSI networks of spiking neurons to neuromorphic cognition
US8977578B1 (en) Synaptic time multiplexing neuromorphic network that forms subsets of connections during different time slots
Basu et al. Silicon spiking neurons for hardware implementation of extreme learning machines
Shrestha et al. A survey on neuromorphic computing: Models and hardware
US20220012564A1 (en) Resilient Neural Network
Minkovich et al. Programming time-multiplexed reconfigurable hardware using a scalable neuromorphic compiler
Cattell et al. Challenges for brain emulation: why is building a brain so difficult
De Salvo Brain-inspired technologies: Towards chips that think?
Schemmel et al. A new VLSI model of neural microcircuits including spike time dependent plasticity
CN112364988A (zh) 一种基于fpga的分层异构类脑计算系统
CN105913119A (zh) 行列互联的异构多核心类脑芯片及其使用方法
Nageswaran et al. Towards reverse engineering the brain: Modeling abstractions and simulation frameworks
Seo et al. Digital CMOS neuromorphic processor design featuring unsupervised online learning
Abderrahmane Hardware design of spiking neural networks for energy efficient brain-inspired computing
Mikhaylov et al. Neuromorphic computing based on CMOS-integrated memristive arrays: current state and perspectives
KR20230170916A (ko) 재구성 가능한 계층적 다수-세그먼트 스파이킹 신경망
Rutishauser et al. Competition through selective inhibitory synchrony
Neftci et al. State-dependent sensory processing in networks of VLSI spiking neurons
US20240185044A1 (en) Hierarchical reconfigurable multi-segment spiking neural network
Volanis et al. Toward silicon-based cognitive neuromorphic ICs—a survey