[go: up one dir, main page]

KR20210146002A - Method and apparatus for training multi-layer spiking neural network - Google Patents

Method and apparatus for training multi-layer spiking neural network Download PDF

Info

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
Application number
KR1020200062953A
Other languages
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 한국전자통신연구원
Priority to KR1020200062953A priority Critical patent/KR20210146002A/en
Publication of KR20210146002A publication Critical patent/KR20210146002A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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

Disclosed is a method for training a multilayer spiking neural network. The method repeats a process of generating the input spikes of the current hidden-layer neurons connected to the previous hidden-layer neurons based on the output spike frequency calculated from the previous hidden-layer neurons, performing spike timing dependent plasticity (STDP) learning on the current hidden-layer neurons receiving the input spikes, and storing the output spike frequency calculated in the current hidden-layer neurons for the input spikes, for each of the hidden layers of a multilayer spiking neural network. The method calculates the sum of the minimum synaptic weights related to a speech for each neuron constituting the hidden layers and adjusts the membrane potential threshold voltage of the corresponding neuron based on the sum of the minimum synaptic weights for each neuron, in the multilayer spiking neural network in which the STDP learning for the hidden layers is completed.

Description

다층 스파이킹 뉴럴 네트워크의 학습 방법 및 장치{METHOD AND APPARATUS FOR TRAINING MULTI-LAYER SPIKING NEURAL NETWORK}Method and apparatus for learning multi-layer spiking neural network {METHOD AND APPARATUS FOR TRAINING MULTI-LAYER SPIKING NEURAL NETWORK}

본 발명은 스파이킹 뉴럴 네트워크(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 processor 110 . Specifically, the learning device 100 includes a processor 110 , a memory 120 , and a storage device 130 , and may further include an input device 140 and an output device 150 , which include a bus 160 . ) can be communicated.

프로세서(110)는 프로그램에 포함된 명령들을 처리하여 본 발명의 동작을 실행하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다.The processor 110 may be a processor of various types that executes the operations of the present invention by processing instructions included in a program, for example, a central processing unit (CPU), a micro processor unit (MPU), a micro controller (MCU). unit), a graphic processing unit (GPU), or the like.

메모리(120)와 저장 장치(130)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(110)에 의해 처리되도록 해당 프로그램 또는 각종 데이터를 저장 및/또는 로드한다. 메모리(120)와 저장 장치(130))는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있고, 예를 들면, 메모리(120)는 ROM(read only memory)(121) 및 RAM(random access memory)(122)을 포함할 수 있다. 메모리(120)와 저장 장치(130))는 프로세서(110)의 내부 또는 외부에 위치할 수 있고, 메모리(120)는 이미 알려진 다양한 수단을 통해 프로세서(110)와 연결될 수 있다.The memory 120 and the storage device 130 store and/or load a corresponding program or various data so that the instructions described to execute the operation of the present invention are processed by the processor 110 . The memory 120 and the storage device 130 may include various types of volatile or non-volatile storage media. For example, the memory 120 may include a read only memory (ROM) 121 and a random access (RAM). memory) 122 . The memory 120 and the storage device 130 may be located inside or outside the processor 110 , and the memory 120 may be connected to the processor 110 through various known means.

프로그램은 입력층, 복수의 은닉층들, 그리고 출력층으로 구성된 다층 스파이킹 뉴럴 네트워크를 구성하고, 이를 본 발명에 따라 학습시키는 동작이 기술된 명령들을 포함할 수 있다.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)

Figure pat00001
에 따른 시냅스 연결 강도 변화(Synaptic change)
Figure pat00002
를 나타내는 STDP 함수이다.
Figure pat00003
가 양수이고 시각 차이가 작을수록 시냅스 가중치가 커지는 것을 LTP(long-term potentiation)라고 하고,
Figure pat00004
가 음수이고 시각 차이가 작을수록 시냅스 가중치가 작아지는 것을 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)
Figure pat00001
Synaptic change in strength according to
Figure pat00002
STDP function representing
Figure pat00003
is a positive number and the smaller the visual difference, the greater the synaptic weight is called LTP (long-term potentiation),
Figure pat00004
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 learning apparatus 100 uses the learning data to construct a multi-layer SNN composed of an input layer, a plurality of hidden layers (hidden layer 0 , hidden layer 1 , …, hidden layer n-1 ), and an output layer. learn The learning apparatus 100 learns a multi-layer SNN using the STDP learning method. Each layer of the multilayer SNN is composed of a plurality of nodes, wherein a node corresponds to a neuron, a node-to-node connection corresponds to a synaptic connection between neurons, and a connection strength corresponds to a synaptic weight.

학습 장치(100)는 다층 SNN을 층별로 구분하고, 복수의 뉴런 노드들로 구성된 각 은닉층에서, 뉴런 노드들을 연결하는 시냅스 가중치를 STDP 학습시킨다. 이후, 학습 장치(100)는 학습된 시냅스 가중치를 기초로 각 뉴런의 발화 시 관계된 시냅스 가중치 합을 계산하고, 각 뉴런에 대응된 시냅스 가중치 합을 이용하여 해당 뉴런의 막전위 문턱 전압을 조정한다. 다층 SNN에서, 은닉층0의 막전위는 동시에 많은 노드들로부터 스파이크 입력을 받아 누적되므로, 은닉층0에서는 스파이크가 잘 발생할 수 있다. 하지만, 출력층에 가까운 은닉층들은 적은 수의 노드로부터 스파이크 입력을 받아 발화해야 하므로, 스파이크를 발화시키기 위한 막전위 문턱 전압이 낮게 조정되어야 한다. The learning apparatus 100 classifies the multilayer SNN for each layer, and in each hidden layer composed of a plurality of neuron nodes, performs STDP learning of synaptic weights connecting the neuron nodes. Thereafter, the learning apparatus 100 calculates the sum of synaptic weights related to the firing of each neuron based on the learned synaptic weight, and adjusts the membrane potential threshold voltage of the corresponding neuron by using the sum of the synaptic weights corresponding to each neuron. In the multilayered SNN, membrane potential of the hidden layer is 0, so at the same time accumulate accept spike input from a number of nodes in the hidden layer 0 may spike can occur well. However, since the hidden layers close to the output layer must fire by receiving a spike input from a small number of nodes, the membrane potential threshold voltage for firing the spike must be adjusted to be low.

학습 장치(100)는 입력층의 각 입력 노드에 대응하는 학습 데이터를 기초로 입력 노드들들의 스파이크를 생성한다(S110). 학습 장치(100)는 입력 스파이크 생성기를 통하여 최대 스파이크 주파수 크기 동안 입력 스파이크를 반복 생성한다. 입력 스파이크는 입력된 학습 데이터의 실수 값에 비례하는 발생 확률을 가지고 포아슨 분포를 가질 수 있다. The learning apparatus 100 generates spikes of input nodes based on learning data corresponding to each input node of the input layer (S110). The learning apparatus 100 repeatedly generates the input spike during the maximum spike frequency through the input spike generator. The input spike may have a Poisson distribution with an occurrence probability proportional to the real value of the input training data.

학습 장치(100)는 입력층에서 생성된 입력 스파이크들을 최초 은닉층인 은닉층0으로 입력하고, 최대 스파이크 주파수 크기 동안 은닉층0을 구성하는 뉴런들의 시냅스 가중치를 STDP 학습 방법으로 학습시킨다(S120). STDP 학습을 통해 뉴런과 뉴런의 연결 강도는 시냅스 가중치라는 실수값으로 표현된다. 도 3의 (b)에서 설명한 바와 같이, STDP 학습에서 사용하는 STDP 함수에 따르면, 시냅스 전 스파이크가 시냅스 후 스파이크보다 먼저 발생하면, 시냅스 전 뉴런에서 발생한 스파이크가 시냅스 후 뉴런의 스파이크 발생에 영향을 주는 것이므로, 시냅스 가중치(시냅스 연결 강도)를 증가시키고, 시냅스 전 스파이크가 시냅스 후 스파이크보다 나중에 발생하면, 상호간에 인과관계가 없는 것으로 보아, 시냅스 가중치를 감소시킨다. The learning apparatus 100 inputs the input spikes generated in the input layer to the hidden layer 0 , which is the first hidden layer, and learns the synaptic weights of neurons constituting the hidden layer 0 during the maximum spike frequency by the STDP learning method (S120). Through STDP learning, the neuron-neuron connection strength is expressed as a real value called synaptic weight. As described in Fig. 3(b), according to the STDP function used in STDP learning, if the pre-synaptic spike occurs before the post-synaptic spike, the spike that occurs in the pre-synaptic neuron affects the spike in the post-synaptic neuron. Therefore, increase the synaptic weight (synaptic connection strength), and if the pre-synaptic spike occurs later than the post-synaptic spike, it is considered that there is no causal relationship between them, and the synaptic weight is decreased.

학습 장치(100)는 한 학습 데이터로 생성된 입력 스파이크들에 대하여, 은닉층0 내의 각 뉴런에서 발생한 출력 스파이크들은 뉴런별로 카운트한 출력 스파이크 빈도수를 저장한다(S130). 뉴런별 출력 스파이크 빈도수는 다음 은닉층의 학습 데이터로 입력된다.The learning apparatus 100 stores the frequency of output spikes counted for each neuron of the output spikes generated in each neuron in the hidden layer 0 with respect to input spikes generated from one training data (S130). The output spike frequency for each neuron is input as the learning data of the next hidden layer.

학습 장치(100)는 이전 은닉층의 뉴런별 출력 스파이크 빈도수를 기초로 현재 은닉층 뉴런들로 입력되는 입력 스파이크들을 생성한다(S140). 학습 장치(100)는 입력 스파이크 생성기를 통하여 최대 스파이크 주파수 크기 동안 입력 스파이크를 발생시킨다. 학습 장치(100)는, 최초 은닉층인 은닉층0에서는 실수형 학습 데이터로부터 포아슨 분포의 입력 스파이크 트레인을 생성하고, 이후 은닉층들(은닉층1에서 은닉층n-1-)에서는 이전 은닉층에서 입력받은 정수형 빈도수로부터 포아슨 분포의 입력 스파이크 트레인을 생성한다. 학습 장치(100)는 최대 빈도수를 갖는 출력에 큰 비중을 두어서 다음 은닉층이 학습되도록 수학식 1과 같이, 노드 i의 입력 스파이크 생성 확률을 계산할 수 있고, 수학식 1은 도 5와 같은 그래프로 표현될 수 있다. 학습 장치(100)는 이전 은닉층 뉴런의 출력 스파이크 빈도수에 따라, 이전 은닉층 뉴런에 연결된 현재 은닉층 뉴런으로 입력되는 입력 스파이크를 생성할 수 있다. 즉, 학습 장치(100)는 이전 은닉층으로부터 최대 빈도수의 스파이크를 입력받는 현재 은닉층의 뉴런으로, 최대 확률로 생성된 스파이크를 입력한다. 학습 장치(100)는 출력 스파이크 빈도수가 0인 이전 은닉층에 연결된 현재 은닉층의 뉴런으로는 스파이크를 입력하지 않는다. The learning apparatus 100 generates input spikes input to the current hidden layer neurons based on the frequency of output spikes for each neuron of the previous hidden layer (S140). The learning apparatus 100 generates an input spike during the maximum spike frequency level through the input spike generator. Learning apparatus 100, the first hidden layer of hidden layer 0, the real number to generate an input spike train of the Poisson distribution from the learning data, and the subsequent hidden layer (hidden in the first hidden layer n-1 -) in an integer frequency of the input from the previous hidden layer Generate the input spike train of the Poisson distribution from The learning apparatus 100 may calculate the input spike generation probability of node i as shown in Equation 1 so that the next hidden layer is learned by giving a large weight to the output having the maximum frequency, and Equation 1 is a graph as shown in FIG. can be expressed The learning apparatus 100 may generate an input spike input to the current hidden layer neuron connected to the previous hidden layer neuron according to the frequency of output spikes of the previous hidden layer neuron. That is, the learning apparatus 100 is a neuron of the current hidden layer that receives the spike of the maximum frequency from the previous hidden layer, and inputs the spike generated with the maximum probability. The learning apparatus 100 does not input a spike to a neuron of a current hidden layer connected to a previous hidden layer having an output spike frequency of 0.

Figure pat00005
Figure pat00005

학습 장치(100)는 현재 은닉층으로 입력 스파이크들을 입력하고, 최대 스파이크 주파수 크기 동안 현재 은닉층을 구성하는 뉴런들의 시냅스 가중치를 STDP 학습 방법으로 학습시킨다(S142).The learning apparatus 100 inputs input spikes to the current hidden layer, and learns the synaptic weights of neurons constituting the current hidden layer during the maximum spike frequency by the STDP learning method (S142).

학습 장치(100)는 입력 스파이크 트레인들에 대하여, 현재 은닉층 내의 각 뉴런에서 발생한 출력 스파이크들은 뉴런별로 카운트한 출력 스파이크 빈도수를 저장한다(S144). The learning apparatus 100, with respect to the input spike trains, the current hidden layer Output spikes generated from each neuron in the inner circuit store the frequency of output spikes counted for each neuron (S144).

학습 장치(100)는 전체 은닉층들에 대한 개별 STDP 학습이 완료된 것인지 판단하고, 남아있는 은닉층이 있으면, 층별 STDP 학습 단계(S140)로 이동한다(S150).The learning apparatus 100 determines whether individual STDP learning for all hidden layers is completed, and if there are remaining hidden layers, moves to the STDP learning step for each layer ( S140 ) ( S150 ).

전체 은닉층들에 대한 개별 STDP 학습이 완료된 경우, 학습 장치(100)는 마지막 은닉층n-1의 출력 스파이크 빈도수들 중에서 최대 빈도수를 갖는 뉴런을 선택하고, 선택된 뉴런만의 스파이크를 출력하도록 학습한다(Max Pooling)(S160).When individual STDP learning for all the hidden layers is completed, the learning apparatus 100 selects the neuron having the maximum frequency among the output spike frequencies of the last hidden layer n-1, and learns to output the spike of only the selected neuron (Max Pooling) (S160).

학습 장치(100)는 전체 은닉층들에 대한 개별 STDP 학습이 완료 SNN에서, 은닉층들을 구성하는 뉴런들의 발화 시 관계된 시냅스 가중치 합을 계산한다(S170). 학습 장치(100)는 학습 데이터로 입력 스파이크 트레인을 생성해서 층별 STDP 학습된 SNN으로 입력하고, SNN의 각 층에서 출력된 스파이크 빈도수를 기초로 생성된 입력 스파이크 트레인을 다음 층으로 입력하는 과정을 반복하면서, 각 뉴런의 발화 시 관계된 시냅스 가중치 합을 계산할 수 있다. 이때, 학습 장치(100)는 학습된 시냅스 가중치와 막전위 문턱 전압을 그대로 사용한 상태에서, 각 뉴런의 시냅스 가중치 합을 계산한다. 시냅스 가중치 합은 각 뉴런이 발화하는 순간에 입력 스파이크가 인가된 시냅스의 가중치들을 합한 값이다.The learning apparatus 100 calculates the sum of synaptic weights related to the firing of neurons constituting the hidden layers in the SNN in which individual STDP learning for all the hidden layers has been completed ( S170 ). The learning apparatus 100 generates an input spike train with training data, inputs it to the STDP learned SNN for each layer, and repeats the process of inputting the input spike train generated based on the spike frequency output from each layer of the SNN to the next layer. While doing so, it is possible to calculate the sum of synaptic weights related to the firing of each neuron. At this time, the learning apparatus 100 calculates the sum of the synaptic weights of each neuron while using the learned synaptic weight and the membrane potential threshold voltage as it is. The sum of the synaptic weights is the sum of the weights of the synapses to which the input spike is applied at the moment each neuron fires.

학습 장치(100)는 전체 학습 데이터에 대해서 계산한 각 뉴런의 시냅스 가중치 합 중에서 최소 시냅스 가중치 합을 추출한다(S172). The learning apparatus 100 extracts the minimum sum of synaptic weights from the sum of synaptic weights of each neuron calculated for the entire learning data (S172).

학습 장치(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 learning device 100 by a minimum of synaptic weights sum to, even if spikes are inputted, the membrane potential threshold voltage (V th) to, the over ignition spike to be passed to the next neuron membrane potential threshold voltage (V th) in each neuron neurons Can be adjusted.

이와 같이, 학습 장치(100)는 각 은닉층을 개별 STDP 학습시킨 후, 각 뉴런의 막전위 문턱 전압을 조정하여 스파이크 전달률을 높이기 때문에, 입력층의 스파이크가 복수의 은닉층들을 거치더라도 출력층에서 출력되도록, 다층 SNN을 학습시킬 수 있다. As such, since the learning apparatus 100 increases the spike transmission rate by adjusting the membrane potential threshold voltage of each neuron after individual STDP learning of each hidden layer, the input layer spike is output from the output layer even if it passes through a plurality of hidden layers. SNNs can be trained.

도 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 learning apparatus 100 generates input spikes corresponding to test data through the input spike generator in the SNN to which the membrane potential threshold voltage for each neuron is adjusted ( S210 ). The input spike generator generates input spikes during the maximum spike frequency magnitude.

학습 장치(100)는 입력층에서 생성된 입력 스파이크들을 최초 은닉층으로 입력하고, 순차적으로 연결된 은닉층들의 시냅스 가중치와 조정된 막전위 문턱 전압에 따라, 마지막 은닉층에서 출력되는 뉴런별 출력 스파이크 빈도수를 계산한다(S220).The learning apparatus 100 inputs the input spikes generated in the input layer to the first hidden layer, and according to the synaptic weight of the sequentially connected hidden layers and the adjusted membrane potential threshold voltage, calculates the frequency of output spikes for each neuron output from the last hidden layer ( S220).

학습 장치(100)는 마지막 은닉층의 뉴런별 출력 스파이크 빈도수를 출력층으로 입력하고, 출력층에서 출력된 최대 빈도수를 갖는 뉴런의 스파이크를 획득한다(S230).The learning apparatus 100 inputs the output spike frequency for each neuron of the last hidden layer to the output layer, and obtains the spike of the neuron having the maximum frequency output from the output layer (S230).

이와 같이, 실시 예에 따르면, 다층 스파이킹 뉴럴 네트워크의 학습 시간을 단축하고, 학습 정확도를 높일 수 있다. 실시 예에 따르면, 다층 스파이킹 뉴럴 네트워크로 구성된 뉴로모픽 칩의 처리 시간과 소모 전력을 줄일 수 있다.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.
KR1020200062953A 2020-05-26 2020-05-26 Method and apparatus for training multi-layer spiking neural network Withdrawn KR20210146002A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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