KR20210064767A - Spiking neuron model and method for generating spike thereof - Google Patents
Spiking neuron model and method for generating spike thereof Download PDFInfo
- Publication number
- KR20210064767A KR20210064767A KR1020190153342A KR20190153342A KR20210064767A KR 20210064767 A KR20210064767 A KR 20210064767A KR 1020190153342 A KR1020190153342 A KR 1020190153342A KR 20190153342 A KR20190153342 A KR 20190153342A KR 20210064767 A KR20210064767 A KR 20210064767A
- Authority
- KR
- South Korea
- Prior art keywords
- spike
- tail
- synapses
- neuron model
- synapse
- 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
-
- 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
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)
- Semiconductor Integrated Circuits (AREA)
- Image Analysis (AREA)
Abstract
Description
본 발명은 스파이킹 뉴런 모델(Spiking Neuron Model)에 에 관한 것으로서, 보다 상세하게는, 스파이킹 뉴런 모델(Spiking Neuron Model)을 이용한 스파이킹 뉴럴 네트워크(Spiking Neural Network)에서 시냅스(Synapse)의 웨이트를 안정적으로 조절하기 위한 스파이킹 뉴런 모델 및 그의 스파이크 생성 방법에 관한 것이다. The present invention relates to a spiking neuron model, and more particularly, the weight of a synapse in a spiking neural network using a spiking neuron model It relates to a spiking neuron model for stably regulating and a method for generating spikes thereof.
도 1a는 일반적인 스파이킹 뉴럴 네트워크를 단순화하여 도식화한 도면으로서, 도 1a를 참조하면, 스파이킹 뉴럴 네트워크(Spiking Neural Network)은 뉴런(Neuron)들(20, 30) 사이에 시냅스(10)가 존재하며, 프리-뉴런(pre-neuron)(20)에서 출력된 스파이크(spike)가 시냅스(10)를 통과해 포스트-뉴런(post-neuron)(30)으로 전달되면, 포스트-뉴런(post-neuron)(30)에서는 이에 대하여 적절한 처리 과정을 거쳐 프리-뉴런(pre-neuron)(20)에서 전달받은 스파이크와 같은 모양의 스파이크를 만들어서 시냅스(10)로 피드백(feed-back)한다. FIG. 1A is a simplified and schematic diagram of a general spiking neural network. Referring to FIG. 1A , in the spiking neural network, a
이 때, 시냅스(10)의 웨이트에 따라 신호의 전달 상태가 달라지는데, 일반적으로 웨이트가 크면 클수록 프리-뉴런(pre-neuron)(20)의 신호가 포스트-뉴런(post-neuron)(30)으로 잘 전달되는 특징이 있다. 따라서, 신호의 전달 상태를 조절하기 위해서는 시냅스(10)의 웨이트(weight)를 조절해야 한다.At this time, the signal transmission state varies according to the weight of the
한편, 도 1a를 참조한 설명에서 언급한 바와 같이, 시냅스(10)에는 프리-뉴런(pre-neuron)(20)에서 출력된 스파이크(spike)가 통과하기도 하지만, 포스트-뉴런(post-neuron)(30)에서 피드백된 스파이크도 지나가게 된다. 그런데, 상기 두스파이크가 겹치는 경우, 시냅스(10) 양단의 전압이 웨이트(weight)를 조절할 수 있는 만큼 커지고, 두 스파이크의 시간차에 의해 시냅스(10)의 웨이트가 증가 또는 감소한다. 따라서 상기 두 스파이크의 시간차를 조절해서 시냅스(10)의 웨이트를 조절할 수 있다. On the other hand, as mentioned in the description with reference to Figure 1a, the
STDP(Spiking time dependent plasticity)는 실제 동물, 사람의 뉴련과 시냅스에서 측정된 학습 방법을 의미할 수 있다. 도 1b의 A, B를 살펴보면, 두 개의 pre spike(빨간색, 파란색 표시)가 들어올 때 Vmem(초록색 표시)이 증가(leaky integration)하는 것을 확인할 수 있다. 이 때 pre spike가 작은 웨이트의 시냅스를 지나(파란색 표시) post 뉴런에 전달되면 작게 integration 될 수 있으며, 큰 웨이트의 시냅스를 지나(빨간색 표시) post 뉴런에 전달되면 크게 integration 될 수 있다. 이와 같은 방식으로 leaky integration을 하다가 Vmem의 크기가 Vth보다 커지게 되면 post 뉴런은 fire 동작을 할 수 있다. Fire 동작은 Vmem의 값을 초기화하며 spike를 발생시키는 것을 의미할 수 있다. 이와 같이 발생한 spike는 다음 뉴런의 leaky integration을 위한 feed-forward spike(또는 pre spike)로 사용됨과 동시에 이전 시냅스의 웨이트 변화 학습을 위한 feed-back spike(post spike)로 사용될 수 있다.Spiking time dependent plasticity (STDP) may refer to a learning method measured in neurons and synapses of real animals and humans. Looking at A and B of FIG. 1B , it can be seen that V mem (indicated in green) increases (leaky integration) when two pre spikes (indicated in red and blue) enter. At this time, if the pre spike passes through a synapse of small weight (shown in blue) and is delivered to a post neuron, it can be integrated small, and when it passes through a synapse of a large weight (shown in red) and is delivered to a post neuron, it can be highly integrated. During leaky integration in this way, when the size of V mem becomes larger than V th , the post neuron can fire. Fire operation initializes the value of V mem and may mean generating a spike. The spike generated in this way can be used as a feed-forward spike (or pre spike) for leaky integration of the next neuron, and at the same time can be used as a feed-back spike (post spike) for learning the weight change of the previous synapse.
pre spike와 post spike가 시냅스에서 겹치게 되면서 시냅스의 웨이트가 변할 수 있다. 도 1b의 C를 보면 pre spike와 post spike의 시간차이에 따라 시냅스의 웨이트 변화량(ΔW)이 달라짐은 확인할 수 있다. Δt는 도 1b의 C에서 도시하고 있는 바와 같이 post spike가 발생한 시간에서 pre spike가 발생한 시간을 뺀 값으로 정의될 수 있다. 즉, Δt가 양수이면 pre spike 이후 post spike가 발생한 것이며, Δt가 음수이면 post spike가 발생한 이후 pre spike가 발생한 것을 의미할 수 있다.As the pre and post spikes overlap at the synapse, the weight of the synapse may change. Referring to C of FIG. 1b , it can be seen that the amount of change in the weight of the synapse (ΔW) varies according to the time difference between the pre spike and the post spike. Δt may be defined as a value obtained by subtracting the time at which the pre spike occurs from the time at which the post spike occurs as shown in C of FIG. 1B . That is, if Δt is positive, post spike occurs after pre spike, and if Δt is negative, it may mean that pre spike occurs after post spike.
Δt가 양수이면 pre spike가 post spike의 leaky integration과 fire에 영향을 줬다고 판단하여 각 spike를 발생시킨 뉴런들을 연결하는 시냅스의 웨이트를 증가 시킬 수 있다. 이 때 Δt가 작을수록 fire에 직접적으로 영향을 줬다고 판단하여 웨이트를 많이 증가시키고 Δt가 클수록 fire에 도움을 줬지만 영향이 크지 않다고 판단하여 웨이트를 조금 증가시킬 수 있다.If Δt is positive, it is judged that the pre spike affected the leaky integration and fire of the post spike, and the weight of the synapse connecting the neurons that generated each spike can be increased. At this time, as Δt is small, it is judged that it has a direct effect on fire, and the weight is increased. As Δt is large, it is helpful to fire, but it is judged that the influence is not large, so the weight can be increased a little.
Δt가 음수이면 post 뉴런의 fire 이후에 post spike가 들어왔기 때문에 이 pre spike는 fire에 도움을 준 spike가 아니라고 판단을 하여 웨이트를 감소시킬 수 있다. 이 때 Δt가 작을수록 fire에 연관성이 많이 없다고 판단을 하여 웨이트를 많이 감소시킬 수 있다.도 2는 프리-뉴런(pre-neuron)(20)에서 전달된 스파이크(이하, 프리-스파이크(pre-spike)라 칭함)가 발생한 시간을 ‘tpre’, 포스트-뉴런(post-neuron)(30)에서 전달된 스파이크(이하, 포스트-스파이크(post-spike)라 칭함)가 발생한 시간을 ‘tpost’, 그 둘 간의 시간차를 ‘Δt’라 할 때, 웨이트 변화를 예시하고 있다. 특히, 도 2는 프리-스파이크(pre-spike)의 ‘테일(tail)(+)’가 스텝 함수(step function)이고, ‘테일(tail)(-)’가 램프함수(ramp function)인 경우의 예일 수 있다. 일 실시예에 따르면 도 2의 a 그래프는 Δt가 양수이면서 작을 때일 수 있으며, b 그래프는 Δt가 양수이면서 Δt가 클 때(다만, Δt가 tail+보다 작을 때)일 수 있고, c 그래프는 Δt가 양수이고 Δt가 tail+보다 클 때일 수 있으며, d 그래프는 Δt가 음수일 때일 수 있다.pre, post spike 중 하나만 시냅스에 걸리는 경우, 시냅스에 걸리는 전압은 Vt,i, Vt,d를 넘지 못하기 때문에 웨이트가 변하지 않을 수 있다. 도 2의 a, b, c는 Δt가 양수(즉 웨이트가 증가)일 때의 예일 수 있다. 생물학적으로는 Δt의 크기가 a, b, c 순서대로 커질 수 있으므로 ΔW는 a, b, c 순서대로 작아질 수 있다.If Δt is negative, since the post spike came in after the fire of the post neuron, it is judged that this pre spike is not a spike that helped fire, and the weight can be reduced. In this case, as Δt is smaller, it is determined that there is not much correlation with fire, and thus the weight can be greatly reduced. FIG. 2 shows a spike transmitted from a pre-neuron 20 (hereinafter, a pre-spike). The time at which the spike) occurred is 't pre ', and the time at which the spike transmitted from the post-neuron 30 (hereinafter referred to as the post-spike) occurred is 't post ', when the time difference between the two is 'Δt', the weight change is exemplified. In particular, FIG. 2 shows a case in which a 'tail (+)' of a pre-spike is a step function and a 'tail (-)' is a ramp function. may be an example of According to an embodiment, the a graph of FIG. 2 may be when Δt is both positive and small, the b graph may be when Δt is positive and Δt is large (however, when Δt is smaller than tail+), and the c graph shows that Δt is It is positive and may be when Δt is greater than tail+, and the d graph may be when Δt is negative. If only one of the pre and post spikes is applied to the synapse, the voltage across the synapse cannot exceed V t,i , V t,d . Therefore, the weight may not change. A, b, and c of FIG. 2 may be examples when Δt is a positive number (ie, the weight is increased). Biologically, since the magnitude of Δt can increase in the order of a, b, and c, ΔW can decrease in the order of a, b, and c.
한편, 도 2에서 노란색으로 표시된 영역을 살펴보면 b의 노란색 영역은 a의 노란색 영역을 포함할 수 있다. 즉, b의 경우가 a의 경우보다 웨이트가 더 변할 수 있다. c의 경우는 시냅스 양단에 걸리는 전압의 최대값이 a, b 경우보다 낮을 수 있다. 여기서 시냅스의 웨이트 변화는 시냅스에 걸리는 전압의 크기가 지속시간(해칭영역)보다 도미넌트(dominant)하다고 했을 때를 다루고 있는바, c의 경우는 웨이트 변화량이 a, b의 경우보다 작을 수 있다. d의 경우는 Δt가 음수인 경우를 보여주며, d의 경우 pre spike와 post spike가 같으므로 Δt가 양수일 때와 비교했을 때 ΔW의 크기는 같고 부호만 반대일 수 있다.Meanwhile, looking at the area indicated in yellow in FIG. 2 , the yellow area of b may include the yellow area of a. That is, the weight may vary more in the case of b than in the case of a. In case c, the maximum value of the voltage across the synapse may be lower than in cases a and b. Here, the weight change of the synapse deals with the case where the magnitude of the voltage applied to the synapse is more dominant than the duration (hatching area). In case of c, the amount of change in weight may be smaller than in the case of a and b. In case of d, Δt is negative, and in case of d, the pre spike and post spike are the same, so when Δt is positive, the magnitude of ΔW may be the same and only the sign may be opposite.
한편, 도 3은 상기 두 스파이크의 시간차에 따른 시냅스(10)의 웨이트(weight) 변화량(STDP: Spiking Time Dependent Plasticity)(ΔW) 그래프를 도시하고 있다. 이 때, 실선은 이상적인(즉 생물학적인) 웨이트 변화량(ΔW)을 나타내고, 점선은 실제 웨이트 변화량(ΔW)을 나타낸다. 도 3을 참조하면, 이상적으로는 포스트-스파이크(post-spike)가 발생한 시간(tpost)에서 프리-스파이크(pre-spike)가 발생한 시간을 뺀 값(Δt)의 크기가 커질수록 웨이트(weight) 변화의 크기가 작아진다. 하지만, 도 3의 점선 부분을 보면, 실제 변화량의 경우 Δt=0기준으로 STDP 그래프가 이상적인 경우와는 다르게 나오고 있음을 알 수 있다. 즉, 도 2의 경우와 같이 프리-스파이크(pre-spike)의 ‘테일(tail)(+)’가 스텝 함수(step function)이고, ‘테일(tail)(-)’가 램프함수(ramp function)인 경우 ‘테일(tail)(+)’시간동안은 이상적인 경우와 다른 결과가 나타남을 알 수 있다. 한편 도 3에서 a, b, c, d로 표시한 영역은 도 2의 a, b, c, d 경우에 대응되는 위치일 수 있다.On the other hand, Figure 3 shows a weight (weight) variation (STDP: Spiking Time Dependent Plasticity) (ΔW) graph of the
도 4a는, 도 3에 예시된 도면에서, Δt=0 부근에서도 STDP 그래프가 잘 나오게 할 수 있도록 하기 위해 스파이크(spike)의 모양을 변형한 예를 도시한 도면이다. 즉, 도 4는 프리-스파이크(pre-spike)의 ‘테일(tail)(+)’과 ‘테일(tail)(-)’이 모두 램프함수(ramp function)인 경우의 예이다. 도 4의 a 그래프는 Δt가 양수이면서 작을 때일 수 있으며, b 그래프는 Δt가 양수이면서 Δt가 클 때(다만, Δt가 tail+보다 작을 때)일 수 있고, c 그래프는 Δt가 양수이고 Δt가 tail+보다 클 때일 수 있으며, d 그래프는 Δt가 음수일 때일 수 있다. FIG. 4A is a diagram illustrating an example in which the shape of a spike is modified in order to make the STDP graph come out well even in the vicinity of Δt=0 in the diagram illustrated in FIG. 3 . That is, FIG. 4 is an example of a case in which both 'tail (+)' and 'tail (-)' of the pre-spike are ramp functions. The graph a of FIG. 4 may be when Δt is both positive and small, the graph b may be when Δt is positive and Δt is large (however, when Δt is smaller than tail+), the graph c is when Δt is positive and Δt is tail+ It may be greater than, and the d graph may be when Δt is negative.
도 4a에 따르면 c의 경우(즉, Δt가 tail+보다 클 때)는 pre와 post spike가 일부 겹쳐지기는 하지만 시냅스에 걸리는 전압이 충분히 크지 못해 웨이트가 변하지 않을 수 있다.(즉, 노란색 영역이 존재하지 않는다.) 한편 a와 b의 경우 웨이트가 증가하는 것을 확인할 수 있으며, a의 경우가 b의 경우보다 Δt가 작으므로 ΔW는 클 수 있다. 한편, 도 4a에서 시냅스의 웨이트 변화는 시냅스에 걸리는 전압의 크기가 지속시간(노란색 영역)보다 dominant하다고 가정했다. 도 4a에서 지속시간은 b의 경우가 a의 경우보다 더 크지만 시냅스에 걸리는 전압의 크기는 a의 경우가 b의 경우보다 더 크므로 생물학적인 STDP 그래프를 따라갈 수 있음을 확인할 수 있다. 도 4a에 예시된 바와 같이 프리-스파이크(pre-spike)와 포스트 스파이크(post-spike)가 겹쳤을 때 Δt의 크기가 커질수록 시냅스(synapse) 양단에 걸리는 전압은 작아지게 된다. 따라서, Δt의 크기가 커질수록 웨이트(weight)의 변화량(ΔW)이 작아지게 된다. 즉, 도 4a에 예시된 바와 같은 스파이크를 사용하는 경우, Δt의 크기가 커질수록 웨이트(weight)의 변화량(ΔW)도 함께 커지는 문제를 해결할 수 있다. According to FIG. 4A, in case c (ie, when Δt is greater than tail+), the pre and post spikes partially overlap, but the voltage applied to the synapse is not large enough, so the weight may not change. On the other hand, in the case of a and b, it can be seen that the weight increases, and in the case of a, Δt is smaller than in the case of b, so ΔW can be large. On the other hand, it is assumed that the magnitude of the voltage applied to the synapse is dominant over the duration (yellow region) for the change in the weight of the synapse in FIG. 4A . In FIG. 4a , the duration of b is larger than that of a, but the magnitude of the voltage applied to the synapse is greater in the case of a than in the case of b, so it can be confirmed that the biological STDP graph can be followed. As illustrated in FIG. 4A , when the pre-spike and the post-spike overlap, the voltage across the synapse decreases as the magnitude of Δt increases. Accordingly, as the magnitude of Δt increases, the change amount ΔW of the weight decreases. That is, in the case of using the spike as illustrated in FIG. 4A , as the size of Δt increases, the problem that the change amount ΔW of the weight also increases can be solved.
하지만, 이 경우, 시냅스(synapse)를 거친 이후에 바로 적분할 경우, 문제가 있을 수 있다. 즉, 램프 함수(Ramp function)을 적분하기 때문에 한 스파이크의 ‘테일(tail)(+)’내에서 뒤로 갈수록 적분의 양이 커지게 되고 이에 따라 뒤로 갈수록 파이어(fire)가 될 확률이 커지게 된다. 이는 어떤 스파이크가 시냅스(synapse)를 거쳐 포스트-뉴런(post-neuron)을 파이어(fire)했을 때 시냅스(synapse)의 웨이트(weight) 변화량이 큰 것보다 작은 것의 확률이 높아지게 된다. 또한, 이 경우, ‘테일(tail)(-)’가 적분 되면서 제대로 된 적분이 이루어지지 않게 된다. 즉, 스파이크를 적분 할 때 여러 개의 스파이크가 겹치게 되면, 적분이 반대로 될 수 있다는 문제점을 가지고 있다.However, in this case, when integrating immediately after passing through a synapse, there may be a problem. That is, since the ramp function is integrated, the amount of integration increases as it goes back within the 'tail (+)' of one spike, and accordingly, the probability of fire increases as it goes back. . This increases the probability of a small change in the weight of a synapse when a certain spike fires a post-neuron through a synapse. Also, in this case, the ‘tail (-)’ is integrated and the proper integration is not performed. That is, if several spikes overlap when integrating the spikes, there is a problem that the integration may be reversed.
한편, 도 4b는 이상적인 STDP 그래프와 도 4a에서 도시한 spike를 이용했을 때의 STDP 그래프를 비교한 것이다. 도 4b에서 a, b, c, d로 표시한 영역은 도 4a의 a, b, c, d 경우에 대응되는 위치일 수 있다.On the other hand, Figure 4b is a comparison of the ideal STDP graph and the STDP graph when using the spike shown in Figure 4a. Regions indicated by a, b, c, and d in FIG. 4B may be positions corresponding to cases a, b, c, and d in FIG. 4A.
따라서, 본 발명은 상기 문제점을 해결하기 위해, 시냅스를 통과한 스파이크(spike)를 적분할 때, 해당 스파이크의 테일(tail)(-)를 제외하고 테일(tail)(+)만 처리할 수 있도록 함으로써, 적분이 반대로 이루어지지 않도록 하는 스파이킹 뉴런 모델 및 그의 스파이크 생성 방법을 제공하고자 한다. Therefore, in order to solve the above problem, the present invention is such that, when integrating a spike that has passed through a synapse, only the tail (+) can be processed except for the tail (-) of the corresponding spike. Accordingly, an object of the present invention is to provide a spiking neuron model and a method for generating spikes thereof that prevent integration from being reversed.
또한, 본 발명은 상기 문제점을 해결하기 위해, 시냅스를 통과한 스파이크를 적분할 때, 해당 스파이크의 테일(tail)(+) 모든 구간에서 적분되는 확률이 같도록 함으로써, 시냅스의 웨이트를 안정적으로 변화시킬 수 있는 스파이킹 뉴런 모델 및 그의 스파이크 생성 방법을 제공하고자 한다. In addition, in order to solve the above problem, the present invention stably changes the weight of the synapse by making the probability of integration in all sections of the tail (+) of the spike equal when integrating the spike that has passed through the synapse. An object of the present invention is to provide a spiking neuron model and a method for generating spikes thereof.
또한, 본 발명은 시냅스의 웨이트 변화량 그래프를 이상적인 것에 가깝게 만드는 뉴런(neuron) 모델 및 그의 스파이크 생성 방법을 제공하고자 한다.In addition, an object of the present invention is to provide a neuron model and a method for generating spikes thereof that make a graph of the amount of change in weight of a synapse close to an ideal one.
상기 목적을 달성하기 위해, 본 발명에서 제공하는 스파이킹 뉴런 모델은 다수의 시냅스(synapse)들을 통해 다수의 프리-뉴런(pre-neuron)들과 다수의 포스트-뉴런(post-neuron)들이 연결되고, 상기 시냅스가 프리-뉴런(pre-neuron)에서 생성된 스파이크를 포스트-뉴런(post-neuron)으로 전달하는 스파이킹 뉴럴 네트워크(SNN)의 스파이킹 뉴런 모델(Spiking Neuron Model)에 있어서, 상기 다수의 시냅스들로부터 전달된 스파이크들 각각에 대하여 상기 시냅스들 각각에 설정된 웨이트의 크기에 따라 서로 다른 전류를 출력하는 전처리 증폭기; 상기 전처리 증폭기를 통한 스파이크를 미분하여 테일(tail)(+)만 포함하는 스텝-함수(step-function)를 생성하는 미분기; 상기 미분기에서 미분된 스파이크를 적분하는 적분기; 상기 적분기의 출력값과 미리 설정된 임계치(Vth)를 비교하여 상기 적분기의 출력값이 상기 임계치(Vth)를 초과하는 경우 파이어(Fire) 신호를 출력하는 비교기; 및 상기 비교기에서 파이어(Fire) 신호가 출력되면 스파이크를 생성하여 상기 시냅스의 웨이트를 조정하는 스파이크 생성기를 포함하는 것을 특징으로 한다. In order to achieve the above object, the spiking neuron model provided by the present invention is a plurality of pre-neurons and a plurality of post-neurons through a plurality of synapses are connected and , In the spiking neuron model of a spiking neural network (SNN) in which the synapse transmits a spike generated in a pre-neuron to a post-neuron, the plurality of a preprocessing amplifier for outputting different currents according to the magnitude of the weight set for each of the synapses for each of the spikes transmitted from the synapses; a differentiator for differentiating the spike through the pre-amplifier to generate a step-function including only a tail (+); an integrator for integrating the spike differentiated in the differentiator; When compared to the output value with a preset threshold value (V th) of said integrator to an output value of the integrator exceeds the threshold value (V th) a comparator for outputting a fire (Fire) signal; and a spike generator configured to adjust the weight of the synapse by generating a spike when a Fire signal is output from the comparator.
바람직하게는, 상기 스파이킹 뉴런 모델은 상기 다수의 시냅스들로부터 전달된 스파이크로부터 테일(tail)(-)를 제거하고, 테일(tail)(+)만을 상기 전처리 증폭기로 전달하는 다이오드부를 더 포함할 수 있다. Preferably, the spiking neuron model further comprises a diode unit that removes a tail (-) from a spike transmitted from the plurality of synapses, and transmits only a tail (+) to the pre-amplifier. can
바람직하게는, 상기 미분기는 상기 다수의 시냅스에서 전달된 스파이크의 차수에 따라 미분기의 개수를 결정할 수 있다. Preferably, the differentiator may determine the number of differentiators according to the order of the spikes transmitted from the plurality of synapses.
바람직하게는, 상기 미분기는 상기 다수의 시냅스에서 전달된 스파이크의 차수가 n차 함수인 경우, n개의 미분기를 포함할 수 있다. Preferably, the differentiator may include n differentiators when the order of the spikes transmitted from the plurality of synapses is an nth-order function.
바람직하게는, 상기 적분기는 상기 비교기의 파이어(Fire) 신호에 응답하여 적분을 중단하고, 상기 스파이크 생성기에서 스파이크를 생성하는 시간동안 상기 적분 중단을 유지할 수 있다. Preferably, the integrator may stop the integration in response to a Fire signal of the comparator, and maintain the integration stop for a time during which the spike generator generates a spike.
또한, 상기 목적을 달성하기 위해, 본 발명에서 제공하는 스파이킹 뉴런 모델의 스파이크 생성 방법은 스파이킹 뉴럴 네트워크(SNN)에서 다수의 시냅스(synapse)들을 통해 스파이크를 전달받는 스파이킹 뉴런 모델(Spiking Neuron Model)의 스파이크 생성 방법에 있어서, 상기 다수의 시냅스들로부터 전달된 스파이크를 미분하여 스텝-함수로 변경하는 미분단계; 상기 변경된 스파이크를 적분하는 적분단계; 상기 적분결과를 미리 설정된 임계치(Vth)와 비교하여 상기 적분결과가 상기 임계치(Vth)를 초과하는 경우 파이어(Fire) 신호를 출력하는 비교단계; 및 상기 파이어(Fire) 신호가 출력되면 스파이크를 생성하여 상기 시냅스의 웨이트를 조정하는 스파이크 생성 단계를 포함하는 것을 특징으로 한다. In addition, in order to achieve the above object, the method for generating a spike of a spiking neuron model provided by the present invention is a spiking neuron model that receives a spike through a plurality of synapses in a spiking neural network (SNN). Model) in the spike generation method, a differentiation step of differentiating the spikes transmitted from the plurality of synapses and changing it into a step-function; an integration step of integrating the changed spike; a comparison step of comparing the integration result with a preset threshold value (V th ) and outputting a Fire signal when the integration result exceeds the threshold value (V th ); and generating a spike when the Fire signal is output to adjust the weight of the synapse.
바람직하게는, 상기 방법은 상기 다수의 시냅스들로부터 전달된 스파이크로부터 테일(tail)(-)를 제거하는 전처리 단계를 더 포함할 수 있다. Preferably, the method may further include a pre-processing step of removing a tail (-) from the spike transmitted from the plurality of synapses.
바람직하게는, 상기 미분단계는 상기 다수의 시냅스에서 전달된 스파이크의 차수에 따라 미분 횟수를 결정할 수 있다. Preferably, the differentiation step may determine the number of differentiation according to the order of the spikes transmitted from the plurality of synapses.
바람직하게는, 상기 미분단계는 상기 다수의 시냅스에서 전달된 스파이크가 n차 함수인 경우, 상기 미분 단계를 n번 반복할 수 있다. Preferably, in the differentiation step, when the spike transmitted from the plurality of synapses is an nth-order function, the differentiation step may be repeated n times.
바람직하게는, 상기 적분단계는 상기 비교단계의 파이어(Fire) 신호에 응답하여 적분을 중단하고, 상기 스파이크 생성 단계에서 스파이크를 생성할 수 있다.Preferably, in the integrating step, the integration may be stopped in response to the Fire signal of the comparing step, and a spike may be generated in the spike generating step.
본 발명에서 제공하는 스파이킹 뉴런 모델 및 그의 스파이크 생성 방법은 시냅스를 통과한 스파이크를 적분할 때, 해당 스파이크의 테일(tail)(-)를 제외하고 테일(tail)(+)만 처리할 수 있도록 함으로써, 적분이 반대로 이루어지지 않도록 하는 장점이 있다. 또한, 본 발명은 시냅스를 통과한 스파이크를 적분할 때, 해당 스파이크의 테일(tail)(+) 모든 구간에서 적분되는 확률이 같도록 함으로써, 시냅스의 웨이트를 안정적으로 변화시킬 수 있는 장점이 있다. 이로 인해, 본 발명은 시냅스의 웨이트 변화량 그래프를 이상적인 것에 가깝게 만듦으로써, 실제 생체의 뉴런(neuron)과 유사한 뉴런(neuron) 모델을 제공하고, 이로 인해, 안정적으로 동작하는 스파이킹 뉴럴 네트워크(SNN:Spiking Neural Network)를 제공할 수 있다.The spiking neuron model and the method for generating a spike thereof provided in the present invention are such that, when integrating a spike that has passed through a synapse, only the tail (+) can be processed, excluding the tail (-) of the corresponding spike. By doing so, there is an advantage in that the integration is not reversed. In addition, the present invention has the advantage of stably changing the weight of the synapse by making the probability of integration in all the tail (+) sections of the corresponding spike the same when integrating the spike that has passed through the synapse. For this reason, the present invention provides a neuron model similar to a neuron in a real body by making the weight change graph of the synapse close to the ideal, and thereby, a spiking neural network that operates stably (SNN: Spiking Neural Network) can be provided.
도 1a는 일반적인 스파이킹 뉴럴 네트워크를 단순화하여 도식화한 도면이다.
도 1b는 본 발명의 배경기술을 설명하기 위한 도면이다.
도 2는 종래의 일 실시 예에 따른 프리-스파이크(pre-spike) 형태에 대한 프리-스파이크(pre-spike)와 포스트-스파이크(post-spike)간의 발생 시간차에 따른 스파이크 겹침 상태를 도식화하여 나타낸 도면이다.
도 3은 프리-스파이크(pre-spike)와 포스트-스파이크(post-spike)간의 발생 시간차에 따른 시냅스의 웨이트 변화량 그래프이다.
도 4a는 종래의 다른 실시 예에 따른 프리-스파이크(pre-spike) 형태에 대한 프리-스파이크(pre-spike)와 포스트-스파이크(post-spike)간의 발생 시간차에 따른 스파이크 겹침 상태를 도식화하여 나타낸 도면이다.
도 4b는 이상적인 STDP 그래프와 도 4a에서 도시한 spike를 이용했을 때의 STDP 그래프를 비교한 것이다.
도 5는 본 발명의 일 실시 예에 따른 스파이킹 뉴런 모델에 대한 개략적인 블럭도이다.
도 6a 내지 도 6d은 본 발명의 스파이킹 뉴런 모델을 다양하게 적용한 실시예를 예시한 도면들이다.
도 7은 본 발명의 일 실시 예에 따른 스파이킹 뉴런 모델의 스파이크 생성 방법에 대한 순서도이다.
도 8a는 본 발명의 일 실시 예에 따른 프리-스파이크(pre-spike) 형태에 대한 프리-스파이크(pre-spike)와 포스트-스파이크(post-spike)간의 발생 시간차에 따른 스파이크 겹침 상태를 도식화하여 나타낸 도면이다.
도 8b는 이상적인 STDP 그래프와 도 8a에서 도시한 spike를 이용했을 때의 STDP 그래프를 비교한 것이다.1A is a simplified and schematic diagram of a general spiking neural network.
1B is a view for explaining the background of the present invention.
FIG. 2 is a schematic diagram showing a state of overlapping spikes according to a time difference between pre-spike and post-spike for a pre-spike form according to an exemplary embodiment of the related art; FIG. It is a drawing.
3 is a graph showing the amount of change in the weight of the synapse according to the generation time difference between the pre-spike and the post-spike.
4A is a schematic diagram illustrating a spike overlapping state according to a time difference between a pre-spike and a post-spike for a pre-spike form according to another exemplary embodiment; It is a drawing.
Figure 4b is a comparison of the ideal STDP graph and the STDP graph when using the spike shown in Figure 4a.
5 is a schematic block diagram of a spiking neuron model according to an embodiment of the present invention.
6A to 6D are diagrams illustrating an embodiment in which the spiking neuron model of the present invention is variously applied.
7 is a flowchart of a method for generating a spike in a spiking neuron model according to an embodiment of the present invention.
8A is a diagram illustrating the overlapping state of the spikes according to the time difference between the pre-spike and the post-spike for the pre-spike form according to an embodiment of the present invention. the drawing shown.
8B is a comparison of the ideal STDP graph and the STDP graph when the spike shown in FIG. 8A is used.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 설명하되, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 한편 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 또한 상세한 설명을 생략하여도 본 기술 분야의 당업자가 쉽게 이해할 수 있는 부분의 설명은 생략하였다.Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings, but it will be described in detail so that a person of ordinary skill in the art to which the present invention pertains can easily practice the present invention. However, the present invention may be embodied in various different forms and is not limited to the embodiments described herein. On the other hand, in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification. In addition, even if the detailed description is omitted, descriptions of parts that can be easily understood by those skilled in the art are omitted.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification and claims, when a part includes a certain element, it means that other elements may be further included, rather than excluding other elements, unless otherwise stated.
도 5는 본 발명의 일 실시 예에 따른 스파이킹 뉴런 모델에 대한 개략적인 블록도이다. 도 5를 참조하면, 본 발명의 일 실시 예에 따른 스파이킹 뉴런 모델(300)은 전처리 증폭기(310), 미분기/반전증폭기(320), 미분기(330), 적분기(340), 비교기(350) 및 스파이크 생성기(360)를 포함한다. 5 is a schematic block diagram of a spiking neuron model according to an embodiment of the present invention. Referring to FIG. 5 , the spiking neuron model 300 according to an embodiment of the present invention includes a
전처리 증폭기(310)는 다수의 시냅스들(100)로부터 전달된 여러 스파이크들(spikes)의 전류를 모아서 출력한다. 즉, 전처리 증폭기(310)는 다수의 시냅스들(100)로부터 전달된 다수의 스파이크들 각각에 대하여, 시냅스들(100) 각각에 설정된 웨이트(weight)의 크기에 따라 서로 다른 전류를 다음 단계(stage)로 출력할 수 있다. 이 때, 시냅스(synapse)(100)들 각각이 하나의 저항으로 모델링되기 때문에, 전처리 증폭기(100)는 시냅스(synapse)들(100)과 하나의 증폭기(op amp)(311) 그리고 추가적인 저항(312)으로 구성될 수 있다. The
미분기/반전증폭기(320)는 입력되는 스파이크의 종류에 따라 선택적으로 포함된다. 예를 들어, 입력 스파이크가 2차함수인 경우, 미분기(322)가 선택되고, 그렇지 않은 경우 반전 증폭기(321)가 선택될 수 있다. The differentiator/inverting
미분기(330)는 전처리 증폭기(310)를 통한 스파이크를 미분한다. 특히, 미분기(330)는 입력 스파이크의 테일(tail)(+)만 포함하는 스텝-함수(step-function)를 생성한다. 이 때, 미분기(330)는 다수의 시냅스(100)에서 전달된 스파이크의 테일(tail)(+)의 차수에 따라 미분기의 개수를 결정할 수 있다. 즉, 미분기(330)는 다수의 시냅스(100)에서 전달된 스파이크의 테일(tail)(+)의 차수가 n차 함수인 경우, n개의 미분기를 포함할 수 있다. 예를 들어, 다수의 시냅스(100)에서 전달된 스파이크의 테일(tail)(+)의 차수가 2차 함수인 경우 2개의 미분기를 포함하고, 다수의 시냅스(100)에서 전달된 스파이크의 테일(tail)(+)의 차수가 1차 함수인 경우 1개의 미분기를 포함할 수 있다. 이를 위해, 미분기(330)는 증폭기(op amp)(331), 커패시터(capacitor)(332), 및 저항(resistor)(333)을 포함할 수 있다.
적분기(340)는 미분기(330)에서 미분된 스파이크를 적분한다. 특히, 적분기(340)는 비교기(350)의 파이어(Fire) 신호에 응답하여 적분을 중단한다. 그리고, 스파이크 생성기(360)에서 스파이크를 생성하는 시간동안 계속 적분 중단을 유지한다. 이를 위해, 적분기(340)는 증폭기(op amp)(341), 커패시터(capacitor)(342), 및 저항(resistor)(343)를 포함할 수 있다. 또한, 적분기(340)는 상기 파이어(Fire) 신호에 의해 온/오프가 조절되는 스위치(344)를 더 포함하여, 스위치(344)가 ‘온’일 때 적분을 실시하고, ‘오프’일 때 적분을 중단하도록 제어할 수 있다.The
비교기(350)는 미리 설정된 임계치(Vth)를 저장하고, 적분기(340)의 출력값과 상기 임계치(Vth)를 비교한다. 그리고, 적분기(340)의 출력값이 상기 임계치(Vth)를 초과하는 경우 파이어(Fire) 신호를 출력한다. The
스파이크 생성기(360)는 비교기(350)에서 파이어(Fire) 신호가 출력되면 스파이크를 생성한다. 그리고, 그 스파이크를 피드백(feedback)하여 시냅스들(100)의 웨이트를 조정한다. The
한편, 상기 스파이킹 뉴런 모델은 다이오드부(200)를 더 포함할 수 있는데, 다이오드부(200)는 다수의 시냅스들(100)로부터 전달된 스파이크로부터 테일(tail)(-)를 제거하고, 테일(tail)(+)만을 전처리폭기(310)로 전달한다. 이는 적분기(340)에서 스파이크를 적분 할 때 여러개의 스파이크가 겹치게 되면, 적분이 반대로 될 수 있는 오류를 줄이기 위함이다. Meanwhile, the spiking neuron model may further include a
도 6a 내지 도 6d은 본 발명의 스파이킹 뉴런 모델을 다양하게 적용한 실시예를 예시한 도면들이다. 6A to 6D are diagrams illustrating an embodiment in which the spiking neuron model of the present invention is variously applied.
먼저, 도 6a는 3-터미널인 시냅스(100a)를 통해 ‘테일(tail)(+)’과 ‘테일(tail)(-)’이 모두 램프함수(ramp function)인 제1 프리-스파이크(pre-spike)(P1)가 전달되는 경우의 예(이하, ‘제1 실시예’라 칭함)를 도시한 도면이다. 도 6a를 참조하면, 제1 실시예에서 상기 제1 프리-스파이크(pre-spike)(P1)는 시냅스(synapse)(100a)를 거친 후에 다이오드(diode)(200a)를 통과하는 과정에서 테일(tail)(-)가 소멸되고, 테일(tail)(+)만 뉴런(Neuron)(300a)으로 들어오게 된다. 그리고, 상기 테일(tail)(+)만 남게된 프리-스파이크(pre-spike)(P1)는 전처리 증폭기(310a) 및 반전 증폭기(320a)를 거쳐 미분기(330a)로 전달된다. 그러면, 미분기(330a)는 이를 미분해서, 램프 함수(ramp function)인 테일(tail)(+)를 스텝 함수(step function)(일명, 구형파)으로 바꾼다. 적분기(340a)에서는, 이렇게 미분기(330a)를 거쳐 나온 스텝 함수(step function)을 적분한다. 이때, 적분기(340a)는 상기 스텝 함수(step function)로 변형된 신호를 적분함으로써, 테일(tail)(+)내에서 모든 시간 동안 파이어(fire)가 될 확률이 같아지게 되는 것이다. First, FIG. 6a shows a first pre-spike in which both 'tail (+)' and 'tail (-)' are ramp functions through the 3-
한편, 집적회로에서의 미분기는 증폭기(amp)의 입력단(input)쪽에 커패시터(capacitor)가 있는데 이 구조로는 시냅스(synapse)에서 스파이크를 직접 받을 수가 없다. 이는 시냅스(Synapse)의 웨이트(weight)에 따라 다른 크기의 전류(current)를 받아야 하기 때문이다. 따라서 포스트-뉴런(post neuron)의 입력단(front-end)에 추가적인 회로를 붙여서 여러 스파이크를 들어오는 시간에 상관없이 시냅스(synapse)의 웨이트(weight)에 따라 전류(current)의 크기를 다르게 받을 수 있게 해야 한다. 이러한 방법은, 적분할 때 테일(tail)(-)를 무시하기 위해 다이오드(diode)를 사용해야 하기 때문에 2-터미널 시냅스(2-terminal synapse) 장치(device)에서는 사용할 수 없고 3-터미널 시냅스(3-terminal synapse) 장치(device)에서만 사용 가능하다.On the other hand, the differentiator in the integrated circuit has a capacitor at the input side of the amplifier (amp), and with this structure, a spike at a synapse cannot be directly received. This is because a different magnitude of current must be received according to the weight of the synapse. Therefore, by attaching an additional circuit to the front-end of the post-neuron, the size of the current can be received differently depending on the weight of the synapse, regardless of the time when multiple spikes are received. Should be. This method cannot be used in a 2-terminal synapse device because a diode must be used to ignore the tail (-) when integrating, and the 3-terminal synapse (3) -terminal synapse) Available only on device.
도 6b 내지 도 6d는 ‘테일(tail)(+)’이 2차함수이고, ‘테일(tail)(-)’이 램프함수(ramp function)인 제2 프리-스파이크(pre-spike)(P2)가 전달되는 경우의 예들을 도시한 도면들로서, 상기 제2 프리-스파이크(pre-spike)(P2)가 전달되고, 시냅스의 종류 또는 주변 장치의 구성이 다른 경우의 예들을 도시한 도면들이다.6B to 6D show a second pre-spike (P2) in which 'tail (+)' is a quadratic function and 'tail (-)' is a ramp function. ) is a diagram showing examples of a case in which the second pre-spike (P2) is transmitted, and the types of synapses or configurations of peripheral devices are different.
도 6b는 3-터미널인 시냅스(100b)를 통과한 상기 제2 프리-스파이크(pre-spike)(P2)가 다이오드(200b)를 통해 전처리 증폭기(310b)로 전달되는 경우의 예(이하, ‘제2 실시예’라 칭함)를 도시하고, 도 6c는 3-터미널인 시냅스(100c)를 통과한 상기 제2 프리-스파이크(pre-spike)(P2)가 다이오드를 통하지 않고, 전처리 증폭기(310c)로 전달되는 경우의 예(이하, ‘제3 실시예’라 칭함)를 도시하고, 도 6d는 2-터미널인 시냅스(100d)를 통과한 상기 제2 프리-스파이크(pre-spike)(P2)가 별도의 장치(예컨대, 스위치 등)(400d)를 통해 전처리 증폭기(310d)로 전달되는 경우의 예(이하, ‘제4 실시예’라 칭함)를 도시하고 있다. 6b is an example of a case in which the second pre-spike (P2) passing through the 3-
이 때, 상기 제2 프리-스파이크(pre-spike)(P2)는, Δt=0 부근에서도 STDP 그래프가 잘 나오게 할 수 있는 또 다른 스파이크의 모양이다. 즉, 상기 제2 프리-스파이크(pre-spike)(P2)는 상기 제1 프리-스파이크(pre-spike)(P1)와 마찬가지로 스파이크가 겹쳤을 때 Δt의 크기가 커질수록 시냅스(synapse) 양단에 걸리는 전압은 작아지고, 이에 따라 웨이트(weight)의 변화량이 작아진다. 상기 제1 프리-스파이크(pre-spike)(P1)와 다른 점은 스파이크의 테일(tail)(+)가 램프-함수(ramp function)가 아닌 2차 함수로 이루어져 있다는 것이다. At this time, the second pre-spike P2 is another spike shape that can make the STDP graph come out well even in the vicinity of Δt=0. That is, the second pre-spike (P2), like the first pre-spike (P1), when the spikes overlap, as the size of Δt increases, at both ends of the synapse The applied voltage becomes smaller, and accordingly, the amount of change in the weight becomes smaller. The difference from the first pre-spike P1 is that the tail (+) of the spike is not a ramp function but a quadratic function.
따라서, 상기 제2 프리-스파이크(pre-spike)(P2)를 이용하면 시냅스 이후에 다이오드(diode)를 이용하지 않아도 된다. 특히, 도 6b 및 도 6c의 예에서와 같이, 3-터미널 시냅스(3-terminal synapse)에서는 다이오드(diode)가 꼭 필요하지는 않다. 예를 들어, 도 6b의 예에서는 다이오드(200b)를 포함하고, 시냅스(100b)를 통과한 제2 프리-스파이크(pre-spike)(P2)가 다이오드(200b)를 거쳐 전처리 증폭기(310b)로 전달되는 경우를 예시하고 있지만, 도 6c에서와 같이 시냅스(100c)를 통과한 제2 프리-스파이크(pre-spike)(P2)가 다이오드를 거치지 않고 바로 전처리 증폭기(310c)로 전달되어도 무관하다. 대신 전처리 증폭기(310b 또는 310c)를 거친 이후에 미분을 한 번이 아닌 두 번을 한다. 즉, 도 6b에 예시된 제2 실시예에서는, 다이오드(200b)를 거치면서, 상기 제2 프리-스파이크(pre-spike)(P2)의 ‘테일(tail)(-)’이 소멸되므로, 2개의 미분기(320b 및 330b)를 거치면서, 테일(tail)(+)만을 포함하는 스텝 함수(step function)가 출력되고, 도 6c에 예시된 제3 실시예에서는, 상기 제2 프리-스파이크(pre-spike)(P2)가 제1 미분기(320c)를 거치면서, 2차 함수인 ‘테일(tail)(+)’이 램프 함수가 되고, 램프함수인 ‘테일(tail)(-)’이 스텝 함수가 된다. 또한, 제2 미분기(330c)를 거치면서는 상기 램프함수인 ‘테일(tail)(+)’이 스텝 함수가 되고, 스텝 함수인 ‘테일(tail)(-)’이 ‘0’이 된다. 결과적으로, 상기 제2 프리-스파이크(pre-spike)(P2)가 제1 및 제2 미분기(320c 및 330c)를 거치면서 ‘테일(tail)(+)’만 포함하는 스텝 함수로 변형된다. Therefore, if the second pre-spike (P2) is used, there is no need to use a diode after synapse. In particular, as in the example of FIGS. 6B and 6C , a diode is not necessarily required in a 3-terminal synapse. For example, in the example of Figure 6b, including a
이와 같이 미분기를 두 번 거친 이후에 적분을 하면, 도 6b 및 도 6c의 적분기(340b 및 340c)에서는 테일(tail)(+)만 적절하게 적분이 된다. If integration is performed after the differentiator is performed twice as described above, only the tail (+) is properly integrated in the
이 때, 다이오드(Diode)를 사용하면 테일(tail)(-)를 쉽게 없앨 수는 있지만 테일(tail)(+)내에서 적분되는 크기를 같게 하기 위해서는 다이오드(diode)가 있을 때에도 미분기가 2개 필요하다. At this time, if a diode is used, the tail (-) can be easily eliminated, but in order to equalize the size integrated within the tail (+), even when there is a diode, there are two differentiators. need.
2-터미널 시냅스(2-terminal synapse)(100d)를 포함하는, 도 6d의 경우에도, 미분기를 2번 거치면서, 제2 프리-스파이크(pre-spike)(P2)가 제1 및 제2 미분기(320d 및 330d)를 거치면서 ‘테일(tail)(+)’만 포함하는 스텝 함수로 변형된다.Even in the case of Figure 6d, including the 2-terminal synapse (100d), the second pre-spike (P2) is the first and the second differentiator while passing through the differentiator twice. While passing through (320d and 330d), it is transformed into a step function including only a 'tail (+)'.
도 7은 본 발명의 일 실시 예에 따른 스파이킹 뉴런 모델의 스파이크 생성 방법에 대한 순서도이다. 도 5 및 도 7을 참조하면, 본 발명의 일 실시 예에 따른 스파이킹 뉴런 모델의 스파이크 생성 방법은 스파이킹 뉴럴 네트워크(SNN)에서 다수의 시냅스(synapse)들을 통해 스파이크를 전달받는 스파이킹 뉴런 모델(Spiking Neuron Model)의 스파이크 생성 방법에 있어서, 단계 S110에서, 다이오드(200)가 상기 다수의 시냅스들로부터 전달된 스파이크로부터 테일(tail)(-)를 제거한다. 단계 S120에서는, 단계 S110을 거친 입력 스파이크를 구형파로 변경한다. 즉, 단계 S120에서는, 미분기(330)가 테일(tail)(-)가 제거된 스파이크를 미분하여 스텝-함수(일명, 구형타)로 변경한다. 이 때, 단계 S120은, 상기 다수의 시냅스에서 전달된 스파이크의 테일(tail)(+)의 차수에 따라 미분 횟수를 결정하는 것이 바람직하다. 즉, 단계 S120에서는, 상기 다수의 시냅스에서 전달된 스파이크의 테일(tail)(+)가 n차 함수인 경우, 상기 미분 단계를 n번 반복할 수 있다. 예를 들어, 상기 다수의 시냅스에서 전달된 스파이크의 테일(tail)(+)가 2차 함수인 경우, 상기 미분 단계를 2번 반복한다. 7 is a flowchart of a method for generating a spike in a spiking neuron model according to an embodiment of the present invention. 5 and 7 , in the method for generating a spike of a spiking neuron model according to an embodiment of the present invention, a spiking neuron model that receives a spike through a plurality of synapses in a spiking neural network (SNN) In the spike generation method of (Spiking Neuron Model), in step S110, the
단계 S130에서는, 적분기(340)가 상기 변경된 스파이크를 적분하고, 단계 S140에서는, 비교기(350)가 상기 적분결과를 미리 설정된 임계치(Vth)와 비교한다. 상기 단계 S140에서, 상기 적분결과가 상기 임계치(Vth)를 초과하는 것으로 판단된 경우, 단계 S150에서, 비교기(350)는 파이어(Fire) 신호를 출력하고, 단계 S160에서, 스파이크 생성기(360)는 스파이크를 생성하여 상기 시냅스의 웨이트를 조정한다. In step S130 , the
한편, 상기 단계 S150에서 파이어(Fire) 신호를 출력하면, 적분기(340)는 상기 파이어(Fire) 신호에 응답하여 적분을 중단하고, 상기 단계 S160에서 생성하는 시간동안 상기 적분 중단을 유지하는 것이 바람직하다. On the other hand, if a Fire signal is output in step S150, the
도 8a는 본 발명의 일 실시 예에 따른 프리-스파이크(pre-spike) 형태에 대한 프리-스파이크(pre-spike)와 포스트-스파이크(post-spike)간의 발생 시간차에 따른 스파이크 겹침 상태를 도식화하여 나타낸 도면이다. 즉, 도 8a는 프리-스파이크(pre-spike)의 ‘테일(tail)(+)’은 2차 함수이고, ‘테일(tail)(-)’은 램프함수(ramp function)인 경우의 예이다. 일 실시예에 따르면 도 8a의 a 그래프는 Δt가 양수이면서 작을 때일 수 있으며, b 그래프는 Δt가 양수이면서 Δt가 클 때(다만, Δt가 tail+보다 작을 때)일 수 있고, c 그래프는 Δt가 양수이고 Δt가 tail+보다 클 때일 수 있으며, d 그래프는 Δt가 음수일 때일 수 있다. 도 8a에 따르면 c의 경우(즉, Δt가 tail+보다 클 때)는 pre spike와 post spike가 일부 겹쳐지기는 하지만 시냅스에 걸리는 전압이 충분히 크지 못해 웨이트가 변하지 않을 수 있다.(즉, 노란색 영역이 존재하지 않는다.) 한편 a와 b의 경우 웨이트가 증가하는 것을 확인할 수 있으며, a의 경우가 b의 경우보다 Δt가 작으므로 ΔW는 클 수 있다. 한편, 도 8a에서 시냅스의 웨이트 변화는 시냅스에 걸리는 전압의 크기가 지속시간(노란색 영역)보다 dominant하다고 가정했다. 도 8a에서 지속시간은 b의 경우가 a의 경우보다 더 크지만 시냅스에 걸리는 전압의 크기는 a의 경우가 b의 경우보다 더 크므로 생물학적인 STDP 그래프를 따라갈 수 있음을 확인할 수 있다.8A is a diagram illustrating the overlapping state of the spikes according to the time difference between the pre-spike and the post-spike for the pre-spike form according to an embodiment of the present invention. the drawing shown. That is, FIG. 8A is an example of a case in which 'tail (+)' of a pre-spike is a quadratic function and 'tail (-)' is a ramp function. . According to an embodiment, graph a of FIG. 8A may be when Δt is positive and small, graph b may be when Δt is positive and Δt is large (however, when Δt is smaller than tail+), and graph c shows that Δt is It may be positive and Δt may be greater than tail+, and the d graph may be when Δt is negative. According to FIG. 8a, in case c (that is, when Δt is greater than tail+), the pre spike and the post spike partially overlap, but the voltage applied to the synapse is not large enough, so the weight may not change. On the other hand, in the case of a and b, it can be seen that the weight increases, and since Δt is smaller in case of a than in case of b, ΔW may be large. On the other hand, it is assumed that the magnitude of the voltage applied to the synapse is dominant over the duration (yellow region) for the change in the weight of the synapse in FIG. 8A . In FIG. 8a, the duration of b is larger than that of a, but the magnitude of the voltage applied to the synapse is greater in case a than in case b, so it can be confirmed that the biological STDP graph can be followed.
도 8a을 참조하면, 프리-스파이크(pre-spike)와 포스트 스파이크(post-spike)가 겹쳤을 때 Δt의 크기가 커질수록 시냅스(synapse) 양단에 걸리는 전압은 작아지게 된다. 따라서, Δt의 크기가 커질수록 웨이트(weight)의 변화량(ΔW)이 작아지게 된다. 즉, 도 8에 예시된 바와 같은 스파이크를 사용하는 경우, Δt의 크기가 커질수록 웨이트(weight)의 변화량(ΔW)도 함께 커지는 문제를 해결할 수 있다. 또한, 이 경우 도 6a 내지 도 6d를 참조한 설명에서 언급한 바와 같이, 적분기에서, 스텝 함수(step function)로 변형된 신호를 적분함으로써, 테일(tail)(+)내에서 모든 시간 동안 파이어(fire)가 될 확률이 같아진다. 따라서, 본 발명을 이용할 경우 시냅스의 웨이트를 안정적으로 변화시킬 수 있는 장점이 있다. 즉, 도 8a에서 도시하고 있는 스파이크를 따를 경우 시냅스에 추가적인 다이오드를 만들 필요 없이 CMOS 뉴런모델의 미분기반으로 스파이크를 처리(leaky integration & fire)할 수 있다.Referring to FIG. 8A , when the pre-spike and the post-spike overlap, the voltage across the synapse decreases as the magnitude of Δt increases. Accordingly, as the magnitude of Δt increases, the change amount ΔW of the weight decreases. That is, when the spike as illustrated in FIG. 8 is used, it is possible to solve the problem that as the size of Δt increases, the change amount ΔW of the weight also increases. In addition, in this case, as mentioned in the description with reference to FIGS. 6A to 6D , by integrating the transformed signal with a step function in the integrator, fire is fired for all times within the tail (+). ) is equally probable. Therefore, when the present invention is used, there is an advantage that the weight of the synapse can be changed stably. That is, when following the spike shown in FIG. 8A, the spike can be processed (leaky integration & fire) based on the differentiation of the CMOS neuron model without the need to make an additional diode at the synapse.
도 8b는 이상적인 STDP 그래프와 도 8a에서 도시한 spike를 이용했을 때의 STDP 그래프를 비교한 것이다. 도 8b에서 a, b, c, d로 표시한 영역은 도 8a의 a, b, c, d 경우에 대응되는 위치일 수 있다. 한편, 도 8b의 그래프에서 tail+는 2차 함수이므로 도 8b에서 a 위치와 b 위치에 따른 기울기는 도 4b에서 a 위치와 b 위치에 따른 기울기보다 클 수 있다. 8B is a comparison of the ideal STDP graph and the STDP graph when the spike shown in FIG. 8A is used. Regions indicated by a, b, c, and d in FIG. 8B may be positions corresponding to cases a, b, c, and d in FIG. 8A. Meanwhile, since tail+ is a quadratic function in the graph of FIG. 8B , the slope according to the position a and the position b in FIG. 8B may be greater than the slope according to the position a and the position b in FIG.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. In the exemplary system described above, the methods are described on the basis of a flowchart as a series of steps or blocks, but the present invention is not limited to the order of steps, and some steps may occur in a different order or concurrently with other steps as described above. can
또한, 당업자라면 순서도에 나타낸 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In addition, those skilled in the art will understand that the steps shown in the flowchart are not exhaustive and that other steps may be included or that one or more steps in the flowchart may be deleted without affecting the scope of the present invention.
Claims (10)
상기 다수의 시냅스들로부터 전달된 스파이크들 각각에 대하여 상기 시냅스들 각각에 설정된 웨이트의 크기에 따라 서로 다른 전류를 출력하는 전처리 증폭기;
상기 전처리 증폭기를 통한 스파이크를 미분하여 테일(tail)(+)만 포함하는 스텝-함수(step-function)를 생성하는 미분기;
상기 미분기에서 미분된 스파이크를 적분하는 적분기;
상기 적분기의 출력값과 미리 설정된 임계치(Vth)를 비교하여 상기 적분기의 출력값이 상기 임계치(Vth)를 초과하는 경우 파이어(Fire) 신호를 출력하는 비교기; 및
상기 비교기에서 파이어(Fire) 신호가 출력되면 스파이크를 생성하여 상기 시냅스의 웨이트를 조정하는 스파이크 생성기를 포함하는 것을 특징으로 하는 스파이킹 뉴런 모델.A plurality of pre-neurons and a plurality of post-neurons are connected through a plurality of synapses, and the synapse is a spike (pre-neuron) generated in In the spiking neuron model of the spiking neural network (SNN) that delivers the spike) to the post-neuron,
a preprocessing amplifier for outputting different currents according to the magnitude of the weight set for each of the synapses with respect to each of the spikes transmitted from the plurality of synapses;
a differentiator for differentiating the spike through the pre-amplifier to generate a step-function including only a tail (+);
an integrator for integrating the spike differentiated in the differentiator;
When compared to the output value with a preset threshold value (V th) of said integrator to an output value of the integrator exceeds the threshold value (V th) a comparator for outputting a fire (Fire) signal; and
The spiking neuron model, characterized in that it comprises a spike generator that adjusts the weight of the synapse by generating a spike when a Fire signal is output from the comparator.
상기 다수의 시냅스들로부터 전달된 스파이크로부터 테일(tail)(-)를 제거하고, 테일(tail)(+)만을 상기 전처리 증폭기로 전달하는 다이오드부를 더 포함하는 것을 특징으로 하는 스파이킹 뉴런 모델.According to claim 1,
The spiking neuron model, characterized in that it further comprises a diode unit that removes a tail (-) from the spike transmitted from the plurality of synapses, and transmits only the tail (+) to the pre-amplifier.
상기 다수의 시냅스에서 전달된 스파이크의 테일(tail)(+)의 차수에 따라 미분기의 개수를 결정하는 것을 특징으로 하는 스파이킹 뉴런 모델.The method of claim 1, wherein the differentiator
A spiking neuron model, characterized in that the number of differentiators is determined according to the order of the tail (+) of the spike transmitted from the plurality of synapses.
상기 다수의 시냅스에서 전달된 스파이크의 테일(tail)(+)의 차수가 n차 함수인 경우,
n개의 미분기를 포함하는 것을 특징으로 하는 스파이킹 뉴런 모델.The method of claim 3, wherein the differentiator
When the order of the tail (+) of the spike transmitted from the plurality of synapses is an n-order function,
A spiking neuron model comprising n differentiators.
상기 비교기의 파이어(Fire) 신호에 응답하여 적분을 중단하고,
상기 스파이크 생성기에서 스파이크를 생성하는 시간동안 상기 적분 중단을 유지하는 것을 특징으로 하는 스파이킹 뉴런 모델.The method according to any one of claims 1 to 3, wherein the integrator is
In response to the Fire signal of the comparator, the integration is stopped,
The spiking neuron model according to claim 1, wherein the integration interruption is maintained for a period of time during which the spike is generated in the spike generator.
상기 다수의 시냅스들로부터 전달된 스파이크를 미분하여 스텝-함수로 변경하는 미분단계;
상기 변경된 스파이크를 적분하는 적분단계;
상기 적분결과를 미리 설정된 임계치(Vth)와 비교하여 상기 적분결과가 상기 임계치(Vth)를 초과하는 경우 파이어(Fire) 신호를 출력하는 비교단계; 및
상기 파이어(Fire) 신호가 출력되면 스파이크를 생성하여 상기 시냅스의 웨이트를 조정하는 스파이크 생성 단계를 포함하는 것을 특징으로 하는 스파이킹 뉴런 모델(Spiking Neuron Model)의 스파이크 생성 방법.In the spike generation method of a spiking neuron model receiving a spike through a plurality of synapses in a spiking neural network (SNN),
Differentiation step of differentiating the spike transmitted from the plurality of synapses and changing it into a step-function;
an integration step of integrating the changed spike;
a comparison step of comparing the integration result with a preset threshold value (V th ) and outputting a Fire signal when the integration result exceeds the threshold value (V th ); and
and a spike generating step of generating a spike when the Fire signal is output and adjusting the weight of the synapse.
상기 다수의 시냅스들로부터 전달된 스파이크로부터 테일(tail)(-)를 제거하는 전처리 단계를 더 포함하는 것을 특징으로 하는 스파이킹 뉴런 모델의 스파이크 생성 방법.7. The method of claim 6,
The method for generating spikes in a spiking neuron model, characterized in that it further comprises a pre-processing step of removing a tail (-) from the spikes transmitted from the plurality of synapses.
상기 다수의 시냅스에서 전달된 스파이크의 테일(tail)(+)의 차수에 따라 미분 횟수를 결정하는 것을 특징으로 하는 스파이킹 뉴런 모델의 스파이크 생성 방법.7. The method of claim 6, wherein the differentiating step
A method of generating a spike in a spiking neuron model, characterized in that the number of differentiations is determined according to the order of the tail (+) of the spike transmitted from the plurality of synapses.
상기 다수의 시냅스에서 전달된 스파이크의 테일(tail)(+)가 n차 함수인 경우,
상기 미분 단계를 n번 반복하는 것을 특징으로 하는 스파이킹 뉴런 모델의 스파이크 생성 방법.The method of claim 8, wherein the differentiating step
When the tail (+) of the spike transmitted from the plurality of synapses is an nth-order function,
A method for generating spikes in a spiking neuron model, characterized in that repeating the differentiation step n times.
상기 비교단계의 파이어(Fire) 신호에 응답하여 적분을 중단하고,
상기 스파이크 생성 단계에서 스파이크를 생성하는 시간동안 상기 적분 중단을 유지하는 것을 특징으로 하는 스파이킹 뉴런 모델의 스파이크 생성 방법.The method according to any one of claims 6 to 8, wherein the integrating step is
In response to the Fire signal of the comparison step, the integration is stopped,
The method for generating a spike in a spiking neuron model, characterized in that in the step of generating a spike, the integration stop is maintained for a time for generating a spike.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190153342A KR102431371B1 (en) | 2019-11-26 | 2019-11-26 | Spiking neuron model and method for generating spike thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190153342A KR102431371B1 (en) | 2019-11-26 | 2019-11-26 | Spiking neuron model and method for generating spike thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210064767A true KR20210064767A (en) | 2021-06-03 |
KR102431371B1 KR102431371B1 (en) | 2022-08-10 |
Family
ID=76396946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190153342A KR102431371B1 (en) | 2019-11-26 | 2019-11-26 | Spiking neuron model and method for generating spike thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102431371B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023090597A1 (en) * | 2021-11-18 | 2023-05-25 | 서울대학교산학협력단 | Neuromorphic device for processing spike signals in parallel |
WO2023211029A1 (en) * | 2022-04-27 | 2023-11-02 | 서울대학교산학협력단 | Neuronal circuit |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150038334A (en) * | 2012-07-27 | 2015-04-08 | 퀄컴 테크놀로지스, 인크. | Apparatus and methods for efficient updates in spiking neuron networks |
US9082079B1 (en) * | 2012-10-22 | 2015-07-14 | Brain Corporation | Proportional-integral-derivative controller effecting expansion kernels comprising a plurality of spiking neurons associated with a plurality of receptive fields |
KR20150087266A (en) * | 2012-11-20 | 2015-07-29 | 퀄컴 인코포레이티드 | Piecewise linear neuron modeling |
KR20160136364A (en) * | 2014-03-24 | 2016-11-29 | 퀄컴 인코포레이티드 | Cold neuron spike timing back propagation |
KR20170080440A (en) * | 2015-12-30 | 2017-07-10 | 에스케이하이닉스 주식회사 | Methods of Updating Weight of Synapses of Neuromorphic Devices |
KR20180050830A (en) * | 2016-11-07 | 2018-05-16 | 에스케이하이닉스 주식회사 | Neuromorphic Device Having an Error Corrector |
KR20190051766A (en) * | 2017-11-06 | 2019-05-15 | 삼성전자주식회사 | Neuron Circuit, system and method for synapse weight learning |
-
2019
- 2019-11-26 KR KR1020190153342A patent/KR102431371B1/en active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150038334A (en) * | 2012-07-27 | 2015-04-08 | 퀄컴 테크놀로지스, 인크. | Apparatus and methods for efficient updates in spiking neuron networks |
US9082079B1 (en) * | 2012-10-22 | 2015-07-14 | Brain Corporation | Proportional-integral-derivative controller effecting expansion kernels comprising a plurality of spiking neurons associated with a plurality of receptive fields |
KR20150087266A (en) * | 2012-11-20 | 2015-07-29 | 퀄컴 인코포레이티드 | Piecewise linear neuron modeling |
KR20160136364A (en) * | 2014-03-24 | 2016-11-29 | 퀄컴 인코포레이티드 | Cold neuron spike timing back propagation |
KR20170080440A (en) * | 2015-12-30 | 2017-07-10 | 에스케이하이닉스 주식회사 | Methods of Updating Weight of Synapses of Neuromorphic Devices |
KR20180050830A (en) * | 2016-11-07 | 2018-05-16 | 에스케이하이닉스 주식회사 | Neuromorphic Device Having an Error Corrector |
KR20190051766A (en) * | 2017-11-06 | 2019-05-15 | 삼성전자주식회사 | Neuron Circuit, system and method for synapse weight learning |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023090597A1 (en) * | 2021-11-18 | 2023-05-25 | 서울대학교산학협력단 | Neuromorphic device for processing spike signals in parallel |
WO2023211029A1 (en) * | 2022-04-27 | 2023-11-02 | 서울대학교산학협력단 | Neuronal circuit |
Also Published As
Publication number | Publication date |
---|---|
KR102431371B1 (en) | 2022-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102431371B1 (en) | Spiking neuron model and method for generating spike thereof | |
KR102230784B1 (en) | Synapse circuit for spike-timing dependent plasticity(stdp) operation and neuromorphic system | |
Zhang et al. | Supervised learning in spiking neural networks with noise-threshold | |
Taherkhani et al. | DL-ReSuMe: A delay learning-based remote supervised method for spiking neurons | |
US20130151449A1 (en) | Apparatus and methods for implementing learning for analog and spiking signals in artificial neural networks | |
US10671911B2 (en) | Current mirror scheme for an integrating neuron circuit | |
US20040056174A1 (en) | Fast phase diversity wavefront correction using a neural network | |
KR102288075B1 (en) | Inference method and device using spiking neural network | |
US20090182697A1 (en) | Computer-Implemented Model of the Central Nervous System | |
Mesnard et al. | Towards deep learning with spiking neurons in energy based models with contrastive hebbian plasticity | |
Dupeyroux et al. | A toolbox for neuromorphic perception in robotics | |
Feng et al. | Impact of temporal variation and the balance between excitation and inhibition on the output of the perfect integrate-and-fire model | |
WO2007022204A9 (en) | Computer-implemented model of the central nervous system | |
Zhang | Multilayer artificial neural network design and architecture optimization for the pattern recognition and prediction of eeg signals based on henon map chaotic system | |
McDonald et al. | Modelling retinal ganglion cells using self-organising fuzzy neural networks | |
Stewart et al. | Spiking neurons and central executive control: The origin of the 50-millisecond cognitive cycle | |
Kappel et al. | A synapse-centric account of the free energy principle | |
Rosen et al. | Machine operant conditioning | |
US6560583B1 (en) | Method and apparatus for constructing a self-adapting smart transmission device to control information transmission between elements of a network | |
Osawa et al. | Associative Memory with Class I and II Izhikevich Model. | |
Raudys | Survival of intelligent agents in changing environments | |
Alicea | Allostasis Machines as Continuous Cognitive Modeling | |
Zhang et al. | A modified supervised learning rule for training a photonic spiking neural network to recognize digital patterns | |
Clark et al. | Temporary Memory Neuron for the Leaky Integrate and Fire Neuron Model | |
US11468307B2 (en) | Artificial neuromorphic circuit and operation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |