WO2023211029A1 - Neuronal circuit - Google Patents
Neuronal circuit Download PDFInfo
- Publication number
- WO2023211029A1 WO2023211029A1 PCT/KR2023/005101 KR2023005101W WO2023211029A1 WO 2023211029 A1 WO2023211029 A1 WO 2023211029A1 KR 2023005101 W KR2023005101 W KR 2023005101W WO 2023211029 A1 WO2023211029 A1 WO 2023211029A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- current
- signal
- clock signal
- spike
- output
- Prior art date
Links
- 230000001537 neural effect Effects 0.000 title abstract 2
- 238000009825 accumulation Methods 0.000 claims abstract description 23
- 238000010304 firing Methods 0.000 claims abstract description 6
- 210000002569 neuron Anatomy 0.000 claims description 56
- 230000007423 decrease Effects 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 10
- 239000012528 membrane Substances 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000012421 spiking Methods 0.000 description 4
- 210000000653 nervous system Anatomy 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000000946 synaptic effect Effects 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/04—Architecture, e.g. interconnection topology
-
- 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
Definitions
- the present invention relates to a neuron circuit used in a spiking neural network provision device.
- spiking neural networks With the recent advancement of computing technology based on artificial neural networks, research and development on spiking neural networks (SNNs) is also being actively conducted.
- the spiking neural network began as an imitation of the actual biological nervous system (concepts about memory, learning, and reasoning), it only adopts a similar network structure and differs from the actual biological nervous system in various aspects such as signal transmission, information expression method, and learning method. There is a difference.
- hardware-based SNN which operates almost identically to the actual nervous system, can implement ultra-low-power computing systems with high accuracy, and research on this is actively underway.
- a typical neuron circuit is configured to accumulate (integrate) spike signals transmitted from the previous neuron circuit and perform a fire operation to output a new spike signal when the signal accumulates above a reference value.
- Figure 1 is a diagram showing the structure of a typical neuron circuit.
- a typical neuron circuit uses a capacitor to accumulate signals. When a voltage above a certain level is accumulated in the capacitor, the neuron circuit generates a spike signal through a firing operation and transmits it to the next neuron circuit.
- a current mirror circuit or operational amplifier is used to accumulate the spike signal transmitted from the previous neuron circuit in the form of a membrane potential.
- a typical neuron circuit uses a method of processing signals at the voltage domain level.
- the present invention is intended to solve the problems of the prior art described above, and aims to provide a neuron circuit capable of accumulating and firing spiking signals in the time domain.
- a neuron circuit includes a current provider that provides a current adjusted according to one or more spike signals; a first current-controlled oscillator that generates a clock signal whose frequency is adjusted by the current; and an ignition unit that determines whether to generate a spike signal according to the phase difference between the clock signal of the first current-controlled oscillator and the reference clock signal.
- a neuron circuit includes a current provider that provides a current adjusted according to one or more spike signals;
- a signal accumulator that adjusts the accumulation state of the spike signal in the time domain using a clock signal whose frequency is adjusted by the current, and a spike signal when the spike signal is accumulated above the threshold through the signal accumulator.
- the problems of the neuron circuit that accumulates and fires spike signals according to the conventional voltage domain method can be solved.
- the present invention uses a time domain method to generate a clock signal whose frequency is adjusted according to a spike signal received from the outside, and through this, the weight of the spike signal can be accumulated. Through this, the linearity of the neuron circuit can be greatly improved, and inference accuracy can also be greatly improved.
- Figure 1 is a diagram showing the structure of a typical neuron circuit.
- Figure 2 is a block diagram showing the configuration of a neuron circuit according to an embodiment of the present invention.
- Figure 3 is a diagram showing the detailed configuration of a neuron circuit according to an embodiment of the present invention.
- Figure 4 is a diagram for explaining the operating mechanism of a neuron circuit according to an embodiment of the present invention.
- Figure 5 is a diagram showing simulation results of a neuron circuit according to an embodiment of the present invention.
- Figure 2 is a block diagram showing the configuration of a neuron circuit according to an embodiment of the present invention.
- the neuron circuit 100 includes a current providing unit 110, a signal accumulating unit 120, and an ignition unit 130.
- a current providing unit 110 a signal accumulating unit 120
- an ignition unit 130 an ignition unit 130.
- spike signals transmitted from synaptic elements are accumulated in the time domain and ignition is performed.
- the current provider 110 provides a current that is adjusted according to one or more spike signals transmitted from a neuron circuit or synapse element connected to the front end of the neuron circuit 100.
- the current providing unit 110 increases the current and provides it to the signal accumulating unit 120.
- the current providing unit 110 decreases the current and provides it to the signal accumulating unit 120. to provide.
- the signal accumulation unit 120 controls the accumulation state of the spike signal in the time domain using a clock signal whose frequency is adjusted by current.
- a clock signal whose frequency is adjusted by current.
- the frequency of the clock signal is increased by an increased current
- the spike signal represents a negative weight
- the frequency of the clock signal is decreased by a reduced current. It is possible to control the accumulation state of the spike signal through this. In other words, as more spike signals with positive weights are received, the frequency of the clock signal increases, allowing the firing operation to occur faster.
- the ignition unit 130 outputs a spike signal when the spike signal is accumulated above the threshold through the signal accumulation unit 120.
- Figure 3 is a diagram showing the detailed configuration of a neuron circuit according to an embodiment of the present invention.
- the current provider 110 includes a constant current source 112 that supplies current at a preset level and a plurality of current mirror circuits 114 and 116 connected in parallel to the constant current source 112. Additionally, a plurality of current providing units 110 may be coupled to the signal accumulating unit 120 in parallel.
- the constant current source 112 includes a switching element whose one terminal is connected to a high voltage terminal and the other terminal is connected to each of the current mirror circuits 114 and 116, and whose switching is controlled by a control signal (V B ).
- the constant current source 112 supplies current at a preset level in response to the application of the control signal (V B ).
- a spike signal transmitted from the previous neuron circuit, etc. is input to the input unit of each current mirror circuit (114, 116).
- the current applied to the input portion of each current mirror circuit 114 and 116 varies depending on the weight value of the spike signal. That is, when a spike signal with a positive weight is applied, a certain level of current flows, and then the current does not flow or decreases for a certain period of time when the spike signal is received. Additionally, when a spike signal with a negative weight is applied, a certain level of current flows, and then the current flows further or increases for a predetermined period of time when the spike signal is applied.
- the current provided to the output portion of the current mirror circuit is a constant current source (112). ) is supplied by.
- the output terminal of the constant current source 112 is also connected to the signal accumulation unit 120, and since the sum of the current provided to each current mirror circuit and the signal accumulation unit 120 to the constant current source 112 is constant, each current mirror If the current applied to the output part of the circuit changes, the current supplied to the signal accumulation unit 120 also changes accordingly.
- the current mirror circuit 114 when the spike signal is a value representing a positive weight, the current applied to the input portion of the current mirror circuit 114 temporarily decreases, and accordingly, the current mirror circuit 114 ) also temporarily decreases, so the current supplied to the first current control oscillator 122 of the signal accumulation unit 120 by the constant current source 112 temporarily increases.
- the current mirror circuit 116 when the spike signal has a value representing a negative weight, the current applied to the input portion of the current mirror circuit 116 temporarily increases, and accordingly, the current mirror circuit 116 ) also temporarily increases, so the current supplied to the first current control oscillator 122 of the signal accumulation unit 120 by the constant current source 112 temporarily decreases.
- the level of current provided by the current providing unit 110 to the signal accumulating unit 120 varies depending on the weight of the spike signal applied to the plurality of current mirror circuits.
- the current providing unit 110 includes a plurality of switching elements, and NMOS or PMOS elements may be used.
- NMOS or PMOS elements may be used.
- NMOS elements Preferably, only NMOS elements can be used as each switching element.
- a mismatch may occur between PMOS and NMOS, and weight errors may reduce the accuracy of inference, so using NMOS can help improve performance.
- the use of both PMOS and NMOS as the current providing unit 110 is not excluded from the scope of the present invention.
- the signal accumulation unit 120 adjusts the accumulation state of the spike signal by adjusting the phase difference between the clock signal, the frequency of which is adjusted by current, and the reference clock signal. At this time, the phase difference between clock signals is used to accumulate spike signals, similar to the membrane potential for accumulating spike signals in the prior art.
- a first current control oscillator 122 that generates a clock signal (CLK) whose frequency is adjusted by the current (I CLK ) provided by the current provider 110 and a reference clock signal (I REF) generated by the reference current (I REF ) and a second current controlled oscillator 124 that generates REF).
- CLK clock signal
- I REF reference clock signal
- a current controlled oscillator outputs a clock signal with a predetermined frequency, and the frequency is controlled by current. That is, the first current control oscillator 122 increases the frequency of the clock signal output as the current value of the current provider 110 increases, and the clock signal output as the current value of the current provider 110 decreases. The frequency of the signal decreases.
- the current controlled oscillator may have a structure in which a plurality of inverters are connected in series as shown, but the present invention is not limited thereto.
- the second current control oscillator 124 does not need to be included in all neuron circuits, and can be used by providing the reference clock signal provided by the second current control oscillator 124 to other neuron circuits. That is, some neuron circuits may be implemented with a built-in second current control oscillator 124, and other neuron circuits may be implemented by receiving a reference clock signal from an external circuit. In this case, the increase in area due to the addition of the second current control oscillator 124 can be minimized.
- the ignition unit 130 determines whether to generate a spike signal according to the phase difference between the clock signal of the first current control oscillator 122 and the reference clock signal.
- the ignition unit 130 includes a first counter 131 that counts the number of clocks of the clock signal (CLK) output by the first current control oscillator 122, a reference clock signal (REF) received from the outside, or 2
- a second counter 133 that counts the number of clocks of the reference clock signal (REF) output by the current control oscillator 124, and a spike signal based on the output values of the first counter 131 and the second counter 133. It includes a flip-flop 134 that outputs.
- the ignition unit 130 includes a first operator 135 that compares the output of the first counter 131 and the output of the second counter 133 and transfers the difference value to the flip-flop 136.
- a mux 137 that outputs a value corresponding to the difference value to the second counter 133 according to the output of 135, and a second operator that adds the output of the mux 137 to the output of the second counter 133. It may include (136).
- the first counter 131 and the second counter 133 may count the number of clocks of each clock signal in a manner that increases by 1 for each rising edge of each clock signal.
- the first operator 135 calculates the difference between the first counter 131 and the second counter 133 and provides the difference to the flip-flop 134. For example, when the difference between the first counter 131 and the second counter 133 becomes 1, a spike signal is ignited through the flip-flop 134. Meanwhile, the result of the first operator 135 is transmitted to the mux 137, and when the difference is 1, the mux 137 transmits 1 corresponding to the difference to the second operator 136, 2 The value of the counter 133 is increased by 1. Through this process, after the spike signal is ignited, the number of clocks of the first counter 131 and the second counter 133 are made to be the same.
- the number of clocks of the first counter 131 is smaller than the number of clocks of the second counter 133, and in this case, the spike signal is prevented from being fired.
- Figure 4 is a diagram for explaining the operating mechanism of a neuron circuit according to an embodiment of the present invention.
- a spike signal is generated when the voltage accumulated at the membrane potential is above the threshold, and a 'reset to zero' mechanism is used to discharge the membrane potential to 0V.
- the present invention implements 'reset by subtraction' in which only the increased spike signal is subtracted.
- the present invention implements 'reset by subtraction' in which only the increased spike signal is subtracted.
- Figure 5 is a diagram showing simulation results of a neuron circuit according to an embodiment of the present invention.
- a spike signal is generated when the number of pulses of the clock output from the first current control oscillator 122 and the number of pulses of the reference clock differ by 1 (i.e., the phase difference of the pulse is 2 ⁇ ). I was able to.
- the inference accuracy on MNIST was 99.01% (ideal neuron) and 95.69% (conventional voltage domain), respectively. neurons) and 99.02% (time domain neurons of the present invention), confirming that the inference accuracy of the neuron circuit according to the present invention was higher than that of the conventional neuron circuit. This is a result obtained by improving linearity through time domain signal processing according to the present invention.
- the neuron circuit of the present invention can achieve higher energy efficiency compared to conventional methods.
- 2 ⁇ (corresponding to 1 difference between the output values of each counter) is used as a threshold to minimize the number of bits of the digital circuit, which has the effect of minimizing power consumption and area. Additionally, energy efficiency can be greatly improved by lowering the supply voltage by configuring the main circuit digitally.
- Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and non-volatile media, removable and non-removable media. Additionally, computer-readable media may include computer storage media. Computer storage media includes both volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.
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)
- Massaging Devices (AREA)
- Logic Circuits (AREA)
Abstract
A neuronal circuit according to one aspect of the present invention comprises: a current provision unit for providing a current adjusted according to one or more spike signals; a signal accumulation unit for adjusting the accumulated state of the spike signals at the time domain by using a clock signal of which the frequency is adjusted by means of the current; and a firing unit for outputting the spike signals if the spike signals are accumulated at a critical value or higher through the signal accumulation unit.
Description
본 발명은 스파이킹 뉴럴 네트워크 제공 장치등에 사용되는 뉴런 회로에 대한 것이다.The present invention relates to a neuron circuit used in a spiking neural network provision device.
최근 인공신경망에 기반한 컴퓨팅 기술이 발전함과 더불어, 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)에 대한 연구 개발도 활발하게 이루어지고 있다. 스파이킹 뉴럴 네트워크는 실제 생물학적 신경계의 모방(기억, 학습, 추론에 대한 개념)으로부터 시작되었지만, 유사한 네트워크 구조를 채택할 뿐, 신호 전달 및 정보 표현 방법, 학습 방법 등 다양한 측면에서 실제 생물학적 신경계와는 차이점이 있다. 한편, 실제 신경계와 거의 동일하게 동작하는 하드웨어 기반 SNN은 높은 정확도와 동시에 초저전력 컴퓨팅 시스템을 구현할 수 있어, 이에 대한 연구가 활발히 진행되고 있다. With the recent advancement of computing technology based on artificial neural networks, research and development on spiking neural networks (SNNs) is also being actively conducted. Although the spiking neural network began as an imitation of the actual biological nervous system (concepts about memory, learning, and reasoning), it only adopts a similar network structure and differs from the actual biological nervous system in various aspects such as signal transmission, information expression method, and learning method. There is a difference. Meanwhile, hardware-based SNN, which operates almost identically to the actual nervous system, can implement ultra-low-power computing systems with high accuracy, and research on this is actively underway.
일반적인 뉴런 회로는 이전 뉴런 회로로부터 전달되는 스파이크 신호를 축적하고(integrate), 신호가 기준치 이상으로 축적되면 새로운 스파이크 신호를 출력하는 발화(fire) 동작을 수행하도록 구성된다.A typical neuron circuit is configured to accumulate (integrate) spike signals transmitted from the previous neuron circuit and perform a fire operation to output a new spike signal when the signal accumulates above a reference value.
도 1은 통상적인 뉴런 회로의 구조를 도시한 도면이다.Figure 1 is a diagram showing the structure of a typical neuron circuit.
도 1의 (a)에 도시된 바와 같이, 통상적인 뉴런 회로는 신호의 축적을 위해 커패시터를 사용한다. 뉴런 회로는 커패시터에 일정 수준이상의 전압이 축적된 경우, 발화 동작을 통해 스파이크 신호를 생성하여 다음 뉴런 회로로 전달한다. 이를 위해, 커런트 미러 회로나 OP 앰프 등을 사용하여, 이전 뉴런 회로에서 전달되는 스파이크 신호를 막전위(membrane potential) 형태로 축적한다. 즉, 통상의 뉴런 회로에서는 전압 도메인 차원에서 신호를 처리하는 방법을 사용하고 있다.As shown in Figure 1(a), a typical neuron circuit uses a capacitor to accumulate signals. When a voltage above a certain level is accumulated in the capacitor, the neuron circuit generates a spike signal through a firing operation and transmits it to the next neuron circuit. For this purpose, a current mirror circuit or operational amplifier is used to accumulate the spike signal transmitted from the previous neuron circuit in the form of a membrane potential. In other words, a typical neuron circuit uses a method of processing signals at the voltage domain level.
특히, 커런트 미러를 사용하는 방식에서는 채널 길이 변조(channel length modulation)에 의해 막전위의 값에 따라 커런트 미러에서 흐르는 전류의 양이 변한다. 따라서, 동일한 스파이크 신호에 대해서도, 막전위의 증가량이 일정하지 않은 문제점이 있다. 이러한 비선형성은 SNN의 성능 저하를 야기한다. 또한, OP 앰프를 사용하는 방법의 경우, OP 앰프의 이득과 선형성을 보장하기 위해 높은 공급 전압이 필요하기 때문에 전력 소모가 크다. 이러한 문제는 공정 미세화와 공급 전압의 감소에 따라 악화된다. 낮은 출력 임피던스(output impedance), 내재 이득(intrinsic gain)과 디바이스에서 발생하는 누설 전류의 증가는 선형성을 악화시키고, SNN의 성능을 저하한다. 낮은 공급 전압 또한 전압 여유(voltage headroom)와 막전위의 범위를 제한하기 때문에 SNN의 성능 저하를 야기한다. 이를 해결하기 위해 디바이스 크기를 증가시킬 경우, 전력 소모와 면적의 증가가 불가피하다. 따라서 더 복잡하고 큰 인공 신경망을 구현하기 위해서는 이러한 전압 도메인 차원에서의 뉴런 회로가 가진 문제점을 해결하는 것이 필요하다.In particular, in a method using a current mirror, the amount of current flowing in the current mirror changes depending on the value of the membrane potential due to channel length modulation. Therefore, there is a problem that the amount of increase in membrane potential is not constant even for the same spike signal. This nonlinearity causes the performance of SNN to deteriorate. Additionally, the method using an operational amplifier consumes large power because a high supply voltage is required to ensure the gain and linearity of the operational amplifier. These problems become worse as process miniaturization and supply voltage decrease. Low output impedance, intrinsic gain, and increased leakage current occurring in the device worsen linearity and degrade the performance of the SNN. Low supply voltage also causes performance degradation of the SNN because it limits the voltage headroom and membrane potential range. To solve this problem, when increasing the device size, an increase in power consumption and area is inevitable. Therefore, in order to implement a more complex and larger artificial neural network, it is necessary to solve the problems of neuron circuits at the voltage domain level.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 시간 도메인에서 스파이킹 신호를 축적하고 발화할 수 있는 뉴런 회로를 제공하는데 목적이 있다. The present invention is intended to solve the problems of the prior art described above, and aims to provide a neuron circuit capable of accumulating and firing spiking signals in the time domain.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical challenge that this embodiment aims to achieve is not limited to the technical challenges described above, and other technical challenges may exist.
상술한 기술적 과제를 해결하기 위한 기술적 수단으로서 본 발명의 일 측면에 따른 뉴런 회로는, 하나 이상의 스파이크 신호에 따라 조절되는 전류를 제공하는 전류 제공부; 상기 전류에 의해 그 주파수가 조절되는 클럭 신호를 생성하는 제1 전류 제어 발진기; 및 상기 제1 전류 제어 발진기의 클럭 신호와 기준 클럭 신호의 위상차에 따라 스파이크 신호의 생성 여부를 결정하는 발화부를 포함한다.As a technical means for solving the above-described technical problem, a neuron circuit according to one aspect of the present invention includes a current provider that provides a current adjusted according to one or more spike signals; a first current-controlled oscillator that generates a clock signal whose frequency is adjusted by the current; and an ignition unit that determines whether to generate a spike signal according to the phase difference between the clock signal of the first current-controlled oscillator and the reference clock signal.
또한, 본 발명의 다른 측면에 따른 뉴런 회로는, 하나 이상의 스파이크 신호에 따라 조절되는 전류를 제공하는 전류 제공부; 상기 전류에 의해 그 주파수가 조절되는 클럭 신호를 이용하여, 타임 도메인 차원에서 상기 스파이크 신호의 축적 상태를 조절하는 신호 축적부 및 상기 신호 축적부를 통해 스파이크 신호가 임계값 이상으로 축적된 경우 스파이크 신호를 출력하는 발화부를 포함한다.In addition, a neuron circuit according to another aspect of the present invention includes a current provider that provides a current adjusted according to one or more spike signals; A signal accumulator that adjusts the accumulation state of the spike signal in the time domain using a clock signal whose frequency is adjusted by the current, and a spike signal when the spike signal is accumulated above the threshold through the signal accumulator. Includes an output utterance unit.
전술한 본 발명의 뉴런 회로에 의하면, 종래의 전압 도메인 방식에 따라 스파이크 신호를 축적하고 발화하는 뉴런 회로가 가진 문제점을 해소할 수 있다. 본 발명은 시간 도메인 방식을 사용하여, 외부에서 수신되는 스파이크 신호에 따라 주파수가 조절되는 클럭 신호를 생성하고, 이를 통해 스파이크 신호의 가중치를 축적할 수 있다. 이를 통해, 뉴런 회로의 선형성을 크게 개선할 수 있으며, 추론 정확도도 크게 향상시킬 수 있다.According to the neuron circuit of the present invention described above, the problems of the neuron circuit that accumulates and fires spike signals according to the conventional voltage domain method can be solved. The present invention uses a time domain method to generate a clock signal whose frequency is adjusted according to a spike signal received from the outside, and through this, the weight of the spike signal can be accumulated. Through this, the linearity of the neuron circuit can be greatly improved, and inference accuracy can also be greatly improved.
도 1은 통상적인 뉴런 회로의 구조를 도시한 도면이다.Figure 1 is a diagram showing the structure of a typical neuron circuit.
도 2은 본 발명의 일 실시예에 따른 뉴런 회로의 구성을 도시한 블록도이다.Figure 2 is a block diagram showing the configuration of a neuron circuit according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 뉴런 회로의 상세 구성을 도시한 도면이다.Figure 3 is a diagram showing the detailed configuration of a neuron circuit according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예 따른 뉴런 회로의 동작 메커니즘을 설명하기 위한 도면이다.Figure 4 is a diagram for explaining the operating mechanism of a neuron circuit according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예 따른 뉴런 회로의 시뮬레이션 결과를 도시한 도면이다.Figure 5 is a diagram showing simulation results of a neuron circuit according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Below, with reference to the attached drawings, embodiments of the present application will be described in detail so that those skilled in the art can easily implement them. However, the present application may be implemented in various different forms and is not limited to the embodiments described herein. In order to clearly explain the present application in the drawings, parts that are not related to the description are omitted, and similar reference numerals are assigned to similar parts throughout the specification.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. Throughout this specification, when a part is said to be “connected” to another part, this includes not only the case where it is “directly connected,” but also the case where it is “electrically connected” with another element in between. do.
본원 명세서 전체에서, 어떤 부재가 다른 부재 “상에” 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout the specification of the present application, when a member is said to be located “on” another member, this includes not only the case where the member is in contact with the other member, but also the case where another member exists between the two members.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the attached drawings.
도 2는 본 발명의 일 실시예에 따른 뉴런 회로의 구성을 도시한 블록도이다.Figure 2 is a block diagram showing the configuration of a neuron circuit according to an embodiment of the present invention.
도시된 바와 같이 뉴런 회로(100)는 전류 제공부(110), 신호 축적부(120) 및 발화부(130)를 포함한다. 본 발명에서는 종래 기술과는 달리, 시냅스 소자로부터 전달되는 스파이크 신호를 타임 도메인 차원에서 축적하고, 발화하는 동작을 수행한다.As shown, the neuron circuit 100 includes a current providing unit 110, a signal accumulating unit 120, and an ignition unit 130. In the present invention, unlike the prior art, spike signals transmitted from synaptic elements are accumulated in the time domain and ignition is performed.
전류 제공부(110)는 뉴런 회로(100)의 전단에 연결된 뉴런 회로 또는 시냅스 소자 등으로부터 전달되는 하나 이상의 스파이크 신호에 따라 조절되는 전류를 제공한다. 전류 제공부(110)는 스파이크 신호가 양의 가중치를 나타내는 경우 전류를 증가시켜 신호 축적부(120)에 제공하고, 스파이크 신호가 음의 가중치를 나타내는 경우 전류를 감소시켜 신호 축적부(120)에 제공한다. The current provider 110 provides a current that is adjusted according to one or more spike signals transmitted from a neuron circuit or synapse element connected to the front end of the neuron circuit 100. When the spike signal indicates a positive weight, the current providing unit 110 increases the current and provides it to the signal accumulating unit 120. When the spike signal indicates a negative weight, the current providing unit 110 decreases the current and provides it to the signal accumulating unit 120. to provide.
신호 축적부(120)는 전류에 의해 주파수가 조절되는 클럭 신호를 이용하여 타임 도메인 차원에서 스파이크 신호의 축적 상태를 조절한다. 즉, 스파이크 신호가 양의 가중치를 나타내는 경우 증가된 전류에 의해 클럭 신호의 주파수를 증가시키고, 스파이크 신호가 음의 가중치를 나타내는 경우 감소된 전류에 의해 클럭 신호의 주파수를 감소시키는 형태로, 클럭 신호를 조절하고 이를 통해 스파이크 신호의 축적 상태를 조절할 수 있다. 즉, 양의 가중치를 갖는 스파이크 신호를 많이 수신할수록, 클럭 신호의 주파수가 증가하여 발화 동작이 더 빠르게 일어나도록 한다.The signal accumulation unit 120 controls the accumulation state of the spike signal in the time domain using a clock signal whose frequency is adjusted by current. In other words, when the spike signal represents a positive weight, the frequency of the clock signal is increased by an increased current, and when the spike signal represents a negative weight, the frequency of the clock signal is decreased by a reduced current. It is possible to control the accumulation state of the spike signal through this. In other words, as more spike signals with positive weights are received, the frequency of the clock signal increases, allowing the firing operation to occur faster.
발화부(130)는 신호 축적부(120)를 통해 스파이크 신호가 임계값 이상으로 축적된 경우 스파이크 신호를 출력한다.The ignition unit 130 outputs a spike signal when the spike signal is accumulated above the threshold through the signal accumulation unit 120.
도 3은 본 발명의 일 실시예에 따른 뉴런 회로의 상세 구성을 도시한 도면이다.Figure 3 is a diagram showing the detailed configuration of a neuron circuit according to an embodiment of the present invention.
전류 제공부(110)는 미리 설정된 레벨의 전류를 공급하는 정전류원(112)과 정전류원(112)에 병렬 접속된 복수의 커런트 미러 회로(114, 116)를 포함한다. 또한, 복수의 전류 제공부(110)가 병렬적으로 신호 축적부(120)에 결합될 수 있다.The current provider 110 includes a constant current source 112 that supplies current at a preset level and a plurality of current mirror circuits 114 and 116 connected in parallel to the constant current source 112. Additionally, a plurality of current providing units 110 may be coupled to the signal accumulating unit 120 in parallel.
정전류원(112)은 일측 단자가 고전압 단자에 접속되고, 타측 단자는 각 커런트 미러 회로(114, 116)에 접속되며, 제어신호(VB)에 의해 스위칭이 조절되는 스위칭 소자를 포함한다. 정전류원(112)은 제어신호(VB)의 인가에 따라, 미리 설정된 레벨의 전류를 공급한다.The constant current source 112 includes a switching element whose one terminal is connected to a high voltage terminal and the other terminal is connected to each of the current mirror circuits 114 and 116, and whose switching is controlled by a control signal (V B ). The constant current source 112 supplies current at a preset level in response to the application of the control signal (V B ).
각 커런트 미러 회로(114, 116)의 입력부에는 이전 뉴런 회로 등에서 전달되는 스파이크 신호가 입력된다. 이때, 스파이크 신호의 가중치 값에 따라 각 커런트 미러 회로(114, 116)의 입력부에 인가되는 전류가 달라진다. 즉, 양의 가중치를 갖는 스파이크 신호가 인가되는 경우에는 일정 레벨의 전류가 흐르다가 스파이크 신호가 수신되는 소정시간 동안 전류가 흐르지 않거나 감소하게 된다. 또한, 음의 가중치를 갖는 스파이크 신호가 인가되는 경우에는 일정 레벨의 전류가 흐르다가 스파이크 신호가 인가되는 소정시간 동안 전류가 더 흐르거나 증가하게 된다.A spike signal transmitted from the previous neuron circuit, etc. is input to the input unit of each current mirror circuit (114, 116). At this time, the current applied to the input portion of each current mirror circuit 114 and 116 varies depending on the weight value of the spike signal. That is, when a spike signal with a positive weight is applied, a certain level of current flows, and then the current does not flow or decreases for a certain period of time when the spike signal is received. Additionally, when a spike signal with a negative weight is applied, a certain level of current flows, and then the current flows further or increases for a predetermined period of time when the spike signal is applied.
한편, 각 커런트 미러 회로의 입력부에 인가되는 전류에 의해, 이와 대칭되는 커런트 미러 회로의 출력부에는 동일한 전류가 반사되어 인가되는데, 이때, 커런트 미러 회로의 출력부에 제공되는 전류는 정전류원(112)에 의해 공급된다. 또한, 정전류원(112)의 출력단은 신호 축적부(120)에도 접속되고, 정전류원(112)에 각 커런트 미러 회로와 신호 축적부(120)에 제공하는 전류의 합은 일정하므로, 각 커런트 미러 회로의 출력부에 인가되는 전류가 변화하면, 이에 따라 신호 축적부(120)에 공급되는 전류도 변화하게 된다.Meanwhile, due to the current applied to the input portion of each current mirror circuit, the same current is reflected and applied to the output portion of the current mirror circuit that is symmetrical to the current mirror circuit. At this time, the current provided to the output portion of the current mirror circuit is a constant current source (112). ) is supplied by. In addition, the output terminal of the constant current source 112 is also connected to the signal accumulation unit 120, and since the sum of the current provided to each current mirror circuit and the signal accumulation unit 120 to the constant current source 112 is constant, each current mirror If the current applied to the output part of the circuit changes, the current supplied to the signal accumulation unit 120 also changes accordingly.
즉, 커런트 미러 회로(114)에 도시된 바와 같이, 스파이크 신호가 양의 가중치를 나타내는 값인 경우, 커런트 미러 회로(114)의 입력부에 인가되는 전류가 일시적으로 감소하고, 이에 따라 커런트 미러 회로(114)의 출력부에 인가되는 전류도 일시적으로 감소하게 되므로, 정전류원(112)에 의해 신호 축적부(120)의 제1 전류 제어 발진기(122)에 공급되는 전류가 일시적으로 증가하게 된다.That is, as shown in the current mirror circuit 114, when the spike signal is a value representing a positive weight, the current applied to the input portion of the current mirror circuit 114 temporarily decreases, and accordingly, the current mirror circuit 114 ) also temporarily decreases, so the current supplied to the first current control oscillator 122 of the signal accumulation unit 120 by the constant current source 112 temporarily increases.
또한, 커런트 미러 회로(116)에 도시된 바와 같이, 스파이크 신호가 음의 가중치를 나타내는 값인 경우, 커런트 미러 회로(116)의 입력부에 인가되는 전류가 일시적으로 증가하고, 이에 따라 커런트 미러 회로(116)의 출력부에 인가되는 전류도 일시적으로 증가하게 되므로, 정전류원(112)에 의해 신호 축적부(120)의 제1 전류 제어 발진기(122)에 공급되는 전류가 일시적으로 감소하게 된다.In addition, as shown in the current mirror circuit 116, when the spike signal has a value representing a negative weight, the current applied to the input portion of the current mirror circuit 116 temporarily increases, and accordingly, the current mirror circuit 116 ) also temporarily increases, so the current supplied to the first current control oscillator 122 of the signal accumulation unit 120 by the constant current source 112 temporarily decreases.
이와 같이, 복수의 커런트 미러 회로에 인가되는 스파이크 신호의 가중치에 따라 전류 제공부(110)가 신호 축적부(120)에 제공하는 전류의 레벨이 달라지게 된다.In this way, the level of current provided by the current providing unit 110 to the signal accumulating unit 120 varies depending on the weight of the spike signal applied to the plurality of current mirror circuits.
한편, 전류 제공부(110)는 복수의 스위칭 소자를 포함하는데, NMOS 또는 PMOS 소자등을 사용할 수 있다. 바람직하게는, 각 스위칭 소자로서 NMOS 소자만을 사용할 수 있다. PMOS와 NMOS 사이에 불일치(mismatch)가 발생하고, 가중치 오류로 인해 추론의 정확성이 낮아질 수 있어, NMOS를 사용하는 것이 성능 향상에 도움을 줄 수 있다. 그러나, 전류 제공부(110)로서 PMOS와 NMOS를 모두 사용하는 것이 본 발명의 권리 범위에서 제외되는 것인 아니다.Meanwhile, the current providing unit 110 includes a plurality of switching elements, and NMOS or PMOS elements may be used. Preferably, only NMOS elements can be used as each switching element. A mismatch may occur between PMOS and NMOS, and weight errors may reduce the accuracy of inference, so using NMOS can help improve performance. However, the use of both PMOS and NMOS as the current providing unit 110 is not excluded from the scope of the present invention.
신호 축적부(120)는 전류에 의해 그 주파수가 조절되는 클럭 신호와 기준 클럭 신호의 위상차를 조절하여 스파이크 신호의 축적 상태를 조절한다. 이때, 클럭 신호간의 위상차는 종래 기술에서 스파이크 신호를 축적하는 막전위와 마찬가지로, 스파이크 신호를 축적하는 용도로 활용된다.The signal accumulation unit 120 adjusts the accumulation state of the spike signal by adjusting the phase difference between the clock signal, the frequency of which is adjusted by current, and the reference clock signal. At this time, the phase difference between clock signals is used to accumulate spike signals, similar to the membrane potential for accumulating spike signals in the prior art.
전류 제공부(110)가 제공하는 전류(ICLK)에 의해 그 주파수가 조절되는 클럭 신호(CLK)를 생성하는 제1 전류 제어 발진기(122)와 기준 전류(IREF)에 의한 기준 클럭 신호(REF)를 생성하는 제2 전류 제어 발진기(124)를 포함한다.A first current control oscillator 122 that generates a clock signal (CLK) whose frequency is adjusted by the current (I CLK ) provided by the current provider 110 and a reference clock signal (I REF) generated by the reference current (I REF ) and a second current controlled oscillator 124 that generates REF).
전류 제어 발진기(ICO, current controlled oscillator)는 소정의 주파수를 갖는 클럭 신호를 출력하는 것으로, 그 주파수는 전류에 의해 조절된다. 즉, 제1 전류 제어 발진기(122)는 전류 제공부(110)의 전류값이 증가함에 따라 출력되는 클럭 신호의 주파수가 증가하고, 전류 제공부(110)의 전류값이 감소함에 따라 출력되는 클럭 신호의 주파수가 감소하게 된다. 한편, 전류 제어 발진기는 도시된 바와 같이, 복수의 인버터가 직렬 접속된 구조를 가질 수 있으나, 본 발명이 이에 제한되는 것은 아니다.A current controlled oscillator (ICO) outputs a clock signal with a predetermined frequency, and the frequency is controlled by current. That is, the first current control oscillator 122 increases the frequency of the clock signal output as the current value of the current provider 110 increases, and the clock signal output as the current value of the current provider 110 decreases. The frequency of the signal decreases. Meanwhile, the current controlled oscillator may have a structure in which a plurality of inverters are connected in series as shown, but the present invention is not limited thereto.
한편, 제2 전류 제어 발진기(124)의 경우, 모든 뉴런 회로에 포함될 필요는 없으며, 제2 전류 제어 발진기(124)가 제공하는 기준 클럭 신호를 다른 뉴런 회로에도 제공하는 방식으로 사용할 수 있다. 즉, 일부 뉴런 회로는 제2 전류 제어 발진기(124)를 내장하는 형태로 구현되고, 나머지 뉴런 회로는 기준 클럭 신호를 외부 회로에서 수신하는 형태로 구현될 수 있다. 이러한 경우, 제2 전류 제어 발진기(124)의 추가에 따른 면적 증가를 최소화할 수 있다.Meanwhile, the second current control oscillator 124 does not need to be included in all neuron circuits, and can be used by providing the reference clock signal provided by the second current control oscillator 124 to other neuron circuits. That is, some neuron circuits may be implemented with a built-in second current control oscillator 124, and other neuron circuits may be implemented by receiving a reference clock signal from an external circuit. In this case, the increase in area due to the addition of the second current control oscillator 124 can be minimized.
발화부(130)는 제1 전류 제어 발진기(122)의 클럭 신호와 기준 클럭 신호의 위상차에 따라 스파이크 신호의 생성 여부를 결정한다. 이를 위해, 발화부(130)는 제1 전류 제어 발진기(122)가 출력하는 클럭 신호(CLK)의 클럭 개수를 계수하는 제1 카운터(131), 외부에서 수신한 기준 클럭 신호(REF) 또는 제2 전류 제어 발진기(124)가 출력하는 기준 클럭 신호(REF)의 클럭 개수를 계수하는 제2 카운터(133) 및 제1 카운터(131)와 제2 카운터(133)의 출력 값에 기초하여 스파이크 신호를 출력하는 플립플롭(134)을 포함한다. The ignition unit 130 determines whether to generate a spike signal according to the phase difference between the clock signal of the first current control oscillator 122 and the reference clock signal. For this purpose, the ignition unit 130 includes a first counter 131 that counts the number of clocks of the clock signal (CLK) output by the first current control oscillator 122, a reference clock signal (REF) received from the outside, or 2 A second counter 133 that counts the number of clocks of the reference clock signal (REF) output by the current control oscillator 124, and a spike signal based on the output values of the first counter 131 and the second counter 133. It includes a flip-flop 134 that outputs.
또한, 발화부(130)는 제1 카운터(131)의 출력과 제2 카운터(133)의 출력을 비교하고 그 차이값을 플립플롭(136)으로 전달하는 제1 연산기(135), 제1 연산기(135)의 출력에 따라 제2 카운터(133)에 상기 차이값에 해당하는 값을 출력하는 먹스(137) 및 먹스(137)의 출력을 제2 카운터(133)의 출력에 합산시키는 제2 연산기(136)를 포함할 수 있다.In addition, the ignition unit 130 includes a first operator 135 that compares the output of the first counter 131 and the output of the second counter 133 and transfers the difference value to the flip-flop 136. A mux 137 that outputs a value corresponding to the difference value to the second counter 133 according to the output of 135, and a second operator that adds the output of the mux 137 to the output of the second counter 133. It may include (136).
제1 카운터(131)와 제2 카운터(133)는 각 클럭 신호의 상승 에지마다 1씩 증가하는 방식으로 각 클럭 신호의 클럭 개수를 계수할 수 있다.The first counter 131 and the second counter 133 may count the number of clocks of each clock signal in a manner that increases by 1 for each rising edge of each clock signal.
제1 연산기(135)는 제1 카운터(131)와 제2 카운터(133)의 차이를 산출하여, 플립플롭(134)으로 제공한다. 예를 들어, 제1 카운터(131)와 제2 카운터(133)의 차이가 1이 되면, 플립플롭(134)을 통해 스파이크 신호가 발화되도록 한다. 한편, 제1 연산기(135)의 결과는 먹스(137)로 전달되고, 그 차이가 1 인 경우, 먹스(137)가 그 차이에 해당하는 1을 제2 연산기(136)로 전달하도록 하여, 제2 카운터(133)의 값이 1만큼 증가하도록 한다. 이러한 과정을 통해, 스파이크 신호가 발화된 이후, 제1 카운터(131)와 제2 카운터(133)의 클럭 개수가 동일해지도록 한다.The first operator 135 calculates the difference between the first counter 131 and the second counter 133 and provides the difference to the flip-flop 134. For example, when the difference between the first counter 131 and the second counter 133 becomes 1, a spike signal is ignited through the flip-flop 134. Meanwhile, the result of the first operator 135 is transmitted to the mux 137, and when the difference is 1, the mux 137 transmits 1 corresponding to the difference to the second operator 136, 2 The value of the counter 133 is increased by 1. Through this process, after the spike signal is ignited, the number of clocks of the first counter 131 and the second counter 133 are made to be the same.
이와 같은, 구성에 따라, 제1 전류 제어 발진기(122)의 클럭과 기준 클럭 간의 위상차가 2π가 되면, 제1 카운터(131)와 제2 카운터(133)의 클럭 개수의 차이가 1이 되고, 이에 따라 스파이크 신호가 출력된다. 또한, 스파이크 신호가 출력된 이후에는 제1 카운터(131)와 제2 카운터(133)의 클럭 개수가 바로 동일해지도록 처리한다. 이러한 구성을 통해 이후 설명할 '차감에 의한 리셋'을 구현한다.According to this configuration, when the phase difference between the clock of the first current controlled oscillator 122 and the reference clock becomes 2π, the difference between the number of clocks of the first counter 131 and the second counter 133 becomes 1, Accordingly, a spike signal is output. In addition, after the spike signal is output, processing is performed so that the number of clocks of the first counter 131 and the second counter 133 are immediately equal. Through this configuration, ‘reset by subtraction’, which will be explained later, is implemented.
한편, 제1 카운터(131)의 클럭 개수가 제2 카운터(133)의 클럭 개수보다 작아지는 경우가 발생할 수 있으며, 이러한 경우에는 스파이크 신호가 발화되지 않도록 한다.Meanwhile, there may be a case where the number of clocks of the first counter 131 is smaller than the number of clocks of the second counter 133, and in this case, the spike signal is prevented from being fired.
도 4는 본 발명의 일 실시예 따른 뉴런 회로의 동작 메커니즘을 설명하기 위한 도면이다.Figure 4 is a diagram for explaining the operating mechanism of a neuron circuit according to an embodiment of the present invention.
종래의 뉴런 회로에서는 막전위에 축적된 전압이 임계값 이상인 경우 스파이크 신호를 발생시킴과 함께, 막전위를 0V로 방전시키는 '0으로의 리셋(reset to zero)' 메커니즘을 사용한다.In a conventional neuron circuit, a spike signal is generated when the voltage accumulated at the membrane potential is above the threshold, and a 'reset to zero' mechanism is used to discharge the membrane potential to 0V.
이와 달리, 본 발명에서는 스파이크 신호가 증가된 만큼만 차감하는 '차감에 의한 리셋(reset by subtraction)'을 구현한다. 이를 위해, 앞서 설명한 바와 같이, 제1 카운터(131)와 제2 카운터(133)의 클럭 개수에 차이가 발생한 경우, 제1 연산기(135), 제2 연산기(136) 및 먹스(137)를 이용하여, 클럭 개수의 차이를 보상할 수 있는 값을 기준 클럭 신호에 합산시킨다. 이를 통해, 각 클럭의 위상차 또는 클럭 개수만큼을 정확하게 차감할 수 있다.In contrast, the present invention implements 'reset by subtraction' in which only the increased spike signal is subtracted. For this purpose, as described above, when there is a difference in the number of clocks of the first counter 131 and the second counter 133, the first operator 135, the second operator 136, and the mux 137 are used. Thus, a value that can compensate for the difference in the number of clocks is added to the reference clock signal. Through this, the phase difference of each clock or the number of clocks can be accurately subtracted.
도 5는 본 발명의 일 실시예 따른 뉴런 회로의 시뮬레이션 결과를 도시한 도면이다.Figure 5 is a diagram showing simulation results of a neuron circuit according to an embodiment of the present invention.
도시된 바와 같이, 제1 전류 제어 발진기(122)에서 출력된 클럭의 펄스 개수와 기준 클럭의 펄스 개수가 1(즉, 펄스의 위상차가 2π)만큼 차이가 날 때, 스파이크 신호가 발생함을 확인할 수 있었다.As shown, it can be confirmed that a spike signal is generated when the number of pulses of the clock output from the first current control oscillator 122 and the number of pulses of the reference clock differ by 1 (i.e., the phase difference of the pulse is 2π). I was able to.
예를 들어, LeNet-5을 MNIST에 대해 훈련하고 ANN-to-SNN 변환 툴을 사용하여 SNN으로 변환한 결과, MNIST에 대한 추론 정확성은 각각 각각 99.01%(이상적인 뉴런), 95.69%(종래 전압 도메인 뉴런), 99.02%(본 발명의 시간 도메인 뉴런)로 나타나, 본 발명에 따른 뉴런 회로의 추론 정확도가 종래 방식의 뉴런 회로에 비해 높게 나타남을 확인할 수 있었다. 이는 본 발명에 의한 시간 도메인 신호 처리를 통해 선형성을 개선함으로써 획득한 결과이다.For example, when LeNet-5 was trained on MNIST and converted to SNN using the ANN-to-SNN conversion tool, the inference accuracy on MNIST was 99.01% (ideal neuron) and 95.69% (conventional voltage domain), respectively. neurons) and 99.02% (time domain neurons of the present invention), confirming that the inference accuracy of the neuron circuit according to the present invention was higher than that of the conventional neuron circuit. This is a result obtained by improving linearity through time domain signal processing according to the present invention.
또한, 본 발명의 뉴런 회로는 종래 방식에 비해 더 높은 에너지 효율을 구현할 수 있다.Additionally, the neuron circuit of the present invention can achieve higher energy efficiency compared to conventional methods.
한편, 본 발명에서는 디지털 회로의 비트 수를 최소화하기 위해 2π(각 카운터의 출력값의 차이 1에 해당)를 임계값으로 사용하며, 이는 전력 소모와 면적을 최소화하는 효과를 갖는다. 또한, 주요 회로를 디지털로 구성하여 공급 전압을 낮춤으로써 에너지 효율을 크게 개선할 수 있다. Meanwhile, in the present invention, 2π (corresponding to 1 difference between the output values of each counter) is used as a threshold to minimize the number of bits of the digital circuit, which has the effect of minimizing power consumption and area. Additionally, energy efficiency can be greatly improved by lowering the supply voltage by configuring the main circuit digitally.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. One embodiment of the present invention may also be implemented in the form of a recording medium containing instructions executable by a computer, such as program modules executed by a computer. Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and non-volatile media, removable and non-removable media. Additionally, computer-readable media may include computer storage media. Computer storage media includes both volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described with respect to specific embodiments, some or all of their components or operations may be implemented using a computer system having a general-purpose hardware architecture.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The description of the present application described above is for illustrative purposes, and those skilled in the art will understand that the present application can be easily modified into other specific forms without changing its technical idea or essential features. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. For example, each component described as unitary may be implemented in a distributed manner, and similarly, components described as distributed may also be implemented in a combined form.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present application is indicated by the claims described below rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present application.
Claims (15)
- 뉴런 회로에 있어서,In neuron circuits,하나 이상의 스파이크 신호에 따라 조절되는 전류를 제공하는 전류 제공부;A current provider that provides a current adjusted according to one or more spike signals;상기 전류에 의해 그 주파수가 조절되는 클럭 신호를 생성하는 제1 전류 제어 발진기; 및a first current-controlled oscillator that generates a clock signal whose frequency is adjusted by the current; and상기 제1 전류 제어 발진기의 클럭 신호와 기준 클럭 신호의 위상차에 따라 스파이크 신호의 생성 여부를 결정하는 발화부;를 포함하는 뉴런회로.A neuron circuit comprising a firing unit that determines whether to generate a spike signal according to the phase difference between the clock signal of the first current-controlled oscillator and the reference clock signal.
- 제1항에 있어서,According to paragraph 1,상기 전류 제공부는The current providing unit미리 설정된 레벨의 전류를 공급하는 정전류원 및A constant current source that supplies a preset level of current and상기 정전류원에 병렬 접속되며 상기 스파이크 신호를 수신하는 복수의 커런트 미러 회로를 포함하되,A plurality of current mirror circuits connected in parallel to the constant current source and receiving the spike signal,상기 스파이크 신호가 양의 가중치를 나타내는 값인 경우, 상기 커런트 미러 회로의 입력부에 인가되는 전류가 일시적으로 감소하고, 이에 따라 상기 정전류원에 의해 상기 제1 전류 제어 발진기에 공급되는 전류가 일시적으로 증가하게 되고,When the spike signal is a value representing a positive weight, the current applied to the input portion of the current mirror circuit temporarily decreases, and thus the current supplied to the first current control oscillator by the constant current source temporarily increases. become,상기 스파이크 신호가 음의 가중치를 나타내는 값인 경우, 상기 커런트 미러 회로의 입력부에 인가되는 전류가 일시적으로 증가하고, 이에 따라 상기 정전류원에 의해 상기 제1 전류 제어 발진기에 공급되는 전류가 일시적으로 감소하게 되는 것인, 뉴런회로.When the spike signal is a value representing a negative weight, the current applied to the input portion of the current mirror circuit temporarily increases, and accordingly, the current supplied to the first current control oscillator by the constant current source temporarily decreases. It is a neuron circuit.
- 제1항에 있어서,According to paragraph 1,상기 제1 전류 제어 발진기는 상기 전류 제공부의 전류값이 증가함에 따라 출력되는 클럭 신호의 주파수가 증가하고, 상기 전류 제공부의 전류값이 감소함에 따라 출력되는 클럭 신호의 주파수가 감소하는 것인, 뉴런회로.The first current control oscillator is a neuron in which the frequency of the clock signal output increases as the current value of the current provider increases, and the frequency of the clock signal output decreases as the current value of the current provider decreases. Circuit.
- 제1항에 있어서,According to paragraph 1,상기 발화부는 The ignition part상기 제1 전류 제어 발진기가 출력하는 클럭 신호의 클럭 개수를 계수하는 제1 카운터, 상기 기준 클럭 신호의 클럭 개수를 계수하는 제2 카운터 및 상기 제1 카운터와 제2 카운터의 출력 값에 기초하여 스파이크 신호를 출력하는 플립플롭을 포함하는 것인, 뉴런회로.A first counter counting the number of clocks of the clock signal output from the first current controlled oscillator, a second counter counting the number of clocks of the reference clock signal, and a spike based on the output values of the first counter and the second counter A neuron circuit that includes a flip-flop that outputs a signal.
- 제4항에 있어서,According to paragraph 4,상기 발화부는 상기 제1 카운터의 출력과 상기 제2 카운터의 출력을 비교하고 그 차이값을 상기 플립플롭으로 전달하는 제1 연산기,The ignition unit compares the output of the first counter and the output of the second counter and transmits the difference to the flip-flop;상기 제1 연산기의 출력에 따라, 상기 제2 카운터에 상기 차이값에 해당하는 값을 출력하는 먹스 및A mux that outputs a value corresponding to the difference value to the second counter according to the output of the first operator, and상기 먹스의 출력을 상기 제2 카운터의 출력에 합산시키는 제2 연산기를 포함하는, 뉴런 회로. A neuron circuit comprising a second operator that adds the output of the mux to the output of the second counter.
- 제1항에 있어서,According to paragraph 1,상기 스파이크 신호의 가중치에 따라 상기 전류 제공부의 전류값이 증가 또는 감소하고, 상기 전류값의 증가 또는 감소에 따라 상기 제1 전류 제어 발진기가 출력하는 클럭 신호의 주파수가 증가 또는 감소하는 것인, 뉴런회로.A neuron, wherein the current value of the current provider increases or decreases according to the weight of the spike signal, and the frequency of the clock signal output from the first current control oscillator increases or decreases according to the increase or decrease of the current value. Circuit.
- 제1항에 있어서,According to paragraph 1,기준 전류를 공급받아 상기 기준 클럭 신호를 생성하는 제2 전류 제어 발진기를 더 포함하는, 뉴런회로.A neuron circuit further comprising a second current-controlled oscillator that receives a reference current and generates the reference clock signal.
- 뉴런 회로에 있어서,In neuron circuits,하나 이상의 스파이크 신호에 따라 조절되는 전류를 제공하는 전류 제공부;A current provider that provides a current adjusted according to one or more spike signals;상기 전류에 의해 그 주파수가 조절되는 클럭 신호를 이용하여, 타임 도메인 차원에서 상기 스파이크 신호의 축적 상태를 조절하는 신호 축적부 및A signal accumulation unit that controls the accumulation state of the spike signal in the time domain using a clock signal whose frequency is adjusted by the current, and상기 신호 축적부를 통해 스파이크 신호가 임계값 이상으로 축적된 경우 스파이크 신호를 출력하는 발화부를 포함하는, 뉴런회로.A neuron circuit comprising a firing unit that outputs a spike signal when the spike signal is accumulated above a threshold through the signal accumulation unit.
- 제8항에 있어서,According to clause 8,상기 신호 축적부는The signal accumulation unit상기 전류에 의해 그 주파수가 조절되는 클럭 신호와 기준 클럭 신호의 위상차를 조절하여 상기 스파이크 신호의 축적 상태를 조절하는 것인, 뉴런회로.A neuron circuit that adjusts the accumulation state of the spike signal by adjusting the phase difference between a clock signal whose frequency is adjusted by the current and a reference clock signal.
- 제8항에 있어서,According to clause 8,상기 전류 제공부는The current providing unit미리 설정된 레벨의 전류를 공급하는 정전류원 및A constant current source that supplies a preset level of current and상기 정전류원에 병렬 접속되며 상기 스파이크 신호를 수신하는 복수의 커런트 미러 회로를 포함하되,A plurality of current mirror circuits connected in parallel to the constant current source and receiving the spike signal,상기 스파이크 신호가 양의 가중치를 나타내는 값인 경우, 상기 커런트 미러 회로의 입력부에 인가되는 전류가 일시적으로 감소하고, 이에 따라 상기 정전류원에 의해 상기 제1 전류 제어 발진기에 공급되는 전류가 일시적으로 증가하게 되고,When the spike signal is a value representing a positive weight, the current applied to the input portion of the current mirror circuit temporarily decreases, and thus the current supplied to the first current control oscillator by the constant current source temporarily increases. become,상기 스파이크 신호가 음의 가중치를 나타내는 값인 경우, 상기 커런트 미러 회로의 입력부에 인가되는 전류가 일시적으로 증가하고, 이에 따라 상기 정전류원에 의해 상기 제1 전류 제어 발진기에 공급되는 전류가 일시적으로 감소하게 되는 것인, 뉴런회로.When the spike signal is a value representing a negative weight, the current applied to the input portion of the current mirror circuit temporarily increases, and accordingly, the current supplied to the first current control oscillator by the constant current source temporarily decreases. It is a neuron circuit.
- 제8항에 있어서,According to clause 8,상기 신호 축적부는The signal accumulation unit상기 전류에 의해 그 주파수가 조절되는 클럭 신호를 생성하는 제1 전류 제어 발진기를 포함하고, A first current-controlled oscillator that generates a clock signal whose frequency is adjusted by the current,상기 발화부는 The ignition part상기 제1 전류 제어 발진기의 클럭 신호와 기준 클럭 신호의 위상차가 임계값 이상인 경우 상기 스파이크 신호를 출력하는 것인, 뉴런 회로.A neuron circuit that outputs the spike signal when the phase difference between the clock signal of the first current-controlled oscillator and the reference clock signal is greater than or equal to a threshold.
- 제8항에 있어서,According to clause 8,상기 전류 제공부의 전류값이 증가함에 따라 출력되는 클럭 신호의 주파수가 증가하고, 클럭 신호의 주파수가 증가함에 따라 상기 스파이크 신호의 축적 상태가 증가한 것으로 처리하고,As the current value of the current provider increases, the frequency of the output clock signal increases, and as the frequency of the clock signal increases, the accumulation state of the spike signal is processed as increased,상기 전류 제공부의 전류값이 감소함에 따라 출력되는 클럭 신호의 주파수가 감소하고, 클럭 신호의 주파수가 감소함에 따라 상기 스파이크 신호의 축적 상태가 감소한 것으로 처리하는, 뉴런회로.A neuron circuit that processes the frequency of the output clock signal as the current value of the current provider decreases, and the accumulation state of the spike signal decreases as the frequency of the clock signal decreases.
- 제8항에 있어서,According to clause 8,상기 발화부는 The ignition part상기 전류에 의해 그 주파수가 조절되는 클럭 신호의 클럭 개수를 계수하는 제1 카운터,A first counter that counts the number of clocks of the clock signal whose frequency is adjusted by the current,기준 전류에 의해 출력되는 기준 클럭 신호의 클럭 개수를 계수하는 제2 카운터 및, a second counter that counts the number of clocks of the reference clock signal output by the reference current;상기 제1 카운터와 제2 카운터의 출력 값에 기초하여 스파이크 신호를 출력하는 플립플롭을 포함하는 것인, 뉴런회로.A neuron circuit comprising a flip-flop that outputs a spike signal based on the output values of the first counter and the second counter.
- 제13항에 있어서,According to clause 13,상기 발화부는 상기 제1 카운터의 출력과 상기 제2 카운터의 출력을 비교하고 그 차이값을 상기 플립플롭으로 전달하는 제1 연산기,The ignition unit compares the output of the first counter and the output of the second counter and transmits the difference to the flip-flop;상기 제1 연산기의 출력에 따라, 상기 제2 카운터에 상기 차이값에 해당하는 값을 출력하는 먹스 및A mux that outputs a value corresponding to the difference value to the second counter according to the output of the first operator, and상기 먹스의 출력을 상기 제2 카운터의 출력에 합산시키는 제2 연산기를 포함하는, 뉴런 회로. A neuron circuit comprising a second operator that adds the output of the mux to the output of the second counter.
- 제11항에 있어서,According to clause 11,상기 신호 축적부는 기준 전류를 공급받아 상기 기준 클럭 신호를 생성하는 제2 전류 제어 발진기를 더 포함하는, 뉴런회로.The signal accumulation unit further includes a second current-controlled oscillator that receives a reference current and generates the reference clock signal.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0051962 | 2022-04-27 | ||
KR1020220051962A KR20230152336A (en) | 2022-04-27 | 2022-04-27 | Neuron circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023211029A1 true WO2023211029A1 (en) | 2023-11-02 |
Family
ID=88519315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/005101 WO2023211029A1 (en) | 2022-04-27 | 2023-04-14 | Neuronal circuit |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20230152336A (en) |
WO (1) | WO2023211029A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130013014A (en) * | 2011-07-27 | 2013-02-06 | 삼성전자주식회사 | Apparatus and method for transmitting/receiving spike event in neuromorphic chip |
KR20200004641A (en) * | 2018-07-04 | 2020-01-14 | 삼성전자주식회사 | Apparatus for detecting neural spike |
KR20210064767A (en) * | 2019-11-26 | 2021-06-03 | 성균관대학교산학협력단 | Spiking neuron model and method for generating spike thereof |
US20210241081A1 (en) * | 2020-02-04 | 2021-08-05 | Macronix International Co., Ltd. | Spiking neural networks circuit and operation method thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102224856B1 (en) | 2019-02-27 | 2021-03-09 | 코스테크 주식회사 | Printer |
-
2022
- 2022-04-27 KR KR1020220051962A patent/KR20230152336A/en not_active Application Discontinuation
-
2023
- 2023-04-14 WO PCT/KR2023/005101 patent/WO2023211029A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130013014A (en) * | 2011-07-27 | 2013-02-06 | 삼성전자주식회사 | Apparatus and method for transmitting/receiving spike event in neuromorphic chip |
KR20200004641A (en) * | 2018-07-04 | 2020-01-14 | 삼성전자주식회사 | Apparatus for detecting neural spike |
KR20210064767A (en) * | 2019-11-26 | 2021-06-03 | 성균관대학교산학협력단 | Spiking neuron model and method for generating spike thereof |
US20210241081A1 (en) * | 2020-02-04 | 2021-08-05 | Macronix International Co., Ltd. | Spiking neural networks circuit and operation method thereof |
Non-Patent Citations (3)
Title |
---|
GUO WENZHE, FOUDA MOHAMMED E., ELTAWIL AHMED M., SALAMA KHALED NABIL: "Neural Coding in Spiking Neural Networks: A Comparative Study for Robust Neuromorphic Systems", FRONTIERS IN NEUROSCIENCE, vol. 15, 4 March 2021 (2021-03-04), pages 638474, XP093100485, DOI: 10.3389/fnins.2021.638474 * |
JOONGHYUN SONG; JIWON SHIN; HANSEOK KIM; WOO-SEOK CHOI: "Energy-Efficient High-Accuracy Spiking Neural Network Inference Using Time-Domain Neurons", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 4 February 2022 (2022-02-04), 201 Olin Library Cornell University Ithaca, NY 14853, XP091150323 * |
KIM HANSEOK; CHOI WOO-SEOK: "Improving Spiking Neural Network Accuracy Using Time-based Neurons", 2022 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), IEEE, 27 May 2022 (2022-05-27), pages 2162 - 2166, XP034224217, DOI: 10.1109/ISCAS48785.2022.9937875 * |
Also Published As
Publication number | Publication date |
---|---|
KR20230152336A (en) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102638317B (en) | Signal loss detection circuit and method and amplifier | |
TW201933786A (en) | System and methods for mixed-signal computing | |
CN1742434B (en) | signal processing circuit and method | |
Han et al. | Dynamic event-triggered protocol-based distributed secondary control for islanded microgrids | |
WO2023211029A1 (en) | Neuronal circuit | |
US5361042A (en) | Compensated offset voltage, low gain, high bandwidth, full swing, wide common mode range, CMOS differential voltage amplifier | |
CN115630693B (en) | Memristor self-learning circuit based on Elman neural network learning algorithm | |
CA1162301A (en) | Time division multiplier transducer with selective phase shift | |
KR20210070589A (en) | Apparatus for learning a spiking neural network | |
CN104598748B (en) | A kind of computational methods of suppressive Boolean network degeneracy | |
Yang et al. | State‐dependent impulsive synchronisation of complex dynamical networks with non‐linear coupling | |
Li et al. | Observer-based output feedback event-triggered bounded consensus of multi-agent systems under DoS attacks | |
CN214851894U (en) | Dimming control circuit and system | |
EP3840223A1 (en) | Duty cycle correction circuit and applications thereof | |
WO2023090837A1 (en) | Neuron circuit and neuromorphic device for compensating for changes in synaptic properties | |
CN115963888A (en) | Constant current control device and constant current control method | |
GB2267171A (en) | Neural network employing absolute value calculating synapse | |
CN111600659B (en) | Light receiving circuit | |
CN113242626A (en) | Dimming control circuit and system | |
CN109213708B (en) | Driver of serial deserializing link transmitter | |
CN111969993B (en) | Circuit structure based on CCSA and Sigmoid activated function multiplexing | |
Woo et al. | A spiking-neuron collective analog adder with scalable precision | |
WO2021121820A1 (en) | Neural amplifier, neural network and sensor device | |
WO2023080432A1 (en) | Neuron circuit and operation method thereof, and neuromorphic device including neuron circuit | |
KR20230065141A (en) | Current mirror circuit and neuromorphic device comprising the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23796678 Country of ref document: EP Kind code of ref document: A1 |