KR102204107B1 - 뉴런의 임계값에 STDP(Spiking Timing Dependent Plasticity)를 적용한 스파이킹 뉴럴 네트워크(Spiking Neural Network) - Google Patents

뉴런의 임계값에 STDP(Spiking Timing Dependent Plasticity)를 적용한 스파이킹 뉴럴 네트워크(Spiking Neural Network) Download PDF

Info

Publication number
KR102204107B1
KR102204107B1 KR1020200088313A KR20200088313A KR102204107B1 KR 102204107 B1 KR102204107 B1 KR 102204107B1 KR 1020200088313 A KR1020200088313 A KR 1020200088313A KR 20200088313 A KR20200088313 A KR 20200088313A KR 102204107 B1 KR102204107 B1 KR 102204107B1
Authority
KR
South Korea
Prior art keywords
input
spike
output
threshold value
neuron
Prior art date
Application number
KR1020200088313A
Other languages
English (en)
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 KR1020200088313A priority Critical patent/KR102204107B1/ko
Application granted granted Critical
Publication of KR102204107B1 publication Critical patent/KR102204107B1/ko

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/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • 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

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)
  • Feedback Control In General (AREA)

Abstract

복수의 뉴런 레이어(Layer)를 가지는 신경망 회로에서 임의의 뉴런에서 이전 뉴런 스파이크(Spike)와 다음 뉴런 스파이크(Spike)의 시간 차의 값이 양수이고 절대값이 작을수록 뉴런의 임계값을 크게하여 인식률은 유지하고 연산 처리량은 증가하지 않는 뉴런의 임계값 STDP를 적용한다.

Description

뉴런의 임계값에 STDP(Spiking Timing Dependent Plasticity)를 적용한 스파이킹 뉴럴 네트워크(Spiking Neural Network) {Spiking Neural Network with STDP apllied to the threshold of neuron}
본 발명은 뉴럴 네트워크에서 뉴런의 출력을 제어하는 방법에 관한 것으로서, 입력 시냅스의 가중치 부여 값을 학습하여 출력을 제어하는 종래의 기술과 달리, 뉴런의 임계값을 변동하는 방식을 학습하여 최적의 출력을 제어하는 방법에 관한 것이다.
신경망이란 인간 두뇌의 신경망을 모방하여 데이터 마이닝, 언어 인식, 이미지 처리, 신호처리 등과 같은 여러 산업에서 적용하는 인공지능 기법이다. 종래에, 회선 신경망(Convolution neural network) 기법을 많이 사용하였으나, 이는 이미지 데이터를 추출하고 비교 후 데이터를 모두 저장하여야 하기 때문에 대용량의 메모리와 높은 소모 전력을 요구하여 소형 시스템에 적용이 어렵다. 이에 인간의 두뇌 학습 및 정보처리 방식과 유사하고 적은 양의 데이터를 사용하는 SNN(Spiking Neural Network) 방식을 대두되었다.
SNN에서는 통상, STDP(Spiking Timing Dependent Plasticity)라는 비지도 학습 방식을 사용한다. SNN은 다수의 레이어(Layer)로 구성되어 있고 각각의 레이어(Layer)에는 다수의 뉴런이 존재한다. 임의의 레이어(Layer)를 기준으로 했을 때 이전 레이어(Layer)의 뉴런을 프리 시냅틱 뉴런(Pre-Synaptic Neuron)이라 하고 기준이 되는 레이어(Layer)의 뉴런을 포스트 시냅틱 뉴런이라고 정의하게 되는데 프리 시냅틱 뉴런(Pre-Synaptic Neuron)과 포스트 시냅틱 뉴런(Post-Synaptic Neuron) 사이는 시냅스(Synapse)로 연결되어 있다. 뉴런과 뉴런 사이를 연결하는 시냅스(Synapse)는 특정 가중치를 가지고 있다. STDP는 포스트 시냅틱 뉴런(Post-Synaptic Neuron)에서의 스파이크(Spike) 발생 시간과 프리 시냅틱 뉴런(Pre-Synaptic Neuron)에서의 스파이크(Spike) 발생 시간 차이로 시냅스의 가중치를 조절하는 비지도 학습 방법이다.
포스트 시냅틱 뉴런(Post-Synaptic Neuron)은, 프리 시냅틱 뉴런(Pre-Synaptic Neuron)으로부터 입력으로 들어오는 스파이크(Spike)에 각각 시냅스 가중치를 곱하고 이를 모두 더한 값이 특정 임계값을 넘게 되면 다음 레이어(Layer)로 발화한다.
이에 특정 임계값을 넘을 수 있도록 최적화 가중치를 찾아야 하며, 가중치의 변화량을 조절하여 새로운 시냅스 가중치를 구한 후 위와 같은 계산을 반복하여 출력을 제어한다. 이때, 입력 뉴런의 개수가 증가하면 증가한 개수만큼 시냅스 가중치의 수가 증가하고 학습하는 가중치의 개수도 증가하게 된다. 이에 처리해야 하는 연산량이 증가하여 연산 처리 시간이 길어지게 되기 때문에 소모 전력이 늘어나는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서 입력 뉴런의 개수가 증가하여도 연산량이 증가하지 않는 뉴런의 임계값 STDP 학습 방법을 제공하고자 한다.
상기의 문제를 해결하기 위하여 본 발명에서는, 입력 뉴런; 출력 뉴런; 상기 입력 뉴런에서 발생하는 소정의 전위인 입력 스파이크를 상기 출력 뉴런으로 전달하는 시냅스;로 구성되며,
상기 출력 뉴런은 소정의 발화 임계값을 가지며, 상기 출력 뉴런의 발화 임계값은 변동되는 것; 을 특징으로 하는 뉴럴 네트워크를 구성한다.
구체적으로 상기 시냅스는, 입력 스파이크에 대하여 고정된 시냅스 가중치를 가지는 것; 입력 뉴런, 입력뉴런의 스파이크를 입력 받는 출력 뉴런, 입력 뉴런에서 발생하는 소정의 전위인 입력 스파이크를 상기 출력 뉴런으로 전달하는 시냅스로 구성된 뉴럴 네트워크의 신호 전달 방법을 포함하고 있다.
또한, 본 발명에서는 입력 뉴런의 스파이크에 대하여 고정된 시냅스 가중치를 가하여 출력 뉴런에 입력하는 스파이크 입력 단계; 상기 출력 뉴런의 발화 임계값을 변동시키는 발화 임계값 변경 단계; 상기 스파이크 입력 단계에서 입력된 입력값이 상기 출력 뉴런의 발화 임계값을 초과하는 경우, 출력 스파이크를 발생시키는 출력 스파이크 발생 단계; 를 포함하여 구성되는 뉴럴 네트워크의 신호 전달 방법에서의 다수의 단계로 구성된다.
더욱 구체적으로, 상기 발화 임계값 변경 단계 이전에, 입력 스파이크에 따른 입력 스파이크와 출력 스파이크의 발생시간을 측정하는 스파이크 발생시간을 측정하는 발화시점 측정단계; 상기 발화시점 측정단계에서의 입력 스파이크와 출력 스파이크가 각각 발생하는 시간의 시간차를 측정하는 스파이크 시간차 측정단계; 를 추가로 포함하며, 상기 발화 임계값 변경 단계는, 상기 측정된 입력 스파이크와 출력 스파이크가 각각 발생하는 시간의 시간차에 의해서 임계값 변화량을 가지도록 발화 임계값을 변동시키는 것; 을 특징으로 하는 뉴럴 네트워크의 신호 전달 방법으로 구성된다.
본 발명에서의 임계값 변화량은, 수학식 4에 의해서 결정되는 것; 을 특징으로 하는 뉴럴 네트워크의 신호 전달 방법이다.
수학식 4
Figure 112020074255649-pat00001
수학식 4는
Figure 112020074255649-pat00002
= 임계값의 변화량;
Figure 112020074255649-pat00003
= 출력 스파이크가 발생한 시간 - 입력 스파이크가 발생한 시간;
Figure 112020074255649-pat00004
= 기울기;
Figure 112020074255649-pat00005
= 크기를 나타내는 상수로 나타낼 수있다.
본 발명의 수단으로 임계값 변화량은, 수학식 6에 의해서 결정되는 것; 을 특징으로 하는 뉴럴 네트워크의 신호 전달 방법에 사용된다.
수학식 6
Figure 112020074255649-pat00006
Figure 112020074255649-pat00007
수학식 6은
Figure 112020074255649-pat00008
= 임계값의 변화량;
Figure 112020074255649-pat00009
= 학습률 상수;
Figure 112020074255649-pat00010
= 입력뉴런의 개수;
Figure 112020074255649-pat00011
= 기존의 임계값;
Figure 112020074255649-pat00012
= 새로운 임계값으로 나타낼 수 있다.
기존의 학습법은 증가한 입력 뉴런의 개수만큼 시냅스 가중치의 개수도 증가하게 되어, 학습해야 하는 가중치의 개수가 늘어남으로 연산량이 늘어나게 되지만, 본 발명에서의 임계값 학습법은 입력 뉴런의 개수가 증가하여도 학습해야 하는 임계값의 개수가 늘지 않아 처리해야 하는 연산량이 증가하지 않는다.
이에 본 발명은 기존의 방법보다 연산 처리 시간이 줄어들고, 대용량의 연산 처리 장치를 요구하지 않으며, 연산 처리 시간이 길어지지 않아 소모 전력이 증가하지 않는다. 또한, 본 발명은 입력 뉴런의 개수가 증가하면 인식률의 정확도가 올라간다는 장점을 가지고 있다. 본 발명은 드론, 전기 자동차 등과 같은 배터리를 사용하는 시스템에 적용 가능하며, 저전력 소형 시스템에도 용이하게 사용될 수 있다.
도 1 은 본 발명의 뉴럴 네트워크의 일부를 나타낸 것이다.
도 2 는 본 발명의 스파이크 발생 시간 표현이다.
도 3은 본 발명의 출력 뉴런 발화 임계값의 변화량을 나타낸 것이다.
도 4는 본 발명의 출력 뉴런 발화 임계값의 변화량과 출력 뉴런 발화 임계값의 관계를 나타낸 그래프이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면부호를 붙였다.
1. 뉴럴 네트워크
인간의 신경망 구조를 모방한 인공 지능 기법인 뉴럴 네트워크는 다수의 뉴런들이 시냅스로 연결되어 네트워크를 형성하고 신호를 전달하는 것이다. 뉴럴 네트워크는 뉴런, 레이어(Layer), 시냅스 (Synapse)로 구성된다. 이하 뉴럴 네트워크의 구성 요소와 구조에 대하여 설명한다.
도 1 (100)은 본 발명의 뉴럴 네트워크의 일부를 나타내는 도면이다. 레이어(Layer)(110)는 같은 방향성을 가진 다수의 뉴런의 집단을 나타낸다. 각각 다른 레이어(Layer)(110)에 존재하는 뉴런을 연결하고 신호를 전달하는 것을 시냅스(Synapse)(130)라 한다. 뉴럴 네트워크에서는 시냅스(Synapse)(130)를 기준으로 이전의 뉴런을 프리 시냅틱 뉴런(Pre-Synaptic Neuron)이라 하고, 본 발명에서는 입력 뉴런(120)이라 한다. 시냅스(130)를 통해 입력 뉴런(120)과 연결되어 있는 시냅스(Synapse) 이후의 뉴런을 포스트 시냅틱 뉴런(Post-Synaptic Neuron)이라 하고 본 발명에서는 출력 뉴런(150)이라 한다. 입력 뉴런(120)에서 발생하고 시냅스(Synapse)(130)를 통하여 출력 뉴런(150)에 전달되는 신호를 입력 스파이크(Spike)(140)라 한다. 출력 스파이크(Spike)(160)는 출력 뉴런(150)에서 발생하는 신호이다.
1.1. 뉴럴 네트워크의 출력
인간의 신경망 구조에서 신경 세포는 다수의 자극을 받게 되는데 이때 모든 자극에 반응할 수는 없다. 이처럼 뉴럴 네트워크에서도 출력 뉴런(150)이 입력 뉴런(120)으로부터 발생하는 입력 신호들 모두를 받아 들이고 발화하여 출력이 되지는 않는다. 이 때문에 출력 뉴런의 발화 임계값을 설정하고 그 이상의 값만을 신호로 받아들여 출력을 제어한다.
SNN(Spiking Neural Network)은 입력 스파이크(Spike)(140)의 합이 출력 뉴런의 발화 임계값 이상이 될 때만 출력 스파이크(Spike)(160)가 발생하는 뉴럴 네트워크 방식이다.
이하, 본 발명에서 임계값이라 함은 출력 뉴런의 발화 임계값을 의미한다.
2. 종래 기술
SNN에서 입력 스파이크(Spike)(140) 가 시냅스(Synapse)(130)를 통하여 출력 뉴런(150)에 전달 될 때, 각 시냅스(Synapse)(130)에는 시냅스 가중치가 있다. 시냅스 가중치는 입력 스파이크(Spike)(140)와 곱해져 입력 스파이크(Spike)(140)를 증폭 또는 감폭하는 임의의 값이다. 시냅스 가중치가 곱해진 입력 스파이크(Spike)(140)들을 모두 더하여 출력의 뉴런 임계값과 비교하여 출력을 제어한다. 이에 출력을 제어하기 위한 최적화된 시냅스 가중치 설계가 필요하게 된다. STDP(Spiking Timing Dependent Plasticity)는 입력 스파이크(Spike)가 발생한 시간과 출력 스파이크(Spike)가 발생한 시간의 차를 이용하여 시냅스 가중치의 변화 량을 구하는 함수이다. STDP 학습법으로 시냅스 가중치를 최적화 하여 출력을 제어할 수 있다.
도 2 는 스파이크(Spike)가 발생한 시간을 수직선으로 나타낸 것 이다. 입력 스파이크(Spike)가 발생한 시간(210) 및 출력 스파이크(Spike)가 발생한 시간(220)을 나타낸 그래프이다.j개의 입력 뉴런에서의 입력 스파이크(Spike)가 발생한 시간(220)은
Figure 112020074255649-pat00013
로 표현하며, i개의 출력 뉴런에서의 출력 스파이크(Spike)가 발생한 시간(230)
Figure 112020074255649-pat00014
이다. 도 2 에서 시간 차(
Figure 112020074255649-pat00015
)를 나타내는 구간을 표현하였다. 수학식 1은 출력 스파이크(Spike)가 발생한 시간(220)과 입력 스파이크(Spike)가 발생한 시간의 차(210)(이하 시간 차라 표기한다.)를 나타내는 식이다.
수학식 1
Figure 112020074255649-pat00016
제 1 구간(230)은
Figure 112020074255649-pat00017
이며 입력 스파이크(Spike)보다 출력 스파이크(Spike)의 발화 시점이 늦는 것을 나타낸다. 제 2 구간(240)는
Figure 112020074255649-pat00018
인 경우이며 출력 스파이크가 입력 스파이크(Spike)보다 먼저 발화한 것을 나타낸 것이다.
수학식 2는 SNN의 기본 원리를 나타낸 식이다. 수학식 2는 도 1와 같이 j개의 입력 뉴런을 가진 각각의 입력 스파이크(Spike)(
Figure 112020074255649-pat00019
)에 시냅스 가중치(
Figure 112020074255649-pat00020
)를 곱하여 합한 것을 나타낸 식이다. 수학식 2의 계산 결과 값은
Figure 112020074255649-pat00021
로 표현 하였고, 임계값은
Figure 112020074255649-pat00022
로 나타낸다.
수학식 2
Figure 112020074255649-pat00023
상기 수학식 2에서
Figure 112020074255649-pat00024
일 때, 즉 계산값(
Figure 112020074255649-pat00025
)이 임계값(
Figure 112020074255649-pat00026
)보다 작으면 출력 스파이크(Spike)의 값은 0으로 출력된다.
Figure 112020074255649-pat00027
일 경우, 계산값(
Figure 112020074255649-pat00028
)는 임계값(
Figure 112020074255649-pat00029
)보다 크거나 같으면 출력 스파이크(Spike)의 값은 1로 출력된다.
3. 본 발명의 기술
3.1. 본 발명에 따른 뉴럴 네트워크의 동작
종래의 STDP 학습법에서는 입력 뉴런(120)의 개수가 늘어나면 시냅스(Synapse)의 개수가 늘어나게 되어 학습해야 하는 시냅스 가중치(
Figure 112020074255649-pat00030
)의 개수도 늘어난다. 즉, 늘어나는 시냅스 가중치(
Figure 112020074255649-pat00031
)의 개수만큼 처리해야 하는 연산량도 증가한다.
반면, 본 발명에서는 시냅스 가중치(
Figure 112020074255649-pat00032
)는 시스템의 설정된 고정 값이 되고, 출력 뉴런의 임계값(
Figure 112020074255649-pat00033
)을 변화시켜 최적의 임계값을 찾아 출력을 제어한다. 이하 이에 대하여 설명한다.
수학식 3
Figure 112020074255649-pat00034
예를 들면 입력 뉴런(120)이 k개 증가 할 때, 수학식 3 같이 기존의 j개의 연산 항에서 k개 만큼의 연산 항이 증가하여 총 j+k개의 연산 항이 존재하게 된다. 입력 뉴런(120)이 k개 만큼 증가하면 학습해야 하는 시냅스 가중치(
Figure 112020074255649-pat00035
)도 k개가 추가되는 것이 종래의 기술이다. 반면 본 발명은 시냅스 가중치가 k개 더 증가하긴 하나, 고정된 설정 값이기 때문에 k개 만큼을 추가로 학습할 필요는 없다. 또한 하나의 입력 스파이크(120)와 시냅스 가중치(
Figure 112020074255649-pat00036
)의 곱이 될 수 있는 최대값은 1이기 때문에 계산 결과의 최대값도
Figure 112020074255649-pat00037
가 된다. 시냅스 가중치(
Figure 112020074255649-pat00038
)는 시스템의 설계 시 고정 값이며 여러 번의 연산을 걸쳐도 계산값은
Figure 112020074255649-pat00039
을 넘지 않는다. 본 발명에서 입력 뉴런의 개수가 증가해도 학습해야 하는 임계값의 개수는 늘어 나지 않는다.
상기 수학식 3과 같이 입력 뉴런의 개수가
Figure 112020074255649-pat00040
개 증가하면 계산 결과
Figure 112020074255649-pat00041
가 되고, 계산 결과
Figure 112020074255649-pat00042
를 임계값(
Figure 112020074255649-pat00043
)과 비교하여 출력을 제어한다.
Figure 112020074255649-pat00044
인 경우, 계산값이 출력 뉴런의 발화 임계값을 넘지 못하여 출력 스파이크는 발화하지 않아 0이 된다. 이와 반대로
Figure 112020074255649-pat00045
일 때, 계산값이 임계값을 넘어 출력 스파이크는 1로 발화한다. 이는 상기 수학식 2의 출력 제어와 유사하다.
도 3은 본 발명의 시간 차(
Figure 112020074255649-pat00046
)에 따른 임계값의 변화량(
Figure 112020074255649-pat00047
)을 나타내는 그래프 이다. 본 발명은 시간 차(
Figure 112020074255649-pat00048
)를 독립 변수로 사용한 임계값의 변화량(
Figure 112020074255649-pat00049
)을 함수이다. 그래프에서 가로축은 시간 차(
Figure 112020074255649-pat00050
)를 나타내고 세로축은 임계값의 변화량(
Figure 112020074255649-pat00051
)을 나타낸다.
Figure 112020074255649-pat00052
(310)구간에서는 시간 차가 작을수록, 임계값의 절대값 변화량은 더 크다.
Figure 112020074255649-pat00053
(320)구간에서는 시간 차가 작을수록, 임계값의 절대값 변화량은 크다.
수학식 4
Figure 112020074255649-pat00054
상기 수학식 4는 도 3의 그래프의 계산식이다. 수학식 4의 독립변수는 입출력 스파이크의 시간 차 (
Figure 112020074255649-pat00055
), 종속 변수는 임계값의 변화량(
Figure 112020074255649-pat00056
)이다. ⅰ)는
Figure 112020074255649-pat00057
에서 적용하는 학습 함수이고
Figure 112020074255649-pat00058
Figure 112020074255649-pat00059
에서 적용하는 학습 함수이다.
상기 수학식 4에서
Figure 112020074255649-pat00060
Figure 112020074255649-pat00061
는 크기 상수이고
Figure 112020074255649-pat00062
는 기울기를 나타내는 상수이며 설정 값이다.
수학식 5
Figure 112020074255649-pat00063
수학식 5는 상기 수학식 4을 통하여 얻은 임계값의 변하량(
Figure 112020132450416-pat00064
)을 적용하여 새로운 임계값을 구하는 식이다. 수학식 5의
Figure 112020132450416-pat00065
는 기존의 임계값을 나타내고
Figure 112020132450416-pat00066
는 함수식을 통해 새롭게 도출해낸 임계값이다.
Figure 112020132450416-pat00067
는 입력 뉴런의 개수이고
Figure 112020132450416-pat00068
는 학습률 상수이며 설정 값이다.
Figure 112020132450416-pat00102
에 따라 임계값의 변화량의 크기가 결정되며, 이 함수 식을 통하여 임계값의 범위가
Figure 112020132450416-pat00069
이라는 결과가 나올 수 있다.
수학식 6
Figure 112020074255649-pat00070
Figure 112020074255649-pat00071
수학식 6는 상기 수학식 4를 단순화하여 만든 학습 함수이다. 수학식 6에서는 독립 변수 시간 차(
Figure 112020132450416-pat00072
)의 크기와 상관 없으며, 시간 차(
Figure 112020132450416-pat00073
)는 함수의 범위만 영향을 준다.
Figure 112020132450416-pat00074
는 임계값의 변화량이며,
Figure 112020132450416-pat00075
는 입력 뉴런의 개수 및 임계값의 최대값이다. 상기
Figure 112020132450416-pat00076
는 학습률 상수로 설정 값이다.
Figure 112020132450416-pat00103
는 임계값의 변화량의 크기에 영향을 주는 상수이다. 도 4는 수학식 6에 따른 그래프이다. 세로축은 임계값(
Figure 112020132450416-pat00077
)이며, 가로축은 출력 뉴런의 임계값의 절대값 변화량(
Figure 112020132450416-pat00078
) 이다. 본 그래프는 임계값의 절대값 변화량과 임계값의 변화량에 따른 그래프를 나타낸 것이다. 본 그래프를 통해 임계값의 범위가
Figure 112020132450416-pat00079
임을 알 수 있다.
3.2. 본 발명에 따른 뉴럴 네트워크에서 신호의 전달 방법
본 발명에서 적용한 SNN은 입력 스파이크와 시냅스 가중치를 곱하여 더한 계산값을 임계값과 비교하고 계산값이 임계값 이상이면 출력 스파이크를 1로 결정하는 뉴럴 네트워크이다. 이때 시냅스 가중치를 변화하여 상기 과정을 거친 계산값이 임계값 보다 크거나 작게하여 출력을 제어하는 것이 종래 STDP 학습법이다. 반면 본 발명은 시냅스 가중치를 변화시키지 않아 계산값은 고정되고 임계값을 변동시켜 계산값과 임계값을 비교하고,이때 계산값보다 임계값이 작으면 출력 스파이크는 발화한다.
도 3에서와 같이
Figure 112020074255649-pat00080
(310)이면서 크기가 작을수록, 임계값 변화량의 크기는 음의 방향으로 증가하게 된다. 이에 수학식 6의 2)와 같이 새로운 임계값은 기존의 임계값에 임계값의 변화량을 더한 것으로 새로운 임계값은 기존의 임계값 보다 작아지게 된다. 반면,
Figure 112020074255649-pat00081
(320)이면서 크기가 작을수록, 임계값 변화량의 크기가 양의 방향으로 증가하여 상기와 같은 계산으로 새로운 임계값은 기존의 임계값보다 더 커지게 된다.
이와 같이 임계값의 변화량을 조절하여 새로운 임계값을 만들고 최적화된 임계값을 찾는다. 본 발명에서는 새로운 임계값과 계산 결과 값을 비교하는 과정을 거쳐 출력을 제어하는 신호 전달이 이루어진다.
한편, 본 발명의 기술적 사상은 상기 실시 예에 따라 구체적으로 기술되었으나, 상기 실시 예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주지해야 한다. 또한, 본 발명의 기술분야에서 당업자는 본 발명의 기술 사상의 범위 내에서 다양한 실시 예가 가능함을 이해할 수 있을 것이다.
110 레이어 (111,112)
120 입력 뉴런(121,122,123)
130 시냅스(131,132,133,134,135,136)
140 입력 스파이크(141,142,143,144,145,146,147,148,149)
150 출력 뉴런(151,152)
160 출력 스파이크(161,162,163)
210 입력 스파이크가 발생한 시간(211,212)
220 출력 스파이크가 발생한 시간(221)
230 제 1 구간:
Figure 112020074255649-pat00082

240 제 2 구간:
Figure 112020074255649-pat00083

310
Figure 112020074255649-pat00084

320
Figure 112020074255649-pat00085

Claims (7)

  1. 입력 뉴런;
    출력 뉴런;
    상기 입력 뉴런에서 발생하는 소정의 전위인 입력 스파이크를 상기 출력 뉴런으로 전달하는 시냅스; 로 구성되며,
    상기 출력 뉴런은 소정의 발화 임계값을 가지며,
    상기 시냅스는,
    입력 스파이크에 대하여 고정된 시냅스 가중치를 가지며;
    상기 출력 뉴런의 발화 임계값은,
    상기 입력 뉴런의 스파이크 및 상기 출력 뉴런의 스파이크가 각각 발생하는 시간의 시간차에 의해서 변동되는 임계값 변화량으로 변동되는 것;
    을 특징으로 하는 뉴럴 네트워크.
  2. 제 1항에 있어서,
    상기 임계값 변화량은 , 수학식 1에 의해서 결정되는 것;
    을 특징으로 하는 뉴럴 네트워크.
    수학식 1
    Figure 112020132450416-pat00104

    Figure 112020132450416-pat00105
    = 임계값의 변화량;
    Figure 112020132450416-pat00106
    = 출력 스파이크가 발생한 시간 - 입력 스파이크가 발생한 시간;
    Figure 112020132450416-pat00107
    = 기울기;
    Figure 112020132450416-pat00108
    = 크기를 나타내는 상수.
  3. 제 1항에 있어서,
    상기 임계값 변화량은, 수학식 2에 의해서 결정되는 것;
    을 특징으로 하는 뉴럴 네트워크.
    수학식 2
    Figure 112020132450416-pat00109

    Figure 112020132450416-pat00110

    Figure 112020132450416-pat00111
    = 임계값의 변화량;
    Figure 112020132450416-pat00112
    = 학습률 상수
    Figure 112020132450416-pat00113
    = 입력 뉴런의 개수
    Figure 112020132450416-pat00114
    = 기존의 임계값
    Figure 112020132450416-pat00115
    = 새로운 임계값
  4. 입력 뉴런, 입력뉴런의 스파이크를 입력받는 출력 뉴런, 입력 뉴런에서 발생하는 소정의 전위인 입력 스파이크를 상기 출력 뉴런으로 전달하는 시냅스로 구성된 뉴럴 네트워크의 신호 전달 방법으로서, 입력 뉴런의 스파이크에 대하여 고정된 시냅스 가중치를 가하여 출력 뉴런에 입력하는 스파이크 입력 단계;
    입력 스파이크에 따른 입력 스파이크와 출력 스파이크의 발생시간을 측정하는 스파이크 발생 시간을 측정하는 발화시점 측정단계;
    상기 발화시점 측정단계에서의 입력 스파이크와 출력 스파이크가 각각 발생하는 시간의 시간차를 측정하는 스파이크 시간차 측정단계;
    상기 출력 뉴런의 발화 임계값을 변동시키는 발화 임계값 변경 단계;
    상기 스파이크 입력 단계에서 입력된 입력값이 상기 출력 뉴런의 발화 임계값을 초과하는 경우, 출력 스파이크를 발생시키는 출력 스파이크 발생 단계;로 구성되며,
    상기 발화 임계값 변경 단계는,
    상기 측정된 입력 스파이크와 출력 스파이크가 각각 발생하는 시간의 시간차에 의해서 변동되는 임계값 변화량으로 발화 임계값을 변동시키는 것;
    을 특징으로 하는 뉴럴 네트워크의 신호 전달 방법.
  5. 삭제
  6. 제4항에 있어서, 상기 임계값 변화량은, 수학식 1에 의해서 결정되는 것;
    을 특징으로 하는 뉴럴 네트워크의 신호 전달 방법.
    수학식 1
    Figure 112020132450416-pat00086

    Figure 112020132450416-pat00087
    = 임계값의 변화량;
    Figure 112020132450416-pat00088
    = 출력 스파이크가 발생한 시간 - 입력 스파이크가 발생한 시간;
    Figure 112020132450416-pat00089
    = 기울기;
    Figure 112020132450416-pat00090
    = 크기를 나타내는 상수.
  7. 제4항에 있어서, 임계값 변화량은, 수학식 2에 의해서 결정되는 것;
    을 특징으로 하는 뉴럴 네트워크의 신호 전달 방법.
    수학식 6
    Figure 112020132450416-pat00091

    Figure 112020132450416-pat00092

    Figure 112020132450416-pat00093
    = 임계값의 변화량;
    Figure 112020132450416-pat00094
    = 학습률 상수
    Figure 112020132450416-pat00095
    = 입력 뉴런의 개수
    Figure 112020132450416-pat00096
    = 기존의 임계값
    Figure 112020132450416-pat00097
    = 새로운 임계값
KR1020200088313A 2020-07-16 2020-07-16 뉴런의 임계값에 STDP(Spiking Timing Dependent Plasticity)를 적용한 스파이킹 뉴럴 네트워크(Spiking Neural Network) KR102204107B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200088313A KR102204107B1 (ko) 2020-07-16 2020-07-16 뉴런의 임계값에 STDP(Spiking Timing Dependent Plasticity)를 적용한 스파이킹 뉴럴 네트워크(Spiking Neural Network)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200088313A KR102204107B1 (ko) 2020-07-16 2020-07-16 뉴런의 임계값에 STDP(Spiking Timing Dependent Plasticity)를 적용한 스파이킹 뉴럴 네트워크(Spiking Neural Network)

Publications (1)

Publication Number Publication Date
KR102204107B1 true KR102204107B1 (ko) 2021-01-18

Family

ID=74236796

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200088313A KR102204107B1 (ko) 2020-07-16 2020-07-16 뉴런의 임계값에 STDP(Spiking Timing Dependent Plasticity)를 적용한 스파이킹 뉴럴 네트워크(Spiking Neural Network)

Country Status (1)

Country Link
KR (1) KR102204107B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220053387A (ko) * 2020-10-22 2022-04-29 경북대학교 산학협력단 스파이킹 뉴럴 네트워크(snn) 하드웨어에서 초저전력 소비를 위한 예측 방법, 이를 수행하기 위한 회로

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140141778A (ko) * 2013-05-30 2014-12-11 삼성전자주식회사 Stdp 동작을 위한 시냅스 회로 및 시냅스 회로를 포함하는 뉴로모픽 시스템
KR20160010477A (ko) * 2013-05-21 2016-01-27 퀄컴 인코포레이티드 스파이킹 네트워크들의 효율적인 하드웨어 구현
KR20190120253A (ko) * 2017-03-08 2019-10-23 암, 리미티드 스파이킹 신경망
KR20200085491A (ko) * 2019-01-07 2020-07-15 에스케이플래닛 주식회사 신경망 기반 센서 이상 감지를 위한 서비스 제공 시스템 및 방법, 그리고 컴퓨터 프로그램이 기록된 비휘발성 기록매체
KR20200108173A (ko) * 2019-03-07 2020-09-17 고려대학교 산학협력단 스파이킹 뉴럴 네트워크에 대한 연산량을 감소시키는 stdp 기반의 뉴로모픽 연산처리장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160010477A (ko) * 2013-05-21 2016-01-27 퀄컴 인코포레이티드 스파이킹 네트워크들의 효율적인 하드웨어 구현
KR20140141778A (ko) * 2013-05-30 2014-12-11 삼성전자주식회사 Stdp 동작을 위한 시냅스 회로 및 시냅스 회로를 포함하는 뉴로모픽 시스템
KR20190120253A (ko) * 2017-03-08 2019-10-23 암, 리미티드 스파이킹 신경망
KR20200085491A (ko) * 2019-01-07 2020-07-15 에스케이플래닛 주식회사 신경망 기반 센서 이상 감지를 위한 서비스 제공 시스템 및 방법, 그리고 컴퓨터 프로그램이 기록된 비휘발성 기록매체
KR20200108173A (ko) * 2019-03-07 2020-09-17 고려대학교 산학협력단 스파이킹 뉴럴 네트워크에 대한 연산량을 감소시키는 stdp 기반의 뉴로모픽 연산처리장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220053387A (ko) * 2020-10-22 2022-04-29 경북대학교 산학협력단 스파이킹 뉴럴 네트워크(snn) 하드웨어에서 초저전력 소비를 위한 예측 방법, 이를 수행하기 위한 회로
KR102515089B1 (ko) 2020-10-22 2023-03-27 경북대학교 산학협력단 초저전력 소비를 위한 스파이킹 뉴럴 네트워크(snn) 하드웨어의 동작 방법, 이를 수행하기 위한 회로

Similar Documents

Publication Publication Date Title
US20130151449A1 (en) Apparatus and methods for implementing learning for analog and spiking signals in artificial neural networks
US11397894B2 (en) Method and device for pruning a neural network
Shrestha et al. Stable spike-timing dependent plasticity rule for multilayer unsupervised and supervised learning
Pillai et al. Extreme learning ANFIS for control applications
KR102204107B1 (ko) 뉴런의 임계값에 STDP(Spiking Timing Dependent Plasticity)를 적용한 스파이킹 뉴럴 네트워크(Spiking Neural Network)
Zhang et al. Efficient spiking neural networks with logarithmic temporal coding
CN115730743A (zh) 一种基于深度神经网络的战场作战趋势预测方法
CN113298231A (zh) 用于脉冲神经网络的图表示时空反向传播算法
KR102311135B1 (ko) 스파이킹 뉴럴 네트워크에 대한 연산량을 감소시키는 stdp 기반의 뉴로모픽 연산처리장치
Shrestha et al. Adaptive delay learning in SpikeProp based on delay convergence analysis
KR102191346B1 (ko) 버스트 스파이크에 기반한 스파이킹 신경망 생성 방법 및 스파이킹 신경망 기반 추론 장치
CN111582461B (zh) 神经网络训练方法、装置、终端设备和可读存储介质
CN111582470B (zh) 基于stdp的自适应非监督学习图像识别方法及系统
Mohemmed et al. Optimization of spiking neural networks with dynamic synapses for spike sequence generation using PSO
Dadios et al. Application of neural networks to the flexible pole-cart balancing problem
KR20210146002A (ko) 다층 스파이킹 뉴럴 네트워크의 학습 방법 및 장치
Zins et al. Reproducing Fear Conditioning of Rats with Unmanned Ground Vehicles and Neuromorphic Systems
Ünal et al. Artificial neural networks
CN115936088A (zh) 联合突触权重和延迟可塑性的高效多脉冲学习算法
KR102400610B1 (ko) 평균제곱편차 분석기반의 적응형 학습률을 갖는 역전파 신경망 학습방법
WO2023101255A1 (ko) 뉴로모픽 장치 및 뉴로모픽 장치에서의 변이 특성 보상 방법
US20230289582A1 (en) Neuron circuit with synaptic weight learning
KR102356787B1 (ko) 신경망을 이용한 기억 장치 및 그의 정확성-저장용량 트레이드오프에 기반한 정보의 자동적 재분배 및 가변적 저장 용량 구현을 위한 동작 방법
Vogl et al. Dynamically stable associative learning (DYSTAL): A biologically motivated artificial neural network
Plumbley Communications and neural networks: Theory and practice

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant