KR20210146002A - Method and apparatus for training multi-layer spiking neural network - Google Patents
Method and apparatus for training multi-layer spiking neural network Download PDFInfo
- Publication number
- KR20210146002A KR20210146002A KR1020200062953A KR20200062953A KR20210146002A KR 20210146002 A KR20210146002 A KR 20210146002A KR 1020200062953 A KR1020200062953 A KR 1020200062953A KR 20200062953 A KR20200062953 A KR 20200062953A KR 20210146002 A KR20210146002 A KR 20210146002A
- Authority
- KR
- South Korea
- Prior art keywords
- neuron
- neural network
- spike
- learning
- hidden
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
Description
본 발명은 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)에 관한 것으로, 더욱 상세하게 말하자면, 다층 스파이킹 뉴럴 네트워크의 학습 방법 및 장치에 관한 것이다. The present invention relates to a spiking neural network (SNN), and more particularly, to a method and apparatus for learning a multi-layer spiking neural network.
CMOS(Complementary Metal-Oxide-Semiconductor) 디지털 논리 회로의 한계로 인하여 폰 노이만 방식과 다른 컴퓨팅 방식이 연구되고 있다. 그 중에서, 뇌의 생물학적 특성을 모방하여 구현한 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)가 있다. Due to the limitations of the CMOS (Complementary Metal-Oxide-Semiconductor) digital logic circuit, a computing method different from the von Neumann method is being studied. Among them, there is a spiking neural network (SNN) implemented by mimicking the biological characteristics of the brain.
뇌는 시냅스(Synapse)로 연결된 뉴런(Neuron)으로 구성된다. 뉴런의 축색돌기와 다른 뉴런의 수상돌기가 연결되는 지점에 시냅스가 있다. 도 1의 뉴런의 스파이크 생성을 설명하는 도면을 참고하면, 뉴런은 막전위(membrane potential)가 문턱 전압(threshold voltage) 보다 크면 발화(fire)하고, 발화된 스파이크(spike)가 시냅스를 통해 전달된다. 이러한 뉴런의 스파이크 매커니즘을 모방한 SNN은 다른 뉴럴 네트워크에 비해 저전력으로 동작할 수 있다.The brain is composed of neurons connected by synapses. A synapse exists at the point where the axon of a neuron and the dendrite of another neuron connect. Referring to the diagram for explaining the spike generation of the neuron of FIG. 1 , the neuron fires when a membrane potential is greater than a threshold voltage, and the fired spike is transmitted through a synapse. SNNs that mimic the spike mechanism of these neurons can operate with low power compared to other neural networks.
뉴런은 수상돌기를 통하여 다른 뉴런들로부터 오는 신호를 입력받는데, 시냅스의 가중치가 곱해진 입력 신호의 합으로 막전위가 계산될 수 있다. 뉴런은 약 100 mV의 크기와, 1~2 ms의 짧은 지속 시간을 갖는 스파이크 전압을 발생시키고, 스파이크는 뉴런의 축색돌기를 통하여 시냅스를 통해 연결된 뉴런들로 전달된다,A neuron receives signals from other neurons through dendrites, and the membrane potential can be calculated as the sum of the input signals multiplied by the weight of the synapse. The neuron generates a spike voltage with a magnitude of about 100 mV and a short duration of 1 to 2 ms, and the spike is transmitted to the connected neurons through the synapse through the axon of the neuron.
이와 같이, 시냅스와 뉴런의 신호 전달 특성을 모방한 SNN은 각 뉴런에서 발화된 스파이크들과 이들의 타이밍, 시냅스 연결 관계 및 시냅스 가중치를 이용하여 정보를 처리한다. 이를 위해, SNN은 일반적으로 STDP(Spike Timing Dependent Plasticity) 알고리즘으로 학습된다. STDP는 상대적 스파이크 타이밍을 기반으로 뉴런 사이의 시냅스 가중치를 조정하는 학습 방법이다. 하지만, STDP 알고리즘은 단층 SNN의 학습에 주로 사용되고 있어서, 다층 SNN 네트워크를 학습 시키는 경우 층(레이어)간 스파이크 전달률이 낮아 학습 효율과 정확도가 떨어진다.As such, the SNN, which imitates the signal transduction characteristics of synapses and neurons, processes information using spikes fired from each neuron, their timing, synaptic connection relationship, and synaptic weight. To this end, SNNs are generally trained with the Spike Timing Dependent Plasticity (STDP) algorithm. STDP is a learning method that adjusts synaptic weights between neurons based on relative spike timing. However, since the STDP algorithm is mainly used for learning single-layer SNNs, when learning a multi-layer SNN network, the transmission rate of spikes between layers is low, resulting in poor learning efficiency and accuracy.
해결하고자 하는 과제는 STDP 학습을 이용하여 다층 스파이킹 뉴럴 네트워크를 층별로 구분하여 시냅스 가중치를 학습시킨 후, 각 뉴런의 발화 시 관계된 시냅스 가중치 합을 기초로 각 뉴런의 막전위 문턱 전압을 조정하는 다층 스파이킹 뉴럴 네트워크의 학습 방법 및 장치를 제공하는 것이다. The task to be solved is to classify the multilayer spiking neural network by layer using STDP learning, learn the synaptic weights, and then adjust the membrane potential threshold voltage of each neuron based on the sum of the synaptic weights related to the firing of each neuron. To provide a learning method and apparatus for a king neural network.
실시 예에 따르면, 컴퓨팅 장치가 다층 스파이킹 뉴럴 네트워크를 학습시키는 방법이 제공된다. 상기 방법은, 상기 다층 스파이킹 뉴럴 네트워크의 은닉층들 각각에 대해, 이전 은닉층 뉴런들에서 계산된 출력 스파이크 빈도수를 기초로 상기 이전 은닉층 뉴런들에 연결된 현재 은닉층 뉴런들의 입력 스파이크들을 생성하고, 상기 입력 스파이크들을 입력받은 상기 현재 은닉층 뉴런들을 STDP(Spike Timing Dependent Plasticity) 학습시킨 후, 상기 입력 스파이크들에 대해 상기 현재 은닉층 뉴런들에서 계산된 출력 스파이크 빈도수를 저장하는 과정을 반복하는 단계, 상기 은닉층들에 대한 상기 STDP 학습이 완료된 상기 다층 스파이킹 뉴럴 네트워크에서, 상기 은닉층들을 구성하는 뉴런별로 발화 시 관계된 최소 시냅스 가중치 합을 계산하는 단계, 그리고 뉴런별 최소 시냅스 가중치 합을 기초로, 해당 뉴런의 막전위 문턱 전압을 조정하는 단계를 포함한다.According to an embodiment, a method for a computing device to train a multilayer spiking neural network is provided. The method includes, for each of the hidden layers of the multilayer spiking neural network, generating input spikes of current hidden layer neurons connected to the previous hidden layer neurons based on the output spike frequency calculated in the previous hidden layer neurons, and the input spike After STDP (Spike Timing Dependent Plasticity) learning of the current hidden layer neurons that have received In the multilayer spiking neural network in which the STDP learning is completed, calculating the minimum synaptic weight sum related to the firing for each neuron constituting the hidden layers, and based on the minimum synaptic weight sum for each neuron, the membrane potential threshold voltage of the corresponding neuron including adjusting.
실시 예에 따르면, 다층 스파이킹 뉴럴 네트워크의 학습 시간을 단축하고, 학습 정확도를 높일 수 있다.According to an embodiment, it is possible to shorten the learning time of the multilayer spiking neural network and increase the learning accuracy.
실시 예에 따르면, 다층 스파이킹 뉴럴 네트워크로 구성된 뉴로모픽 칩의 처리 시간과 소모 전력을 줄일 수 있다.According to an embodiment, it is possible to reduce processing time and power consumption of a neuromorphic chip configured with a multilayer spiking neural network.
도 1은 뉴런의 스파이크 생성을 설명하는 도면이다.
도 2는 한 실시 예에 따른 학습 장치의 구조도이다.
도 3은 한 실시 예에 따른 스파이킹 뉴럴 네트워크의 뉴런과 시냅스의 관계를 개념적으로 나타내는 도면이다.
도 4는 한 실시 예에 따른 다층 스파이킹 뉴럴 네트워크의 학습을 도식화한 도면이다.
도 5는 한 실시 예에 따른 다층 스파이킹 뉴럴 네트워크 학습 방법의 흐름도이다.
도 6은 한 실시 예에 따른 입력 스파이크 생성 확률 그래프이다.
도 7은 한 실시 예에 따라 학습된 다층 스파이킹 뉴럴 네트워크의 테스트 방법의 흐름도이다. 1 is a diagram for explaining the spike generation of a neuron.
2 is a structural diagram of a learning apparatus according to an exemplary embodiment.
3 is a diagram conceptually illustrating a relationship between a neuron and a synapse of a spiking neural network according to an exemplary embodiment.
4 is a diagram schematically illustrating learning of a multi-layer spiking neural network according to an embodiment.
5 is a flowchart of a method for learning a multi-layer spiking neural network according to an embodiment.
6 is a graph of input spike generation probability according to an exemplary embodiment.
7 is a flowchart of a method for testing a learned multi-layer spiking neural network according to an embodiment.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those of ordinary skill in the art to which the present invention pertains can easily implement them. However, the present invention may be implemented in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is "connected" with 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. . Also, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.
도 2는 한 실시 예에 따른 학습 장치의 구조도이다. 2 is a structural diagram of a learning apparatus according to an exemplary embodiment.
도 2를 참고하면, 스파이킹 뉴럴 네트워크를 학습시키는 장치(간단히, “학습 장치”라고 함)(100)는 적어도 하나의 프로세서(110)에 의해 동작하는 컴퓨팅 장치일 수 있다. 구체적으로, 학습 장치(100)는 프로세서(110), 메모리(120), 저장 장치(130)를 포함하고, 입력 장치(140) 그리고 출력 장치(150)를 더 포함할 수 있고, 이들은 버스(160)를 통해 통신할 수 있다.Referring to FIG. 2 , a device for learning a spiking neural network (simply referred to as a “learning device”) 100 may be a computing device operated by at least one
프로세서(110)는 프로그램에 포함된 명령들을 처리하여 본 발명의 동작을 실행하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다.The
메모리(120)와 저장 장치(130)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(110)에 의해 처리되도록 해당 프로그램 또는 각종 데이터를 저장 및/또는 로드한다. 메모리(120)와 저장 장치(130))는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있고, 예를 들면, 메모리(120)는 ROM(read only memory)(121) 및 RAM(random access memory)(122)을 포함할 수 있다. 메모리(120)와 저장 장치(130))는 프로세서(110)의 내부 또는 외부에 위치할 수 있고, 메모리(120)는 이미 알려진 다양한 수단을 통해 프로세서(110)와 연결될 수 있다.The
프로그램은 입력층, 복수의 은닉층들, 그리고 출력층으로 구성된 다층 스파이킹 뉴럴 네트워크를 구성하고, 이를 본 발명에 따라 학습시키는 동작이 기술된 명령들을 포함할 수 있다.The program may include instructions describing an operation of constructing a multi-layer spiking neural network composed of an input layer, a plurality of hidden layers, and an output layer, and learning it according to the present invention.
도 3은 한 실시 예에 따른 스파이킹 뉴럴 네트워크의 뉴런과 시냅스의 관계를 개념적으로 나타내는 도면이다. 3 is a diagram conceptually illustrating a relationship between a neuron and a synapse of a spiking neural network according to an exemplary embodiment.
도 3의 (a)를 참고하면, 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)는 뉴런과 시냅스로 구성된다. Referring to FIG. 3A , a spiking neural network (SNN) consists of neurons and synapses.
뉴런j는 이전 뉴런들에서 발화된 스파이크 Xi를 시냅스를 통해 입력받는데, 시냅스 가중치 Wij에 의해 스파이크 Xi의 크기가 조절된 스파이크를 입력받는다. 뉴런j는 입력 스파이크와 시냅스 가중치의 곱을 막전위(membrane potential)에 누적하고, 막전위가 문턱 전압(threshold voltage, Vth) 보다 큰 경우 발화하여 스파이크 Yj를 출력한다. Neurons j is receive input via a synapse an ignition spike X i from the previous neuron receives the scaled spike of the spike X i by the synaptic weights W ij. Neuron j accumulates the product of the input spike and the synaptic weight to the membrane potential, and when the membrane potential is greater than the threshold voltage, V th , it fires and outputs the spike Y j .
뉴런j에서 발화된 스파이크 Yj는 시냅스를 통해 다음 뉴런으로 전달된다. 이렇게, 이전 뉴런(PRE-neuron)의 스파이크를 다음 뉴런(POST-neuron)으로 전달하는 신호의 양이 시냅스 가중치에 의해 결정되므로, SNN은 학습 단계에서 시냅스 가중치를 학습한다. The spike Y j fired from neuron j is transmitted to the next neuron through a synapse. In this way, since the amount of signal that transmits the spike of the previous neuron (PRE-neuron) to the next neuron (POST-neuron) is determined by the synaptic weight, the SNN learns the synaptic weight in the learning phase.
한편, SNN은, 뉴런의 막전위와 시냅스 가중치를 미분할 수 없어서, 기존의 심층 심화 학습에 보편적으로 사용되는 경사 강하법과 오차 역전파 방법으로 학습될 수 없다. 따라서, SNN은 생물학적 시냅스의 시냅스 연결 강도 변화 매커니즘인 스파이크 시점 의존 가소성(Spike Timing Dependent Plasticity, STDP) 방법으로 학습된다.On the other hand, since SNN cannot differentiate the membrane potential and synaptic weight of neurons, it cannot be learned by gradient descent and error backpropagation methods commonly used in conventional deep deep learning. Therefore, SNN is learned by the spike timing dependent plasticity (STDP) method, which is a mechanism for changing the strength of synaptic connections in biological synapses.
생물학적 시냅스는 신경 전달 물질의 화학 작용으로 단기 및 장기 기억 장치의 역할을 한다. 단기 기억은 스파이크 전달 이후에도 남아있는 신경 전달 물질에 의해 구현된다. 장기 기억은 수용체 수 또는 시냅스 구조의 변화로 인해 달라지는 시냅스 연결 강도에 의해 구현되므로, 시냅스 연결 강도 변화 매커니즘인 STDP 방법으로 시냅스들의 장기 기억을 만들어 가는 과정을 학습이라고 한다.Biological synapses are neurons It acts as a short-term and long-term memory device due to the chemical action of the transmitter. Short-term memory is implemented by neurotransmitters that remain after the transmission of the spike. Since long-term memory is implemented by the strength of synaptic connections that change due to changes in the number of receptors or synaptic structures, the process of creating long-term memories of synapses using the STDP method, a mechanism for changing the strength of synapses, is called learning.
도 3의 (b)를 참고하면, 시냅스 후 스파이크와 시냅스 전 스파이크의 시각 차이(spike timing)에 따른 시냅스 연결 강도 변화(Synaptic change) 를 나타내는 STDP 함수이다. 가 양수이고 시각 차이가 작을수록 시냅스 가중치가 커지는 것을 LTP(long-term potentiation)라고 하고, 가 음수이고 시각 차이가 작을수록 시냅스 가중치가 작아지는 것을 LTD(long-term depression)라고 한다. 이와 같이, SNN은 상대적 스파이크 타이밍을 기반으로 뉴런 사이의 시냅스 가중치를 조정하는 STDP 방법으로 학습될 수 있다.Referring to FIG. 3 (b), the visual difference between the post-synaptic spike and the pre-synaptic spike (spike timing) Synaptic change in strength according to STDP function representing is a positive number and the smaller the visual difference, the greater the synaptic weight is called LTP (long-term potentiation), is a negative number and the smaller the visual difference, the smaller the synaptic weight is called LTD (long-term depression). In this way, the SNN can be learned using the STDP method to adjust the synaptic weight between neurons based on the relative spike timing.
한편, STDP 방법은 일반적으로 두 뉴런 간의 상대적 스파이크 타이밍을 이용하므로, 뉴런들이 시냅스에 의해 다층으로 연결된 뉴럴 네트워크를 제대로 모방하지 못하는 한계가 있다. 즉, 실제 생물학적인 뉴럴 네트워크는 뉴런이 시냅스에 의해 다층 구조로 연결되어 있고, 인간 뇌의 대뇌 피질은 대략 6에서 10층 정도로 구성되어 있다. 이러한 다층 구조를 통해, 입력층에서의 단순 인식에서 출발하여, 출력층으로 갈수록 점진적으로 복잡한 추론이 가능하게 된다. On the other hand, since the STDP method generally uses the relative spike timing between two neurons, there is a limitation in that neurons cannot properly imitate a neural network connected in multiple layers by synapses. That is, in an actual biological neural network, neurons are connected in a multi-layered structure by synapses, and the cerebral cortex of the human brain is composed of approximately 6 to 10 layers. Through this multi-layer structure, starting from simple recognition in the input layer, progressively complex reasoning becomes possible as it goes to the output layer.
다음에서, 실제 생물학적인 뉴럴 네트워크의 다층 구조를 모방한 SNN을 학습시키는 방법을 구체적으로 설명한다. In the following, a method for learning an SNN that mimics the multilayer structure of an actual biological neural network will be described in detail.
도 4는 한 실시 예에 따른 다층 스파이킹 뉴럴 네트워크의 학습을 도식화한 도면이며, 도 5는 한 실시 예에 따른 다층 스파이킹 뉴럴 네트워크 학습 방법의 흐름도이고, 도 6은 한 실시 예에 따른 입력 스파이크 생성 확률 그래프이다.4 is a diagram schematically illustrating learning of a multilayer spiking neural network according to an embodiment, FIG. 5 is a flowchart of a method for learning a multilayer spiking neural network according to an embodiment, and FIG. 6 is an input spike according to an embodiment This is the generation probability graph.
도 4와 도 5를 참고하면, 학습 장치(100)는 학습 데이터를 이용하여, 입력층, 복수의 은닉층들(은닉층0, 은닉층1, …, 은닉층n-1), 그리고 출력층으로 구성된 다층 SNN을 학습시킨다. 학습 장치(100)는 STDP 학습 방법을 이용하여 다층 SNN을 학습시킨다. 다층 SNN의 각 층은 복수의 노드들로 구성되는데, 노드는 뉴런에 대응하고, 노드간 연결은 뉴런 간 시냅스 연결에 대응하며, 연결 강도는 시냅스 가중치에 대응한다. 4 and 5 , the
학습 장치(100)는 다층 SNN을 층별로 구분하고, 복수의 뉴런 노드들로 구성된 각 은닉층에서, 뉴런 노드들을 연결하는 시냅스 가중치를 STDP 학습시킨다. 이후, 학습 장치(100)는 학습된 시냅스 가중치를 기초로 각 뉴런의 발화 시 관계된 시냅스 가중치 합을 계산하고, 각 뉴런에 대응된 시냅스 가중치 합을 이용하여 해당 뉴런의 막전위 문턱 전압을 조정한다. 다층 SNN에서, 은닉층0의 막전위는 동시에 많은 노드들로부터 스파이크 입력을 받아 누적되므로, 은닉층0에서는 스파이크가 잘 발생할 수 있다. 하지만, 출력층에 가까운 은닉층들은 적은 수의 노드로부터 스파이크 입력을 받아 발화해야 하므로, 스파이크를 발화시키기 위한 막전위 문턱 전압이 낮게 조정되어야 한다. The
학습 장치(100)는 입력층의 각 입력 노드에 대응하는 학습 데이터를 기초로 입력 노드들들의 스파이크를 생성한다(S110). 학습 장치(100)는 입력 스파이크 생성기를 통하여 최대 스파이크 주파수 크기 동안 입력 스파이크를 반복 생성한다. 입력 스파이크는 입력된 학습 데이터의 실수 값에 비례하는 발생 확률을 가지고 포아슨 분포를 가질 수 있다. The
학습 장치(100)는 입력층에서 생성된 입력 스파이크들을 최초 은닉층인 은닉층0으로 입력하고, 최대 스파이크 주파수 크기 동안 은닉층0을 구성하는 뉴런들의 시냅스 가중치를 STDP 학습 방법으로 학습시킨다(S120). STDP 학습을 통해 뉴런과 뉴런의 연결 강도는 시냅스 가중치라는 실수값으로 표현된다. 도 3의 (b)에서 설명한 바와 같이, STDP 학습에서 사용하는 STDP 함수에 따르면, 시냅스 전 스파이크가 시냅스 후 스파이크보다 먼저 발생하면, 시냅스 전 뉴런에서 발생한 스파이크가 시냅스 후 뉴런의 스파이크 발생에 영향을 주는 것이므로, 시냅스 가중치(시냅스 연결 강도)를 증가시키고, 시냅스 전 스파이크가 시냅스 후 스파이크보다 나중에 발생하면, 상호간에 인과관계가 없는 것으로 보아, 시냅스 가중치를 감소시킨다. The
학습 장치(100)는 한 학습 데이터로 생성된 입력 스파이크들에 대하여, 은닉층0 내의 각 뉴런에서 발생한 출력 스파이크들은 뉴런별로 카운트한 출력 스파이크 빈도수를 저장한다(S130). 뉴런별 출력 스파이크 빈도수는 다음 은닉층의 학습 데이터로 입력된다.The
학습 장치(100)는 이전 은닉층의 뉴런별 출력 스파이크 빈도수를 기초로 현재 은닉층 뉴런들로 입력되는 입력 스파이크들을 생성한다(S140). 학습 장치(100)는 입력 스파이크 생성기를 통하여 최대 스파이크 주파수 크기 동안 입력 스파이크를 발생시킨다. 학습 장치(100)는, 최초 은닉층인 은닉층0에서는 실수형 학습 데이터로부터 포아슨 분포의 입력 스파이크 트레인을 생성하고, 이후 은닉층들(은닉층1에서 은닉층n-1-)에서는 이전 은닉층에서 입력받은 정수형 빈도수로부터 포아슨 분포의 입력 스파이크 트레인을 생성한다. 학습 장치(100)는 최대 빈도수를 갖는 출력에 큰 비중을 두어서 다음 은닉층이 학습되도록 수학식 1과 같이, 노드 i의 입력 스파이크 생성 확률을 계산할 수 있고, 수학식 1은 도 5와 같은 그래프로 표현될 수 있다. 학습 장치(100)는 이전 은닉층 뉴런의 출력 스파이크 빈도수에 따라, 이전 은닉층 뉴런에 연결된 현재 은닉층 뉴런으로 입력되는 입력 스파이크를 생성할 수 있다. 즉, 학습 장치(100)는 이전 은닉층으로부터 최대 빈도수의 스파이크를 입력받는 현재 은닉층의 뉴런으로, 최대 확률로 생성된 스파이크를 입력한다. 학습 장치(100)는 출력 스파이크 빈도수가 0인 이전 은닉층에 연결된 현재 은닉층의 뉴런으로는 스파이크를 입력하지 않는다. The
학습 장치(100)는 현재 은닉층으로 입력 스파이크들을 입력하고, 최대 스파이크 주파수 크기 동안 현재 은닉층을 구성하는 뉴런들의 시냅스 가중치를 STDP 학습 방법으로 학습시킨다(S142).The
학습 장치(100)는 입력 스파이크 트레인들에 대하여, 현재 은닉층 내의 각 뉴런에서 발생한 출력 스파이크들은 뉴런별로 카운트한 출력 스파이크 빈도수를 저장한다(S144). The
학습 장치(100)는 전체 은닉층들에 대한 개별 STDP 학습이 완료된 것인지 판단하고, 남아있는 은닉층이 있으면, 층별 STDP 학습 단계(S140)로 이동한다(S150).The
전체 은닉층들에 대한 개별 STDP 학습이 완료된 경우, 학습 장치(100)는 마지막 은닉층n-1의 출력 스파이크 빈도수들 중에서 최대 빈도수를 갖는 뉴런을 선택하고, 선택된 뉴런만의 스파이크를 출력하도록 학습한다(Max Pooling)(S160).When individual STDP learning for all the hidden layers is completed, the
학습 장치(100)는 전체 은닉층들에 대한 개별 STDP 학습이 완료 SNN에서, 은닉층들을 구성하는 뉴런들의 발화 시 관계된 시냅스 가중치 합을 계산한다(S170). 학습 장치(100)는 학습 데이터로 입력 스파이크 트레인을 생성해서 층별 STDP 학습된 SNN으로 입력하고, SNN의 각 층에서 출력된 스파이크 빈도수를 기초로 생성된 입력 스파이크 트레인을 다음 층으로 입력하는 과정을 반복하면서, 각 뉴런의 발화 시 관계된 시냅스 가중치 합을 계산할 수 있다. 이때, 학습 장치(100)는 학습된 시냅스 가중치와 막전위 문턱 전압을 그대로 사용한 상태에서, 각 뉴런의 시냅스 가중치 합을 계산한다. 시냅스 가중치 합은 각 뉴런이 발화하는 순간에 입력 스파이크가 인가된 시냅스의 가중치들을 합한 값이다.The
학습 장치(100)는 전체 학습 데이터에 대해서 계산한 각 뉴런의 시냅스 가중치 합 중에서 최소 시냅스 가중치 합을 추출한다(S172). The
학습 장치(100)는 은닉층들을 구성하는 각 뉴런의 최소 시냅스 가중치 합을 기초로, 해당 뉴런의 막전위 문턱 전압(Vth)을 조정한다(S180). 즉, 학습 장치(100)는 각 뉴런에서 최소 시냅스 가중치 합으로 스파이크가 입력되더라도, 막전위 문턱 전압(Vth)을 넘어 발화된 스파이크가 다음 뉴런으로 전달되도록, 막전위 문턱 전압(Vth)을 뉴런별로 조정할 수 있다. The learning apparatus 100 adjusts the membrane potential threshold voltage (V th ) of the corresponding neuron based on the sum of the minimum synaptic weights of each neuron constituting the hidden layers ( S180 ). That is, the
이와 같이, 학습 장치(100)는 각 은닉층을 개별 STDP 학습시킨 후, 각 뉴런의 막전위 문턱 전압을 조정하여 스파이크 전달률을 높이기 때문에, 입력층의 스파이크가 복수의 은닉층들을 거치더라도 출력층에서 출력되도록, 다층 SNN을 학습시킬 수 있다. As such, since the
도 7은 한 실시 예에 따라 학습된 다층 스파이킹 뉴럴 네트워크의 테스트 방법의 흐름도이다. 7 is a flowchart of a method for testing a learned multi-layer spiking neural network according to an embodiment.
도 7을 참고하면, 학습 장치(100)는 뉴런별 막전위 문턱 전압이 조정된 SNN에서, 입력 스파이크 생성기를 통해 테스트 데이터에 해당하는 입력 스파이크들을 생성한다(S210). 입력 스파이크 생성기는 최대 스파이크 주파수 크기 동안 입력 스파이크를 발생시킨다.Referring to FIG. 7 , the
학습 장치(100)는 입력층에서 생성된 입력 스파이크들을 최초 은닉층으로 입력하고, 순차적으로 연결된 은닉층들의 시냅스 가중치와 조정된 막전위 문턱 전압에 따라, 마지막 은닉층에서 출력되는 뉴런별 출력 스파이크 빈도수를 계산한다(S220).The
학습 장치(100)는 마지막 은닉층의 뉴런별 출력 스파이크 빈도수를 출력층으로 입력하고, 출력층에서 출력된 최대 빈도수를 갖는 뉴런의 스파이크를 획득한다(S230).The
이와 같이, 실시 예에 따르면, 다층 스파이킹 뉴럴 네트워크의 학습 시간을 단축하고, 학습 정확도를 높일 수 있다. 실시 예에 따르면, 다층 스파이킹 뉴럴 네트워크로 구성된 뉴로모픽 칩의 처리 시간과 소모 전력을 줄일 수 있다.As such, according to an embodiment, it is possible to shorten the learning time of the multilayer spiking neural network and increase the learning accuracy. According to an embodiment, it is possible to reduce processing time and power consumption of a neuromorphic chip configured with a multilayer spiking neural network.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improved forms of the present invention are also provided by those skilled in the art using the basic concept of the present invention as defined in the following claims. is within the scope of the right.
Claims (1)
상기 다층 스파이킹 뉴럴 네트워크의 은닉층들 각각에 대해, 이전 은닉층 뉴런들에서 계산된 출력 스파이크 빈도수를 기초로 상기 이전 은닉층 뉴런들에 연결된 현재 은닉층 뉴런들의 입력 스파이크들을 생성하고, 상기 입력 스파이크들을 입력받은 상기 현재 은닉층 뉴런들을 STDP(Spike Timing Dependent Plasticity) 학습시킨 후, 상기 입력 스파이크들에 대해 상기 현재 은닉층 뉴런들에서 계산된 출력 스파이크 빈도수를 저장하는 과정을 반복하는 단계,
상기 은닉층들에 대한 상기 STDP 학습이 완료된 상기 다층 스파이킹 뉴럴 네트워크에서, 상기 은닉층들을 구성하는 뉴런별로 발화 시 관계된 최소 시냅스 가중치 합을 계산하는 단계, 그리고
뉴런별 최소 시냅스 가중치 합을 기초로, 해당 뉴런의 막전위 문턱 전압을 조정하는 단계
를 포함하는, 다층 스파이킹 뉴럴 네트워크 학습 방법.
A method for a computing device operated by at least one processor to train a multi-layer spiking neural network, comprising:
For each hidden layer of the multilayer spiking neural network, input spikes of current hidden layer neurons connected to the previous hidden layer neurons are generated based on the output spike frequency calculated from the previous hidden layer neurons, and the input spikes are received. Repeating the process of storing the output spike frequency calculated in the current hidden layer neurons with respect to the input spikes after the current hidden layer neurons are trained by STDP (Spike Timing Dependent Plasticity);
In the multilayer spiking neural network in which the STDP learning for the hidden layers is completed, calculating the sum of the minimum synaptic weights related to the firing for each neuron constituting the hidden layers, and
Adjusting the membrane potential threshold voltage of the corresponding neuron based on the sum of the minimum synaptic weights for each neuron
Including, a multi-layer spiking neural network learning method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020200062953A KR20210146002A (en) | 2020-05-26 | 2020-05-26 | Method and apparatus for training multi-layer spiking neural network |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020200062953A KR20210146002A (en) | 2020-05-26 | 2020-05-26 | Method and apparatus for training multi-layer spiking neural network |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20210146002A true KR20210146002A (en) | 2021-12-03 |
Family
ID=78866844
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020200062953A Withdrawn KR20210146002A (en) | 2020-05-26 | 2020-05-26 | Method and apparatus for training multi-layer spiking neural network |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20210146002A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114548046A (en) * | 2022-04-25 | 2022-05-27 | 阿里巴巴达摩院(杭州)科技有限公司 | Text processing method and device |
| WO2025121537A1 (en) * | 2023-12-08 | 2025-06-12 | 서울대학교산학협력단 | Neuron circuit of artificial neural network, having function of compensating for threshold voltage variations |
-
2020
- 2020-05-26 KR KR1020200062953A patent/KR20210146002A/en not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114548046A (en) * | 2022-04-25 | 2022-05-27 | 阿里巴巴达摩院(杭州)科技有限公司 | Text processing method and device |
| WO2025121537A1 (en) * | 2023-12-08 | 2025-06-12 | 서울대학교산학협력단 | Neuron circuit of artificial neural network, having function of compensating for threshold voltage variations |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11755912B2 (en) | Controlling distribution of training data to members of an ensemble | |
| US12380320B2 (en) | Resilient neural network | |
| Hunsberger et al. | Spiking deep networks with LIF neurons | |
| Marhon et al. | Recurrent neural networks | |
| US9558442B2 (en) | Monitoring neural networks with shadow networks | |
| Shrestha et al. | Stable spike-timing dependent plasticity rule for multilayer unsupervised and supervised learning | |
| US20150278680A1 (en) | Training, recognition, and generation in a spiking deep belief network (dbn) | |
| US9652711B2 (en) | Analog signal reconstruction and recognition via sub-threshold modulation | |
| KR20170031695A (en) | Decomposing convolution operation in neural networks | |
| JP2017509951A (en) | Construct a sparse neural network | |
| CN107077637A (en) | Differential coding in neutral net | |
| JP2017515205A (en) | Cold neuron spike timing back propagation | |
| KR20210146002A (en) | Method and apparatus for training multi-layer spiking neural network | |
| Falez et al. | Mastering the output frequency in spiking neural networks | |
| KR20230134286A (en) | Neuron circuit with synaptic weight learning | |
| JP7336710B2 (en) | Neural network system, learning method and program | |
| Munavalli et al. | Pattern recognition for data retrieval using artificial neural network | |
| JPH04501327A (en) | pattern transfer neural network | |
| KR102875852B1 (en) | Method and System for Training Dynamic Sub-Modules for Network Management based on Reinforcement Learning with Parametric Reward | |
| Pupezescu | Auto Resetting Multilayer Perceptron in an Adaptive Elearning Architecture | |
| Catalfamo et al. | Exploiting Synaptic Traces for Online Weight Adaptation in Spiking Autoencoder Networks | |
| Valdez et al. | Neural network optimization with a hybrid evolutionary method that combines particle swarm and genetic algorithms with fuzzy rules | |
| Yusoff et al. | Motion learning using spatio-temporal neural network | |
| CN119378599A (en) | Brain-like information transient transmission method and device based on neural network | |
| Pescianschi | Main principles of the general theory of neural network with internal feedback |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| PC1203 | Withdrawal of no request for examination |
St.27 status event code: N-1-6-B10-B12-nap-PC1203 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |