WO2023101255A1 - Neuromorphic device and method for compensating for variation characteristics in neuromorphic device - Google Patents

Neuromorphic device and method for compensating for variation characteristics in neuromorphic device Download PDF

Info

Publication number
WO2023101255A1
WO2023101255A1 PCT/KR2022/017718 KR2022017718W WO2023101255A1 WO 2023101255 A1 WO2023101255 A1 WO 2023101255A1 KR 2022017718 W KR2022017718 W KR 2022017718W WO 2023101255 A1 WO2023101255 A1 WO 2023101255A1
Authority
WO
WIPO (PCT)
Prior art keywords
spikes
input
weight
neuron circuit
output
Prior art date
Application number
PCT/KR2022/017718
Other languages
French (fr)
Korean (ko)
Inventor
박병국
전보성
박경철
Original Assignee
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Publication of WO2023101255A1 publication Critical patent/WO2023101255A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Definitions

  • the present invention relates to a neuromorphic device and a method for compensating for variation characteristics in a neuromorphic device.
  • SNNs Neural networks and Spiking Neural Networks (SNNs), which are currently widely studied, originated from imitation of actual biological nervous systems (concepts of memory, learning, and reasoning), but only adopt a similar network structure, signal transmission and It is different from the actual biological nervous system in various aspects, such as information expression method and learning method.
  • the present invention proposes a new method that can operate in consideration of the variation characteristics of a hardware-based neural network (hereinafter referred to as a neuromorphic device).
  • An object of the present invention is to provide a neuromorphic device and a method for compensating for a shift characteristic in a neuromorphic device capable of compensating for a shift characteristic of a device through weight adjustment.
  • a neuromorphic device includes a synapse array; a neuronal circuit coupled to the synaptic array; a weight control unit for adjusting the weights stored in the synapse array; and a control unit controlling operations of the synapse array, the neuron circuit, and the weight control unit.
  • the control unit compares the number of input spikes input to the synapse array with the number of output spikes output from the neuron circuit according to the input of the input spikes, and based on the comparison result of the number of input spikes and the number of output spikes. Accordingly, the weight of the synaptic array is adjusted through the weight control unit.
  • a method for compensating for variation characteristics in a neuromorphic device includes providing a neuromorphic device including a synapse array and a neuron circuit coupled thereto; comparing the number of input spikes input to the synapse array with the number of output spikes output from the neuron circuit according to the input of the input spike; and adjusting a weight of the synapse array according to a result of comparing the number of input spikes with the number of output spikes.
  • the inference accuracy deterioration problem that occurs when variation characteristics that can occur in the signal integrator, threshold, or output waveform of a neuron circuit is expressed is solved, and such variation characteristics can be compensated for.
  • the configuration of the present invention can be generally used in all neuron circuits, it can be applied to all systems such as a sensor as well as a spiking neural network and a neural network using a PWM method.
  • FIG. 1 is a block diagram showing the configuration of a neuromorphic device according to an embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating a method for compensating for variation characteristics in a neuromorphic device according to an embodiment of the present invention.
  • FIG. 3 illustrates the configuration of a neuromorphic device according to an embodiment of the present invention.
  • FIG. 5 is a diagram for explaining a method for compensating for variation characteristics of a neuromorphic device according to an embodiment of the present invention.
  • FIG 6 illustrates another example to which the method for compensating for variation characteristics according to an embodiment of the present invention may be applied.
  • FIG. 7 is a diagram for explaining an effect of a variation characteristic compensation method according to an embodiment of the present invention.
  • the neuromorphic device of the present invention is manufactured to mimic the human brain in hardware using a semiconductor process, and includes a synaptic element corresponding to a synapse of the brain, a neuron circuit corresponding to a neuron, and various peripheral circuits. it means.
  • FIG. 1 is a block diagram showing the configuration of a neuromorphic device according to an embodiment of the present invention.
  • the neuromorphic device 100 may include a synapse array 110, a neuron circuit 120, a control unit 130, and a weight control unit 140.
  • the synapse array 110 is implemented to exert the same function as the synapse in the brain, and is typically implemented based on a non-volatile memory device.
  • the synaptic array 110 corresponds to a plurality of synaptic cells, and stores predetermined weights, respectively.
  • the synapse array 110 may include synaptic cells corresponding to the product of the number of front-end neuron circuits coupled to the synapse array 110 and the number of back-end neuron circuits.
  • An operation of storing the weights in the synapse array 110 or a process of reading the stored weights is performed through the same principle as a program operation or a read operation performed in a general non-volatile memory device.
  • the weight means a weight that is multiplied to an input signal in a perceptron structure representing an artificial neural network model, and is additionally defined as a concept including a bias, a special weight having an input of 1.
  • the neuron circuit 120 may be divided into a front-end neuron circuit or pre-neuron circuit coupled to the front end of the synapse array 110 and a rear-end neuron circuit or post-neuron circuit coupled to the rear end of the synapse array 110 .
  • a typical neuron circuit 120 includes a signal integration unit for integrating a signal transmitted through the immediately preceding synapse, and a comparator for comparing whether or not the integrated signal is greater than or equal to a threshold value, and as a result of the comparison, the threshold value is greater than or equal to When it is, it is configured to output a spike signal according to an ignition operation.
  • a counter for calculating the number of spike signals may be connected to each neuron circuit 120 . Meanwhile, in relation to the configuration of the signal integrator, an embodiment in which a signal is integrated using a capacitor is generally known.
  • the synapse array 110 or the neuron circuit 120 has recently undergone evolution in various forms, and since it is basically produced based on a semiconductor process, variation occurs due to the scattering characteristics of the semiconductor device.
  • the neuron circuit 120 since the characteristics of each neuron circuit, such as the value of the capacitor or related circuit element included in the signal integration unit, the threshold value of the comparator, and the output waveform output during firing, are inconsistent, it is necessary to compensate for this. there is. In the present invention, it is intended to compensate for the characteristics due to dispersion occurring in the synapse array or neuron circuit manufactured by the semiconductor process, or various characteristic changes that change over time, and in the present invention, this is a variation characteristic defined as reward.
  • the neuromorphic device 100 of the present invention has a state in which the neuron circuit 120 is integrated around the synapse array 110, as shown in FIG. 3 to be described later.
  • the weight adjuster 140 is a peripheral circuit of the synapse array 110 and performs operations for programming weights for the synapse array 110 and reading stored weights.
  • the weight control unit 140 performs a weight formation operation of newly recording weights in the synapse array and an operation of updating the recorded weights. define.
  • the weight control unit 140 may include various voltage supply modules for performing an operation such as ISPP (Incremental Step Pulse Program) or ISPE (Incremental Step Pulse Erase) with respect to the synapse array 110.
  • the weight control unit 140 is configured to perform a program operation of weights or an operation of erasing weights suitable for device characteristics of the synapse array 110 .
  • the control unit 130 controls the operation of the above synapse array 110, the neuron circuit 120 and the weight control unit 140.
  • the controller 130 compares the number of input spikes input to the synapse array 110 and the number of output spikes output from the neuron circuit 120 according to the input of the input spikes, and compares the number of input spikes with the number of spikes. According to the comparison result of the number of output spikes, the weight of the synapse array 110 is adjusted through the weight control unit 140 .
  • the controller 130 may collect information on the number of input spikes or the number of output spikes through a counter connected to each neuron circuit 120 .
  • FIG. 2 is a flowchart illustrating a method for compensating for variation characteristics in a neuromorphic device according to an embodiment of the present invention
  • FIG. 3 illustrates a configuration of a neuromorphic device according to an embodiment of the present invention
  • 4 illustrates the concept of comparing the number of spikes according to an embodiment of the present invention.
  • a neuromorphic device 100 including a synapse array 110 and a neuron circuit 120 coupled thereto is provided.
  • the neuromorphic device of the present invention has a state in which the neuron circuit 120 is coupled together around the synapse array 110.
  • an operation of sensing weights stored in a synapse or recording weights was performed using a synapse array alone.
  • a structure in which the synapse array 110 and the neuron circuit 120 are combined is assumed in order to reflect and compensate for all of the mutation characteristics of the synapse array 110 and the neuron circuit 120.
  • the step of obtaining the number of input spikes input to the synapse array 110 and the number of output spikes output from the neuron circuit 120 according to the input of the input spikes (S210) and comparing them (S220) is performed. do.
  • the number of input spikes (N in ) is calculated based on the output of the front end neuron circuit coupled to the front end of the synapse array 110, and each spike fired in the front end neuron circuit is a synapse array ( 110) is entered. Then, the number of output spikes (N out ) is calculated based on the output of the neuron circuit at the rear end coupled to the rear end of the synapse array 110 .
  • the weight of each synaptic cell can be changed to the target weight by counting the number of outputs. That is, the number of spikes (Nin) of the first neuron of the front end and the number of spikes of the number 1 neuron of the rear end are compared, and the weight of the synaptic cell connected to the number 1 neuron of the front end and the number 1 neuron of the rear end is determined according to the comparison result. Adjust.
  • the synaptic array includes each synaptic cell connected to a front-end neuron and each back-end neuron, and in the present invention, parallel processing of individually adjusting weights is performed for each synapse cell.
  • the number of input spikes detected by the front-end neuron circuit of the synapse array is compared with the number of output spikes detected by each of the output spikes connected to the front-end neuron circuit in parallel.
  • comparing the number of input spikes with the number of output spikes may include calculating an effective weight value obtained by dividing the number of output spikes by the number of input spikes and comparing it with a target weight value. At this time, the effective weight is calculated for each synaptic cell. An effective weight for each synaptic cell is calculated by dividing the number of output spikes output from each trailing neuron circuit by the number of input spikes output from the preceding neuron circuit associated with the corresponding trailing neuron circuit.
  • weights of synaptic cells included in the synapse array are adjusted (S230).
  • the threshold value is 1
  • the number of input spikes output from the front-end neuron is multiplied by the weight stored in each synapse cell, and this value becomes equal to the number of output spikes output from each back-end neuron.
  • the effective weight is calculated under this premise, and if the effective weight is equal to the target weight or within the allowable error range, it is judged that the effective weight is maintained at an appropriate level.
  • the weight of the synapse array 110 is updated in a decreasing direction.
  • the weights of the synapse array 110 are updated in the direction of increasing them.
  • the weight is newly set for the synapse (for example, when the weight is 0) for which no weight has been set. action can be performed.
  • the amount of increase or decrease of the weight of the synapse array 110 is adjusted.
  • the increase or decrease of the weight can be obtained by setting the weight value to increase or decrease by the difference between the effective weight for the target weight and the current weight value.
  • logic such as ISPP or ISPE may be performed through the weight control unit 140.
  • Negative weights can be based on synapses with positive weights that are connected to the same neuron. After synapses with positive values are formed in this way, negative synapses can be operated in the same way, and effective weights can be calculated conversely through differences in the number of output spikes. According to the effective weight due to dispersion or variation characteristics, the correct negative weight value can be formed using the method proposed above.
  • FIG. 5 is a diagram for explaining a method for compensating for variation characteristics of a neuromorphic device according to an embodiment of the present invention.
  • the signal (charge amount) transmitted to the posterior neuron changes when the width of the spike generated in the anterior neuron changes. As shown in, the effect of substantially increasing the weighted input results.
  • the effective weight is set to be equal to or sufficiently close to the target weight, even if the signal integral component or threshold value of a particular posterior neuron deviates from the ideal value. It can compensate for the variation characteristics and accurately implement the actual weighted input.
  • FIG 6 illustrates another example to which the method for compensating for variation characteristics according to an embodiment of the present invention may be applied.
  • the method of the present invention analyzes the relationship between front and rear neurons and synapses in various network structures such as a Fully-Connected Network (FCN) as well as a Convolutional Neural Network (CNN) as shown in FIG. Through this, weights can be formed to compensate for the variation characteristics.
  • FCN Fully-Connected Network
  • CNN Convolutional Neural Network
  • the method for forming variance compensation weights based on utterance rates expresses accurate weights and contributes to the improvement of SNN inference accuracy.
  • FIG. 7 is a diagram for explaining an effect of a variation characteristic compensation method according to an embodiment of the present invention.
  • the graph shown in FIG. 7 shows the inference accuracy for the MNIST dataset that occurs when the membrane capacitance, one of the signal integration components of neurons, and the threshold value are not uniform in a spiking neural network having a structure of 1200FC-1200FC-10. It shows the recovery pattern of inference accuracy after compensation for reduction and variation characteristics. It was confirmed that the accuracy was almost perfectly restored to the ideal accuracy in all cases of compensation indicated by the black solid line.
  • An embodiment of the present invention may be implemented in the form of a recording medium including 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 nonvolatile media, removable and non-removable media.
  • Computer readable media may include computer storage media.
  • Computer storage media includes both volatile and nonvolatile, 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)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A method for compensating for variation characteristics in a neuromorphic device according to an aspect of the present invention, includes the steps of: providing a neuromorphic device including a synapse array and a neuron circuit coupled to the synapse array; comparing the number of input spikes input to the synapse array with the number of output spikes output from the neuron circuit according to an input of the input spike; and adjusting a weight of the synapse array according to a comparison result between the number of input spikes and the number of output spikes.

Description

뉴로모픽 장치 및 뉴로모픽 장치에서의 변이 특성 보상 방법Neuromorphic device and variation characteristic compensation method in neuromorphic device
본 발명은 뉴로모픽 장치 및 뉴로모픽 장치에서의 변이 특성을 보상하는 방법에 관한 것이다.The present invention relates to a neuromorphic device and a method for compensating for variation characteristics in a neuromorphic device.
최근 인공신경망에 기반한 컴퓨팅 기술이 발전함과 더불어, 하드웨어 기반 뉴럴 네트워크에 대한 연구 개발도 활발하게 이루어지고 있다.Recently, along with the development of computing technology based on artificial neural networks, research and development on hardware-based neural networks are also being actively conducted.
현재 널리 연구되고 있는 뉴럴 네트워크와 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)는 실제 생물학적 신경계의 모방(기억, 학습, 추론에 대한 개념)으로부터 시작되었지만, 유사한 네트워크 구조를 채택할 뿐, 신호 전달 및 정보 표현 방법, 학습 방법 등 다양한 측면에서 실제 생물학적 신경계와는 차이점이 있다.Neural networks and Spiking Neural Networks (SNNs), which are currently widely studied, originated from imitation of actual biological nervous systems (concepts of memory, learning, and reasoning), but only adopt a similar network structure, signal transmission and It is different from the actual biological nervous system in various aspects, such as information expression method and learning method.
한편, 실제 신경계와 거의 동일하게 동작하는 하드웨어 기반 SNN은 아직 기존의 뉴럴 네트워크를 뛰어넘는 성능을 보이는 학습 방법이 개발되지 않아, 실제 산업에서 사용되고 있는 사례는 드물다. 하지만 기존 뉴럴 네트워크를 사용하여 시냅스 가중치를 도출하고 이를 활용해 SNN 방식으로 추론 한다면, 높은 정확도와 동시에 초저전력 컴퓨팅 시스템을 구현할 수 있어, 이에 대한 연구가 활발히 진행되고 있다. On the other hand, hardware-based SNNs that operate almost the same as real neural networks are rarely used in actual industries because a learning method that outperforms existing neural networks has not yet been developed. However, if synaptic weights are derived using an existing neural network and inference is made using the SNN method, a high-accuracy and ultra-low-power computing system can be implemented, and research on this is being actively conducted.
뉴럴 네트워크를 통해 학습한 시냅스 가중치를 하드웨어 기반 뉴럴 네트워크에 전사하여 추론하게 되면 기존 뉴럴 네트워크와 거의 동일한 수준의 성능을 낼 수 있다. 그러나, 하드웨어로 구현할 경우 소자의 특성 산포가 존재할 수 있으며, 이러한 소자 및 회로의 구성에서 발생할 수 있는 변이 특성은 필연적으로 추론 정확도의 커다란 저하를 가져오게 된다. When the synapse weights learned through the neural network are transcribed into the hardware-based neural network and inferred, almost the same level of performance as the existing neural network can be achieved. However, when implemented in hardware, there may be distribution of characteristics of elements, and variations in characteristics that may occur in the configuration of such elements and circuits inevitably cause a great decrease in inference accuracy.
본 발명에서는 이와 같은 종래 기술의 문제점을 해결하기 위해, 하드웨어 기반 뉴럴네트워크(이하 뉴로모픽 장치라 함)의 변이 특성을 고려하여 동작할 수 있는 새로운 방법을 제안한다.In order to solve such problems of the prior art, the present invention proposes a new method that can operate in consideration of the variation characteristics of a hardware-based neural network (hereinafter referred to as a neuromorphic device).
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 가중치 조절을 통해 소자의 변이 특성을 보상할 수 있는 뉴로모픽 장치 및 뉴로모픽 장치에서의 변이특성 보상 방법을 제공하는데 목적이 있다. An object of the present invention is to provide a neuromorphic device and a method for compensating for a shift characteristic in a neuromorphic device capable of compensating for a shift characteristic of a device through weight adjustment.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.
상술한 기술적 과제를 해결하기 위한 기술적 수단으로서, 본 발명의 일 측면에 따른 뉴로모픽 장치는 시냅스 어레이; 상기 시냅스 어레이에 결합된 뉴런 회로; 상기 시냅스 어레이에 저장된 가중치를 조절하는 가중치 조절부; 상기 시냅스 어레이, 뉴런 회로 및 가중치 조절부의 동작을 제어하는 제어부를 포함한다. 이때, 제어부는 상기 시냅스 어레이에 입력되는 입력 스파이크의 개수와 상기 입력 스파이크의 입력에 따라 상기 뉴런 회로에서 출력되는 출력 스파이크의 개수를 비교하고, 상기 입력 스파이크의 개수와 상기 출력 스파이크의 개수 비교 결과에 따라, 상기 가중치 조절부를 통해 상기 시냅스 어레이의 가중치를 조절하는 것이다.As a technical means for solving the above-described technical problem, a neuromorphic device according to an aspect of the present invention includes a synapse array; a neuronal circuit coupled to the synaptic array; a weight control unit for adjusting the weights stored in the synapse array; and a control unit controlling operations of the synapse array, the neuron circuit, and the weight control unit. At this time, the control unit compares the number of input spikes input to the synapse array with the number of output spikes output from the neuron circuit according to the input of the input spikes, and based on the comparison result of the number of input spikes and the number of output spikes. Accordingly, the weight of the synaptic array is adjusted through the weight control unit.
또한, 본 발명의 다른 측면에 따른 뉴로모픽 장치에서의 변이 특성을 보상하는 방법은 시냅스 어레이와 이에 결합된 뉴런 회로를 포함하는 뉴로모픽 장치가 제공되는 단계; 상기 시냅스 어레이에 입력되는 입력 스파이크의 개수와 상기 입력 스파이크의 입력에 따라 상기 뉴런 회로에서 출력되는 출력 스파이크의 개수를 비교하는 단계; 및 상기 입력 스파이크의 개수와 상기 출력 스파이크의 개수 비교 결과에 따라, 상기 시냅스 어레이의 가중치를 조절하는 단계를 포함한다.In addition, a method for compensating for variation characteristics in a neuromorphic device according to another aspect of the present invention includes providing a neuromorphic device including a synapse array and a neuron circuit coupled thereto; comparing the number of input spikes input to the synapse array with the number of output spikes output from the neuron circuit according to the input of the input spike; and adjusting a weight of the synapse array according to a result of comparing the number of input spikes with the number of output spikes.
전술한 본원의 과제 해결 수단에 의하면, 하드웨어 기반 뉴럴 네트워크에서 뉴런 회로의 신호적분부, 문턱값(threshold) 또는 출력 파형 등에서 발생 가능한 변이 특성들이 나타낼 때 발생하는 추론 정확도 저하 문제를 해결하고, 이러한 변이 특성을 보상할 수 있다. 특히, 서로 인접한 은닉층에 있는 두 뉴런 사이에 연결된 시냅스의 상태를 조절하여 변이 특성을 보상하고, 뉴런의 입력과 출력에 따른 검증을 통해 올바른 가중치가 표현될 수 있도록 가중치를 형성할 수 있다. According to the above-described problem solving means of the present application, in a hardware-based neural network, the inference accuracy deterioration problem that occurs when variation characteristics that can occur in the signal integrator, threshold, or output waveform of a neuron circuit is expressed is solved, and such variation characteristics can be compensated for. In particular, it is possible to adjust the state of a synapse connected between two neurons in an adjacent hidden layer to compensate for variation characteristics, and form weights so that correct weights can be expressed through verification according to inputs and outputs of neurons.
이러한 본 발명의 구성은 모든 뉴런 회로에 일반적으로 사용될 수 있으므로, 스파이킹 뉴럴 네트워크, PWM 방식을 사용하는 뉴럴 네크워크 뿐만 아니라 센서 등 모든 시스템에 적용할 수 있다.Since the configuration of the present invention can be generally used in all neuron circuits, it can be applied to all systems such as a sensor as well as a spiking neural network and a neural network using a PWM method.
도 1은 본 발명의 일 실시예에 따른 뉴로모픽 장치의 구성을 도시한 블록도이다. 1 is a block diagram showing the configuration of a neuromorphic device according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 뉴로모픽 장치에서의 변이 특성 보상 방법을 도시한 순서도이다. 2 is a flowchart illustrating a method for compensating for variation characteristics in a neuromorphic device according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 뉴로모픽 장치의 구성을 도시한 것이다. 3 illustrates the configuration of a neuromorphic device according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 스파이크 개수 비교의 개념을 도시한 것이다.4 illustrates the concept of comparing the number of spikes according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 뉴로모픽 장치의 변이 특성 보상 방법을 설명하기 위한 도면이다.5 is a diagram for explaining a method for compensating for variation characteristics of a neuromorphic device according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 변이 특성 보상 방법이 적용될 수 있는 다른 예를 도시한 것이다.6 illustrates another example to which the method for compensating for variation characteristics according to an embodiment of the present invention may be applied.
도 7은 본 발명의 일 실시예에 따른 변이 특성 보상 방법의 효과를 설명하기 위한 도면이다.7 is a diagram for explaining an effect of a variation characteristic compensation method according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present application will be described in detail so that those skilled in the art can easily practice with reference to the accompanying drawings. However, the present disclosure may be implemented in many different forms and is not limited to the embodiments described herein. And in order to clearly describe the present application in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. Throughout the present specification, when a part is said to be “connected” to another part, this includes not only the case of being “directly connected” but also the case of being “electrically connected” with another element interposed therebetween. do.
본원 명세서 전체에서, 어떤 부재가 다른 부재 “상에” 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout the present specification, when a member is said to be located “on” another member, this includes not only a case where a member is in contact with another member, but also a case where another member exists between the two members.
본 발명의 뉴로모픽 장치는 반도체 공정을 이용하여 하드웨어적으로 사람의 뇌를 모사하도록 제조된 것으로, 뇌의 시냅스에 해당하는 시냅스 소자, 뉴런에 해당하는 뉴런 회로, 그리고 각종 주변회로를 포함하는 것을 의미한다. The neuromorphic device of the present invention is manufactured to mimic the human brain in hardware using a semiconductor process, and includes a synaptic element corresponding to a synapse of the brain, a neuron circuit corresponding to a neuron, and various peripheral circuits. it means.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 뉴로모픽 장치의 구성을 도시한 블록도이다. 1 is a block diagram showing the configuration of a neuromorphic device according to an embodiment of the present invention.
도시된 바와 같이 뉴로모픽 장치(100)는 시냅스 어레이(110), 뉴런회로(120), 제어부(130) 및 가중치 조절부(140)를 포함할 수 있다. As shown, the neuromorphic device 100 may include a synapse array 110, a neuron circuit 120, a control unit 130, and a weight control unit 140.
시냅스 어레이(110)는 뇌의 시냅스와 동일한 기능을 발휘하도록 구현된 것으로, 통상적으로는 비휘발성 메모리 소자에 기반하여 구현되고 있다. 시냅스 어레이(110)는 복수의 시냅스 셀과 대응하는 것으로, 소정의 가중치를 각각 저장하고 있다. 예를 들면, 시냅스 어레이(110)는 시냅시 어레이(110)에 결합되는 전단 뉴런 회로의 개수와 후단 뉴런 회로의 개수의 곱에 해당하는 시냅스 셀을 포함할 수 있다. 시냅스 어레이(110)에 대하여 가중치를 저장하는 동작이나, 저장된 가중치를 독출하는 과정은, 일반적인 비휘발성 메모리 소자에서 수행되는 프로그램 동작 또는 독출동작과 마찬가지 원리를 통해 수행된다. 여기서, 가중치라 함은 인공 신경망 모형을 나타내는 퍼셉트론 구조 등에서 입력 신호에 곱해지는 가중치(weight)를 의미하며, 추가적으로 입력이 1인 특별한 가중치인 바이어스(bias)를 포함하는 개념으로서 정의한다.The synapse array 110 is implemented to exert the same function as the synapse in the brain, and is typically implemented based on a non-volatile memory device. The synaptic array 110 corresponds to a plurality of synaptic cells, and stores predetermined weights, respectively. For example, the synapse array 110 may include synaptic cells corresponding to the product of the number of front-end neuron circuits coupled to the synapse array 110 and the number of back-end neuron circuits. An operation of storing the weights in the synapse array 110 or a process of reading the stored weights is performed through the same principle as a program operation or a read operation performed in a general non-volatile memory device. Here, the weight means a weight that is multiplied to an input signal in a perceptron structure representing an artificial neural network model, and is additionally defined as a concept including a bias, a special weight having an input of 1.
뉴런 회로(120)는 시냅스 어레이(110)의 전단에 결합되는 전단 뉴런 회로 또는 프리 뉴런 회로와, 시냅스 어레이(110)의 후단에 결합되는 후단 뉴런 회로 또는 포스트 뉴런 회로 등으로 구분될 수 있다. 통상의 뉴런 회로(120)는 직전의 시냅스 등을 통해 전달되는 신호가 적분되는 신호적분부와, 적분된 신호가 문턱값 이상인지 여부를 비교하는 비교기등을 포함하며, 그 비교 결과 문턱값 이상이 되면, 발화 동작에 따라 스파이크 신호를 출력하도록 구성된다. 또한, 각 뉴런 회로(120)에는 스파이크 신호의 개수를 산출하는 카운터를 연결할 수 있다. 한편, 신호적분부의 구성과 관련하여, 커패시터를 이용하여 신호를 적분하는 실시예가 일반적으로 알려져있다.The neuron circuit 120 may be divided into a front-end neuron circuit or pre-neuron circuit coupled to the front end of the synapse array 110 and a rear-end neuron circuit or post-neuron circuit coupled to the rear end of the synapse array 110 . A typical neuron circuit 120 includes a signal integration unit for integrating a signal transmitted through the immediately preceding synapse, and a comparator for comparing whether or not the integrated signal is greater than or equal to a threshold value, and as a result of the comparison, the threshold value is greater than or equal to When it is, it is configured to output a spike signal according to an ignition operation. In addition, a counter for calculating the number of spike signals may be connected to each neuron circuit 120 . Meanwhile, in relation to the configuration of the signal integrator, an embodiment in which a signal is integrated using a capacitor is generally known.
이와 같은, 시냅스 어레이(110)나 뉴런 회로(120)에 대해서는 최근 다양한 형태로 진화가 이루어지고 있는데, 기본적으로 반도체 공정을 기반으로 생산되므로, 반도체 소자가 갖는 산포 특성에 의해 변이가 발생하게 된다.As such, the synapse array 110 or the neuron circuit 120 has recently undergone evolution in various forms, and since it is basically produced based on a semiconductor process, variation occurs due to the scattering characteristics of the semiconductor device.
특히, 뉴런 회로(120)의 경우 신호적분부에 포함된 커패시터 또는 관련 회로요소의 값, 비교기의 문턱값, 발화시 출력되는 출력 파형 등 뉴런 회로별로 그 특성이 불일치하게 되므로, 이를 보상할 필요가 있다. 본 발명에서는 이와 같이 반도체 공정에 의해 제조된 시냅스 어레이나 뉴런 회로에 발생하는 산포로 인한 특성, 또는 시간 변화에 따라 변화하는 여러 특성 변화등을 보상하고자 하며, 본 발명에서는 이를 변이 특성(variation characteristic) 보상으로 정의한다.In particular, in the case of the neuron circuit 120, since the characteristics of each neuron circuit, such as the value of the capacitor or related circuit element included in the signal integration unit, the threshold value of the comparator, and the output waveform output during firing, are inconsistent, it is necessary to compensate for this. there is. In the present invention, it is intended to compensate for the characteristics due to dispersion occurring in the synapse array or neuron circuit manufactured by the semiconductor process, or various characteristic changes that change over time, and in the present invention, this is a variation characteristic defined as reward.
한편, 본 발명의 뉴로모픽 장치(100)는 후술할 도 3에 도시된 바와 같이, 시냅스 어레이(110) 주변에 뉴런 회로(120)가 통합된 상태를 갖는다.On the other hand, the neuromorphic device 100 of the present invention has a state in which the neuron circuit 120 is integrated around the synapse array 110, as shown in FIG. 3 to be described later.
가중치 조절부(140)는 시냅스 어레이(110)의 주변 회로로서, 시냅스 어레이(110)에 대하여 가중치를 프로그래밍하기 위한 동작, 저장된 가중치를 독출하는 동작을 수행한다. 또한, 가중치 조절부(140)는 시냅스 어레이에 가중치를 새롭게 기록하는 가중치 형성 동작과 기록되어 있는 가중치를 갱신하는 동작을 수행하며, 이러한 가중치 형성 동작과 가중치 갱신 동작을 포괄하는 개념을 가중치 조절 동작으로 정의한다. 이를 위해, 가중치 조절부(140)는 시냅스 어레이(110)에 대하여 ISPP (Incremental Step Pulse Program) 또는 ISPE(Incremental Step Pulse Erase) 등의 동작을 수행하기 위한, 각종 전압 공급 모듈을 포함할 수 있다. 또한, 가중치 조절부(140)는 시냅스 어레이(110)의 소자 특성에 맞는 가중치의 프로그램 동작 또는 가중치의 소거 동작 등을 수행하도록 구성된다.The weight adjuster 140 is a peripheral circuit of the synapse array 110 and performs operations for programming weights for the synapse array 110 and reading stored weights. In addition, the weight control unit 140 performs a weight formation operation of newly recording weights in the synapse array and an operation of updating the recorded weights. define. To this end, the weight control unit 140 may include various voltage supply modules for performing an operation such as ISPP (Incremental Step Pulse Program) or ISPE (Incremental Step Pulse Erase) with respect to the synapse array 110. In addition, the weight control unit 140 is configured to perform a program operation of weights or an operation of erasing weights suitable for device characteristics of the synapse array 110 .
제어부(130)는 위의 시냅스 어레이(110), 뉴런 회로(120) 및 가중치 조절부(140)의 동작을 제어한다. 특히, 본 발명에서 제어부(130)는 시냅스 어레이(110)에 입력되는 입력 스파이크의 개수와 입력 스파이크의 입력에 따라 뉴런 회로(120)에서 출력되는 출력 스파이크의 개수를 비교하고, 입력 스파이크의 개수와 출력 스파이크의 개수 비교 결과에 따라, 가중치 조절부(140)를 통해 시냅스 어레이(110)의 가중치를 조절한다. 제어부(130)는 각 뉴런 회로(120)에 연결된 카운터를 통해, 입력 스파이크 개수 또는 출력 스파이크 개수에 대한 정보를 수집할 수 있다.The control unit 130 controls the operation of the above synapse array 110, the neuron circuit 120 and the weight control unit 140. In particular, in the present invention, the controller 130 compares the number of input spikes input to the synapse array 110 and the number of output spikes output from the neuron circuit 120 according to the input of the input spikes, and compares the number of input spikes with the number of spikes. According to the comparison result of the number of output spikes, the weight of the synapse array 110 is adjusted through the weight control unit 140 . The controller 130 may collect information on the number of input spikes or the number of output spikes through a counter connected to each neuron circuit 120 .
도 2는 본 발명의 일 실시예에 따른 뉴로모픽 장치에서의 변이 특성 보상 방법을 도시한 순서도이고, 도 3은 본 발명의 일 실시예에 따른 뉴로모픽 장치의 구성을 도시한 것이고, 도 4는 본 발명의 일 실시예에 따른 스파이크 개수 비교의 개념을 도시한 것이다.2 is a flowchart illustrating a method for compensating for variation characteristics in a neuromorphic device according to an embodiment of the present invention, and FIG. 3 illustrates a configuration of a neuromorphic device according to an embodiment of the present invention. 4 illustrates the concept of comparing the number of spikes according to an embodiment of the present invention.
먼저, 시냅스 어레이(110)와 이에 결합된 뉴런 회로(120)를 포함하는 뉴로모픽 장치(100)가 제공된다. 본 발명의 뉴로모픽 장치는 도 3에 도시된 바와 같이, 시냅스 어레이(110) 주변에 뉴런 회로(120)가 함께 결합된 상태를 갖는다. 종래에는 시냅스 어레이 단독으로 시냅스에 저장된 가중치를 센싱하거나, 가중치를 기록하는 동작을 수행하였다. 그러나, 본 발명에서는 시냅스 어레이(110)와 뉴런 회로(120)가 가진 변이 특성을 모두 반영하여 보상하기 위해, 시냅스 어레이(110)와 뉴런 회로(120)가 결합된 구조를 전제로 한다.First, a neuromorphic device 100 including a synapse array 110 and a neuron circuit 120 coupled thereto is provided. As shown in FIG. 3, the neuromorphic device of the present invention has a state in which the neuron circuit 120 is coupled together around the synapse array 110. Conventionally, an operation of sensing weights stored in a synapse or recording weights was performed using a synapse array alone. However, in the present invention, a structure in which the synapse array 110 and the neuron circuit 120 are combined is assumed in order to reflect and compensate for all of the mutation characteristics of the synapse array 110 and the neuron circuit 120.
다음으로, 시냅스 어레이(110)에 입력되는 입력 스파이크의 개수와 입력 스파이크의 입력에 따라 뉴런 회로(120)에서 출력되는 출력 스파이크의 개수를 획득하고(S210), 이를 비교하는 단계(S220)를 수행한다.Next, the step of obtaining the number of input spikes input to the synapse array 110 and the number of output spikes output from the neuron circuit 120 according to the input of the input spikes (S210) and comparing them (S220) is performed. do.
도 4에 도시된 바와 같이, 입력 스파이크 개수(Nin)는 시냅스 어레이(110)의 전단에 결합된 전단 뉴런 회로의 출력에 기초하여 산출되는 것으로, 전단 뉴런 회로에서 발화된 각 스파이크가 시냅스 어레이(110)에 입력된다. 그리고, 출력 스파이크 개수(Nout)는 시냅스 어레이(110)의 후단에 결합된 후단 뉴런 회로의 출력에 기초하여 산출된다. 예를 들어, 시냅스 어레이(110) 전단의 1번 뉴런에서 발생한 출력이 시냅스 어레이(110) 후단의 1~4 뉴런에 병렬적으로 인가될 때, 전단 1번 뉴런의 출력의 수와 후단 각 뉴런의 출력의 수를 카운트하여 목표가중치가 되도록 각 시냅스 셀의 가중치를 변경할 수 있다. 즉, 전단의 1번 뉴런의 스파이크 개수(Nin)와 후단의 1번 뉴런의 스파이크 개수를 비교하고, 그 비교 결과에 따라 전단의 1번 뉴런과 후단의 1번 뉴런과 연결되는 시냅스 셀의 가중치를 조절한다. 이와 같이, 시냅스 어레이는 전단 뉴런과 각 후단 뉴런에 연결되는 각각의 시냅스 셀을 포함하며, 본 발명에서는 각 시냅스 셀에 대하여, 가중치를 각각 개별적으로 조절하는 병렬 처리를 수행한다.As shown in FIG. 4, the number of input spikes (N in ) is calculated based on the output of the front end neuron circuit coupled to the front end of the synapse array 110, and each spike fired in the front end neuron circuit is a synapse array ( 110) is entered. Then, the number of output spikes (N out ) is calculated based on the output of the neuron circuit at the rear end coupled to the rear end of the synapse array 110 . For example, when the output generated from the first neuron at the front end of the synapse array 110 is applied in parallel to neurons 1 to 4 at the rear end of the synapse array 110, the number of outputs of the first neuron and the number of outputs of each neuron at the rear end The weight of each synaptic cell can be changed to the target weight by counting the number of outputs. That is, the number of spikes (Nin) of the first neuron of the front end and the number of spikes of the number 1 neuron of the rear end are compared, and the weight of the synaptic cell connected to the number 1 neuron of the front end and the number 1 neuron of the rear end is determined according to the comparison result. Adjust. In this way, the synaptic array includes each synaptic cell connected to a front-end neuron and each back-end neuron, and in the present invention, parallel processing of individually adjusting weights is performed for each synapse cell.
이와 같이, 비교하는 단계(S220)는 시냅스 어레이의 전단 뉴런 회로에서 감지된 입력 스파이크의 개수와, 전단 뉴런 회로와 연계되는 각 후단 뉴런 회로에서 감지된 각각의 출력 스파이크 개수를 병렬적으로 비교한다.In this way, in the comparing step (S220), the number of input spikes detected by the front-end neuron circuit of the synapse array is compared with the number of output spikes detected by each of the output spikes connected to the front-end neuron circuit in parallel.
또한, 입력 스파이크의 개수와 출력 스파이크의 개수를 비교하는 단계(S220)는 출력 스파이크의 개수를 입력 스파이크의 개수로 나눈 값인 유효가중치를 산출하고, 이를 목표가중치와 비교하는 단계를 포함할 수 있다. 이때, 유효가중치는 각 시냅스 셀별로 산출된다. 각 후단 뉴런 회로에서 출력되는 출력 스파이크 개수를 해당 후단 뉴런 회로와 연계된 전단 뉴런 회로에서 출력되는 입력 스파이크 개수로 나누어, 각 시냅스 셀에 대한 유효가중치를 산출한다.Also, comparing the number of input spikes with the number of output spikes ( S220 ) may include calculating an effective weight value obtained by dividing the number of output spikes by the number of input spikes and comparing it with a target weight value. At this time, the effective weight is calculated for each synaptic cell. An effective weight for each synaptic cell is calculated by dividing the number of output spikes output from each trailing neuron circuit by the number of input spikes output from the preceding neuron circuit associated with the corresponding trailing neuron circuit.
다음으로, 입력 스파이크의 개수와 출력 스파이크의 개수 비교 결과에 따라, 시냅스 어레이에 포함된 시냅스 셀의 가중치를 조절한다(S230).Next, according to the comparison result of the number of input spikes and the number of output spikes, weights of synaptic cells included in the synapse array are adjusted (S230).
문턱값이 1인 경우, 전단 뉴런에서 출력되는 입력 스파이크 개수는 각 시냅스 셀에 저장된 가중치와 곱해지고, 이 값이 각 후단 뉴런에서 출력되는출력 스파이크 개수와 동일하게 된다. 이러한 전제에서 유효가중치를 계산하며, 유효가중치가 목표가중치와 동일하거나 허용오차 범위 이내인 경우에는 유효가중치가 적정한 수준을 유지하고 있는 것으로 판단한다. When the threshold value is 1, the number of input spikes output from the front-end neuron is multiplied by the weight stored in each synapse cell, and this value becomes equal to the number of output spikes output from each back-end neuron. The effective weight is calculated under this premise, and if the effective weight is equal to the target weight or within the allowable error range, it is judged that the effective weight is maintained at an appropriate level.
그런데, 유효가중치가 목표가중치보다 허용오차 이상 큰 경우, 즉 출력 스파이크의 개수가 더 많은 것으로 집계된 경우에는 시냅스 어레이(110)의 가중치를 감소시키는 방향으로 갱신한다.However, when the effective weight is greater than the target weight by an allowable error or more, that is, when the number of output spikes is counted as greater, the weight of the synapse array 110 is updated in a decreasing direction.
또한, 유효가중치가 목표가중치보다 허용오차 이상 작은 경우, 즉 출력 스파이크의 개수가 더 적은 것으로 집계된 경우에는 시냅스 어레이(110)의 가중치를 증가시키는 방향으로 가중치를 갱신한다.In addition, when the effective weight is smaller than the target weight by an allowable error or more, that is, when the number of output spikes is counted as being smaller, the weights of the synapse array 110 are updated in the direction of increasing them.
이때, 가중치를 조절하는 단계는 가중치를 증가 또는 감소시키는 방향으로 가중치를 갱신하는 동작외에, 가중치가 설정되어 있지 않던 시냅스(예를 들면, 가중치가 0 인 경우)에 대해 가중치를 새롭게 설정하는 가중치 형성 동작을 수행할 수 있다. At this time, in the step of adjusting the weight, in addition to the operation of updating the weight in the direction of increasing or decreasing the weight, the weight is newly set for the synapse (for example, when the weight is 0) for which no weight has been set. action can be performed.
이때, 유효가중치와 목표가중치의 차이에 기초하여, 시냅스 어레이(110) 가중치의 증가량 또는 감소량을 조절하도록 한다. 가중치의 증가량 또는 감소량은, 현재 가중치 값에 대하여 목표가중치에 대한 유효가중치의 차이만큼 가중치 값이 증가 또는 감소하도록 설정하여 얻을 수 있다.At this time, based on the difference between the effective weight and the target weight, the amount of increase or decrease of the weight of the synapse array 110 is adjusted. The increase or decrease of the weight can be obtained by setting the weight value to increase or decrease by the difference between the effective weight for the target weight and the current weight value.
한편, 앞서 설명한 바와 같이, 시냅스 어레이(110)의 가중치를 조절하기 위해, 가중치 조절부(140)를 통해 ISPP 또는 ISPE 등의 로직을 수행할 수 있다.Meanwhile, as described above, in order to adjust the weight of the synapse array 110, logic such as ISPP or ISPE may be performed through the weight control unit 140.
이와 같이, 입력 스파이크 개수와 출력 스파이크 개수에 기초하여 시냅스 어레이에 포함된 각 시냅스 셀의 가중치를 일괄적으로 조절함에 따라, 시냅스 어레이(110) 또는 뉴런 회로(120)가 가진 소자의 변이 특성이 모두 반영된 상태로, 추론을 수행할 수 있게 된다.In this way, as the weight of each synaptic cell included in the synaptic array is collectively adjusted based on the number of input spikes and the number of output spikes, the variation characteristics of the elements of the synaptic array 110 or the neuron circuit 120 are all With the reflected state, it becomes possible to perform inference.
한편, 앞서 설명한 가중치는 그 값이 0 이상인 것을 전제로 설명하였는데, 본 발명은 음의 값을 갖는 가중치에 대한 조절도 가능하다. 음의 가중치는, 같은 뉴런에 연결되어 있는 양의 가중치를 가지고 있는 시냅스를 기준으로 하면 된다. 양의 값을 가지는 시냅스를 본 방식으로 형성한 이후, 음의 시냅스도 같이 동작을 시켜서 출력 스파이크 개수의 차이를 통해 역으로 유효 가중치를 산출할 수 있다. 산포나 변이 특성으로 인한 유효 가중치에 따라서 앞서 제안한 방식을 사용하여 올바른 음의 가중치 값을 형성할 수 있다. Meanwhile, the above-described weights have been described on the premise that their values are greater than or equal to 0, but the present invention can also adjust weights having negative values. Negative weights can be based on synapses with positive weights that are connected to the same neuron. After synapses with positive values are formed in this way, negative synapses can be operated in the same way, and effective weights can be calculated conversely through differences in the number of output spikes. According to the effective weight due to dispersion or variation characteristics, the correct negative weight value can be formed using the method proposed above.
도 5는 본 발명의 일 실시예에 따른 뉴로모픽 장치의 변이 특성 보상 방법을 설명하기 위한 도면이다.5 is a diagram for explaining a method for compensating for variation characteristics of a neuromorphic device according to an embodiment of the present invention.
좌측과 우측 도면에서, 시냅스의 전류에 기반하여 가중치 값을 정한 경우(사각형 표시)와 발화율에 기반하여 가중치 값을 정한 경우(원형 표시)를 도시하고 있다. In the left and right figures, a case in which the weight value is determined based on the synaptic current (square mark) and a case in which the weight value is determined based on the firing rate (circle mark) are shown.
먼저, 좌측에 도시된 바와 같이, 단순히 시냅스의 전류에 기반하여 가중치를 정한 경우(사각형 표시)에는 전단 뉴런에서 발생한 스파이크의 폭에 변동이 있으면 후단 뉴런에 전달되는 신호(전하량)가 변하게 되면서, 우측에 도시된 바와 같이 실질적으로 가중된 입력이 커지는 효과를 초래한다. First, as shown on the left, when the weight is simply determined based on the synaptic current (represented by a square), the signal (charge amount) transmitted to the posterior neuron changes when the width of the spike generated in the anterior neuron changes. As shown in, the effect of substantially increasing the weighted input results.
이와 달리, 본 발명이 제안하고 있는 발화율에 기반하여 시냅스의 가중치를 조절한 경우(원형 표시)는, 전단 출력 파형의 폭이 커진 경우 시냅스 가중치(전류)를 줄여, 우측에 도시된 바와 같이 유효가중치가 일정해지는 이상적인 상태를 유지할 수 있게 된다. In contrast, when the synaptic weight is adjusted based on the firing rate proposed by the present invention (marked in a circle), when the width of the front end output waveform increases, the synaptic weight (current) is reduced and the effective weight It is possible to maintain an ideal state in which is constant.
이는 후단 뉴런의 신호적분부 구성요소와 문턱값의 변이에 대해서도 동일하게 적용 가능하다. 특정 후단 뉴런의 신호적분부 구성요소 또는 문턱값이 이상적인 값에서 벗어나더라도 유효가중치가 목표가중치와 같거나 충분히 가까운 값이 되도록 설정한다면. 변이 특성을 보상하고 실질적 가중 입력을 정확하게 구현할 수 있다. This is equally applicable to the variation of the signal integral component of the posterior neuron and the threshold value. If the effective weight is set to be equal to or sufficiently close to the target weight, even if the signal integral component or threshold value of a particular posterior neuron deviates from the ideal value. It can compensate for the variation characteristics and accurately implement the actual weighted input.
도 6은 본 발명의 일 실시예에 따른 변이 특성 보상 방법이 적용될 수 있는 다른 예를 도시한 것이다.6 illustrates another example to which the method for compensating for variation characteristics according to an embodiment of the present invention may be applied.
본 발명의 방법은 완전 연결된 네트워크(Fully-Connected Network, FCN) 뿐만 아니라, 도 6에 도시된 바와 같이 컨볼루션 신경망(Convolutional Neural Network, CNN) 등, 다양한 네크워크 구조에서도 전후단 뉴런과 시냅스의 관계를 통해 변이 특성을 보상하도록 가중치를 형성할 수 있다. 본 발명에서 발화율에 기반한 변이 보상 가중치 형성 방법은 정확한 가중치를 표현하고 이를 통해 SNN의 추론 정확도 향상에 기여한다.The method of the present invention analyzes the relationship between front and rear neurons and synapses in various network structures such as a Fully-Connected Network (FCN) as well as a Convolutional Neural Network (CNN) as shown in FIG. Through this, weights can be formed to compensate for the variation characteristics. In the present invention, the method for forming variance compensation weights based on utterance rates expresses accurate weights and contributes to the improvement of SNN inference accuracy.
도 7은 본 발명의 일 실시예에 따른 변이 특성 보상 방법의 효과를 설명하기 위한 도면이다.7 is a diagram for explaining an effect of a variation characteristic compensation method according to an embodiment of the present invention.
도 7에 도시된 그래프는 1200FC-1200FC-10의 구조를 갖는 스파이킹 뉴럴 네트워크에서 뉴런의 신호적분부 구성요소 중 하나인 멤브레인 커패시턴스와 문턱값이 균일하지 않은 경우에 발생하는 MNIST dataset에 대한 추론 정확도 감소와 변이 특성 보상 후 추론 정확도 회복 양상을 보여준다. 검정색 실선으로 표시된 보상을 한 모든 경우에서 정확도가 이상적인 정확도로 거의 완벽하게 회복됨을 확인할 수 있었다.The graph shown in FIG. 7 shows the inference accuracy for the MNIST dataset that occurs when the membrane capacitance, one of the signal integration components of neurons, and the threshold value are not uniform in a spiking neural network having a structure of 1200FC-1200FC-10. It shows the recovery pattern of inference accuracy after compensation for reduction and variation characteristics. It was confirmed that the accuracy was almost perfectly restored to the ideal accuracy in all cases of compensation indicated by the black solid line.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. An embodiment of the present invention may be implemented in the form of a recording medium including 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 nonvolatile media, removable and non-removable media. Also, computer readable media may include computer storage media. Computer storage media includes both volatile and nonvolatile, 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 reference 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 above description of the present application is for illustrative purposes, and those skilled in the art will understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present application. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present application is indicated by the following claims rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts thereof should be construed as being included in the scope of the present application.

Claims (6)

  1. 뉴로모픽 장치에 있어서,In the neuromorphic device,
    시냅스 어레이;synapse array;
    상기 시냅스 어레이에 결합된 뉴런 회로;a neuronal circuit coupled to the synaptic array;
    상기 시냅스 어레이에 저장된 가중치를 조절하는 가중치 조절부;a weight control unit for adjusting the weights stored in the synapse array;
    상기 시냅스 어레이, 뉴런 회로 및 가중치 조절부의 동작을 제어하는 제어부를 포함하되,Including a control unit for controlling the operation of the synapse array, the neuron circuit and the weight control unit,
    상기 제어부는 상기 시냅스 어레이에 입력되는 입력 스파이크의 개수와 상기 입력 스파이크의 입력에 따라 상기 뉴런 회로에서 출력되는 출력 스파이크의 개수를 비교하고, 상기 입력 스파이크의 개수와 상기 출력 스파이크의 개수 비교 결과에 따라, 상기 가중치 조절부를 통해 상기 시냅스 어레이의 가중치를 조절하는 것인, 뉴로모픽 장치.The control unit compares the number of input spikes input to the synapse array with the number of output spikes output from the neuron circuit according to the input of the input spikes, and according to the comparison result of the number of input spikes and the number of output spikes. , To adjust the weight of the synapse array through the weight control unit, the neuromorphic device.
  2. 제1항에 있어서,According to claim 1,
    상기 제어부는 상기 출력 스파이크의 개수를 상기 입력 스파이크의 개수로 나눈 값인 유효가중치를 목표가중치와 비교하는 것인, 뉴로모픽 장치.Wherein the control unit compares an effective weight, which is a value obtained by dividing the number of output spikes by the number of input spikes, with a target weight.
  3. 제2항에 있어서,According to claim 2,
    상기 제어부는 상기 시냅스 어레이의 전단 뉴런 회로에서 감지된 입력 스파이크의 개수와, 상기 전단 뉴런 회로와 연계되는 각 후단 뉴런 회로에서 감지된 각각의 출력 스파이크 개수를 병렬적으로 비교하고, 그 비교 결과에 따라, 상기 전단 뉴런 회로 및 상기 후단 뉴런 회로와 연계되는 각 시냅스 셀의 가중치를 조절하는 것인, 뉴로모픽 장치.The control unit parallelly compares the number of input spikes detected in the front-end neuron circuit of the synapse array with the number of output spikes detected in each of the next-stage neuron circuits associated with the front-end neuron circuit, and according to the comparison result , To adjust the weight of each synaptic cell associated with the front-end neuron circuit and the back-end neuron circuit, the neuromorphic device.
  4. 뉴로모픽 장치에서의 변이 특성을 보상하는 방법에 있어서,A method for compensating for variation characteristics in a neuromorphic device,
    시냅스 어레이와 이에 결합된 뉴런 회로를 포함하는 뉴로모픽 장치가 제공되는 단계;providing a neuromorphic device including a synaptic array and a neuronal circuit coupled thereto;
    상기 시냅스 어레이에 입력되는 입력 스파이크의 개수와 상기 입력 스파이크의 입력에 따라 상기 뉴런 회로에서 출력되는 출력 스파이크의 개수를 비교하는 단계; 및comparing the number of input spikes input to the synapse array with the number of output spikes output from the neuron circuit according to the input of the input spike; and
    상기 입력 스파이크의 개수와 상기 출력 스파이크의 개수 비교 결과에 따라, 상기 시냅스 어레이의 가중치를 조절하는 단계를 포함하는, 뉴로모픽 장치에서의 변이 특성 보상 방법.Adjusting the weight of the synapse array according to a result of comparing the number of input spikes with the number of output spikes.
  5. 제4항에 있어서,According to claim 4,
    상기 비교하는 단계는 상기 출력 스파이크의 개수를 상기 입력 스파이크의 개수로 나눈 값인 유효가중치를 목표가중치와 비교하는 단계를 포함하는 것인, 뉴로모픽 장치에서의 변이 특성 보상 방법.Wherein the comparing step includes comparing an effective weight value obtained by dividing the number of output spikes by the number of input spikes with a target weight value.
  6. 제4항에 있어서,According to claim 4,
    상기 비교하는 단계는 상기 시냅스 어레이의 전단 뉴런 회로에서 감지된 입력 스파이크의 개수와, 상기 전단 뉴런 회로와 연계되는 각 후단 뉴런 회로에서 감지된 각각의 출력 스파이크 개수를 병렬적으로 비교하는 것이고,The comparing step is to compare in parallel the number of input spikes detected in the front-end neuron circuit of the synapse array with the number of output spikes detected in each back-end neuron circuit associated with the front-end neuron circuit,
    상기 시냅스 어레이의 가중치를 조절하는 단계는Adjusting the weight of the synapse array
    상기 비교 결과에 따라, 상기 전단 뉴런 회로 및 상기 후단 뉴런 회로와 연계되는 각 시냅스 셀의 가중치를 조절하는 것인, 뉴로모픽 장치에서의 변이 특성 보상 방법.According to the comparison result, a weight of each synaptic cell associated with the front-end neuron circuit and the back-end neuron circuit is adjusted.
PCT/KR2022/017718 2021-11-30 2022-11-11 Neuromorphic device and method for compensating for variation characteristics in neuromorphic device WO2023101255A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0167922 2021-11-30
KR1020210167922A KR102514650B1 (en) 2021-11-30 2021-11-30 Neuromorphic device and method for compensating for variation characteristics in neuromorphic device

Publications (1)

Publication Number Publication Date
WO2023101255A1 true WO2023101255A1 (en) 2023-06-08

Family

ID=85799966

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/017718 WO2023101255A1 (en) 2021-11-30 2022-11-11 Neuromorphic device and method for compensating for variation characteristics in neuromorphic device

Country Status (2)

Country Link
KR (1) KR102514650B1 (en)
WO (1) WO2023101255A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190051766A (en) * 2017-11-06 2019-05-15 삼성전자주식회사 Neuron Circuit, system and method for synapse weight learning
KR20190085781A (en) * 2018-01-11 2019-07-19 한국전자통신연구원 Neuromorphic system and operating method thereof
KR20210070589A (en) * 2019-12-05 2021-06-15 연세대학교 산학협력단 Apparatus for learning a spiking neural network
JP2021140320A (en) * 2020-03-03 2021-09-16 株式会社東芝 Spiking neural network device and method for learning spiking neural network device
KR20210137663A (en) * 2020-05-11 2021-11-18 연세대학교 산학협력단 Apparatus and method for learning a spiking neural network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190051766A (en) * 2017-11-06 2019-05-15 삼성전자주식회사 Neuron Circuit, system and method for synapse weight learning
KR20190085781A (en) * 2018-01-11 2019-07-19 한국전자통신연구원 Neuromorphic system and operating method thereof
KR20210070589A (en) * 2019-12-05 2021-06-15 연세대학교 산학협력단 Apparatus for learning a spiking neural network
JP2021140320A (en) * 2020-03-03 2021-09-16 株式会社東芝 Spiking neural network device and method for learning spiking neural network device
KR20210137663A (en) * 2020-05-11 2021-11-18 연세대학교 산학협력단 Apparatus and method for learning a spiking neural network

Also Published As

Publication number Publication date
KR102514650B1 (en) 2023-03-29

Similar Documents

Publication Publication Date Title
CN110826602B (en) Image classification method and system based on membrane potential regulation and control pulse neural network
US7080053B2 (en) Neural network device for evolving appropriate connections
US4912649A (en) Accelerating learning in neural networks
Pogodin et al. Kernelized information bottleneck leads to biologically plausible 3-factor hebbian learning in deep networks
CN114863248A (en) Image target detection method based on deep supervision self-distillation
WO2020141858A1 (en) Method for compensating for process variation by means of activation value adjustment in analog binarized neural network circuit, and system therefor
US4912652A (en) Fast neural network training
KR20160125967A (en) Method and apparatus for efficient implementation of common neuron models
WO2023101255A1 (en) Neuromorphic device and method for compensating for variation characteristics in neuromorphic device
US9460384B2 (en) Effecting modulation by global scalar values in a spiking neural network
KR102584868B1 (en) On-chip training neuromorphic architecture
CN113298231A (en) Graph representation space-time back propagation algorithm for impulse neural network
KR102204107B1 (en) Spiking Neural Network with STDP apllied to the threshold of neuron
WO2023080701A1 (en) Device for providing spiking neural network and operation method therefor
Portes et al. Distinguishing learning rules with brain machine interfaces
CN111582461B (en) Neural network training method and device, terminal equipment and readable storage medium
WO2023090592A1 (en) Weight transfer device for neuromorphic element, and weight transfer method using same
CN111582470B (en) Self-adaptive unsupervised learning image identification method and system based on STDP
US20230147192A1 (en) Spiking neural network providing device and operating method thereof
US20230162014A1 (en) Weight transfer apparatus for neuromorphic devices and weight transfer method using the same
Dadios et al. Application of neural networks to the flexible pole-cart balancing problem
WO2023085545A1 (en) Hardware-based artificial neural network providing device
Bredenberg et al. Formalizing locality for normative synaptic plasticity models
Ozturk et al. Mapping spatio-temporally encoded patterns by Reward-modulated STDP in spiking neurons
KR102514655B1 (en) Neuromorphic device for parallel processing of spike signals

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: 22901613

Country of ref document: EP

Kind code of ref document: A1