KR20200088952A - 스파이크 뉴럴 네트워크 회로 및 이의 동작 방법 - Google Patents
스파이크 뉴럴 네트워크 회로 및 이의 동작 방법 Download PDFInfo
- Publication number
- KR20200088952A KR20200088952A KR1020190005441A KR20190005441A KR20200088952A KR 20200088952 A KR20200088952 A KR 20200088952A KR 1020190005441 A KR1020190005441 A KR 1020190005441A KR 20190005441 A KR20190005441 A KR 20190005441A KR 20200088952 A KR20200088952 A KR 20200088952A
- Authority
- KR
- South Korea
- Prior art keywords
- spike
- weight
- circuit
- weight control
- neural network
- Prior art date
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 스파이크 뉴럴 네트워크 회로 및 이의 동작 방법에 관한 것이다. 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로는 입력 스파이크를 생성하는 축색돌기 회로, 입력 스파이크의 변화량 또는 가속량에 기초하여 가중치 제어 신호를 생성하는 가중치 제어 회로, 가중치 제어 신호에 기초하여 입력 스파이크에 대응되는 결과를 생성하는 시냅스 회로, 및 결과에 기초하여 출력 스파이크를 생성하는 뉴런 회로를 포함한다. 본 발명에 따르면, 입력 신호의 중요도를 반영하고, 인간의 장기 기억을 모사함으로써, 판단의 정확도 및 속도가 향상될 수 있다.
Description
본 발명은 인공 뉴럴 네트워크에 관한 것으로, 좀 더 구체적으로 가중치 제어 회로를 포함하는 스파이크 뉴럴 네트워크 회로 및 이의 동작 방법에 관한 것이다.
인간의 사고, 추론, 및 학습 과정을 전자 장치에 적용하여 정보를 처리하는 인공 뉴럴 네트워크(artificial neural network; ANN)에 대한 관심이 증가하고 있다. 인공 뉴럴 네트워크는 인간의 뇌에 포함된 뉴런과 시냅스를 모방하여 정보를 처리할 수 있다. 인공 뉴럴 네트워크는 학습을 통하여, 시냅스의 결합 세기 즉 가중치를 변화시켜, 정보들에 대한 효과적인 문제 해결 능력을 제공할 수 있다. 이러한 인공 뉴럴 네트워크는 위험 인지, 보안 및 감시, 자율 주행, 스마트 매니지먼트, 사물 인터넷 등 다양한 분야에 응용될 수 있다.
상술된 다양한 분야에 인공 뉴럴 네트워크가 적용될 수 있도록, 저전력으로 구동될 수 있는 스파이크 뉴럴 네트워크(spiking neural network; SNN)가 활발히 연구되고 있다. 퍼셉트론(perceptron) 기반의 뉴럴 네트워크 또는 합성곱(convolution) 기반의 뉴럴 네트워크와 다르게, 스파이크 뉴럴 네트워크 내에서는 특정한 레벨의 신호가 전달되는 것이 아니라, 짧은 시간 동안에 토글링(toggling)하는 펄스 형태를 갖는 스파이크 신호가 전달될 수 있다. 즉, 스파이크 뉴럴 네트워크는 짧은 시간의 스파이크 신호를 통하여 정보를 전달하므로, 저전력으로 동작할 수 있다. 이러한 스파이크 뉴럴 네트워크의 판단의 정확도 및 속도를 증가시키기 위한 요구가 제기되고 있다.
본 발명은 입력 신호의 중요도를 반영하고, 인간의 장기 기억을 모사함으로써, 판단의 정확도 및 속도를 향상시킬 수 있는 스파이크 뉴럴 네트워크 회로 및 이의 동작 방법을 제공할 수 있다.
본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로는 입력 스파이크를 생성하는 축색돌기 회로, 입력 스파이크의 변화량에 기초하여 가중치 제어 신호를 생성하는 가중치 제어 회로, 가중치 제어 신호에 기초하여 입력 스파이크에 대응되는 결과를 생성하는 시냅스 회로, 및 결과에 기초하여 출력 스파이크를 생성하는 뉴런 회로를 포함한다.
일례로, 가중치 제어 회로는 변화량이 기준 값보다 큰 경우 가중치 제어 신호의 크기를 조절할 수 있다. 시냅스 회로는 가중치 제어 신호에 의존하는 가중치 값에 입력 스파이크의 크기를 곱함으로써 결과를 생성할 수 있다.
일례로, 가중치 제어 회로는 변화량에 대응되는 미분 신호를 생성하는 미분기, 및 미분 신호와 기준 값을 비교하는 비교기를 포함할 수 있다. 가중치 제어 신호는 비교기의 비교 결과에 기초하여 생성될 수 있다. 비교기는 미분 신호의 크기가 기준 값보다 큰 경우, 비교 결과 신호를 생성할 수 있다. 가중치 제어 신호는 비교 결과 신호에 응답하여 생성될 수 있다. 가중치 제어 신호의 크기는 상기 비교 결과 신호의 크기에 의존할 수 있다. 가중치 제어 신호는 입력 스파이크가 생성된 제1 시간 및 출력 스파이크가 생성된 제2 시간의 차이에 더 기초하여 생성될 수 있다.
일례로, 스파이크 뉴럴 네트워크 회로는 가중치 제어 신호의 크기가 기준 값보다 큰 경우, 가중치 제어 신호에 대응되는 가중치 값이 저장되는 메모리를 더 포함할 수 있다. 일례로, 스파이크 뉴럴 네트워크 회로는 출력 스파이크의 크기가 기준 값보다 큰 경우, 출력 스파이크에 대응되는 발화 값이 저장되는 메모리를 더 포함할 수 있다.
본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로는 입력 스파이크를 생성하는 축색돌기 회로, 시간에 따른 입력 스파이크의 2차 미분 값에 대응되는 가속량에 기초하여, 가중치 제어 신호를 생성하는 가중치 제어 회로, 가중치 제어 신호에 기초하여 입력 스파이크에 대응되는 결과를 생성하는 시냅스 회로, 및 결과에 기초하여 출력 스파이크를 생성하는 뉴런 회로를 포함한다. 일례로, 가중치 제어 회로는 가속량이 기준 값보다 큰 경우, 가중치 제어 신호의 크기를 조절할 수 있다.
일례로, 가중치 제어 회로는 시간에 따른 입력 스파이크의 변화량에 대응되는 제1 미분 신호를 생성하는 제1 미분기, 시간에 따른 제1 미분 신호의 변화량에 대응되는 제2 미분 신호를 생성하는 제2 미분기, 및 제2 미분 신호와 기준 가속량을 비교하는 가속량 비교기를 포함할 수 있고, 가중치 제어 신호는 가속량 비교기의 비교 결과에 기초하여 생성될 수 있다. 가중치 제어 회로는 제1 미분 신호와 기준 변화량을 비교하는 변화량 비교기를 더 포함할 수 있고, 가중치 제어 신호는 변화량 비교기의 비교 결과에 더 기초하여 생성될 수 있다. 일례로, 가중치 제어 회로는 제1 미분 신호가 기준 변화량보다 크거나 제2 미분 신호가 기준 가속량보다 큰 경우, 가중치 제어 신호를 조절할 수 있다.
본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로의 동작 방법은 시냅스에 입력되는 입력 스파이크의 변화량을 계산하는 단계, 변화량이 기준 변화량 범위 이내인지 판단하는 단계, 변화량이 기준 변화량 범위를 벗어난 경우, 시냅스의 가중치를 조절하는 단계, 입력 스파이크에 조절된 가중치를 부여한 결과를 생성하는 단계, 및 결과에 기초하여 출력 스파이크를 생성하는 단계를 포함한다. 일례로, 상기 방법은 입력 스파이크의 2차 미분 값에 대응되는 가속량을 계산하는 단계, 가속량이 기준 가속량 범위 이내인지 판단하는 단계, 및 가속량이 기준 가속량 범위를 벗어난 경우, 가중치를 더 조절하는 단계를 더 포함할 수 있다.
일례로, 상기 방법은 조절된 가중치가 기준 값보다 큰 경우, 메모리로부터 조절된 가중치에 대응되는 가중치 값을 읽는 단계, 및 가중치 정보에 기초하여, 입력 스파이크에 대응되는 최종 결과를 예측하는 단계를 더 포함할 수 있다.
일례로, 상기 방법은 출력 스파이크의 크기가 기준 값보다 큰 경우, 메모리로부터 출력 스파이크에 대응되는 발화 정보를 읽는 단계, 및 발화 정보에 기초하여, 출력 스파이크에 대응되는 최종 결과를 예측하는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로 및 이의 동작 방법은 입력 스파이크의 변화량 또는 가속량을 가중치에 반영함으로써, 판단의 정확도를 향상시킬 수 있다.
또한, 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로 및 이의 동작 방법은 별도의 메모리를 이용하여 인간의 장기 기억을 모사하고, 판단의 속도를 향상시킬 수 있다.
도 1은 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로의 예시적인 블록도이다.
도 2는 도 1의 시냅스 회로를 설명하기 위한 예시적인 회로도이다.
도 3은 도 1의 가중치 제어기의 예시적인 블록도이다.
도 4는 도 1의 가중치 제어기의 예시적인 블록도이다.
도 5는 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로의 예시적인 블록도이다.
도 6은 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로의 예시적인 블록도이다.
도 7은 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로의 동작 방법의 예시적인 순서도이다.
도 2는 도 1의 시냅스 회로를 설명하기 위한 예시적인 회로도이다.
도 3은 도 1의 가중치 제어기의 예시적인 블록도이다.
도 4는 도 1의 가중치 제어기의 예시적인 블록도이다.
도 5는 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로의 예시적인 블록도이다.
도 6은 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로의 예시적인 블록도이다.
도 7은 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로의 동작 방법의 예시적인 순서도이다.
아래에서는, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재된다.
본 발명은 뉴럴 네트워크(neural network)의 연산을 수행하기 위해 반도체 장치에서 구현된 회로에 관한 것이다. 본 발명의 뉴럴 네트워크는 생물학적인 뉴럴 네트워크와 유사한 방식으로 데이터 또는 정보를 처리할 수 있는 인공 뉴럴 네트워크(ANN)일 수 있다. 뉴럴 네트워크는 생물학적 뉴런과 유사한 인공 뉴런들을 포함하는 다수의 레이어들(layers)과 다수의 레이어들을 연결하는 시냅스들을 포함할 수 있다. 이하에서, 짧은 시간 동안, 펄스 형태를 갖는 스파이크 신호를 처리하는 스파이크 뉴럴 네트워크가 대표적으로 설명될 것이나, 본 발명의 실시 예에 따른 회로는 스파이크 뉴럴 네트워크에 한정되지 않고 다른 뉴럴 네트워크를 구현하는데 사용될 수도 있다.
도 1은 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로의 예시적인 블록도이다. 도 1을 참조하면, 스파이크 뉴럴 네트워크 회로(100)는 축색돌기 회로(110), 시냅스 회로(120), 뉴런 회로(130), 및 가중치 제어 회로(140)를 포함할 수 있다.
축색돌기 회로(110)는 입력 스파이크 (입력 신호)를 생성하는 축색돌기(axon)들을 포함할 수 있다. 축색돌기 회로(110)의 축색돌기는 생물학적인 뉴럴 네트워크의 축색돌기와 유사하게 다른 뉴런에 신호를 출력할 수 있다. 축색돌기 회로(110)는 일종의 프리(pre) 뉴런 회로로 볼 수 있다. 일례로, 축색돌기 회로(110)의 축색돌기들 각각은 외부로부터 스파이크 뉴럴 네트워크 회로(100)로 입력된 데이터 또는 정보에 기초하여 입력 스파이크를 생성할 수 있다. 일례로, 축색돌기 회로(110)의 축색돌기들 각각은 먼저 시냅스 회로(120)로 전송된 입력 스파이크들에 따라 뉴런 회로(130)로부터 출력되는 출력 스파이크 신호들을 수신하고 (피드백(feedback)) 출력 스파이크 신호들에 기초하여 새로운 입력 스파이크를 생성할 수 있다. 입력 스파이크는 짧은 시간 동안에 토글링하는 펄스 신호일 수 있다. 입력 스파이크들은 시냅스 회로(120)로 전송될 수 있다.
시냅스 회로(120)는 축색돌기 회로(110)와 뉴런 회로(130)를 연결할 수 있다. 시냅스 회로(120)는 축색돌기 회로(110)의 축색돌기들과 뉴런 회로(130)의 뉴런들의 연결 여부 및 연결 강도를 결정하는 시냅스들(121~12n)을 포함할 수 있다. 시냅스들(121~12n) 각각은 입력 스파이크를 수신하고, 입력 스파이크 신호에 가중치가 적용될 수 있다. 가중치는 상술한 축색돌기와 뉴런간의 상관 관계, 축색돌기 회로(110)의 축색돌기들과 뉴런 회로(130)의 뉴런들간의 연결 강도, 입력 스파이크에 대한 뉴런 회로(130)의 (후속) 뉴런의 상관 관계 등을 나타내는 수치화된 값일 수 있다.
시냅스들(121~12n)은 2차원 어레이(array) 상에 배치되는 것으로 도시되나, 이에 제한되지 않고 3차원 어레이 상에 배치될 수 있다. 입력 스파이크들은 축색돌기 회로(110)에서 시냅스 회로(120)를 향하는 제1 방향 (행 방향)으로 전송될 수 있다. 입력 스파이크에 가중치가 적용된 결과 생성된 전기 신호는 시냅스 회로(120)에서 뉴런 회로(130)로 향하는 제2 방향 (열 방향)으로 전송될 수 있다. 예를 들어, 제1 방향과 제2 방향은 서로 수직할 수 있다.
뉴런 회로(130)는 시냅스 회로(120)에서 입력 스파이크에 가중치가 적용된 결과들을 수신할 수 있다. 뉴런 회로(130)는 생물학적 뉴럴 네트워크의 수상돌기와 유사하게 다른 뉴런에서 출력된 신호를 수신하는 기능을 수행할 수 있다. 뉴런 회로(130)는 일종의 포스트(post) 뉴런 회로로 볼 수 있다. 뉴런 회로(130)는 시냅스 회로(120)에서 출력되는 가중치들에 의해 결정되는 값과 기준 값을 비교하고, 비교 결과에 기초하여 출력 스파이크 (출력 신호)를 생성할 수 있다.
구체적으로, 뉴런 회로(130)는 시냅스 회로(120)의 출력 결과들이 누적된 합을 기준 값 (또는 문턱 값)과 비교할 수 있다. 누적된 합이 기준 값을 넘은 경우, 뉴런 회로(130)는 출력 스파이크를 생성할 수 있다. (즉, 뉴런의 발화(fire)) 뉴런 회로(130)의 출력 스파이크는 축색돌기 회로(110)로 다시 제공되거나, 스파이크 뉴럴 네트워크 회로(100)의 외부로 출력되거나, 또는 스파이크 뉴럴 네트워크 회로(100)의 다른 구성 요소로 출력될 수 있다.
가중치 제어 회로(140)는 축색돌기 회로(110)로부터 생성된 입력 스파이크에 기초하여, 사냅스들(121~12n) 각각의 가중치를 제어한다. 이를 위하여, 가중치 제어 회로(140)는 가중치 제어기들(WC1~WCn)을 포함할 수 있다. 하나의 가중치 제어기는 하나의 축색돌기에 대응되고, 하나의 행에 배열된 시냅스들에 대응된다. 가중치 제어기들(WC1~WCn) 각각은 대응되는 축색돌기로부터 입력 스파이크를 수신하고, 입력 스파이크에 기초하여, 가중치 제어 신호를 생성할 수 있다. 가중치 제어 신호는 대응되는 행에 배열된 시냅스들에 제공될 수 있다.
가중치 제어 회로(140)는 입력 스파이크의 변화량 (즉, 미분 값)에 기초하여, 시냅스들(121~12n) 각각의 가중치를 제어할 수 있다. 인간의 뇌는 일정한 크기의 입력 신호 (입력 스파이크)보다 입력 신호의 변화에 더 민감하게 반응한다. 생물학적 뉴럴 네트워크를 모사하는 스파이크 뉴럴 네트워크 회로(100)에서, 입력 스파이크의 변화량을 출력 스파이크에 반영할 수 있도록 가중치 제어 회로(140)가 제공될 수 있다. 가중치 제어 회로(140)는 입력 스파이크의 변화량을 감지할 수 있다. 그리고, 감지된 입력 스파이크의 변화량이 기준 값을 넘는 경우, 가중치 제어 회로(140)는 시냅스들(121~121n)의 가중치를 조절하기 위한 가중치 제어 신호를 생성할 수 있다. 예를 들어, 입력 스파이크의 변화량이 기준 값을 넘는 경우, 가중치가 증가할 수 있다.
가중치 제어 회로(140)는 입력 스파이크의 가속량 (즉, 2차 미분 값)에 기초하여, 시냅스들(121~12n) 각각의 가중치를 제어할 수 있다. 인간의 뇌는 입력 신호의 변화량이 가파르게 상승할수록, 즉 가속량이 클수록 더 민감하게 반응한다. 생물학적 뉴럴 네트워크를 모사하는 스파이크 뉴럴 네트워크 회로(100)에서, 입력 스파이크의 가속량을 출력 스파이크에 반영할 수 있도록 가중치 제어 회로(140)가 제공될 수 있다. 가중치 제어 회로(140)는 입력 스파이크의 가속량을 감지할 수 있다. 가속량이 기준 값을 넘는 경우, 가중치 제어 회로(140)는 가중치를 조절할 수 있다. 가중치 제어 회로(140)는 가속량과 함께 입력 스파이크의 변화량을 고려하여, 가중치를 제어할 수 있다.
가중치 제어 회로(140)는 입력 스파이크의 특성을 실시간으로 시냅스들(121~12n) 각각의 가중치에 반영할 수 있다. 가중치 제어 회로(140)는 입력 스파이크에 응답하여, 가중치 제어 신호를 생성한다. 따라서, 시냅스 회로(120)가 입력 스파이크에 대응되는 출력 스파이크를 생성할 때, 곧바로 조절된 가중치에 기초하여 출력 스파이크가 생성될 수 있다. 즉, 입력 스파이크의 변화량 또는 가속값에 실시간으로 응답하여, 출력 스파이크에 반영될 수 있다.
기존의 스파이크 뉴럴 네트워크 회로에서, 시냅스들(121~12n) 각각의 가중치는 STDP(spike-timing dependent plasticity) 기반으로 조절된다. STPD 방식 하에서, 가중치는 입력 스파이크가 생성된 시점과 출력 스파이크가 생성된 시점 사이의 차이에 의존하여 조절된다. 가중치 제어 회로(140)는 스파이크의 타이밍뿐만 아니라, 스파이크 자체의 특성을 고려하여 가중치를 조절하므로, 신호의 특성에 따른 중요도를 고려할 수 있다. 예를 들어, 축색돌기들을 통하여, 병렬로 복수의 입력 스파이크들이 생성될 때, 입력 스파이크의 변화량 및 가속량과 같은 특성에 기초하여, 특정 입력 스파이크의 중요도를 높이거나 낮출 수 있다. 중요도가 고려됨에 따라, 스파이크 뉴럴 네트워크 회로(100)의 정보 전달 및 분석에 따른 상황 판단의 정확성이 향상될 수 있다.
도 2는 도 1의 시냅스 회로를 설명하기 위한 예시적인 회로도이다. 도 2는 가중치를 반영하여 입력 스파이크를 처리함으로써, 출력 스파이크를 생성하기 위한 예시적인 회로도로 이해될 것이며, 시냅스 회로(120)의 회로 구조가 이에 제한되지 않을 것이다. 설명의 편의상, 시냅스 회로(120)의 일부 시냅스들(121, 122, 123)만 도시되었고, 출력 스파이크의 생성을 설명하기 위하여, 뉴런 회로(130)가 추가적으로 도시된다.
제1 시냅스(121)는 제1 트랜지스터(MP1) 및 제2 트랜지스터(MP2)를 포함할 수 있다. 제1 트랜지스터(MP1)는 게이트 단자를 통해 제1 가중치 제어 신호(WS1)를 수신할 수 있다. 제1 가중치 제어 신호(WS1)는 제1 시냅스(121)의 제1 가중치를 나타내는 값일 수 있고, 예를 들어, 전압 레벨을 가질 수 있다. 제1 가중치 제어 신호(WS1)는 도 1의 제1 가중치 제어기(WC1)로부터 생성될 수 있다. 제1 트랜지스터(MP1)는 소스 단자를 통해 제1 전원 전압(VDD)과 연결될 수 있다. 제1 트랜지스터(MP1)의 드레인 단자는 제2 트랜지스터(MP2)의 소스 단자와 연결될 수 있다. 제1 트랜지스터(MP1)는 제1 가중치 제어 신호(WS1)에 따라 제1 전원 전압(VDD)에서 제2 트랜지스터(MP2)로 전류를 출력하는 전류원의 예시일 수 있다. 제1 트랜지스터(MP1)를 통해 제1 전원 전압(VDD)에서 제2 트랜지스터(MP2)로 제공되는 전류량은 제1 시냅스(121)의 제1 가중치에 대응될 수 있다.
제2 트랜지스터(MP2)는 게이트 단자를 통해 제1 입력 스파이크(IS1)를 수신할 수 있다. 제2 트랜지스터(MP2)의 소스 단자는 제1 트랜지스터(MP1)의 드레인 단자와 연결될 수 있다. 제2 트랜지스터(MP2)의 드레인 단자는 전송 라인을 통하여, 뉴런 회로(130)에 연결될 수 있다. 제2 트랜지스터(MP2)는 제1 입력 스파이크(IS1)에 따라 턴 온되거나 턴 오프되는 스위치의 예시일 수 있다. 제2 트랜지스터(MP2)는 제1 입력 스파이크(IS1)에 따라 턴 온되면, 제1 입력 스파이크(IS1)에 따라 제1 트랜지스터(MP1)에서 출력되는 전류를 전송 라인으로 출력할 수 있다.
제1 트랜지스터(MP1) 및 제2 트랜지스터(MP2) 각각은 예시적으로 PMOS(p-channel metal-oxide semiconductor)일 수 있다. 제1 트랜지스터(MP1) 및 제2 트랜지스터(MP2) 각각은 게이트 단자로 입력되는 신호가 상대적으로 낮은 전압 레벨(예를 들어, GND 레벨)을 가질 때 턴 온될 수 있고 게이트 단자로 입력되는 신호가 상대적으로 높은 전압 레벨(예를 들어, VDD 레벨)을 가질 때 턴 오프될 수 있다. 제1 입력 스파이크(IS1)가 상대적으로 낮은 전압 레벨을 가질 때 제2 트랜지스터(MP2)는 턴 온될 수 있다.
제2 시냅스(122) 및 제3 시냅스(123)는 제1 시냅스(121)와 동일하게 구현될 수 있다. 제2 시냅스(122)는 제2 가중치에 대응되는 제2 가중치 제어 신호(WS2)를 수신할 수 있고 제 2 입력 스파이크(IS2)를 수신할 수 있다. 제3 시냅스(123)는 제3 가중치에 대응되는 제3 가중치 제어 신호(WS3)를 수신할 수 있고 제3 입력 스파이크(IS3)를 수신할 수 있다. 제2 가중치 제어 신호(WS2) 및 제3 가중치 제어 신호(WS3)는 각각 도 1의 제2 가중치 제어기(WC2) 및 제3 가중치 제어기(WC3)로부터 생성될 수 있다.
제1 내지 제3 입력 스파이크들(IS1~IS3)은 상대적으로 짧은 구간 동안 상대적으로 낮은 전압 레벨을 갖고 나머지 구간 동안에는 상대적으로 높은 전압 레벨을 가질 수 있다. 제1 내지 제3 입력 스파이크들(IS1~IS3)이 활성화되지 않는 동안(즉, 제1 내지 제3 입력 스파이크들(IS1~IS3)이 상대적으로 높은 전압 레벨을 갖는 구간 동안), 제1 내지 제3 시냅스들(121~123)의 제2 트랜지스터(MP2)는 턴 오프 상태일 수 있다.
뉴런 회로(130)는 제1 내지 제3 시냅스들(121~123)과 연결된 커패시터(131) 및 뉴런(132)을 포함할 수 있다. 커패시터(131)는 제1 내지 제3 시냅스들(121~123)에서 출력되는 전류에 의하여 충전될 수 있다. 이러한 전류는 제1 내지 제3 가중치들에 의존하는 크기를 갖는다. 일례로, 전류의 크기는 입력 스파이크와 이에 대응하는 가중치의 곱에 의존할 수 있다. 예시적으로, 하나의 커패시터(131)가 도시되나, 뉴런 회로(130)는 다른 시냅스들에서 출력되는 전류들에 의해 전하들이 누적되는 커패시터들을 더 포함할 수 있다.
커패시터(131)의 전압(Vcap)은 제1 내지 제3 시냅스들(121~123)에서 출력되는 전류들에 따른 전압 레벨을 가질 수 있다. 커패시터(131)의 전압(Vcap)은 제1 내지 제3 입력 스파이크들(IS1~IS3)에 따라 제 1 내지 제 3 시냅스들(121~123)에서 출력되는 제1 내지 제3 가중치들에 의해 결정된다. 커패시터(131)의 전압(Vcap)은 뉴런(132)으로 제공될 수 있다. 커패시터(131)는 멤브레인(membrane) 커패시터로 지칭될 수 있다. 일례로, 스파이크 뉴럴 네트워크 회로(100)는 커패시터(131)를 주기적 또는 비주기적으로 방전하는 방전 회로(미도시)를 포함할 수 있다.
뉴런(132)은 제1 내지 제3 시냅스들(121~123)로부터 출력되는 전류들에 따른 값과 기준 값을 비교할 수 있다. 예를 들어, 뉴런(132)은 커패시터(131)의 전압(Vcap)과 기준 전압을 비교할 수 있다. 뉴런(132)은 비교 결과에 기초하여 출력 스파이크(OS)를 생성할 수 있다. 뉴런(132)은 커패시터(131)의 전압(Vcap)이 기준 전압보다 크면 출력 스파이크(OS)를 출력할 수 있다(발화).
도 3은 도 1의 가중치 제어기의 예시적인 블록도이다. 가중치 제어기(240)는 도 1의 가중치 제어 회로(140)에 포함된 가중치 제어기들(WC1~WCn)에 대응된다. 도 3의 가중치 제어기(240)는 입력 스파이크(IS)의 변화량에 기초하여 가중치를 제어하는 예시적인 구조로 이해될 것이며, 가중치 제어기(240)의 구조가 이에 제한되지 않을 것이다. 도 3을 참조하면, 가중치 제어기(240)는 미분기(241), 비교기(242), 및 가중치 신호 생성기(243)를 포함할 수 있다.
미분기(241)는 입력 스파이크(IS)의 변화량에 기초하여, 미분 신호(DF)를 생성한다. 미분기(241)는 입력 스파이크(IS)의 시간의 흐름에 따른 전압 레벨의 변화를 출력할 수 있다. 즉, 미분기(241)는 입력 스파이크(IS)의 1차 미분 값에 대응되는 미분 신호(DF)를 생성할 수 있다. 미분 신호(DS)는 비교기(242)로 출력된다.
비교기(242)는 미분 신호(DF)의 값과 기준 값을 비교할 수 있다. 일례로, 비교기(242)는 미분 신호(DF)의 전압 레벨과 기준 전압 레벨을 비교할 수 있다. 미분 신호(DF)의 전압 레벨이 기준 전압 레벨 (문턱 전압 레벨)보다 큰 경우, 비교기(242)는 비교 결과 신호(CP)를 생성할 수 있다. 기준 값 또는 기준 전압 레벨은 수신된 입력 스파이크(IS)에 중요도를 부여하여야 할 정도의 기준 변화량을 나타낸다. 상술된 바와 달리, 비교기(242)는 미분 신호(DF)의 값이 기준 범위 내에 존재하는지 판단할 수 있다. 미분 신호(DF)의 값이 기준 범위를 벗어난 경우, 비교기(242)는 비교 결과 신호(CP)를 생성할 수 있다. 여기에서, 기준 범위는 네거티브 하한 및 포지티브 상한을 가질 수 있다.
가중치 신호 생성기(243)는 비교 결과 신호(CP)에 기초하여, 가중치 제어 신호(WS)를 생성할 수 있다. 가중치 신호 생성기(243)는 비교 결과 신호(CP)에 응답하여, 가중치 적용을 위한 도 2의 제1 트랜지스터(MP1)의 게이트 단자에 제공되는 가중치 제어 신호(WS)의 크기를 조절할 수 있다. 일례로, 비교 결과 신호(CP)는 가중치 제어 신호(WS)를 생성하기 위한 트리거 신호일 수 있고, 이 경우, 가중치 신호 생성기(243)는 비교 결과 신호(CP)에 응답하여 기설정된 크기의 가중치 제어 신호(WS)를 생성할 수 있다. 일례로, 비교 결과 신호(CP)는 가중치 제어 신호(WS)의 크기를 결정하는 신호일 수 있고, 이 경우, 가중치 제어 신호(WS)의 크기는 비교 결과 신호(CP)의 크기에 의존할 수 있다. 즉, 가중치 제어 신호(WS)의 크기는 입력 스파이크(IS)의 변화량의 크기에 의존할 수 있다. 가중치 제어 신호(WS)에 따른 가중치는 입력 스파이크(IS)에 곱하여져 출력될 수 있다.
가중치 신호 생성기(243)는 입력 스파이크(IS)의 변화량 외의 다른 요인을 더 고려하여, 가중치 제어 신호(WS)를 생성할 수 있다. 이를 위하여, 가중치 신호 생성기(243)는 제어 신호(TD)를 더 수신할 수 있다. 제어 신호(TD)는 가중치를 조절할 다른 요인의 지표를 나타내는 전기 신호일 수 있다. 일례로, 스파이크 뉴럴 네트워크 회로는 STDP 기반으로 가중치를 조절할 수 있다. 이 경우, 제어 신호(TD)는 입력 스파이크(IS) 및 출력 스파이크의 시간 차이에 대한 정보를 포함할 수 있다. 가중치 신호 생성기(243)는 비교 결과 신호(CP) 및 제어 신호(TD)에 기초하여, 가중치 제어 신호(WS)를 생성할 수 있다. 즉, 가중치는 입력 스파이크(IS)의 변화량을 포함하는 다양한 요인들을 종합적으로 고려하여 조절될 수 있다.
도 4는 도 1의 가중치 제어기의 예시적인 블록도이다. 가중치 제어기(340)는 도 1의 가중치 제어 회로(140)에 포함된 가중치 제어기들(WC1~WCn)에 대응된다. 도 4의 가중치 제어기(340)는 입력 스파이크(IS)의 가속량 (2차 미분 값)에 기초하여 가중치를 제어하는 예시적인 구조로 이해될 것이며, 가중치 제어기(340)의 구조가 이에 제한되지 않을 것이다. 도 4를 참조하면, 가중치 제어기(340)는 제1 미분기(341), 제1 비교기(342), 제2 미분기(343), 제2 비교기(344), 및 가중치 신호 생성기(345)를 포함할 수 있다.
제1 미분기(341)는 입력 스파이크(IS)의 변화량에 기초하여, 제1 미분 신호(DF1)를 생성한다. 제1 미분기(341)는 입력 스파이크(IS)의 시간의 흐름에 따른 전압 레벨의 변화를 출력할 수 있다. 제1 미분기(341)는 입력 스파이크(IS)의 1차 미분 값에 대응되는 제1 미분 신호(DF1)를 생성할 수 있다. 제1 미분 신호(DF1)는 제1 비교기(342) 및 제2 미분기(343)로 출력될 수 있다.
제1 비교기(342)는 제1 미분 신호(DF1)의 값과 기준 값을 비교할 수 있다. 일례로, 제1 미분 신호(DF1)의 전압 레벨이 기준 전압 레벨 (문턱 전압 레벨)보다 큰 경우, 제1 비교기(342)는 제1 비교 결과 신호(CP1)를 생성할 수 있다. 일례로, 제1 미분 신호(DF1)의 전압 레벨이 기준 범위를 벗어난 경우, 제1 비교기(342)는 제1 비교 결과 신호(CP1)를 생성할 수 있다.
제2 미분기(343)는 입력 스파이크(IS)의 가속량 (2차 미분 값)에 기초하여, 제2 미분 신호(DF2)를 생성한다. 제2 미분기(343)는 시간의 흐름에 따른 제1 미분 신호(DF1)의 변화를 출력할 수 있다. 제2 미분기(343)는 제1 미분 신호(DF1)의 1차 미분 값, 즉, 입력 스파이크(IS)의 2차 미분 값에 대응되는 제2 미분 신호(DF2)를 생성할 수 있다. 제2 미분 신호(DF2)는 제2 비교기(344)로 출력될 수 있다.
제2 비교기(344)는 제2 미분 신호(DF2)의 값과 기준 값을 비교할 수 있다. 일례로, 제2 미분 신호(DF2)의 전압 레벨이 기준 전압 레벨 (문턱 전압 레벨)보다 큰 경우, 제2 비교기(344)는 제2 비교 결과 신호(CP2)를 생성할 수 있다. 기준 값 또는 기준 전압 레벨은 수신된 입력 스파이크(IS)에 중요도를 부여하여야 할 정도의 기준 가속량을 나타낸다. 일례로, 제2 미분 신호(DF2)의 전압 레벨이 기준 범위를 벗어난 경우, 제2 비교기(344)는 제2 비교 결과 신호(CP2)를 생성할 수 있다.
가중치 신호 생성기(345)는 제1 비교 결과 신호(CP1) 및 제2 비교 결과 신호(CP2)에 기초하여, 가중치 제어 신호(WS)를 생성할 수 있다. 일례로, 가중치 신호 생성기(345)는 제1 비교 결과 신호(CP1) 또는 제2 비교 결과 신호(CP2)에 응답하여, 가중치 제어 신호(WS)의 크기를 조절할 수 있다. 일례로, 제1 및 제2 비교 결과 신호들(CP1, CP2)은 가중치 제어 신호(WS)를 생성하기 위한 트리거 신호일 수 있고, 가중치 신호 생성기(345)는 제1 비교 결과 신호(CP1)가 수신되거나 제2 비교 결과 신호(CP2)가 수신된 경우 가중치 제어 신호(WS)를 생성할 수 있다. 제1 비교 결과 신호(CP1)가 수신된 경우의 가중치 제어 신호(WS)의 크기는 제2 비교 결과 신호(CP2)가 수신된 경우의 가중치 제어 신호(WS)의 크기와 다를 수 있다.
일례로, 가중치 신호 생성기(345)는 제1 비교 결과 신호(CP1)의 크기 또는 제2 비교 결과 신호(CP2)의 크기에 기초하여, 가중치 제어 신호(WS)의 크기를 조절할 수 있다. 가중치 제어 신호(WS)의 크기는 제1 비교 결과 신호(CP1)의 크기 및/또는 제2 비교 결과 신호(CP2)의 크기에 의존할 수 있다. 즉, 가중치 제어 신호(WS)의 크기는 입력 스파이크(IS)의 변화량의 크기 또는 가속량의 크기에 의존할 수 있다.
상술된 바와 달리, 다양한 방식의 가중치 제어 신호(WS)의 생성이 가능하다. 일레로, 가중치 신호 생성기(345)는 제1 비교 결과 신호(CP1) 및 제2 비교 결과 신호(CP2)가 모두 수신된 경우, 가중치 제어 신호(WS)를 생성할 수 있다. 일레로, 가중치 신호 생성기(345)는 제1 비교 결과 신호(CP1)에 기초하여, 가중치 제어 신호(WS)의 조절여부를 결정하고, 제2 비교 결과 신호(CP2)에 기초하여, 가중치 제어 신호(WS)의 크기를 결정할 수 있다. 일레로, 가중치 신호 생성기(345)는 제2 비교 결과 신호(CP2)에 기초하여, 가중치 제어 신호(WS)의 조절여부를 결정하고, 제1 비교 결과 신호(CP1)에 기초하여, 가중치 제어 신호(WS)의 크기를 결정할 수 있다. 도시된 바와 달리, 가중치 신호 생성기(345)는 제2 비교 결과 신호(CP2), 즉 입력 스파이크(IS)의 가속량을 고려하여, 가중치 제어 신호(WS)를 생성할 수 있다. 이 경우, 제1 비교기(342)는 가중치 제어기(340)에 포함되지 않을 수 있다.
가중치 신호 생성기(345)는 입력 스파이크(IS)의 변화량 및 가속량 외의 다른 요인을 종합적으로 고려하여, 가중치 제어 신호(WS)를 생성할 수 있다. 도 3에서 설명한 바와 같이, 가중치 신호 생성기(345)는 STDP와 같은 다른 요인의 지표를 나타내는 제어 신호(TD)를 더 수신할 수 있다. 가중치 신호 생성기(345)는 제1 및 제2 비교 결과 신호들(CP1, CP2) 및 제어 신호(TD)에 기초하여, 가중치 제어 신호(WS)를 생성할 수 있다.
도 5는 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로의 예시적인 블록도이다. 도 5를 참조하면, 스파이크 뉴럴 네트워크 회로(400)는 축색돌기 회로(410), 시냅스 회로(420), 뉴런 회로(320), 가중치 제어 회로(440), 및 메모리(450)를 포함할 수 있다. 도 5의 축색돌기 회로(410), 시냅스 회로(420), 뉴런 회로(430), 및 가중치 제어 회로(440)는 도 1의 축색돌기 회로(110), 시냅스 회로(120), 뉴런 회로(130), 가중치 제어 회로(140)와 실질적으로 동일하므로, 구체적인 설명이 생략된다.
메모리(450)는 시냅스 회로(420)에 포함된 시냅스들(421~42n)의 가중치들이 기준 값을 넘는 경우, 해당 가중치 값 (가중치 정보)을 저장하도록 구성될 수 있다. 기준 값은 장기 기억이 요구될 정도의 가중치 값의 기준을 나타낸다. 상술한 바와 같이, 시냅스들(421~42n)의 가중치들은 입력 스파이크의 변화량 또는 가속량에 기초하여 조절될 수 있다. 또는, 가중치들은 STDP와 같은 입력 스파이크와 출력 스파이크의 시간 차이에 기초하여 조절될 수 있다. 가중치 제어 회로(440)에 포함된 가중치 제어기들(WC1~WCn)은 다양한 요인들을 고려하여 가중치 제어 신호를 생성할 수 있다. 가중치 제어 신호에 따라 가중치가 기준 값을 넘는 경우, 해당 가중치 값은 메모리(450)에 저장될 수 있다. 가중치 제어 신호에 의하여 조절된 가중치의 수치화된 정보는 메모리(450)에 저장될 수 있다.
인간의 뇌는 민감하게 반응한 신호에 대한 장기 기억을 수행한다. 이러한 장기 기억을 모사하기 위하여, 스파이크 뉴럴 네트워크 회로(400)는 장기 기억을 위한 별도의 메모리(450)를 더 포함할 수 있다. 일례로, 메모리(450)는 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), FeRAM (Ferroelectric RAM), RRAM (Resistive RAM) 등을 포함할 수 있다.
메모리(450)에 가중치 정보 또는 가중치 값이 저장된 이후에, 입력 스파이크에 대응되는 가중치 값이 기준 값을 넘을 수 있다. 기준 값을 넘는 가중치 값이 메모리(450)에 저장된 가중치 값과 동일한 경우, 스파이크 뉴럴 네트워크 회로(400)는 정보 전달을 통한 최종 결과를 기다리지 않을 수 있다. 스파이크 뉴럴 네트워크 회로(400)는 메모리(450)에 저장된 가중치 정보에 기초하여, 최종 결과를 예측하고, 최종 결과에 대응되는 동작을 수행할 수 있다. 여기에서, 최종 결과는 이전 스파이크 뉴럴 네트워크 회로(400)의 동작에서, 동일한 크기의 입력 스파이크 등의 요인에 의한 가중치로 인하여 유발된 최종 결과일 수 있다.
일례로, 입력 스파이크의 변화량 또는 가속량의 크기에 따라, 가중치 값이 기준 값을 넘는 경우, 가중치 값은 메모리(450)에 저장된 값과 비교될 수 있다. 가중치 값이 메모리(450)에 저장된 값과 실질적으로 동일한 경우, 스파이크 뉴럴 네트워크 회로(400)는 곧바로 최종 결과에 대응되는 동작을 수행할 수 있다. 즉, 스파이크 뉴럴 네트워크 회로(400)의 상황 판단의 속도가 향상될 수 있다.
도 6은 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로의 예시적인 블록도이다. 도 6을 참조하면, 스파이크 뉴럴 네트워크 회로(500)는 축색돌기 회로(510), 시냅스 회로(520), 뉴런 회로(530), 가중치 제어 회로(540), 및 메모리(550)를 포함할 수 있다. 도 6의 축색돌기 회로(510), 시냅스 회로(520), 뉴런 회로(530), 및 가중치 제어 회로(540)는 도 1의 축색돌기 회로(110), 시냅스 회로(120), 뉴런 회로(130), 가중치 제어 회로(140)와 실질적으로 동일하므로, 구체적인 설명이 생략된다.
메모리(550)는 뉴런 회로(530)에서 생성된 출력 스파이크의 크기, 즉, 발화 값이 기준 값을 넘는 경우, 해당 출력 스파이크에 대응되는 정보를 저장하도록 구성될 수 있다. 기준 값은 장기 기억이 요구될 정도의 발화 값의 기준을 나타낸다. 상술한 바와 같이, 입력 스파이크의 변화량 또는 가속량이 높은 경우, 시냅스들(421~42n)의 가중치 값들은 높아질 수 있다. 가중치 증가 또는 입력 스파이크의 크기에 따라 발생된 출력 스파이크의 크기가 기준 값을 넘는 경우, 해당 출력 스파이크에 대응되는 정보는 메모리(550)에 저장될 수 있다.
도 5에서 설명한 바와 같이, 뇌의 장기 기억 프로세스를 모사하기 위하여, 스파이크 뉴럴 네트워크 회로(500)는 장기 기억을 위한 별도의 메모리(550)를 포함할 수 있다. 일례로, 메모리(550)는 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), FeRAM (Ferroelectric RAM), RRAM (Resistive RAM) 등을 포함할 수 있다.
메모리(550)에 출력 스파이크에 대응되는 정보 (발화 정보)가 저장된 이후에, 뉴런 회로(530)로부터 생성된 출력 스파이크의 크기가 기준 값을 넘을 수 있다. 기준 값을 넘는 출력 스파이크의 크기가 메모리(550)에 저장된 정보에 대응되는 출력 스파이크의 크기와 동일한 경우, 스파이크 뉴럴 네트워크 회로(500)는 정보 전달을 통한 최종 결과를 기다리지 않을 수 있다. 스파이크 뉴럴 네트워크 회로(500)는 메모리(550)에 저장된 정보에 기초하여, 최종 결과를 예측하고, 최종 결과에 대응되는 동작을 수행할 수 있다. 여기에서 최종 결과는 최종 결과는 이전 스파이크 뉴럴 네트워크 회로(400)의 동작에서, 해당 크기의 출력 스파이크로 인하여 유발된 최종 결과일 수 있다.
일례로, 발화 값의 크기가 기준 값을 넘는 경우, 발화 값은 메모리(550)에 저장된 값과 비교될 수 있다. 발화 값이 메모리(550)에 저장된 값과 실질적으로 동일한 경우, 스파이크 뉴럴 네트워크 회로(500)는 곧바로 최종 결과에 대응되는 동작을 수행할 수 있다. 즉, 스파이크 뉴럴 네트워크 회로(500)의 상황 판단의 속도가 향상될 수 있다.
도 7은 본 발명의 실시예에 따른 스파이크 뉴럴 네트워크 회로의 동작 방법의 예시적인 순서도이다. 도 7의 단계들은 도 1 내지 도 6에서 설명된 스파이크 뉴럴 네트워크 회로(100, 400, 500)에서 수행될 수 있다.
S110 단계에서, 스파이크 뉴럴 네트워크 회로는 입력 스파이크의 변화량 또는 가속량을 계산한다. 입력 스파이크는 도 1, 도 5, 또는 도 6의 축색돌기 회로(110, 410, 510)에서 생성될 수 있다. 가중치 제어 회로(140~540)는 시간의 흐름에 따른 입력 스파이크의 변화량(1차 미분 값) 또는 가속량(2차 미분 값)을 계산할 수 있다. 일례로, 변화량은 도 3의 미분기(241)를 통하여 계산될 수 있다. 일례로, 가속량은 도 4의 제1 및 제2 미분기들(341, 343)을 통하여 계산될 수 있다.
S120 단계에서, 스파이크 뉴럴 네트워크 회로는 입력 스파이크의 변화량 또는 가속량과 제1 기준 값을 비교할 수 있다. 제1 기준 값은 입력 스파이크에 중요도를 부여하여야 할 정도의 기준 변화량 또는 기준 가속량을 나타낸다. 일례로, 도 3의 비교기(242) 또는 도 4의 제1 비교기(342)는 입력 스파이크의 변화량과 제1 기준 값을 비교할 수 있다. 일례로, 도 4의 제2 비교기(344)는 입력 스파이크의 가속량과 제1 기준 값을 비교할 수 있다. 변화량 또는 가속량이 제1 기준 값을 넘는 경우, S130 단계가 진행되고, 제1 기준 값을 넘지 않는 경우, S140 단계가 진행된다.
S130 단계에서, 스파이크 뉴럴 네트워크 회로는 S120 단계의 비교 결과에 기초하여, 시냅스의 가중치를 조절한다. 도 1 내지 도 6에 도시된 가중치 제어 회로(140~540)는 입력 스파이크의 변화량 또는 가속량이 제1 기준 값을 넘는 경우, 가중치 제어 신호(WS)를 생성할 수 있다. 가중치 제어 신호(WS)에 기초하여, 시냅스의 가중치가 결정될 수 있다. 일례로, 입력 스파이크의 변화량 또는 가속량이 높은 경우, 입력 스파이크가 입력되는 시냅스의 가중치를 증가시킬 수 있다.
S140 단계에서, 스파이크 뉴럴 네트워크 회로는 가중치 또는 가중치에 기초하여 생성된 출력 스파이크와 제2 기준 값을 비교할 수 있다. 제2 기준 값은 장기 기억이 요구될 정도의 가중치 값 또는 출력 스파이크의 크기의 기준을 나타낸다. 일례로, 도 5의 스파이크 뉴럴 네트워크 회로(400)는 가중치 값과 제2 기준 값을 비교할 수 있다. 일례로, 도 6의 스파이크 뉴럴 네트워크 회로(500)는 출력 스파이크의 크기, 즉 발화 값과 제2 기준 값을 비교할 수 있다. 가중치 또는 출력 스파이크의 크기가 제2 기준 값을 넘는 경우, S150 단계가 진행된다.
S150 단계에서, 스파이크 뉴럴 네트워크 회로는 가중치에 대한 정보 또는 출력 스파이크에 대한 정보를 저장한다. 일례로, 가중치에 대한 정보는 도 5의 메모리(450)에 저장된다. 일례로, 출력 스파이크에 대한 정보는 도 6의 메모리(550)에 저장된다. 메모리(450, 550)에 저장된 정보는 추후에 생성된 입력 스파이크 정보에 대응되는 가중치 또는 출력 스파이크의 크기가 저장된 정보에 대응되는 경우, 활용될 수 있다. 스파이크 뉴럴 네트워크 회로는 저장된 정보에 대응되는 가중치 또는 출력 스파이크가 생성될 때, 최종 결과를 기다리지 않고, 곧바로 최종 결과에 대응되는 동작을 수행할 수 있다.
위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 상술한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.
100, 400, 500: 스파이크 뉴럴 네트워크 회로
110, 410, 510: 축색돌기 회로
120, 420, 520: 시냅스 회로
130, 430, 530: 뉴런 회로
140, 240, 340, 440, 540: 가중치 제어 회로
450, 550: 메모리
110, 410, 510: 축색돌기 회로
120, 420, 520: 시냅스 회로
130, 430, 530: 뉴런 회로
140, 240, 340, 440, 540: 가중치 제어 회로
450, 550: 메모리
Claims (20)
- 입력 스파이크를 생성하는 축색돌기 회로;
시간에 따른 상기 입력 스파이크의 변화량에 기초하여, 가중치 제어 신호를 생성하는 가중치 제어 회로;
상기 가중치 제어 신호에 기초하여, 상기 입력 스파이크에 대응되는 결과를 생성하는 시냅스 회로; 및
상기 결과에 기초하여, 출력 스파이크를 생성하는 뉴런 회로를 포함하는 스파이크 뉴럴 네트워크 회로. - 제1 항에 있어서,
상기 가중치 제어 회로는, 상기 변화량이 기준 값보다 큰 경우, 상기 가중치 제어 신호의 크기를 조절하는 스파이크 뉴럴 네트워크 회로. - 제1 항에 있어서,
상기 시냅스 회로는, 상기 가중치 제어 신호에 의존하는 가중치 값에 상기 입력 스파이크의 크기를 곱함으로써, 상기 결과를 생성하는 스파이크 뉴럴 네트워크 회로. - 제1 항에 있어서,
상기 가중치 제어 회로는,
상기 변화량에 대응되는 미분 신호를 생성하는 미분기; 및
상기 미분 신호와 기준 값을 비교하는 비교기를 포함하고,
상기 가중치 제어 신호는 상기 비교기의 비교 결과에 기초하여 생성되는 스파이크 뉴럴 네트워크 회로. - 제4 항에 있어서,
상기 비교기는, 상기 미분 신호의 크기가 상기 기준 값보다 큰 경우, 비교 결과 신호를 생성하고,
상기 가중치 제어 신호는 상기 비교 결과 신호에 응답하여 생성되는 스파이크 뉴럴 네트워크 회로. - 제4 항에 있어서,
상기 비교기는, 상기 미분 신호의 크기가 상기 기준 값보다 큰 경우, 비교 결과 신호를 생성하고,
상기 가중치 제어 신호의 크기는 상기 비교 결과 신호의 크기에 의존하는 스파이크 뉴럴 네트워크 회로. - 제1 항에 있어서,
상기 가중치 제어 신호는, 상기 입력 스파이크가 생성된 제1 시간 및 상기 출력 스파이크가 생성된 제2 시간의 차이에 더 기초하여 생성되는 스파이크 뉴럴 네트워크 회로. - 제1 항에 있어서,
상기 가중치 제어 신호의 크기가 기준 값보다 큰 경우, 상기 가중치 제어 신호에 대응되는 가중치 값이 저장되는 메모리를 더 포함하는 스파이크 뉴럴 네트워크 회로. - 제1 항에 있어서,
상기 출력 스파이크의 크기가 기준 값보다 큰 경우, 상기 출력 스파이크에 대응되는 발화 값이 저장되는 메모리를 더 포함하는 스파이크 뉴럴 네트워크 회로. - 입력 스파이크를 생성하는 축색 돌기 회로;
시간에 따른 상기 입력 스파이크의 2차 미분 값에 대응되는 가속량에 기초하여, 가중치 제어 신호를 생성하는 가중치 제어 회로;
상기 가중치 제어 신호에 기초하여, 상기 입력 스파이크에 대응되는 결과를 생성하는 시냅스 회로; 및
상기 결과에 기초하여, 출력 스파이크를 생성하는 뉴런 회로를 포함하는 스파이크 뉴럴 네트워크 회로. - 제10 항에 있어서,
상기 가중치 제어 회로는, 상기 가속량이 기준 값보다 큰 경우, 상기 가중치 제어 신호의 크기를 조절하는 스파이크 뉴럴 네트워크 회로. - 제10 항에 있어서,
상기 가중치 제어 회로는,
시간에 따른 상기 입력 스파이크의 변화량에 대응되는 제1 미분 신호를 생성하는 제1 미분기;
시간에 따른 상기 제1 미분 신호의 변화량에 대응되는 제2 미분 신호를 생성하는 제2 미분기; 및
상기 제2 미분 신호와 기준 가속량을 비교하는 가속량 비교기를 포함하고,
상기 가중치 제어 신호는 상기 가속량 비교기의 비교 결과에 기초하여 생성되는 스파이크 뉴럴 네트워크 회로. - 제12 항에 있어서,
상기 가중치 제어 회로는,
상기 제1 미분 신호와 기준 변화량을 비교하는 변화량 비교기를 더 포함하고,
상기 가중치 제어 신호는 상기 변화량 비교기의 비교 결과에 더 기초하여 생성되는 스파이크 뉴럴 네트워크 회로. - 제13 항에 있어서,
상기 가중치 제어 회로는, 상기 제1 미분 신호가 상기 기준 변화량보다 크거나 상기 제2 미분 신호가 상기 기준 가속량보다 큰 경우, 상기 가중치 제어 신호를 조절하는 스파이크 뉴럴 네트워크 회로. - 제10 항에 있어서,
상기 가중치 제어 회로는,
상기 가중치 제어 신호의 크기가 기준 값보다 큰 경우, 상기 가중치 제어 신호에 대응되는 가중치 값이 저장되는 메모리를 더 포함하는 스파이크 뉴럴 네트워크 회로. - 제10 항에 있어서,
상기 가중치 제어 회로는,
상기 출력 스파이크의 크기가 기준 값보다 큰 경우, 상기 출력 스파이크에 대응되는 발화 값이 저장되는 메모리를 더 포함하는 스파이크 뉴럴 네트워크 회로. - 스파이크 뉴럴 네트워크 회로의 동작 방법에 있어서,
시냅스에 입력되는 입력 스파이크의 변화량을 계산하는 단계;
상기 변화량이 기준 변화량 범위 이내인지 판단하는 단계;
상기 변화량이 상기 기준 변화량 범위를 벗어난 경우, 상기 시냅스의 가중치를 조절하는 단계;
상기 입력 스파이크에 상기 조절된 가중치를 부여한 결과를 생성하는 단계; 및
상기 결과에 기초하여 출력 스파이크를 생성하는 단계를 포함하는 방법. - 제17 항에 있어서,
상기 입력 스파이크의 2차 미분 값에 대응되는 가속량을 계산하는 단계;
상기 가속량이 기준 가속량 범위 이내인지 판단하는 단계; 및
상기 가속량이 상기 기준 가속량 범위를 벗어난 경우, 상기 가중치를 더 조절하는 단계를 더 포함하는 방법. - 제17 항에 있어서,
상기 조절된 가중치가 기준 값보다 큰 경우, 메모리로부터 상기 조절된 가중치에 대응되는 가중치 값을 읽는 단계; 및
상기 가중치 정보에 기초하여, 상기 입력 스파이크에 대응되는 최종 결과를 예측하는 단계를 더 포함하는 방법. - 제17 항에 있어서,
상기 출력 스파이크의 크기가 기준 값보다 큰 경우, 메모리로부터 상기 출력 스파이크에 대응되는 발화 정보를 읽는 단계; 및
상기 발화 정보에 기초하여, 상기 출력 스파이크에 대응되는 최종 결과를 예측하는 단계를 더 포함하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190005441A KR20200088952A (ko) | 2019-01-15 | 2019-01-15 | 스파이크 뉴럴 네트워크 회로 및 이의 동작 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190005441A KR20200088952A (ko) | 2019-01-15 | 2019-01-15 | 스파이크 뉴럴 네트워크 회로 및 이의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200088952A true KR20200088952A (ko) | 2020-07-24 |
Family
ID=71892676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190005441A KR20200088952A (ko) | 2019-01-15 | 2019-01-15 | 스파이크 뉴럴 네트워크 회로 및 이의 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20200088952A (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220023079A (ko) * | 2020-08-20 | 2022-03-02 | 서울대학교산학협력단 | 스파이킹 뉴럴 네트워크의 뉴런 문턱값 변동 보상 |
KR20220063911A (ko) * | 2020-11-11 | 2022-05-18 | 한국과학기술연구원 | 안정적인 스파이크 신호를 제공하는 스파이크 레귤레이터를 포함하는 뉴로모픽 회로 |
KR20220065299A (ko) * | 2020-11-13 | 2022-05-20 | 한국과학기술연구원 | 플래시 메모리 기반의 스파이크 레귤레이터를 포함하는 뉴로모픽 회로 |
KR20220068884A (ko) * | 2020-11-18 | 2022-05-26 | 한국전자통신연구원 | 스파이킹 뉴럴 네트워크 회로 |
KR102514649B1 (ko) * | 2021-11-18 | 2023-03-29 | 서울대학교산학협력단 | 시냅스 특성 변화를 보상하는 뉴런 회로 및 뉴로모픽 장치 |
-
2019
- 2019-01-15 KR KR1020190005441A patent/KR20200088952A/ko unknown
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220023079A (ko) * | 2020-08-20 | 2022-03-02 | 서울대학교산학협력단 | 스파이킹 뉴럴 네트워크의 뉴런 문턱값 변동 보상 |
KR20220063911A (ko) * | 2020-11-11 | 2022-05-18 | 한국과학기술연구원 | 안정적인 스파이크 신호를 제공하는 스파이크 레귤레이터를 포함하는 뉴로모픽 회로 |
KR20220065299A (ko) * | 2020-11-13 | 2022-05-20 | 한국과학기술연구원 | 플래시 메모리 기반의 스파이크 레귤레이터를 포함하는 뉴로모픽 회로 |
KR20220068884A (ko) * | 2020-11-18 | 2022-05-26 | 한국전자통신연구원 | 스파이킹 뉴럴 네트워크 회로 |
KR102514649B1 (ko) * | 2021-11-18 | 2023-03-29 | 서울대학교산학협력단 | 시냅스 특성 변화를 보상하는 뉴런 회로 및 뉴로모픽 장치 |
WO2023090837A1 (ko) * | 2021-11-18 | 2023-05-25 | 서울대학교산학협력단 | 시냅스 특성 변화를 보상하는 뉴런 회로 및 뉴로모픽 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20200088952A (ko) | 스파이크 뉴럴 네트워크 회로 및 이의 동작 방법 | |
CN107077637B (zh) | 神经网络中的差分编码 | |
US9558442B2 (en) | Monitoring neural networks with shadow networks | |
JP2016538632A (ja) | 教師あり学習を使用してクラスにタグ付けするための方法および装置 | |
US20150206050A1 (en) | Configuring neural network for low spiking rate | |
US9542644B2 (en) | Methods and apparatus for modulating the training of a neural device | |
US10140573B2 (en) | Neural network adaptation to current computational resources | |
US20150242745A1 (en) | Event-based inference and learning for stochastic spiking bayesian networks | |
WO2015088774A2 (en) | Neuronal diversity in spiking neural networks and pattern classification | |
JP2017514215A (ja) | スパイキングニューラルネットワークを使用する画像の不変オブジェクト表現 | |
CN106796667B (zh) | 动态空间目标选择 | |
US20150278685A1 (en) | Probabilistic representation of large sequences using spiking neural network | |
JP2017519268A (ja) | スパイキングニューラルネットワークにおけるグローバルスカラ値によって可塑性を調節すること | |
WO2015119963A2 (en) | Short-term synaptic memory based on a presynaptic spike | |
JP6133517B2 (ja) | 座標変換のための位相コーディング | |
US9449272B2 (en) | Doppler effect processing in a neural network model | |
WO2015053908A2 (en) | Method and apparatus to control and monitor neural model execution remotely | |
US20150242742A1 (en) | Imbalanced cross-inhibitory mechanism for spatial target selection |