KR102603287B1 - 뉴로모픽 시스템 및 그것의 동작 방법 - Google Patents
뉴로모픽 시스템 및 그것의 동작 방법 Download PDFInfo
- Publication number
- KR102603287B1 KR102603287B1 KR1020180004045A KR20180004045A KR102603287B1 KR 102603287 B1 KR102603287 B1 KR 102603287B1 KR 1020180004045 A KR1020180004045 A KR 1020180004045A KR 20180004045 A KR20180004045 A KR 20180004045A KR 102603287 B1 KR102603287 B1 KR 102603287B1
- Authority
- KR
- South Korea
- Prior art keywords
- voltage
- unit
- input signal
- weight
- signal
- Prior art date
Links
- 238000011017 operating method Methods 0.000 title claims 3
- 230000002787 reinforcement Effects 0.000 claims abstract description 42
- 230000001629 suppression Effects 0.000 claims description 42
- 230000002708 enhancing effect Effects 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 11
- 238000005728 strengthening Methods 0.000 claims description 8
- 210000002569 neuron Anatomy 0.000 description 116
- 230000001242 postsynaptic effect Effects 0.000 description 71
- 210000005215 presynaptic neuron Anatomy 0.000 description 44
- 238000010586 diagram Methods 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 17
- 230000001965 increasing effect Effects 0.000 description 11
- 239000003623 enhancer Substances 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000012421 spiking Methods 0.000 description 9
- 230000002401 inhibitory effect Effects 0.000 description 6
- 230000036279 refractory period Effects 0.000 description 5
- 210000000225 synapse Anatomy 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000003112 inhibitor Substances 0.000 description 3
- 230000003014 reinforcing effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003389 potentiating effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
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)
- Logic Circuits (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Abstract
본 발명의 하나의 실시 예에 따른 뉴로모픽 시스템은 복수의 가중치들을 저장하는 메모리, 입력 신호를 수신하고, 상기 복수의 가중치들 중 상기 입력 신호에 대응하는 제1 가중치에 기초하여 양의 전압을 생성하고, 상기 생성된 양의 전압을 누적하여 강화부 전압을 출력하는 강화부, 상기 입력 신호를 수신하고, 상기 제1 가중치에 기초하여 음의 전압을 생성하고, 상기 생성된 음의 전압을 누적하여 억제부 전압을 출력하는 억제부 및 상기 강화부 전압 및 상기 억제부 전압을 합하여 내부 전압을 생성하고, 상기 내부 전압과 임계값의 비교 결과에 기초하여 발화하는 발화부를 포함한다.
Description
본 발명은 뉴로모픽 시스템에 관한 것으로써, 좀 더 상세하게는 스파이킹 뉴럴 네트워크를 기반으로 하는 뉴로모픽 시스템 및 그것의 동작 방법에 관한 것이다.
뇌는 수천억 개의 신경 세포, 즉 뉴런을 포함한다. 뉴런은 수천 개의 다른 뉴런과 신호를 주고 받는 시냅스를 통하여 정보를 학습하고, 기억할 수 있다. 뉴로모픽 시스템은 이러한 뉴런 및 시냅스를 모방하여 정보를 처리하는 반도체 회로이다.
뉴로모픽 시스템은 불특정한 환경에서 스스로 적응할 수 있는 지능화된 시스템을 구현하기 위해 활용될 수 있다. 따라서, 문자 인식, 음성 인식, 위험 인지, 실시간 고속 신호처리 등을 효과적으로 수행하기 위해 뉴로모픽 시스템에 대한 연구가 진행되고 있다.
뉴로모픽 시스템을 구현하기 위한 알고리즘은 지도 학습 알고리즘(supervised learning algorithm) 및 비지도 학습 알고리즘(unsupervised learning algorithm)으로 구분될 수 있다. 지도 학습 알고리즘은 간단한 하드웨어로 구현이 가능하지만, 많은 학습 데이터를 확보하기 위해 시간과 비용이 크게 발생할 수 있다. 비지도 학습 알고리즘은 적은 학습 데이터로도 높은 학습 효율을 얻을 수 있지만, 연산이 복잡하고 많은 시간이 소요될 수 있다.
본 발명은 상술된 기술적 과제를 해결하기 위한 것으로써, 본 발명의 목적은 비지도 학습 알고리즘에 따른 뉴로모픽 하드웨어를 구현하기 위해 스파이킹 뉴럴 네트워크(SNN; spiking neural network) 기반의 뉴로모픽 시스템을 제공하는 데 있다.
본 발명의 하나의 실시 예에 따른 뉴로모픽 시스템은 복수의 가중치들을 저장하는 메모리, 입력 신호를 수신하고, 상기 복수의 가중치들 중 상기 입력 신호에 대응하는 제1 가중치에 기초하여 양의 전압을 생성하고, 상기 생성된 양의 전압을 누적하여 강화부 전압을 출력하는 강화부, 상기 입력 신호를 수신하고, 상기 제1 가중치에 기초하여 음의 전압을 생성하고, 상기 생성된 음의 전압을 누적하여 억제부 전압을 출력하는 억제부 및 상기 강화부 전압 및 상기 억제부 전압을 합하여 내부 전압을 생성하고, 상기 내부 전압과 임계값의 비교 결과에 기초하여 발화하는 발화부를 포함한다.
실시 예에 있어서, 상기 발화부는 상기 발화에 따라 출력 신호를 출력하고, 상기 출력 신호는 상기 발화 시의 상기 내부 전압 또는 상기 내부 전압에 대응하는 스파이크 신호일 수 있다.
본 발명의 하나의 실시 예에 따른 뉴로모픽 시스템은 상기 출력 신호를 수신하고, 상기 수신된 출력 신호에 기초하여 상기 메모리에 저장된 상기 제1 가중치를 업데이트하는 제어기를 더 포함할 수 있다.
본 발명의 하나의 실시 예에 따른 뉴로모픽 시스템은 입력 데이터를 수신하고, 상기 입력 데이터의 크기 또는 강도에 따라 발생 빈도가 다른 스파이크 신호를 생성하여 상기 입력 신호로서 출력하는 변환기를 더 포함할 수 있다.
실시 예에 있어서, 상기 강화부는 상기 입력 신호 및 상기 제1 가중치에 기초하여 상기 양의 전압을 생성하는 강화 연산부, 상기 강화부의 동작 시간을 카운트하여 상기 동작 시간에 대한 정보를 생성하는 카운터 및 상기 동작 시간에 대한 정보에 기초하여 상기 양의 전압을 누적하여 상기 강화부 전압을 출력하는 누적기를 포함할 수 있다.
실시 예에 있어서, 상기 억제부는 상기 입력 신호 및 상기 제1 가중치에 기초하여 상기 음의 전압을 생성하는 억제 연산부, 상기 억제부의 동작 시간을 카운트하여 상기 동작 시간에 대한 정보를 생성하는 카운터 및 상기 동작 시간에 대한 정보에 기초하여 상기 음의 전압을 누적하여 상기 억제부 전압을 출력하는 누적기를 포함할 수 있다.
본 발명의 하나의 실시 예에 따른 뉴로모픽 시스템의 동작 방법은 입력 신호가 수신되는 경우, 상기 입력 신호와 대응하는 가중치에 기초하여 강화부 전압 및 억제부 전압을 생성하는 단계, 상기 강화부 전압 및 상기 억제부 전압을 합하여 내부 전압을 생성하는 단계, 상기 내부 전압이 임계값 이상인지 여부를 비교하는 단계, 상기 내부 전압이 임계값 이상인 경우, 출력 신호를 출력하는 단계 및 상기 출력 신호에 기초하여 상기 가중치를 업데이트하는 단계를 포함한다.
실시 예에 있어서, 상기 강화부 전압은 양의 값을 갖고, 상기 억제부 전압은 음의 값을 가질 수 있다.
실시 예에 있어서, 상기 입력 신호 및 상기 출력 신호는 스파이크 신호일 수 있다.
실시 예에 있어서, 상기 가중치를 업데이트하는 단계는 상기 출력 신호가 발생되는 시간에 기초하여 상기 가중치를 업데이트할 수 있다.
본 발명의 실시 예에 따른 뉴로모픽 시스템은 스파이킹 뉴럴 네트워크에 대한 하드웨어 구조를 단순화시켜 하드웨어 구현을 위한 비용을 감소시킬 수 있다.
또한, 본 발명의 실시 예에 따른 뉴로모픽 시스템은 입력 값에 대한 강화 및 억제 동작을 동시에 수행함으로써 하드웨어의 동작 속도를 빠르게 할 수 있다.
도 1은 본 발명의 하나의 실시 예에 따른 뉴런들의 동작을 설명하기 위한 도면이다.
도 2는 도 1의 뉴런들로부터 출력되는 스파이크 신호들의 예시를 보여주는 도면이다.
도 3a 내지 도 3c는 도 1의 포스트 시냅틱 뉴런의 전압들의 예시를 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 프리 시냅틱 뉴런과 포스트 시냅틱 뉴런 사이의 가중치 업데이트 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 하나의 실시 예에 따른 뉴로모픽 시스템을 보여주는 블록도이다.
도 6은 도 5의 뉴로모픽 시스템의 추가 실시 예를 나타내는 블록도이다.
도 7은 도 5의 강화부의 예시를 나타내는 블록도이다.
도 8은 도 7의 강화부에 대한 추가 예시를 나타내는 블록도이다.
도 9는 도 5의 억제부의 예시를 나타내는 블록도이다.
도 10은 도 9의 억제부에 대한 추가 예시를 나타내는 블록도이다.
도 11은 도 5의 뉴로모픽 시스템의 동작 방법을 보여주는 순서도이다.
도 2는 도 1의 뉴런들로부터 출력되는 스파이크 신호들의 예시를 보여주는 도면이다.
도 3a 내지 도 3c는 도 1의 포스트 시냅틱 뉴런의 전압들의 예시를 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 프리 시냅틱 뉴런과 포스트 시냅틱 뉴런 사이의 가중치 업데이트 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 하나의 실시 예에 따른 뉴로모픽 시스템을 보여주는 블록도이다.
도 6은 도 5의 뉴로모픽 시스템의 추가 실시 예를 나타내는 블록도이다.
도 7은 도 5의 강화부의 예시를 나타내는 블록도이다.
도 8은 도 7의 강화부에 대한 추가 예시를 나타내는 블록도이다.
도 9는 도 5의 억제부의 예시를 나타내는 블록도이다.
도 10은 도 9의 억제부에 대한 추가 예시를 나타내는 블록도이다.
도 11은 도 5의 뉴로모픽 시스템의 동작 방법을 보여주는 순서도이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시 예들이 상세하게 설명된다. 이하의 설명에서, 상세한 구성들 및 구조들과 같은 세부적인 사항들은 단순히 본 발명의 실시 예들의 전반적인 이해를 돕기 위하여 제공된다. 그러므로 본 발명의 기술적 사상 및 범위로부터의 벗어남 없이 본문에 기재된 실시 예들의 변형들은 통상의 기술자 의해 수행될 수 있다. 더욱이, 명확성 및 간결성을 위하여 잘 알려진 기능들 및 구조들에 대한 설명들은 생략된다. 본 명세서에서 사용된 용어들은 본 발명의 기능들을 고려하여 정의된 용어들이며, 특정 기능에 한정되지 않는다. 용어들의 정의는 상세한 설명에 기재된 사항을 기반으로 결정될 수 있다.
이하의 도면들 또는 상세한 설명에서의 모듈들은 도면에 도시되거나 또는 상세한 설명에 기재된 구성 요소 이외에 다른 것들과 연결될 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 직접적 또는 비직접적일 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 통신에 의한 연결이거나 또는 물리적인 접속일 수 있다.
상세한 설명에서 사용되는 부 또는 유닛(unit), 모듈(module), 계층(layer) 등의 용어를 참조하여 설명되는 구성 요소들은 소프트웨어, 또는 하드웨어, 또는 그것들의 조합의 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계 코드, 펌웨어, 임베디드 코드, 및 애플리케이션 소프트웨어일 수 있다. 예를 들어, 하드웨어는 전기 회로, 전자 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어들, 압력 센서, 관성 센서, 멤즈(Micro Electro Mechanical System; MEMS), 수동 소자, 또는 그것들의 조합을 포함할 수 있다.
다르게 정의되지 않는 한, 본문에서 사용되는 기술적 또는 과학적인 의미를 포함하는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자에 의해 이해될 수 있는 의미를 갖는다. 일반적으로 사전에서 정의된 용어들은 관련된 기술 분야에서의 맥락적 의미와 동등한 의미를 갖도록 해석되며, 본문에서 명확하게 정의되지 않는 한, 이상적 또는 과도하게 형식적인 의미를 갖도록 해석되지 않는다.
도 1은 본 발명의 하나의 실시 예에 따른 뉴런들의 동작을 설명하기 위한 도면이다. 도 1을 참조하면, 포스트 시냅틱 뉴런(postsynaptic neuron)은 제1 프리 시냅틱 뉴런(presynaptic neuron) 및 제2 프리 시냅틱 뉴런으로부터 각각 제1 입력 신호 및 제2 입력 신호를 수신할 수 있다. 포스트 시냅틱 뉴런은 제1 입력 신호 및 제2 입력 신호에 기초하여 출력 신호를 출력할 수 있다.
제1 입력 신호, 제2 입력 신호 및 출력 신호는 각각의 뉴런에서 생성되는 전압일 수 있다. 또는, 제1 입력 신호, 제2 입력 신호 및 출력 신호는 각각의 뉴런에서 생성되는 전압에 대응하는 값일 수 있다.
제1 프리 시냅틱 뉴런과 포스트 시냅틱 뉴런은 제1 가중치(W1)를 갖는 시냅스에 의해 연결될 수 있다. 제2 프리 시냅틱 뉴런과 포스트 시냅틱 뉴런은 제2 가중치(W2)를 갖는 시냅스에 의해 연결될 수 있다. 제1 가중치(W1) 및 제2 가중치(W2)는 프리 시냅틱 뉴런들과 포스트 시냅틱 뉴런의 연결 강도에 따라 가중치에 대한 값이 달라질 수 있다. 예를 들어, 제1 프리 시냅틱 뉴런과 포스트 시냅틱 뉴런의 연결 강도가 강해지는 경우, 제1 가중치(W1)는 커질 수 있다. 제2 프리 시냅틱 뉴런과 포스트 시냅틱 뉴런의 연결 강도가 약해지는 경우, 제2 가중치(W2)는 작아질 수 있다.
포스트 시냅틱 뉴런은 제1 및 제2 프리 시냅틱 뉴런들로부터 수신되는 제1 및 제2 입력 신호들을 강화(potentiation) 및 억제(depression)시킬 수 있다. 포스트 시냅틱 뉴런은 제1 입력 신호를 제1 가중치(W1)에 기초하여 강화 및 억제시킬 수 있다. 포스트 시냅틱 뉴런은 제2 입력 신호를 제2 가중치(W2)에 기초하여 강화 및 억제시킬 수 있다.
포스트 시냅틱 뉴런은 강화부 및 억제부를 포함할 수 있다. 강화부는 제1 입력 신호를 제1 가중치(W1)에 기초하여 강화시킬 수 있다. 제1 입력 신호가 강화되는 경우, 포스트 시냅틱 뉴런의 내부 전압(또는, 멤브레인 전압(membrane potential))은 증가될 수 있다. 또한, 강화부는 제2 입력 신호를 제2 가중치(W2)에 기초하여 강화시킬 수 있다. 제2 입력 신호가 강화되는 경우, 포스트 시냅틱 뉴런의 내부 전압은 증가될 수 있다. 즉, 강화부는 프리 시냅틱 뉴런들로부터 수신되는 입력 신호들을 강화시켜 내부 전압을 증가시킬 수 있다.
억제부는 제1 입력 신호를 제1 가중치(W1)에 기초하여 억제시킬 수 있다. 제1 입력 신호가 억제되는 경우, 포스트 시냅틱 뉴런의 내부 전압은 감소될 수 있다. 또한, 억제부는 제2 입력 신호를 제2 가중치(W2)에 기초하여 억제시킬 수 있다. 제2 입력 신호가 억제되는 경우, 포스트 시냅틱 뉴런의 내부 전압은 감소될 수 있다. 즉, 억제부는 프리 시냅틱 뉴런들로부터 수신되는 입력 신호들을 억제시켜 내부 전압을 감소시킬 수 있다.
포스트 시냅틱 뉴런은 내부 전압이 미리 정해진 조건을 만족하는 경우, 출력 신호를 출력할 수 있다. 예시적으로, 내부 전압이 임계값 이상이 되는 경우, 포스트 시냅틱 뉴런은 출력 신호를 출력할 수 있다. 예시적으로, 포스트 시냅틱 뉴런으로부터 출력되는 출력 신호는 스파이크(spike) 신호일 수 있다. 스파이크 신호는 특정 시간에 순간적으로 출력되는 신호일 수 있다.
마찬가지로, 제1 프리 시냅틱 뉴런과 제2 프리 시냅틱 뉴런으로부터 출력되는 제1 입력 신호 및 제2 입력 신호는 스파이크 신호일 수 있다. 스파이크 신호에 대한 상세한 설명은 도 2를 참조하여 후술될 것이다.
이와 같이, 본 발명의 실시 예에 따른 뉴런들은 스파이크 신호를 수신하거나 출력함으로써 정보를 전달할 수 있다. 즉, 본 발명의 실시 예에 따른 뉴런들은 스파이킹 뉴럴 네트워크(SNN)를 구성할 수 있다.
도 1에 도시된 바와 같이, 포스트 시냅틱 뉴런은 강화부 및 억제부를 포함하지만, 본 발명은 이에 한정되는 것은 아니다. 포스트 시냅틱 뉴런뿐만 아니라 제1 및 제2 프리 시냅틱 뉴런들 또한 강화부 및 억제부를 포함할 수 있다. 제1 및 제2 프리 시냅틱 뉴런들은 포스트 시냅틱 뉴런과 같이 입력 신호들에 따라 출력 신호를 출력할 수 있다.
상술한 바와 같이, 본 발명의 실시 예에 따른 뉴런은 강화부 및 억제부를 포함하는 것으로 모델링 될 수 있다. 본 발명에 따르면, 강화부 및 억제부는 각각 별도의 하드웨어로 구현될 수 있다. 이 경우, 스파이킹 뉴럴 네트워크에 대한 하드웨어 구조가 단순해질 뿐만 아니라, 강화 뉴런 및 억제 뉴런을 포함하는 생물학적 모델에 유사한 하드웨어 구조를 구현할 수 있다.
도 1에는 포스트 시냅틱 뉴런이 제1 프리 시냅틱 뉴런 및 제2 프리 시냅틱 뉴런으로부터 제1 입력 신호 및 제2 입력 신호를 수신하는 것으로 도시되지만, 본 발명은 이에 한정되지 않는다. 포스트 시냅틱 뉴런은 다양한 프리 시냅틱 뉴런들로부터 입력 신호들을 수신할 수 있고, 각각의 입력 신호들과 대응하는 가중치에 기초하여 각각의 입력 신호들을 강화 및 억제할 수 있다. 이하에서는, 설명의 편의를 위해, 도 1에 도시된 바와 같이 두 개의 프리 시냅틱 뉴런들로부터 입력 신호를 수신하는 예시를 기준으로 본 발명을 설명한다.
도 2는 도 1의 뉴런들로부터 출력되는 스파이크 신호들의 예시를 보여주는 도면이다. 도 1 및 도 2를 참조하면, 제1 프리 시냅틱 뉴런, 제2 프리 시냅틱 뉴런 및 포스트 시냅틱 뉴런은 각각 스파이크 신호를 출력할 수 있다. 제1 프리 시냅틱 뉴런 및 제2 프리 시냅틱 뉴런의 스파이크 신호가 포스트 시냅틱 뉴런으로 입력되는 경우, 포스트 시냅틱 뉴런은 스파이크 입력들에 기초하여 스파이크 신호를 출력할 수 있다.
도 2에 도시된 바와 같이, 제1 프리 시냅틱 뉴런은 제1 시간(t1) 및 제5 시간(t5)에 스파이크 신호를 출력할 수 있다. 제2 프리 시냅틱 뉴런은 제2 시간(t2) 및 제4 시간(t4)에 스파이크 신호를 출력할 수 있다. 포스트 시냅틱 뉴런은 각각의 시간에 입력된 스파이크 신호들에 기초하여 내부 전압을 변화시킬 수 있다. 예시적으로, 각각의 스파이크 신호가 입력되는 경우, 포스트 시냅틱 뉴런은 대응하는 가중치에 기초하여 스파이크 전압을 강화 및 억제시켜 내부 전압을 변화시킬 수 있다. 내부 전압이 임계값 이상이 되는 경우, 포스트 시냅틱 뉴런은 스파이크 신호를 생성하여 출력할 수 있다.
제5 시간(t5)의 스파이크 신호에 의해 포스트 시냅틱 뉴런의 내부 전압이 임계값 이상이 되는 경우, 포스트 시냅틱 뉴런은 제6 시간(t6)에 스파이크 신호를 출력할 수 있다. 포스트 시냅틱 뉴런에서 출력되는 스파이크 신호에 기초하여 제1 가중치(W1) 및 제2 가중치(W2)가 업데이트될 수 있다. 예시적으로, 본 발명의 실시 예에 따른 가중치는 스파이크 타이밍 의존 가소성(STDP; spike timing dependent plasticity)을 이용하여 업데이트될 수 있다. 이에 대한 상세한 설명은 도 4에서 후술될 것이다.
제6 시간(t6)에서 스파이크 신호가 출력되는 경우, 포스트 시냅틱 뉴런의 내부 전압은 초기화 될 수 있다. 포스트 시냅틱 뉴런은 초기화 이후, 불응기(refractory period)로 들어갈 수 있다. 불응기에서 제1 및 제2 프리 시냅틱 뉴런들에 의한 스파이크 신호가 전달되더라도 포스트 시냅틱 뉴런의 내부 전압은 변하지 않을 수 있다. 불응기가 지난 후, 제1 및 제2 프리 시냅틱 뉴런들에 의해 스파이크 신호가 전달되는 경우, 포스트 시냅틱 뉴런은 입력되는 스파이크 신호들에 따라 내부 전압을 변화시킬 수 있다. 따라서, 포스트 시냅틱 뉴런은 제6 시간(t6) 이후, 스파이크 신호를 다시 출력할 수 있다.
도 3a 내지 도 3c는 도 1의 포스트 시냅틱 뉴런의 전압들의 예시를 보여주는 도면이다. 구체적으로, 도 3a는 강화부의 전압의 변화에 대한 예시를 나타내고, 도 3b는 억제부의 전압의 변화에 대한 예시를 나타낸다. 도 3c는 포스트 시냅틱 뉴런의 내부 전압의 변화에 대한 예시를 나타낸다. 도 1 내지 도 3c를 참조하면, 제1 및 제2 프리 시냅틱 뉴런으로부터 스파이크 신호들이 입력되는 경우, 강화부는 제1 가중치(W1) 및 제2 가중치(W2)에 기초하여 강화부 전압을 생성할 수 있고, 억제부는 제1 가중치(W1) 및 제2 가중치(W2)에 기초하여 억제부 전압을 생성할 수 있다.
도 3a에 도시된 바와 같이, 초기화 상태에서, 강화부 전압은 제1 리셋전압(Vreset1)을 유지할 수 있다. 제1 시간(t1)에 제1 프리 시냅틱 뉴런으로부터 스파이크 신호가 입력되는 경우, 강화부는 제1 가중치(W1)에 기초하여 전압을 생성할 수 있다. 강화부에 의해 생성된 전압의 크기는 양의 값일 수 있다. 생성된 전압에 의해 강화부 전압은 제1 전압(V1)으로 증가될 수 있다. 제2 시간(t2)에 제2 프리 시냅틱 뉴런으로부터 스파이크 신호가 입력되는 경우, 강화부는 제2 가중치(W2)에 기초하여 전압을 생성할 수 있다. 생성된 전압에 의해 강화부 전압은 제2 전압(V2)으로 증가될 수 있다. 마찬가지로, 제4 시간(t4)에 입력되는 스파이크 신호에 의해, 강화부 전압은 제3 전압(V3)으로 증가될 수 있고, 제5 시간(t5)에 입력되는 스파이크 신호에 의해, 강화부 전압은 제4 전압(V4)으로 증가될 수 있다.
이와 같이, 강화부는 입력되는 스파이크 신호를 기반으로 양의 전압을 생성하고, 생성된 전압을 누적하여 강화부 전압의 크기를 증가시킬 수 있다.
예시적으로, 동일한 가중치에 기초하여 스파이크 신호를 강화시키는 경우, 강화부는 동일한 크기의 전압을 생성할 수 있다. 강화부는 제1 가중치(W1)에 기초하여 제1 시간(t1)과 제5 시간(t5)에 입력되는 스파이크 신호를 강화시킴으로써, 강화부 전압을 동일한 크기만큼 증가시킬 수 있다. 이에 따라, 강화부는 제1 시간(t1)에 강화부 전압을 제1 전압(V1)으로 증가시킬 수 있고, 제5 시간(t5)에 강화부 전압을 제4 전압(V4)으로 증가시킬 수 있다. 마찬가지로, 강화부는 제2 가중치(W2)에 기초하여 제2 시간(t2)과 제4 시간(t4)에 입력되는 스파이크 신호를 강화시킴으로써, 강화부 전압을 동일한 크기만큼 증가시킬 수 있다. 즉, 프리 시냅틱 뉴런과 포스트 시냅틱 뉴런 사이의 가중치에 따라 생성되는 전압의 크기가 달라질 수 있다.
도 3b에 도시된 바와 같이, 초기화 상태에서, 억제부 전압은 제2 리셋전압(Vreset2)을 유지할 수 있다. 제1 시간(t1)에, 제1 프리 시냅틱 뉴런으로부터 스파이크 신호가 입력되는 경우, 억제부는 제1 가중치(W1)에 기초하여 전압을 생성할 수 있다. 억제부에 의해 생성된 전압의 크기는 음의 값일 수 있다. 생성된 전압에 의해 억제부 전압은 제5 전압(V5)으로 감소될 수 있다. 제2 시간(t2)에 제2 프리 시냅틱 뉴런으로부터 스파이크 신호가 입력되는 경우, 억제부는 제2 가중치(W2)에 기초하여 전압을 생성할 수 있다. 생성된 전압에 의해 억제부 전압은 제6 전압(V6)으로 감소될 수 있다. 마찬가지로, 제4 시간(t4)에 입력되는 스파이크 신호에 의해, 억제부 전압은 제7 전압(V7)으로 감소될 수 있고, 제5 시간(t5)에 입력되는 스파이크 신호에 의해, 억제부 전압은 제8 전압(V8)으로 감소될 수 있다.
이와 같이, 억제부는 입력되는 스파이크 신호를 기반으로 음의 전압을 생성하고, 생성된 전압을 누적하여 억제부 전압의 크기를 감소시킬 수 있다.
예시적으로, 동일한 가중치에 기초하여 스파이크 신호를 억제시키는 경우, 억제부는 동일한 크기의 전압을 생성할 수 있다. 억제부는 제1 가중치(W1)에 기초하여 제1 시간(t1)과 제5 시간(t5)에 입력되는 스파이크 신호를 억제시킴으로써, 억제부 전압을 동일한 크기만큼 감소시킬 수 있다. 이에 따라, 억제부 전압은 제1 시간(t1)에 억제부 전압을 제5 전압(V5)으로 감소시킬 수 있고, 제5 시간(t5)에 억제부 전압을 제8 전압(V8)으로 감소시킬 수 있다. 마찬가지로, 억제부는 제2 가중치(W2)에 기초하여 제2 시간(t2)과 제4 시간(t4)에 입력되는 스파이크 신호를 억제시킴으로써, 억제부 전압을 동일한 크기만큼 감소시킬 수 있다.
도 3c에 도시된 바와 같이, 초기화 상태에서, 포스트 시냅틱 뉴런의 내부 전압은 제3 리셋전압(Vreset3)을 유지할 수 있다. 포스트 시냅틱 뉴런의 내부 전압은 강화부 전압과 억제부 전압을 합한 값일 수 있다. 제1 시간(t1)에서의 내부 전압은 제1 시간(t1)에서의 강화부 전압 및 억제부 전압을 합한 값이고, 제2 시간(t2)에서의 내부 전압은 제2 시간(t2)에서의 강화부 전압 및 억제부 전압을 합한 값일 수 있다. 이에 따라, 제1 시간(t1), 제2 시간(t2), 제4 시간(t4) 및 제5 시간(t5)에서의 내부 전압은 각각 제9 전압(V9), 제10 전압(V10), 제11 전압(V11) 및 제12 전압(V12)이 될 수 있다.
제1 시간(t1) 및 제5 시간(t5)에서, 강화부 전압의 증가 크기가 억제부 전압의 감소 크기보다 크므로, 내부 전압이 증가될 수 있다. 제2 시간(t2) 및 제4 시간(t4)에서, 강화부 전압의 증가 크기가 억제부 전압의 감소 크기보다 작으므로, 내부 전압이 감소될 수 있다.
제5 시간(t5)에, 포스트 시냅틱 뉴런의 내부 전압의 크기는 임계값 이상이 될 수 있다. 이에 따라, 포스트 시냅틱 뉴런은 발화(firing) 할 수 있다. 포스트 시냅틱 뉴런이 발화하는 경우, 포스트 시냅틱 뉴런은 스파이크 신호를 출력할 수 있다. 도 2에 도시된 바와 같이, 제6 시간(t6)에 포스트 시냅틱 뉴런은 스파이크 신호를 출력할 수 있다. 설명의 편의를 위해, 제6 시간(t6)에 포스트 시냅틱 뉴런이 발화하는 것으로 설명하였지만, 본 발명은 이에 한정되지 않는다. 도 3c에 도시된 바와 같이, 포스트 시냅틱 뉴런은 제5 시간(t5) 내지 제6 시간(t6) 사이에 발화할 수 있다.
포스트 시냅틱 뉴런이 발화한 후, 포스트 시냅틱 뉴런은 초기화 될 수 있다. 포스트 시냅틱 뉴런이 초기화 되는 경우, 내부 전압은 다시 제3 리셋전압(Vreset3)으로 변할 수 있다. 포스트 시냅틱 뉴런에 포함된 강화부 및 억제부도 초기화 될 수 있다. 이에 따라, 강화부 전압은 다시 제1 리셋전압(Vreset1)으로 변할 수 있고, 억제부 전압은 다시 제2 리셋전압(Vreset2)으로 변할 수 있다.
포스트 시냅틱 뉴런은 초기화 이후, 일정 시간 동안 불응기로 들어갈 수 있다. 포스트 시냅틱 뉴런이 불응기가 되는 경우, 스파이크 신호가 입력되더라도 포스트 시냅틱 뉴런의 내부 전압이 달라지지 않을 수 있다. 강화부 전압 및 억제부 전압 또한 스파이크 신호가 입력되더라도 달라지지 않을 수 있다.
도 3a 내지 도 3b에 도시된 바와 같이, 입력 스파이크 신호에 대응하는 가중치가 동일한 경우, 강화부에 의해 생성되는 양의 전압의 크기는 동일할 수 있고, 억제부에 의해 생성되는 음의 전압의 크기는 동일할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 입력 스파이크 신호에 대응하는 가중치가 동일하더라도, 강화부에 의해 생성되는 양의 전압의 크기는 달라질 수 있고, 억제부에 의해 생성되는 음의 전압의 크기는 달라질 수 있다. 예를 들어, 스파이크 신호의 크기가 달라지는 경우, 제1 시간(t1)에 생성되는 전압의 크기와 제5 시간(t5)에 생성되는 전압의 크기는 달라질 수 있다. 이에 따라, 제1 시간(t1)에서 증가되는 전압의 크기와 제5 시간(t5)에서 증가되는 전압의 크기가 달라질 수 있다.
도 4는 본 발명의 실시 예에 따른 프리 시냅틱 뉴런과 포스트 시냅틱 뉴런 사이의 가중치 업데이트 방법을 설명하기 위한 도면이다. 본 발명의 실시 예에 따른 뉴런은 STDP를 이용하여 업데이트 될 수 있다. 이하에서는 도 4를 참조하여 STDP 개념을 설명한다.
가중치 변화량(△W)은 포스트 시냅틱 뉴런의 스파이크 신호를 출력하는 시간과 프리 시냅틱 뉴런의 스파이크 신호를 출력하는 시간에 기초하여 달라질 수 있다. 도 4에 도시된 바와 같이, 제1 프리 시냅틱 뉴런은 제1 시간(t1)에 스파이크 신호를 출력하고, 제1 포스트 시냅틱 뉴런은 제2 시간(t2)에 스파이크 신호를 출력할 수 있다(즉, 제1 프리 시냅틱 뉴런이 제1 포스트 시냅틱 뉴런보다 스파이크 신호를 먼저 출력할 수 있다). 이 경우, 제2 시간(t2)과 제1 시간(t1)의 차이는 양의 값일 수 있고, 제1 프리 시냅틱 뉴런과 제1 포스트 시냅틱 뉴런 사이의 가중치는 강화되도록 업데이트 될 수 있다. 즉, 가중치의 변화량(△W)은 양의 값일 수 있다.
도 4에 도시된 바와 같이, 제2 포스트 시냅틱 뉴런은 제2 시간(t2)에 스파이크 신호를 출력하고, 제2 프리 시냅틱 뉴런은 제3 시간(t3)에 스파이크 신호를 출력할 수 있다(즉, 제2 프리 시냅틱 뉴런이 제2 포스트 시냅틱 뉴런보다 스파이크 신호를 나중에 출력할 수 있다). 이 경우, 제2 시간(t2)과 제3 시간(t3)의 차이는 음의 값일 수 있고, 제2 프리 시냅틱 뉴런과 제2 포스트 시냅틱 뉴런 사이의 가중치는 약화되도록 업데이트 될 수 있다. 즉, 가중치의 변화량(△W)은 음의 값일 수 있다.
가중치의 변화량(△W)은 포스트 시냅틱 뉴런이 스파이크 신호를 출력하는 시간과 프리 시냅틱 뉴런이 스파이크 신호를 출력하는 시간 차이(△t)의 크기에 따라 달라질 수 있다. 예시적으로, 시간 차이(△t)의 절대값이 작아질수록 가중치의 변화량(△W)은 커질 수 있다. 예를 들어, 프리 시냅틱 뉴런이 스파이크 신호를 출력한 후 포스트 시냅틱 뉴런이 스파이크 신호를 출력하는 경우, 시간 차이(△t)가 작을수록 가중치는 더 크게 증가할 수 있다.
상술한 바와 같이, 본 발명의 실시 예에 따른 프리 시냅틱 뉴런과 포스트 시냅틱 뉴런 사이의 가중치는 STDP를 이용하여 업데이트될 수 있다.
도 5는 본 발명의 하나의 실시 예에 따른 뉴로모픽 시스템을 보여주는 블록도이다. 도 5를 참조하면, 뉴로모픽 시스템(100)은 뉴런부(110), 제어기(150) 및 메모리(160)를 포함할 수 있고, 뉴런부(110)는 강화부(120), 억제부(130) 및 발화부(140)를 포함할 수 있다. 뉴로모픽 시스템(100)은 도 1 내지 도 4에서 설명한 포스트 시냅틱 뉴런의 동작 방식에 기초하여 동작할 수 있다.
뉴런부(110)는 입력 신호를 수신하고, 입력 신호에 대응하는 가중치에 기초하여 출력 신호를 출력할 수 있다. 입력 신호가 수신되는 경우, 뉴런부(110)는 메모리(160)로부터 대응하는 가중치를 수신할 수 있다. 예시적으로, 입력 신호는 스파이크 신호 또는 스파이크 신호에 대응하는 값일 수 있다. 메모리(160)는 복수의 뉴런들을 포함하는 스파이킹 뉴럴 네트워크 상에서 복수의 뉴런들의 연결 강도를 나타내는 복수의 가중치 값들을 저장할 수 있다. 제어기(150)는 스파이킹 뉴럴 네트워크의 토폴로지(topology)에 대한 정보를 포함할 수 있다. 제어기(150)는 토폴로지에 대한 정보에 기초하여 입력 신호와 대응하는 가중치가 뉴런부(110)로 제공될 수 있도록 메모리(160)를 제어할 수 있다.
예를 들어, 도 1을 참조하면, 뉴런부(110)에 제1 입력 신호가 수신되는 경우, 제어기(150)는 제1 입력 신호와 대응하는 제1 가중치(W1)가 뉴런부(110)로 제공될 수 있도록 메모리(160)를 제어할 수 있다. 이에 따라, 제1 입력신호가 수신되는 경우, 메모리(160)는 뉴런부(110)로 제1 가중치(W1)를 제공할 수 있고, 뉴런부(110)는 제1 가중치(W1)에 기초하여 제1 입력 신호를 강화 또는 억제시킬 수 있다.
강화부(120)는 입력 신호를 수신하고, 수신된 입력 신호를 대응하는 가중치에 기초하여 강화시킬 수 있다. 강화부(120)는 수신된 입력 신호를 강화시켜 양의 값을 갖는 강화부 전압을 출력할 수 있다. 입력 신호가 수신됨에 따라, 강화부(120)는 강화부 전압을 증가시킬 수 있다. 즉, 강화부 전압의 크기는 입력 신호가 수신됨에 따라 누적되어 증가될 수 있다. 예를 들어, 도 3a에 도시된 바와 같이, 강화부(120)는 제1 시간(t1) 내지 제5 시간(t5)에서 입력 신호가 수신됨에 따라 대응하는 가중치에 기초하여 강화부 전압의 크기를 증가시킬 수 있다.
억제부(130)는 입력 신호를 수신하고, 수신된 입력 신호를 대응하는 가중치에 기초하여 억제시킬 수 있다. 억제부(130)는 수신된 입력 신호를 억제시켜 음의 값을 갖는 억제부 전압을 출력할 수 있다. 입력 신호가 수신됨에 따라, 억제부(130)는 억제부 전압을 감소시킬 수 있다. 즉, 억제부 전압의 크기는 입력 신호가 수신됨에 따라 누적되어 감소될 수 있다. 예를 들어, 도 3b에 도시된 바와 같이, 억제부(130)는 제1 시간(t1) 내지 제5 시간(t5)에서 입력 신호가 수신됨에 따라 대응하는 가중치에 기초하여 억제부 전압의 크기를 감소시킬 수 있다.
발화부(140)는 강화부 전압 및 억제부 전압을 수신하고, 강화부 전압 및 억제부 전압을 합할 수 있다. 발화부(140)는 강화부 전압 및 억제부 전압을 합하여 내부 전압을 생성할 수 있다. 내부 전압은 도 3c의 포스트 시냅틱 뉴런의 내부 전압과 대응될 수 있다.
예시적으로, 발화부(140)는 덧셈기(미도시)를 포함할 수 있다. 덧셈기는 강화부 전압과 억제부 전압을 합하여 내부 전압을 생성할 수 있다.
발화부(140)는 내부 전압을 임계값과 비교하고, 비교 결과에 기초하여 발화할 수 있다. 발화부(140)는 내부 전압이 임계값 이상이 되는 경우, 발화하여 출력 신호를 출력할 수 있다. 예시적으로, 출력 신호는 발화 시의 내부 전압 또는 내부 전압과 대응하는 스파이크 신호일 수 있다. 발화부(140)는 출력 신호를 제어기(150)로 전달할 수 있다.
예시적으로, 발화부(140)는 비교기(미도시)를 포함할 수 있다. 비교기는 내부 전압을 미리 저장된 임계값과 비교하고, 비교 결과에 기초하여 출력 신호를 출력할 수 있다.
제어기(150)는 수신된 출력 신호에 기초하여 메모리(160)에 저장된 가중치를 업데이트할 수 있다. 제어기(150)는 뉴런부(110)에 제공된 가중치를 다른 가중치로 변경할 수 있다. 예시적으로, 제어기(150)는 출력 신호에 대응하는 값으로 가중치를 업데이트할 수 있다. 또는 제어기(150)는 도 4에서 설명한 STDP를 이용하여 가중치를 업데이트할 수 있다.
도 6은 도 5의 뉴로모픽 시스템의 추가 실시 예를 나타내는 블록도이다. 도 6을 참조하면, 뉴로모픽 시스템(100')은 뉴런부(110), 제어기(150), 메모리(160) 및 변환기(170)를 포함할 수 있고, 뉴런부(110)는 강화부(120), 억제부(130) 및 발화부(140)를 포함할 수 있다. 도 6의 뉴런부(110), 제어기(150) 및 메모리(160)의 동작은 도 5의 뉴런부(110), 제어기(150) 및 메모리(160)의 동작과 유사하므로 상세한 설명은 생략된다.
변환기(170)는 입력 신호를 수신하고, 수신된 입력 신호를 변환하여 변환 입력 신호를 출력할 수 있다. 변환기(170)는 입력 신호가 수신되는 경우, 뉴런부(110)에 의해 처리될 수 있는 형태로 입력 신호를 변환할 수 있다. 예를 들어, 입력 신호로 이미지의 픽셀 데이터가 수신되는 경우, 변환기(170)는 이미지의 픽셀 값을 가리키는 입력 신호를, 도 2에 도시된 바와 같이, 스파이크 신호로 변환할 수 있다. 변환기(170)는 이미지의 픽셀 값의 강도(intensity)에 따라 발생 빈도가 달라지는 스파이크 신호를 생성할 수 있다. 변환기(170)는 생성된 변환 입력 신호를 뉴런부(110)의 강화부(120) 및 억제부(130)로 제공할 수 있다.
뉴런부(110)는 변환기(170)로부터 제공된 변환 입력 신호를 강화 및 억제할 수 있다. 뉴런부(110)는 강화부(120) 및 억제부(130)를 통해 강화부 전압 및 억제부 전압을 생성할 수 있다. 강화부 전압 및 억제부 전압의 합이 임계값 이상이 되는 경우, 뉴런부(110)는 발화하여 출력 신호를 출력할 수 있다.
도 7은 도 5의 강화부의 예시를 나타내는 블록도이다. 도 5 및 도 7을 참조하면, 강화부(120)는 강화 연산부(121), 카운터(122) 및 누적기(123)를 포함할 수 있다. 강화 연산부(121)는 입력 신호 및 대응하는 가중치를 수신할 수 있다.
강화 연산부(121)는 입력 신호와 가중치에 기초하여 양의 값을 나타내는 전압을 생성할 수 있다. 강화 연산부(121)로부터 생성된 전압은 누적기(123)로 제공될 수 있다.
카운터(122)는 강화부(120)의 동작 시간을 카운트할 수 있다. 카운터(122)는 별도의 클럭 신호에 기초하여 동작 시간을 카운트할 수 있다. 카운터(122)는 동작 시간에 대한 정보를 누적기(123)로 제공할 수 있다.
누적기(123)는 강화 연산부(121)로부터 전압을 수신하고, 카운터(122)로부터 동작 시간에 대한 정보를 수신할 수 있다. 누적기(123)는 동작 시간에 대한 정보에 기초하여 수신된 전압을 누적할 수 있다. 누적기(123)는 누적된 전압을 강화부 전압으로 출력할 수 있다. 예를 들어, 도 3a에 도시된 바와 같이, 누적기(123)는 제1 시간(t1) 내지 제5 시간(t5)에 대한 정보를 카운터(122)로부터 수신할 수 있다. 누적기(123)는 제1 시간(t1)에 강화 연산부(121)로부터 제공된 전압에 기초하여 제1 전압(V1)을 강화부 전압으로 출력할 수 있다. 누적기(123)는 제2 시간(t2)에 강화 연산부(121)로부터 제공된 전압에 기초하여 제2 전압(V2)을 강화부 전압으로 출력할 수 있다. 이와 같은 방식으로, 누적기(123)는 제5 시간(t5)에 강화 연산부(121)로부터 제공된 전압에 기초하여 제4 전압(V4)을 강화부 전압으로 출력할 수 있다.
도 8은 도 7의 강화부에 대한 추가 예시를 나타내는 블록도이다. 도 8을 참조하면, 강화부(120')는 강화 연산부(121), 카운터(122), 누적기(123), 시프트부(124) 및 덧셈기(125)를 포함할 수 있다. 도 8의 강화 연산부(121), 카운터(122) 및 누적기(123)의 동작은 도 7의 강화 연산부(121), 카운터(122) 및 누적기(123)의 동작과 유사하므로 상세한 설명은 생략된다.
도 8에 도시된 바와 같이, 강화부(120')는 복수의 입력 신호들을 수신할 수 있다. 예를 들어, 도 7의 입력 신호는 이미지 픽셀 값과 대응하는 하나의 입력 신호일 수 있고, 도 8의 복수의 입력 신호들은 이미지 픽셀 값이 복수의 값으로 나누어진 값과 대응하는 복수의 입력 신호들일 수 있다.
시프트부(124)는 제공되는 복수의 입력 신호들을 시프트(shift)할 수 있다. 시프트부(124)는 복수의 입력 신호들을 수신하고, 각각의 입력 신호를 시프트함으로써 입력 신호의 크기를 감소시킬 수 있다. 시프트부(124)에 의해 크기가 감소된 복수의 입력 신호들은 덧셈기(125)로 제공될 수 있다.
덧셈기(125)는 시프트부(124)로부터 전달된 복수의 입력 신호들에 대해 덧셈을 수행할 수 있다. 덧셈기(125)는 덧셈 결과에 따라 생성된 입력 신호를 강화 연산부(121)로 제공할 수 있다. 이에 따라, 강화 연산부(121)로 제공되는 입력 신호는 도 7의 입력 신호와 같이 하나의 입력 신호일 수 있다.
강화 연산부(121)는 제공된 입력 신호와 가중치에 기초하여 양의 전압을 생성하고, 생성된 전압을 누적기(123)로 전달할 수 있다. 누적기(123)는 카운터(122)로부터 제공된 동작 시간 정보에 기초하여 전압을 누적하고 강화부 전압으로서 출력할 수 있다.
도 9는 도 5의 억제부의 예시를 나타내는 블록도이다. 도 5 및 도 9를 참조하면, 억제부(130)는 억제 연산부(131), 카운터(132) 및 누적기(133)를 포함할 수 있다. 억제 연산부(131)는 입력 신호 및 대응하는 가중치를 수신할 수 있다.
억제 연산부(131)는 입력 신호와 가중치에 기초하여 음의 값을 나타내는 전압을 생성할 수 있다. 억제 연산부(131)로부터 생성된 전압은 누적기(133)로 제공될 수 있다.
카운터(132)는 억제부(130)의 동작 시간을 카운트할 수 있다. 예시적으로, 카운터(132)는 별도의 클럭 신호에 기초하여 동작 시간을 카운트할 수 있다. 카운터(132)는 동작 시간에 대한 정보를 누적기(133)로 제공할 수 있다.
누적기(133)는 억제 연산부(131)로부터 전압을 수신하고, 카운터(132)로부터 동작 시간에 대한 정보를 수신할 수 있다. 누적기(133)는 동작 시간에 대한 정보에 기초하여 수신된 전압을 누적할 수 있다. 누적기(133)는 누적된 전압을 억제부 전압으로 출력할 수 있다. 예를 들어, 도 3b에 도시된 바와 같이, 누적기(133)는 제1 시간(t1) 내지 제5 시간(t5)에 대한 정보를 카운터(132)로부터 수신할 수 있다. 누적기(133)는 제1 시간(t1)에 억제 연산부(131)로부터 제공된 전압에 기초하여 제5 전압(V5)을 억제부 전압으로 출력할 수 있다. 누적기(133)는 제2 시간(t2)에 억제 연산부(131)로부터 제공된 전압에 기초하여 제6 전압(V6)을 억제부 전압으로 출력할 수 있다. 이와 같은 방식으로, 누적기(133)는 제5 시간(t5)에 억제 연산부(131)로부터 제공된 전압에 기초하여 제8 전압(V8)을 억제부 전압으로 출력할 수 있다.
도 10은 도 9의 억제부에 대한 추가 예시를 나타내는 블록도이다. 도 10을 참조하면, 억제부(130')는 억제 연산부(131), 카운터(132), 누적기(133), 시프트부(134) 및 덧셈기(135)를 포함할 수 있다. 도 10의 억제 연산부(131), 카운터(132) 및 누적기(133)의 동작은 도 9의 억제 연산부(131), 카운터(132) 및 누적기(133)의 동작과 유사하므로 상세한 설명은 생략된다. 또한, 도 10의 시프트부(134) 및 덧셈기(135)의 동작은 도 8의 시프트부(124) 및 덧셈기(125)의 동작과 유사하므로 상세한 설명은 생략된다.
억제부(130')는 복수의 입력 신호들을 수신하고, 시프트부(134) 및 덧셈기(135)를 통해 하나의 입력 신호를 생성할 수 있다. 억제 연산부(131)는 제공된 입력 신호와 가중치에 기초하여 음의 전압을 생성하고, 생성된 전압을 누적기(133)로 전달할 수 있다. 누적기(133)는 카운터(132)로부터 제공된 동작 시간 정보에 기초하여 전압을 누적하고 억제부 전압으로서 출력할 수 있다.
상술한 바와 같이, 본 발명의 실시 예에 따른 뉴로모픽 시스템(100)은 스파이킹 뉴럴 네트워크(SNN) 기반의 하드웨어로 구현될 수 있다. 뉴로모픽 시스템(100)의 뉴런부(110)는 강화 뉴런 및 억제 뉴런을 포함하는 생물학적 모델에 유사한 강화부(120) 및 억제부(130)를 포함할 수 있다. 강화부(120) 및 억제부(130)는 입력 신호에 기초하여 동시에 강화부 전압 및 억제부 전압을 생성할 수 있다. 생성된 강화부 전압 및 억제부 전압에 기초해 뉴런부(110)가 발화할 수 있다. 강화부(120) 및 억제부(130)가 별도의 하드웨어로 구현되어 동시에 동작함으로써 뉴런부(110)의 연산 속도가 빨라질 수 있다.
따라서, 본 발명의 실시 예에 따른 뉴로모픽 시스템(100)은 스파이킹 뉴럴 네트워크에 대한 하드웨어 구조를 단순화시킬 수 있을 뿐만 아니라, 입력 신호에 기초하여 강화 및 억제 동작을 동시에 수행함으로써 하드웨어의 동작 속도를 빠르게 할 수 있다.
도 11은 도 5의 뉴로모픽 시스템의 동작 방법을 보여주는 순서도이다. 도 5 및 도 11을 참조하면, S101 단계에서, 뉴로모픽 시스템(100)은 초기화될 수 있다. 뉴로모픽 시스템(100)이 초기화 되는 경우, 뉴런부(110)의 전압들은 모두 초기화 될 수 있다. 즉, 도 3a 내지 도 3c에 도시된 바와 같이, 강화부 전압, 억제부 전압 및 뉴런부의 내부 전압은 각각 제1 리셋전압, 제2 리셋전압 및 제3 리셋전압으로 변경될 수 있다.
S102 단계에서, 뉴로모픽 시스템(100)은 가중치에 기초하여 수신되는 입력 신호를 강화 및 억제하여 강화부 전압 및 억제부 전압을 생성할 수 있다. 뉴로모픽 시스템(100)은 미리 저장된 가중치 값들 중 수신되는 입력 신호와 대응하는 가중치를 이용하여 입력 신호를 강화 및 억제할 수 있다. 뉴로모픽 시스템(100)은 입력 신호 및 가중치를 기반으로 양의 값을 갖는 강화부 전압과 음의 값을 갖는 억제부 전압을 생성할 수 있다.
S103 단계에서, 뉴로모픽 시스템(100)은 강화부 전압 및 억제부 전압을 합하여 내부 전압을 생성할 수 있다. 생성된 내부 전압은 입력 신호에 따라 누적된 전압일 수 있다.
S104 단계에서, 뉴로모픽 시스템(100)은 내부 전압이 임계값 이상인지 여부를 판단할 수 있다. 내부 전압이 임계값 이상인 경우, S105 단계에서, 뉴로모픽 시스템(100)은 발화하여 출력 신호를 출력할 수 있다. 예시적으로, 출력 신호는 발화 시의 내부 전압 또는 내부 전압과 대응하는 스파이크 신호일 수 있다. 내부 전압이 임계값보다 작은 경우, 뉴로모픽 시스템(100)은 S102 내지 S104 단계의 동작을 반복하여 수행할 수 있다.
S106 단계에서, 뉴로모픽 시스템(100)은 출력 신호에 기초하여 가중치를 업데이트할 수 있다. 뉴로모픽 시스템(100)은 출력 신호에 대응하는 가중치 값으로 가중치를 업데이트할 수 있다. 또는 뉴로모픽 시스템(100)은 출력 신호의 생성 시간에 기초하여 가중치를 업데이트할 수 있다.
S107 단계에서, 뉴로모픽 시스템(100)은 학습이 종료되었는지 여부를 판단할 수 있다. 학습이 종료된 경우, 뉴로모픽 시스템(100)은 가중치 업데이트에 대한 동작을 종료할 수 있다. 학습이 종료되지 않은 경우, 뉴로모픽 시스템(100)은 S101 내지 S107 단계의 동작을 반복하여 수행할 수 있다. S101 단계에서, 뉴로모픽 시스템(100)이 초기화 되는 경우, S102 단계 및 S103 단계에서 생성된 강화부 전압, 억제부 전압 및 내부 전압은 모두 리셋될 수 있다. 따라서, 도 3a 내지 도 3c에 도시된 바와 같이, 강화부 전압, 억제부 전압 및 내부 전압은 각각의 리셋전압들로 변경될 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100: 뉴로모픽 시스템
110: 뉴런부
120: 강화부
130: 억제부
140: 발화부
150: 제어기
160: 메모리
110: 뉴런부
120: 강화부
130: 억제부
140: 발화부
150: 제어기
160: 메모리
Claims (10)
- 복수의 가중치들을 저장하는 메모리;
복수의 픽셀 값들을 나타내는 입력 데이터를 수신하고, 상기 복수의 픽셀 값들의 강도(intensity)에 따라 발생 빈도가 다른 스파이크 신호를 생성하여 입력 신호로서 출력하는 변환기;
상기 입력 신호를 수신하고, 상기 복수의 가중치들 중 상기 입력 신호에 대응하는 제1 가중치에 기초하여 양의 전압을 생성하고, 상기 생성된 양의 전압을 누적하여 강화부 전압을 출력하는 강화부;
상기 입력 신호를 수신하고, 상기 제1 가중치에 기초하여 음의 전압을 생성하고, 상기 생성된 음의 전압을 누적하여 억제부 전압을 출력하는 억제부; 및
상기 강화부 전압 및 상기 억제부 전압을 합하여 내부 전압을 생성하고, 상기 내부 전압과 임계값의 비교 결과에 기초하여 발화하는 발화부를 포함하는 뉴로모픽 시스템. - 제 1 항에 있어서,
상기 발화부는 상기 발화에 따라 출력 신호를 출력하고, 상기 출력 신호는 상기 발화 시의 상기 내부 전압 또는 상기 내부 전압에 대응하는 스파이크 신호인 뉴로모픽 시스템. - 제 2 항에 있어서,
상기 출력 신호를 수신하고, 상기 수신된 출력 신호에 기초하여 상기 메모리에 저장된 상기 제1 가중치를 업데이트하는 제어기를 더 포함하는 뉴로모픽 시스템. - 삭제
- 제 1 항에 있어서,
상기 강화부는,
상기 입력 신호 및 상기 제1 가중치에 기초하여 상기 양의 전압을 생성하는 강화 연산부;
상기 강화부의 동작 시간을 카운트하여 상기 동작 시간에 대한 정보를 생성하는 카운터; 및
상기 동작 시간에 대한 정보에 기초하여 상기 양의 전압을 누적하여 상기 강화부 전압을 출력하는 누적기를 포함하는 뉴로모픽 시스템. - 제 1 항에 있어서,
상기 억제부는,
상기 입력 신호 및 상기 제1 가중치에 기초하여 상기 음의 전압을 생성하는 억제 연산부;
상기 억제부의 동작 시간을 카운트하여 상기 동작 시간에 대한 정보를 생성하는 카운터; 및
상기 동작 시간에 대한 정보에 기초하여 상기 음의 전압을 누적하여 상기 억제부 전압을 출력하는 누적기를 포함하는 뉴로모픽 시스템. - 뉴로모픽 시스템의 동작 방법에 있어서,
복수의 픽셀 값들을 나타내는 입력 데이터를 수신하는 단계;
상기 복수의 픽셀 값들의 강도에 따라 발생 빈도가 다른 스파이크 신호를 입력 신호로서 생성하는 단계;
상기 입력 신호와 대응하는 가중치에 기초하여 강화부 전압 및 억제부 전압을 생성하는 단계;
상기 강화부 전압 및 상기 억제부 전압을 합하여 내부 전압을 생성하는 단계;
상기 내부 전압이 임계값 이상인지 여부를 비교하는 단계;
상기 내부 전압이 임계값 이상인 경우, 출력 신호를 출력하는 단계; 및
상기 출력 신호에 기초하여 상기 가중치를 업데이트하는 단계를 포함하는 동작 방법. - 제 7 항에 있어서,
상기 강화부 전압은 양의 값을 갖고, 상기 억제부 전압은 음의 값을 갖는 동작 방법. - 제 7 항에 있어서,
상기 입력 신호 및 상기 출력 신호는 스파이크 신호인 동작 방법. - 제 7 항에 있어서,
상기 가중치를 업데이트하는 단계는 상기 출력 신호가 발생되는 시간에 기초하여 상기 가중치를 업데이트하는 동작 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180004045A KR102603287B1 (ko) | 2018-01-11 | 2018-01-11 | 뉴로모픽 시스템 및 그것의 동작 방법 |
US16/134,935 US20190213472A1 (en) | 2018-01-11 | 2018-09-18 | Spiking neural network-based neuromorphic system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180004045A KR102603287B1 (ko) | 2018-01-11 | 2018-01-11 | 뉴로모픽 시스템 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190085781A KR20190085781A (ko) | 2019-07-19 |
KR102603287B1 true KR102603287B1 (ko) | 2023-11-20 |
Family
ID=67140824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180004045A KR102603287B1 (ko) | 2018-01-11 | 2018-01-11 | 뉴로모픽 시스템 및 그것의 동작 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190213472A1 (ko) |
KR (1) | KR102603287B1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200293860A1 (en) * | 2019-03-11 | 2020-09-17 | Infineon Technologies Ag | Classifying information using spiking neural network |
US11449738B2 (en) | 2019-08-09 | 2022-09-20 | Korea Electronics Technology Institute | Neuromorphic memory management system and method thereof |
KR102407263B1 (ko) * | 2019-08-09 | 2022-06-13 | 한국전자기술연구원 | 뉴로모픽 메모리 관리 시스템 및 이를 통한 가중치 연산 방법 |
JP7118930B2 (ja) * | 2019-08-19 | 2022-08-16 | 株式会社東芝 | スパイキングニューラルネットワーク装置およびその学習方法 |
KR102577326B1 (ko) * | 2020-03-30 | 2023-09-13 | 한국전자통신연구원 | 온-디바이스 양자화기를 포함하는 신경망 연산 장치, 신경망 연산 장치의 동작 방법, 그리고 신경망 연산 장치를 포함하는 컴퓨팅 장치 |
US11282221B1 (en) * | 2020-09-22 | 2022-03-22 | Varian Medical Systems, Inc. | Image contouring using spiking neural networks |
KR102514650B1 (ko) * | 2021-11-30 | 2023-03-29 | 서울대학교산학협력단 | 뉴로모픽 장치 및 뉴로모픽 장치에서의 변이 특성 보상 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120084241A1 (en) * | 2010-09-30 | 2012-04-05 | International Business Machines Corporation | Producing spike-timing dependent plasticity in a neuromorphic network utilizing phase change synaptic devices |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150269485A1 (en) * | 2014-03-24 | 2015-09-24 | Qualcomm Incorporated | Cold neuron spike timing back-propagation |
-
2018
- 2018-01-11 KR KR1020180004045A patent/KR102603287B1/ko active IP Right Grant
- 2018-09-18 US US16/134,935 patent/US20190213472A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120084241A1 (en) * | 2010-09-30 | 2012-04-05 | International Business Machines Corporation | Producing spike-timing dependent plasticity in a neuromorphic network utilizing phase change synaptic devices |
Also Published As
Publication number | Publication date |
---|---|
US20190213472A1 (en) | 2019-07-11 |
KR20190085781A (ko) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102603287B1 (ko) | 뉴로모픽 시스템 및 그것의 동작 방법 | |
Kim et al. | Deep neural networks with weighted spikes | |
US9489622B2 (en) | Event-driven universal neural network circuit | |
CN104662526B (zh) | 用于高效地更新尖峰神经元网络的装置和方法 | |
Schäfer et al. | Recurrent neural networks are universal approximators | |
US11601134B2 (en) | Optimized quantization for reduced resolution neural networks | |
WO2013169805A2 (en) | Spiking neural network feedback apparatus and methods | |
WO2015167765A2 (en) | Temporal spike encoding for temporal learning | |
CN108304912B (zh) | 一种运用抑制信号实现脉冲神经网络监督学习的系统和方法 | |
US20210397968A1 (en) | Backpropagation of errors in pulsed form in a pulsed neural network | |
US10832121B2 (en) | Transform for a neurosynaptic core circuit | |
US20230281436A1 (en) | Neuromorphic processor and operating method thereof | |
WO2015047589A2 (en) | Methods and apparatus for implementation of group tags for neural models | |
EP3111378A2 (en) | Method and apparatus for efficient implementation of common neuron models | |
Bieszczad | Neurosolver: a neural network based on a cortical column | |
Centorrino et al. | Contraction analysis of hopfield neural networks with hebbian learning | |
Geidarov | Clearly defined architectures of neural networks and multilayer perceptron | |
US12020141B2 (en) | Deep learning apparatus for ANN having pipeline architecture | |
Han et al. | Modeling dynamic system by recurrent neural network with state variables | |
KR102356787B1 (ko) | 신경망을 이용한 기억 장치 및 그의 정확성-저장용량 트레이드오프에 기반한 정보의 자동적 재분배 및 가변적 저장 용량 구현을 위한 동작 방법 | |
JPH11338844A (ja) | 発火数制御型神経回路装置 | |
US20220391674A1 (en) | Method for optimizing execution time of an artificial neural network | |
US20230289582A1 (en) | Neuron circuit with synaptic weight learning | |
Roy et al. | Online unsupervised structural plasticity algorithm for multi-layer Winner-Take-All with binary synapses | |
Mitrofanova et al. | Adaptive Resonance Neural Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |