KR20210152358A - A data processing device of a spike neural network and a data processing method of thereof - Google Patents

A data processing device of a spike neural network and a data processing method of thereof Download PDF

Info

Publication number
KR20210152358A
KR20210152358A KR1020200132344A KR20200132344A KR20210152358A KR 20210152358 A KR20210152358 A KR 20210152358A KR 1020200132344 A KR1020200132344 A KR 1020200132344A KR 20200132344 A KR20200132344 A KR 20200132344A KR 20210152358 A KR20210152358 A KR 20210152358A
Authority
KR
South Korea
Prior art keywords
time series
series data
spike
signal
output
Prior art date
Application number
KR1020200132344A
Other languages
Korean (ko)
Other versions
KR102644008B1 (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 US17/308,723 priority Critical patent/US20210383192A1/en
Publication of KR20210152358A publication Critical patent/KR20210152358A/en
Application granted granted Critical
Publication of KR102644008B1 publication Critical patent/KR102644008B1/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/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/08Learning methods

Abstract

An objective of the present invention is to provide a data processing device that converts time series data into discrete data. According to the present invention, the data processing device of a spike neural network comprises: an input terminal for receiving time series data; a processor for differentiating the inputted time series data, determining a point at which a differential value of the time series data is 0, and generating a discrete output based on the determination result; and an output terminal for generating a spike train signal based on the output and outputting the generated spike train signal to external axons.

Description

스파이크 뉴럴 네트워크의 데이터 처리 장치 및 데이터 처리 방법{A DATA PROCESSING DEVICE OF A SPIKE NEURAL NETWORK AND A DATA PROCESSING METHOD OF THEREOF}A DATA PROCESSING DEVICE OF A SPIKE NEURAL NETWORK AND A DATA PROCESSING METHOD OF THEREOF

본 발명은 스파이크 뉴럴 네트워크의 데이터 처리 장치 및 데이터 처리 방법에 관한 것으로, 더욱 상세하게는 시계열적으로 입력되는 데이터를 이산적인 데이터로 처리하는 장치 및 데이터 처리 방법에 관한 것이다.The present invention relates to a data processing apparatus and data processing method of a spike neural network, and more particularly, to an apparatus and data processing method for processing time-series input data as discrete data.

스파이크 뉴럴 네트워크(SNN: Spike Neural Network)에서 연산을 수행하기 위해서, 네트워크 내에서 전달되는 신호의 형태는 스파이크의 형태를 가져야 하고, 스파이크 뉴럴 네트워크에 입력되는 데이터 또는 신호의 형태도 연속적인 값이 아닌 하이(High) 또는 로우(Low)의 크기만을 가지는 이산적인 신호여야 한다. In order to perform an operation in a Spike Neural Network (SNN), the form of a signal transmitted within the network must have a form of a spike, and the form of data or signals input to the Spike Neural Network is also not a continuous value. It should be a discrete signal having only a high or low magnitude.

따라서 스파이크 뉴럴 네트워크에 입력되는 최초 데이터의 형태가 연속적이고 시변 하는 시계열 데이터라면, 입력된 시계열적인 데이터를 스파이크의 형태로 변환하는 데이터 처리 장치가 필요하다.Therefore, if the form of initial data input to the spike neural network is continuous and time-varying time series data, a data processing device that converts the input time series data into the form of a spike is required.

상술한 기술적 과제를 해결하기 위하여, 본 발명은 시계열적인 데이터를 이산적인 데이터로 변환하는 데이터 처리 장치를 제공하고자 한다. In order to solve the above technical problem, an object of the present invention is to provide a data processing apparatus that converts time-series data into discrete data.

또한, 본 발명은 시계열 데이터를 이산적인 데이터로 변환하는데 있어서, 미분기를 포함하는 프로세서를 제공함으로써, 시계열 데이터의 최대값 및 최소값을 결정하는 데이터 처리 장치를 제공하고자 한다.Another object of the present invention is to provide a data processing apparatus that determines maximum and minimum values of time series data by providing a processor including a differentiator in converting time series data into discrete data.

상술한 기술적 과제를 해결하기 위하여, 본 발명에 따른 스파이크 뉴럴 네트워크의 데이터 처리 장치는 시계열 데이터를 입력 받는 입력단; 입력된 상기 시계열 데이터를 미분하고, 상기 시계열 데이터의 미분 값이 0인 지점을 판단하고, 판단 결과에 기초하여 이산적인 형태의 출력을 생성하는 프로세서; 및 상기 출력에 기초하여 스파이크 열 신호를 생성하고, 생성된 스파이크 열 신호를 외부의 엑손(axon)들에 출력하는 출력단을 포함한다.In order to solve the above technical problem, a data processing apparatus of a spike neural network according to the present invention includes an input terminal for receiving time series data; a processor for differentiating the inputted time series data, determining a point at which a differential value of the time series data is 0, and generating a discrete output based on the determination result; and an output terminal that generates a spike train signal based on the output and outputs the generated spike train signal to external axons.

또한, 상기 프로세서는, 상기 시계열 데이터의 미분 값이 0인 경우 출력 값을 1로 결정할 수 있다.Also, when the differential value of the time series data is 0, the processor may determine the output value to be 1.

또한, 상기 프로세서는, 상기 시계열 데이터의 미분 값에 기초하여 상기 시계열 데이터의 최대 지점 또는 최소 지점을 결정할 수 있다.Also, the processor may determine a maximum point or a minimum point of the time series data based on a differential value of the time series data.

또한, 상기 출력단은, 상기 시계열 데이터의 최대값 지점 또는 최소값 지점에서 제1 주파수를 갖는 제1 신호를 생성할 수 있다.Also, the output terminal may generate a first signal having a first frequency at a maximum value point or a minimum value point of the time series data.

또한, 상기 출력단은, 상기 시계열 데이터의 미분 값이 양수 또는 음수인 지점에서 상기 제1 주파수 보다 낮은 값을 갖는 제2 주파수를 갖는 제2 신호를 생성할 수 있다.Also, the output terminal may generate a second signal having a second frequency having a lower value than the first frequency at a point where the differential value of the time series data is positive or negative.

또한, 상기 출력단은 상기 엑손(axon)들에 상기 스파이크 열 신호를 전송하기 전에 저장하는 인덱스 레지스터를 더 포함할 수 있다.Also, the output terminal may further include an index register for storing the spike column signal to the axons before transmitting the signal.

또한, 상기 출력단은, 제1 난수들을 생성하는 제1 난수 생성기;및 상기 제1 난수들의 생성 빈도보다 낮은 빈도를 갖는 제2 난수들을 생성하는 제2 난수 생성기를 포함하고, 상기 제1 난수들 및 상기 제2 난수들에 기초하여 상기 스파이크 열 신호의 발생 빈도를 조절할 수 있다.In addition, the output stage includes a first random number generator for generating first random numbers; and a second random number generator for generating second random numbers having a frequency lower than that of the first random numbers, wherein the first random numbers and The frequency of occurrence of the spike heat signal may be adjusted based on the second random numbers.

또한, 상기 출력단은, 엑손 인덱스 신호를 생성하고, 상기 인덱스 레지스터에 상기 프로세서의 출력을 저장하게 하는 발진기를 더 포함할 수 있다.The output terminal may further include an oscillator that generates an exon index signal and stores the output of the processor in the index register.

본 발명의 다른 실시예에 따른 스파이크 뉴럴 네트워크의 데이터 처리 방법은 입력단이 시계열 데이터를 입력 받는 것; 입력된 상기 시계열 데이터를 미분하고, 상기 시계열 데이터의 미분 값이 0인 지점을 판단하고, 판단 결과에 기초하여 이산적인 형태의 출력 값을 생성하는 것; 상기 출력 값에 기초하여 스파이크 열 신호를 생성하고, 생성된 스파이크 열 신호를 외부의 엑손(axon)들에 출력하는 것을 포함한다.A data processing method of a spike neural network according to another embodiment of the present invention includes: an input terminal receiving time series data; differentiating the inputted time series data, determining a point where the differential value of the time series data is 0, and generating discrete output values based on the determination result; and generating a spike train signal based on the output value, and outputting the generated spike train signal to external axons.

또한, 출력 값을 생성하는 것은, 상기 시계열 데이터의 미분 값이 0인 경우 출력 값을 1로 결정하는 것을 포함할 수 있다.Also, generating the output value may include determining the output value to be 1 when the differential value of the time series data is 0.

또한, 출력 값을 생성하는 것은, 상기 시계열 데이터의 미분 값에 기초하여 상기 시계열 데이터의 최대값 지점 또는 최소값 지점을 결정하는 것을 포함할 수 있다.Also, generating the output value may include determining a maximum value point or a minimum value point of the time series data based on a differential value of the time series data.

또한, 상기 스파이크 열 신호를 출력하는 것은, 상기 시계열 데이터의 최대값 지점 또는 최소값 지점에서 제1 주파수를 갖는 제1 신호를 생성하는 것을 포함할 수 있다.Also, outputting the spike sequence signal may include generating a first signal having a first frequency at a maximum value point or a minimum value point of the time series data.

또한, 상기 스파이크 열 신호를 출력하는 것은, 상기 시계열 데이터의 미분 값이 양수 또는 음수인 지점에서 상기 제1 주파수 보다 낮은 값을 갖는 제2 주파수를 갖는 제2 신호를 생성하는 것을 포함할 수 있다.Also, outputting the spike sequence signal may include generating a second signal having a second frequency lower than the first frequency at a point where a differential value of the time series data is positive or negative.

또한, 상기 스파이크 열 신호를 출력하는 것은, 상기 엑손(axon)들에 상기 스파이크 열 신호를 전송하기 전에 저장하는 것을 더 포함할 수 있다.Also, outputting the spike train signal may further include storing the spike train signal before transmitting the spike train signal to the axons.

또한, 상기 스파이크 열 신호를 출력하는 것은, 제1 난수들을 생성하는 제1 난수 생성하는 것;및 상기 제1 난수들의 생성빈도보다 낮은 빈도를 갖는 제2 난수들을 생성하는 것을 포함하고, 상기 제1 난수들 및 상기 제2 난수들에 기초하여 상기 발진 신호의 발생 빈도를 조절하는 것을 포함할 수 있다.In addition, outputting the spike column signal includes generating a first random number for generating first random numbers; and generating second random numbers having a frequency lower than that of the first random numbers. and adjusting the frequency of occurrence of the oscillation signal based on the random numbers and the second random numbers.

본 발명에 따른 스파이크 뉴럴 네트워크의 데이터 처리 장치의 프로세서는 입력된 시계열 데이터를 미분하는 미분기; 상기 시계열 데이터의 미분 값이 0인 지점을 판단하고, 상기 미분 값에 기초하여 이산적인 형태의 출력 값을 생성하는 디텍터를 포함한다.A processor of a data processing apparatus of a spike neural network according to the present invention comprises: a differentiator for differentiating input time series data; and a detector that determines a point at which the differential value of the time series data is 0, and generates discrete output values based on the differential value.

상술한 구성을 포함함으로써, 본 발명은 시계열적인 데이터를 이산적인 데이터로 변환하는 데이터 처리 장치를 제공할 수 있는 효과가 존재한다.By including the above-described configuration, the present invention has the effect that it is possible to provide a data processing apparatus that converts time-series data into discrete data.

또한, 본 발명은 시계열적인 데이터를 이산적인 데이터로 변환하는데 있어서, 미분기를 포함하는 프로세서를 제공함으로써, 시계열 데이터의 최대값 및 최소값을 결정하는 데이터 처리 장치를 제공할 수 있는 효과가 존재한다.In addition, the present invention has the effect of providing a data processing apparatus for determining maximum and minimum values of time series data by providing a processor including a differentiator in converting time series data into discrete data.

도 1은 본 발명에 따른 데이터 처리 장치의 블록도이다.
도 2는 본 발명에 따른 데이터 처리 장치의 프로세서의 블록도이다.
도 3은 본 발명에 따른 데이터 처리 장치의 출력단의 블록도이다.
도 4는 본 발명에 따른 데이터 처리 장치의 출력단의 구성을 구체적으로 도시한 것이다.
도 5a는 본 발명에 따른 데이터 처리 장치에 입력되는 시계열 데이터의 예시를 도시한 것이다.
도 5b는 본 발명에 따른 데이터 처리 장치에 입력되는 시계열 데이터의 미분 값의 예시를 도시한 것이다.
도 6은 본 발명에 따른 데이터 처리 장치가 시계열 데이터를 처리하는 과정을 도시한 순서도이다.
도 7은 본 발명에 따른 데이터 처리 장치가 스파이크 열 신호를 생성하는 과정을 도시한 것이다.
1 is a block diagram of a data processing apparatus according to the present invention.
2 is a block diagram of a processor of a data processing apparatus according to the present invention.
3 is a block diagram of an output stage of the data processing apparatus according to the present invention.
4 is a diagram specifically illustrating the configuration of an output terminal of the data processing apparatus according to the present invention.
5A illustrates an example of time series data input to the data processing apparatus according to the present invention.
5B illustrates an example of a differential value of time series data input to the data processing apparatus according to the present invention.
6 is a flowchart illustrating a process in which the data processing apparatus according to the present invention processes time series data.
7 is a diagram illustrating a process in which the data processing apparatus according to the present invention generates a spike column signal.

명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다. Like reference numerals refer to like elements throughout. This specification does not describe all elements of the embodiments, and general content in the technical field to which the present invention pertains or content that overlaps between the embodiments is omitted. The term 'part, module, member, block' used in this specification may be implemented in software or hardware, and according to embodiments, a plurality of 'part, module, member, block' may be implemented as one component, It is also possible for one 'part, module, member, block' to include a plurality of components.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.Throughout the specification, when a part is "connected" to another part, it includes not only direct connection but also indirect connection, and indirect connection includes connection through a wireless communication network. do.

또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.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.

명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout the specification, when a member is said to be located "on" another member, this includes not only a case in which a member is in contact with another member but also a case in which another member exists between the two members.

제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다. Terms such as first, second, etc. are used to distinguish one component from another, and the component is not limited by the above-mentioned terms.

단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.The singular expression includes the plural expression unless the context clearly dictates otherwise.

각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다. In each step, the identification code is used for convenience of description, and the identification code does not describe the order of each step, and each step may be performed differently from the specified order unless the specific order is clearly stated in the context. have.

이하 첨부된 도면들을 참고하여 본 발명의 작용 원리 및 실시예들에 대해 설명한다.Hereinafter, the working principle and embodiments of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명에 따른 데이터 처리 장치(100)의 블록도이다.1 is a block diagram of a data processing apparatus 100 according to the present invention.

도 1을 참조하면, 본 발명에 따른 데이터 처리 장치(100)는 입력단(110), 프로세서(120) 및 출력단(130)을 포함한다.Referring to FIG. 1 , the data processing apparatus 100 according to the present invention includes an input terminal 110 , a processor 120 , and an output terminal 130 .

입력단(110)은 외부로부터 아날로그 데이터를 입력 받는다. 여기서 아날로그 데이터는 시간에 따라 연속적인 데이터로서, 시계열적인 특성을 지닌 데이터이다. 구체적으로, 입력단(110)은 외부로부터 시계열 데이터를 입력 받고, 입력된 데이터를 프로세서(120)로 전달한다.The input terminal 110 receives analog data from the outside. Here, the analog data is data that is continuous according to time, and is data having a time series characteristic. Specifically, the input terminal 110 receives time series data from the outside, and transmits the inputted data to the processor 120 .

프로세서(120)는 입력단(110)으로부터 입력된 데이터를 이산적인 형태로 변환하고, 이산적으로 변환된 데이터를 출력단(130)으로 출력한다. 구체적으로, 프로세서는 입력된 시계열 데이터를 미분하고, 미분 값이 0인 지점에서 1의 크기를 갖는 출력을 생성하고, 미분 값이 0이 아닌 지점에서 0의 크기를 갖는 출력을 생성한다. 따라서, 시계열 데이터의 미분 값이 0인 지점과, 시계열 데이터의 미분 값이 0이 아닌 지점에서 각각 1과 0의 크기를 갖는 두 종류의 출력만을 생성하는바, 프로세서(120)는 이산적인 출력을 생성한다. 또한, 프로세서(120)는 시계열 데이터의 미분 값이 0인 지점을 시계열 데이터의 크기의 최대 지점 또는 최소 지점으로 판단할 수 있다. 프로세서의 구체적 동작에 대하여는 도 2에서 상세히 서술한다.The processor 120 converts the data input from the input terminal 110 into a discrete form, and outputs the discretely converted data to the output terminal 130 . Specifically, the processor differentiates the input time series data, generates an output having a magnitude of 1 at a point where the differential value is 0, and generates an output having a magnitude of 0 at a point where the differential value is not 0. Accordingly, only two types of outputs having sizes of 1 and 0 are generated at a point where the differential value of the time series data is 0 and at a point where the differential value of the time series data is not 0, the processor 120 generates discrete outputs. create Also, the processor 120 may determine a point at which the differential value of the time series data is 0 as the maximum point or the minimum point of the size of the time series data. A specific operation of the processor will be described in detail with reference to FIG. 2 .

출력단(130)은 프로세서(120)로부터 이산적인 데이터를 갖는 출력 입력 받고, 발진 신호를 생성한다. 또한, 생성된 발진 신호를 스파이크 뉴럴 네트워크의 엑손(axon)들로 출력한다. 구체적으로, 출력단(130)은 프로세서(120)로부터 시계열 데이터의 미분 값에 기초하여 생성된 이산적인 데이터를 입력 받고, 시계열 데이터의 최대 지점에서는 높은 주파수를 갖는 신호를 생성하고, 시계열 데이터의 최소 지점에서는 상대적으로 낮은 주파수를 갖는 신호를 생성한다. 출력단(130)의 구체적인 동작 과정에 대하여는 도 3 및 도 4에서 상세히 서술한다.The output terminal 130 receives an output input having discrete data from the processor 120 and generates an oscillation signal. In addition, the generated oscillation signal is output to axons of the spike neural network. Specifically, the output terminal 130 receives discrete data generated based on the differential value of the time series data from the processor 120 , generates a signal having a high frequency at the maximum point of the time series data, and the minimum point of the time series data generates a signal with a relatively low frequency. A detailed operation process of the output terminal 130 will be described in detail with reference to FIGS. 3 and 4 .

도 2는 본 발명에 따른 데이터 처리 장치(100)의 프로세서(120)의 블록도이다.2 is a block diagram of the processor 120 of the data processing apparatus 100 according to the present invention.

도 2를 참조하면, 프로세서(120)는 미분기(121), 디텍터(122)를 포함할 수 있다. Referring to FIG. 2 , the processor 120 may include a differentiator 121 and a detector 122 .

미분기(121)는 입력단(110)으로부터 입력 받은 시계열 데이터를 미분한다. 미분기(121)는 프로세서(120)가 시계열 데이터의 최대 지점 및 최소 지점을 결정하는데 기초가 되는 데이터를 생성한다. 여기서 미분기는 고역 통과 필터(High Pass Filter)일 수 있으나 이에 한정되지 않는다.The differentiator 121 differentiates the time series data received from the input terminal 110 . The differentiator 121 generates data based on which the processor 120 determines the maximum and minimum points of the time series data. Here, the differentiator may be a high pass filter, but is not limited thereto.

디텍터(122)는 미분기(121)의 연산 결과를 입력 받고, 시계열 데이터의 미분 값이 0인 지점을 추출한다. 또한, 디텍터(122)는 미분 값이 0인 지점들에 대하여 시계열 데이터의 최대 지점인지 최소 지점인기 결정할 수 있다. 디텍터(122)는 미분 값이 0인 지점들을 추출하고, 추출된 데이터를 출력한다. 또한, 디텍터(122)는 시계열 데이터의 미분 값에 기초하여 이산적인 데이터를 생성한다. 구체적으로, 디텍터(122)는 시계열 데이터의 미분 값이 0인 지점에서 1의 값을 갖는 출력을 생성하고, 시계열 데이터의 미분 값이 0이 아닌 지점에서 0의 값을 갖는 출력을 생성한다. 여기서, 출력 값이 1인 경우는 하이(High) 상태, 출력 값이 0인 경우는 로우(Low)상태를 의미한다. The detector 122 receives the operation result of the differentiator 121 and extracts a point where the differential value of the time series data is 0. Also, the detector 122 may determine whether points having a differential value of 0 are a maximum point or a minimum point of time series data. The detector 122 extracts points having a differential value of 0 and outputs the extracted data. In addition, the detector 122 generates discrete data based on the differential value of the time series data. Specifically, the detector 122 generates an output having a value of 1 at a point where the differential value of the time series data is 0, and generates an output having a value of 0 at a point where the differential value of the time series data is not 0. Here, when the output value is 1, it means a high state, and when the output value is 0, it means a low state.

도 3은 본 발명에 따른 데이터 처리 장치(100)의 출력단(130)의 블록도이고, 도 4는 본 발명에 따른 데이터 처리 장치(100)의 출력단(130)의 구성을 구체적으로 도시한 것이다.3 is a block diagram of the output terminal 130 of the data processing apparatus 100 according to the present invention, and FIG. 4 shows the configuration of the output terminal 130 of the data processing apparatus 100 according to the present invention in detail.

출력단(130)은 프로세서(120)가 생성한 이산적인 데이터에 대응하는 발진 신호를 생성하고 출력한다. 도 3을 참조하면, 출력단(130)은 발진기(131), 제1 난수 생성기(132), 제1 펄스 신호 생성기(133), 제2 난수 생성기(134), 제2 펄스 신호 생성기(135), 레지스터(136) 및 게이트단(137)을 포함할 수 있다. 이하는 도 3 및 도 4를 참조하여 본 발명에 따른 데이터 처리 장치(100)의 출력단(130)에 대하여 설명한다. The output terminal 130 generates and outputs an oscillation signal corresponding to the discrete data generated by the processor 120 . Referring to FIG. 3 , the output terminal 130 includes an oscillator 131 , a first random number generator 132 , a first pulse signal generator 133 , a second random number generator 134 , a second pulse signal generator 135 , It may include a resistor 136 and a gate terminal 137 . Hereinafter, the output terminal 130 of the data processing apparatus 100 according to the present invention will be described with reference to FIGS. 3 and 4 .

발진기(131)는 출력단(130)이 엑손에 전달하는 스파이크 열 신호를 생성함에 있어서, 엑손 인덱스(axon index)신호를 출력한다. 엑손 인덱스(axon index)신호는 데이터 처리 장치(100)에 입력되는 시계열 데이터를 등 간격의 시간 간격으로 구분하기 위한 신호이다. 따라서, 발진기(131)는 등간격으로 클럭 신호(CLK)를 출력한다. 클럭 신호(CLK)의 주파수는 스파이크 뉴럴 네트워크의 엑손(axon)들의 개수와 입력되는 시계열 데이터의 신호 입력 유지 시간으로 정의 될 수 있으나 이에 한정되지 않는다. The oscillator 131 outputs an axon index signal when the output terminal 130 generates the spike column signal transmitted to the axon. The axon index signal is a signal for dividing time series data input to the data processing apparatus 100 into equal time intervals. Accordingly, the oscillator 131 outputs the clock signal CLK at equal intervals. The frequency of the clock signal CLK may be defined as the number of axons of the spike neural network and the signal input holding time of the input time series data, but is not limited thereto.

발진기(131)에서 출력된 엑손 인덱스(axon index)신호는 시계열 데이터의 미분 값이 0인 지점을 추출하는데 사용된다. 구체적으로, 엑손 인덱스(axon index)신호는 인덱싱 포인터(Indexing Pointer)로 사용된다. 인덱싱 포인터(Indexing Pointer)는 일정한 주기로 게이트단(137)의 AND게이트 들로 하이(HIGH)신호를 출력하고, 프로세서(120)의 디텍터(122)에서 하이(HIGH) 값을 갖는 신호가 출력되면, 디텍터(122)에서 입력되는 신호를 레지스터(136)으로 전달할 수 있다.The axon index signal output from the oscillator 131 is used to extract a point where the differential value of the time series data is 0. Specifically, an axon index signal is used as an indexing pointer. The indexing pointer outputs a high (HIGH) signal to the AND gates of the gate terminal 137 at a constant period, and when a signal having a high value is output from the detector 122 of the processor 120, A signal input from the detector 122 may be transferred to the register 136 .

이하는 시계열 데이터의 신호 입력 유지 시간은 (t0)로 정의 하고, 스파이크 뉴럴 네트워크의 엑손(axon)의 개수는 128개인 경우의 실시예를 설명한다. 다만, 시계열 데이터의 신호 입력 유지 시간은 (t0)로 정의 하고, 스파이크 뉴럴 네트워크의 엑손(axon)의 개수는 이에 한정되지 않는다.Hereinafter, an embodiment in which the signal input holding time of the time series data is defined as (t0) and the number of axons of the spike neural network is 128 will be described. However, the signal input holding time of the time series data is defined as (t0), and the number of axons of the spike neural network is not limited thereto.

제1 난수 생성기(132) 및 제2 난수 생성기(134)는 미리 설정된 기준에 기초하여 난수들을 생성한다. 여기서 제1 난수 생성기(132)가 생성하는 난수는 제1 난수로 정의하고, 제2 난수 생성기(134)가 생성하는 난수는 제2 난수로 정의한다. 구체적으로, 제1 난수 생성기(132)는 프로세서(120)로부터 하이(High)값을 갖는 신호가 입력되는 경우 스파이크 열을 생성하기 위해서 난수들을 발생시킨다. 또한, 제2 난수 생성기(134)는 프로세서(120)로부터 로우(Low)값을 갖는 신호가 입력되는 경우 스파이크 열을 생성하기 위해서 난수들을 발생시킨다. 따라서, 제1 난수는 제2 난수보다 높은 빈도로 발생한다. 또한, 제1 난수 및 제2 난수는 각각 제1 펄스 신호 생성기(133) 및 제2 펄스 신호 신호 생성기(135)의 펄스 신호 생성에 기초가 된다.The first random number generator 132 and the second random number generator 134 generate random numbers based on preset criteria. Here, the random number generated by the first random number generator 132 is defined as a first random number, and the random number generated by the second random number generator 134 is defined as a second random number. Specifically, when a signal having a high value is input from the processor 120 , the first random number generator 132 generates random numbers to generate a spike sequence. Also, when a signal having a low value is input from the processor 120 , the second random number generator 134 generates random numbers to generate a spike sequence. Accordingly, the first random number occurs at a higher frequency than the second random number. In addition, the first random number and the second random number are based on the pulse signal generation of the first pulse signal generator 133 and the second pulse signal generator 135 , respectively.

제1 펄스 신호 생성기(133) 및 제2 펄스 신호 신호 생성기(135)는 각각 제1 난수 및 제2 난수에 기초하여 제1 펄스 신호(Pulse1) 및 제2 펄스 신호(Pulse2)를 생성하고, 게이트 단(137)의 AND게이트들로 펄스 신호를 인가한다. 구체적으로, 제1 펄스 신호는 프로세서(120)로부터 하이(High)값을 갖는 신호가 입력되는 경우 발생하는 펄스 신호로서, 주파수가 높은 펄스 신호이다. 반면 제2 펄스 신호는 프로세서(120)로부터 로우(Low)값을 갖는 신호가 입력되는 경우 발생하는 펄스 신호로서, 제1 펄스 신호에 비하여 주파수가 낮은 신호이다. 즉, 시계열 데이터의 미분 값이 0인 지점에서는 제1 펄스신호가 게이트단(137)으로 입력되고, 시계열 데이터의 미분 값이 1인 지점에서는 제2 펄스신호가 게이트단(137)으로 입력된다. 제1 펄스 신호가 입력되면 출력단(130)은 발생 빈도가 높은 스파이크 열을 갖는 신호를 출력하고, 제2 펄스 신호가 입력되면 출력단(130)은 발생 빈도가 상대적으로 낮은 스파이크 열을 갖는 신호를 출력한다. 여기서 제1 펄스 신호에 대응하여 생성되는 스파이크열 신호를 제1 신호로 정의하고, 제1 신호의 주파수를 제1 주파수로 정의한다. 또한, 제2 펄스 신호에 대응하여 생성되는 스파이크열 신호를 제2 신호로 정의하고, 제2 신호의 주파수를 제2 주파수로 정의한다.The first pulse signal generator 133 and the second pulse signal generator 135 generate a first pulse signal Pulse1 and a second pulse signal Pulse2 based on the first random number and the second random number, respectively, and A pulse signal is applied to the AND gates of the stage 137 . Specifically, the first pulse signal is a pulse signal generated when a signal having a high value is input from the processor 120 and is a pulse signal having a high frequency. On the other hand, the second pulse signal is a pulse signal generated when a signal having a low value is input from the processor 120 , and has a lower frequency than that of the first pulse signal. That is, at a point where the differential value of the time series data is 0, the first pulse signal is input to the gate terminal 137 , and at a point where the differential value of the time series data is 1 , the second pulse signal is input to the gate terminal 137 . When the first pulse signal is input, the output terminal 130 outputs a signal having a high frequency of occurrence spike sequence, and when the second pulse signal is input, the output terminal 130 outputs a signal having a spike sequence having a relatively low occurrence frequency do. Here, the spike string signal generated in response to the first pulse signal is defined as the first signal, and the frequency of the first signal is defined as the first frequency. In addition, a spike string signal generated in response to the second pulse signal is defined as a second signal, and a frequency of the second signal is defined as a second frequency.

레지스터(136)는 디텍터(122)로부터 프로세서(120)의 출력을 입력 받고, 발진기(131)으로부터 엑손 인덱스(axon index) 신호를 입력 받고, 엑손 인덱스(axon index) 신호와 미분기(121)의 출력을 조합하여 디텍터(122)의 출력 신호를 저장한다. 구체적으로, 엑손 인덱스(axon index)와 디텍터(122)의 출력을 조합하고, 엑손 인덱스(axon index)가 출력될 때마다 레지스터(136)은 디텍터(122)의 출력을 확인하여 레지스터(136)는 시계열 데이터의 미분 값이 '0' 인지 아닌지에 따라 디텍터(122)의 출력을 저장한다. 레지스터(136)은 시계열 데이터의 미분 값이 0이고, 디텍터(122)의 출력이 하이(High)인 경우 디텍터(122)의 출력을 저장하고, 시계열 데이터의 미분 값이 0이 아니고, 디텍터(122)의 출력이 로우(Low)인 경우 디텍터(122)의 출력을 저장하지 않는다.The register 136 receives an output of the processor 120 from the detector 122 , an axon index signal from the oscillator 131 , and an axon index signal and an output of the differentiator 121 . is combined to store the output signal of the detector 122 . Specifically, the axon index (axon index) and the output of the detector 122 are combined, and whenever the axon index is output, the register 136 checks the output of the detector 122, and the register 136 is The output of the detector 122 is stored according to whether the differential value of the time series data is '0'. The register 136 stores the output of the detector 122 when the differential value of the time series data is 0 and the output of the detector 122 is High, the differential value of the time series data is not 0, and the detector 122 ) is low, the output of the detector 122 is not stored.

게이트단(137)은 복수의 AND 게이트들, NOT 게이트들 및 OR 게이트들을 포함한다. 구체적으로, 복수의 AND 게이트들은 각각 제1 펄스 신호 또는 제2 펄스 신호를 입력받고, 디텍터(122)는 에서 하이(HIGH) 출력을 입력 받으면 스파이크 열 신호(Axon#n)를 출력한다. 스파이크 열 신호(Axon#n)는 스파이크 뉴럴 네트워크에 입력되는 신호로, 스파이크 뉴럴 네트워크에 존재하는 엑손(Axon)들의 개수와 일치한다. 도 4에 개시된 실시예에서는 스파이크 열 신호들(Axon#1~Axon#128)이 128개의 엑손(Axon)들에 대하여 출력 되는 것을 예로든 것이다. The gate terminal 137 includes a plurality of AND gates, NOT gates, and OR gates. Specifically, each of the AND gates receives a first pulse signal or a second pulse signal, and the detector 122 outputs a spike column signal Axon#n when receiving a HIGH output from . The spike sequence signal (Axon#n) is a signal input to the spike neural network, and corresponds to the number of axons present in the spike neural network. In the embodiment disclosed in FIG. 4 , it is exemplified that the spike sequence signals (Axon#1 to Axon#128) are output for 128 axons.

도 4를 참조하면, 디텍터(122)로부터 하이(HIGH) 출력이 입력되는 경우, 게이트단(137)은 하이(HIGH) 값을 갖는 스파이크 열 신호를 출력한다. 그러나, 디텍터(122)로부터 로우(LOW) 출력이 입력되는 경우, 게이트단(137)은 스파이크 열 신호를 출력하지 않는다.Referring to FIG. 4 , when a high output is input from the detector 122 , the gate terminal 137 outputs a spike column signal having a high value. However, when a LOW output is input from the detector 122 , the gate terminal 137 does not output the spike column signal.

또한, 게이트단(137)은 제1 난수 또는 제2 난수에 기초하여 각각의 스파이크 열 신호(Axon#n)들의 발생 빈도가 조절할 수 있다. 디텍터(122)로부터 하이(HIGH) 출력이 입력되는 경우, 게이트단(137)에는 제1 난수에 기초하여 생성된 제1 펄스 신호가 입력되므로 스파이크 열 신호(Axon#n)의 발생빈도가 상대적으로 높다. 그러나, 디텍터(122)로부터 로우(LOW) 출력이 입력되는 경우, 게이트단(137)에는 제2 난수에 기초하여 생성된 제2 펄스 신호가 입력되므로 스파이크 열 신호(Axon#n)의 발생빈도가 상대적으로 낮다. Also, in the gate terminal 137 , the frequency of occurrence of each of the spike column signals Axon#n may be adjusted based on the first random number or the second random number. When a HIGH output is input from the detector 122 , a first pulse signal generated based on a first random number is input to the gate terminal 137 , so the occurrence frequency of the spike column signal Axon#n is relatively high. high. However, when a LOW output is input from the detector 122 , a second pulse signal generated based on the second random number is input to the gate terminal 137 , so the frequency of occurrence of the spike column signal Axon#n is increased. relatively low.

도 5a는 본 발명에 따른 데이터 처리 장치(100)에 입력되는 시계열 데이터의 예시를 도시한 것이고, 도 5b는 본 발명에 따른 데이터 처리 장치(100)에 입력되는 시계열 데이터의 미분 값의 예시를 도시한 것이다. 도 5a의 x축은 시간(time)을 의미하고, y축은 시계열 데이터의 크기(amplitude)를 의미한다. 도 5b의 x축은 시간(time)을 의미하고, y축은 시계열 데이터의 미분값(Gradient)를 의미한다.5A illustrates an example of time series data input to the data processing apparatus 100 according to the present invention, and FIG. 5B illustrates an example of a differential value of time series data input to the data processing apparatus 100 according to the present invention. did it In FIG. 5A , the x-axis means time, and the y-axis means the amplitude of time series data. In FIG. 5B , the x-axis means time, and the y-axis means a gradient of time series data.

도 5a 및 도 5b를 참조하면, 제1 시계열 데이터와 제2 시계열 데이터는 각각 최대값과 최소값이 발생하는 시점이 다르다. 프로세서(120)는 제1 시계열 데이터와 제2 시계열 데이터의 최대 지점 및 최소 지점이 발생하는 시점이 다른 점을 활용하여 제1 시계열 데이터와 제2 시계열 데이터를 구분할 수 있다. 프로세서(120)는 입력되는 시계열 데이터의 최대 지점 및 최소 지점을 추출하기 위하여 시계열 데이터를 1차 미분한 결과를 활용 할 수 있다. 각 시계열 데이터를 1차 미분한 결과가 '0' 인 경우, 프로세서(120)는 각 시계열 데이터의 최대 혹은 최소 지점임을 판단할 수 있다. 도 5a 및 도 5b의 그래프를 참조하면, 제1 시계열 데이터와 제2 시계열 데이터의 1차 미분 값은 서로 다른 지점에서 '0'이 나타나고, 프로세서(120) 및 출력단(130)은 시계열 데이터의 1차 미분 값이 '0'인 지점을 인덱싱하여 데이터를 구분 짓는다.Referring to FIGS. 5A and 5B , the first time series data and the second time series data have different times at which the maximum value and the minimum value occur, respectively. The processor 120 may distinguish the first time series data from the second time series data by utilizing a point at which the maximum point and the minimum point of the first time series data and the second time series data are different from each other. The processor 120 may utilize the result of primary differentiation of the time series data in order to extract the maximum point and the minimum point of the input time series data. When the result of first differentiating each time series data is '0', the processor 120 may determine that it is the maximum or minimum point of each time series data. Referring to the graphs of FIGS. 5A and 5B , '0' appears at different points in the first differential values of the first time series data and the second time series data, and the processor 120 and the output terminal 130 are 1 of the time series data. Separate the data by indexing the point where the difference differential value is '0'.

구체적으로, 도 5a 및 도 5b의 그래프를 참조하면, 각 시계열 데이터를 중첩하여 시간 축으로 미세 등분하면 시계열 데이터에 따라 최대 및 최소 값이 존재하는 지점이 상이하다. 예를 들어 시계열 데이터에 따라 시간 축으로 세분화한 인덱스에서 최대 값이 나타나는 지점이 제1 시계열 데이터는 a 지점에서 나타나고, 제2 시계열 데이터는 b 지점에서 나타난다. 출력단(130)은 등 간격의 시간의 순서에 따라 발생되는 엑손 인덱스(axon index) 신호에 기초하여, 엑손 인덱스 신호가 발생되는 지점에서 시계열 데이터를 1차 미분한 값이 0이면, 해당 지점을 최대/최소값이 나타난 지점으로 판단하고, 해당되는 레지스터(136)을 '1'로 셋팅한다. 그러나, 출력단(130)은 등 간격의 시간의 순서에 따라 발생되는 엑손 인덱스(axon index) 신호에 기초하여, 엑손 인덱스 신호가 발생되는 지점에서 시계열 데이터를 1차 미분한 값이 0이 아니면, 해당 지점을 최대/최소값이 나타난 지점이 아닌 것으로 판단하고, 해당되는 레지스터(136)을 '0'으로 셋팅한다. 상술한 방법으로 프로세서(120)는 각 시계열 데이터를 시간 축으로 등 간격 세분화한 인덱스에 따라 해당 지점에서 최대 최소 값이 나타나는지 여부를 판단하고, 출력단(130)은 스파이크 열 신호를 높은 빈도로 출력할 것인지 혹은 낮은 빈도로 출력 할 것인지 결정할 수 있다. Specifically, referring to the graphs of FIGS. 5A and 5B , when each time series data is superimposed and finely divided along the time axis, points at which the maximum and minimum values exist are different according to the time series data. For example, a point at which a maximum value appears in an index subdivided into a time axis according to time series data appears at point a in the first time series data, and at point b in the second time series data. The output terminal 130 is based on the axon index signal generated according to the sequence of time at equal intervals, if the value obtained by first differentiating the time series data at the point where the axon index signal is generated is 0, the corresponding point is maximized / It is determined as the point where the minimum value appears, and the corresponding register 136 is set to '1'. However, the output terminal 130 is based on the axon index signal generated according to the sequence of time at equal intervals, at the point where the axon index signal is generated, if the value of the first differentiation of the time series data is not 0, the corresponding It is determined that the point is not the point where the maximum/minimum values appear, and the corresponding register 136 is set to '0'. In the above-described method, the processor 120 determines whether the maximum and minimum values appear at the corresponding points according to the index subdivided at equal intervals on the time axis for each time series data, and the output terminal 130 outputs the spike column signal at high frequency. You can decide whether or not to print at a low frequency.

도 6은 본 발명에 따른 데이터 처리 장치(100)가 시계열 데이터를 처리하는 과정을 도시한 순서도이다.6 is a flowchart illustrating a process in which the data processing apparatus 100 processes time series data according to the present invention.

도 6을 참조하면, 입력단(110)에 시계열 데이터가 입력되면(S1001), 프로세서(120)의 미분기(121)는 입력된 시계열 데이터를 미분한다(S1002).Referring to FIG. 6 , when time series data is input to the input terminal 110 ( S1001 ), the differentiator 121 of the processor 120 differentiates the input time series data ( S1002 ).

미분기(121)는 입력된 시계열 데이터를 미분하면, 데이터 처리 장치(100)는 시계열 데이터의 미분 값이 0인 지점에서 출력값을 생성할 수 있다(S1003). 구체적으로, 데이터 처리 장치(100)는 시계열 데이터의 미분 값이 '0'인 지점에서 시계열 데이터의 최대 지점 또는 최소 지점을 결정하고, 시계열 데이터의 미분 값이 '0'인 지점에서 미리 설정된 기준에 기초하여 입력되는 엑손 인덱스 신호화 프로세서(120)의 출력값을 조합하여 스파이크 열 신호를 생성할 수 있다. 여기서, 스파이크 열 신호는 시계열 데이터의 최대 지점 또는 최소 지점에서는 높은 빈도로 발생하고, 시계열 데이터의 최대 지점 및 최소 지점이 아는 부분에서는 낮은 빈도로 발생한다.When the differentiator 121 differentiates the inputted time series data, the data processing apparatus 100 may generate an output value at a point where the differential value of the time series data is 0 ( S1003 ). Specifically, the data processing apparatus 100 determines the maximum point or minimum point of the time series data at the point where the differential value of the time series data is '0', and at the point where the differential value of the time series data is '0' at a preset standard. A spike column signal may be generated by combining the output values of the axon index signaling processor 120 input based on the combination. Here, the spike sequence signal is generated with high frequency at the maximum point or minimum point of the time series data, and occurs with low frequency at a part known to the maximum point and the minimum point of the time series data.

도 7은 본 발명에 따른 데이터 처리 장치(100)가 스파이크 열 신호를 생성하는 과정을 도시한 것이다.7 illustrates a process in which the data processing apparatus 100 according to the present invention generates a spike column signal.

제1 난수 생성기(132) 및 제2 난수 생성기는 각각 제1 난수 및 제2 난수를 생성하고, 제1 난수 및 제2 난수를 각각 제1 펄스 신호 생성기(133) 및 제2 펄스 신호 생성기(135)에 입력한다.(S2001)The first random number generator 132 and the second random number generator generate a first random number and a second random number, respectively, and convert the first random number and the second random number to the first pulse signal generator 133 and the second pulse signal generator 135 , respectively ) to input. (S2001)

제1 난수 및 제2 난수를 각각 제1 펄스 신호 생성기(133) 및 제2 펄스 신호 생성기(135)에 입력되면, 출력단(130)의 게이트단(137)은 레지스터(136)로부터 입력된 신호의 값이 1인지 판단할 수 있다(S2002). 구체적으로, 제1 펄스 신호 생성기(133) 및 제2 펄스 신호 생성기(135)가 게이트단(137)의 AND 게이트들에 출력하는 신호가 하이(HIGH)인 경우, 레지스터(136)으로부터 게이트단(137)의 AND 게이트들에 입력되는 신호가 1이라면 게이트단(137)의 AND 게이트들 출력도 1이 될 것이므로, 출력단(130)의 게이트단(137)은 레지스터(136)로부터 입력된 신호의 값이 1인지 판단할 수 있다. When the first random number and the second random number are input to the first pulse signal generator 133 and the second pulse signal generator 135 , respectively, the gate terminal 137 of the output terminal 130 receives the signal input from the register 136 . It can be determined whether the value is 1 (S2002). Specifically, when the signal output from the first pulse signal generator 133 and the second pulse signal generator 135 to the AND gates of the gate terminal 137 is HIGH, the register 136 outputs the gate terminal ( If the signal input to the AND gates of 137 is 1, the output of the AND gates of the gate terminal 137 will also be 1. Therefore, the gate terminal 137 of the output terminal 130 is the value of the signal input from the register 136 . It can be determined whether this is 1.

레지스터(136)로부터 게이트단(137)에 입력된 신호의 값이 1인 경우, 출력단의 OR게이트들은 높은 발생 빈도를 갖는 스파이크 열 신호를 생성한다.(S2003). 그러나, 레지스터(136)로부터 게이트단(137)에 입력된 신호의 값이 0인 경우, 출력단의 OR게이트들은 낮은 발생 빈도를 갖는 스파이크 열 신호를 생성한다.(S2004). 구체적으로, 레지스터(136)로부터 게이트단(137)에 입력된 신호의 값이 1인 경우, 시계열 데이터의 미분 값이 '0'인 지점인바, 제1 난수가 생성되고, 빈도가 높은 스파이크 열 신호가 출력될 수 있다. 그러나, 레지스터(136)로부터 게이트단(137)에 입력된 신호의 값이 0인 경우, 시계열 데이터의 미분 값이 '0'이 아닌 지점인바, 제2 난수가 생성되고, 빈도가 낮은 스파이크 열 신호가 출력될 수 있다.When the value of the signal input from the register 136 to the gate terminal 137 is 1, the OR gates of the output terminal generate a spike column signal having a high frequency of occurrence (S2003). However, when the value of the signal input from the register 136 to the gate terminal 137 is 0, the OR gates of the output terminal generate a spike column signal having a low frequency of occurrence (S2004). Specifically, when the value of the signal input from the register 136 to the gate terminal 137 is 1, since the differential value of the time series data is '0', a first random number is generated and a high frequency spike column signal can be output. However, when the value of the signal input from the register 136 to the gate terminal 137 is 0, since the differential value of the time series data is not '0', a second random number is generated and a spike column signal with low frequency can be output.

위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 상술한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.The contents described above are specific examples for carrying out the present invention. The present invention will include not only the above-described embodiments, but also simple design changes or easily changeable embodiments. In addition, the present invention will include techniques that can be easily modified and implemented in the future using the above-described embodiments.

100: 데이터 저리 장치 110: 입력단
120: 프로세서 121: 미분기
122: 디텍터 130: 출력단
131: 발진기 132: 제1 난수 생성기
133: 제1 펄스 신호 생성기 134: 제2 난수 생성기
135: 제2 펄스 신호 생성기 136: 레지스터
137: 게이트단
100: data storage device 110: input terminal
120: processor 121: differentiator
122: detector 130: output stage
131: oscillator 132: first random number generator
133: first pulse signal generator 134: second random number generator
135: second pulse signal generator 136: register
137: gate stage

Claims (16)

시계열 데이터를 입력 받는 입력단;
입력된 상기 시계열 데이터를 미분하고, 상기 시계열 데이터의 미분 값이 0인 지점을 판단하고, 판단 결과에 기초하여 이산적인 형태의 출력을 생성하는 프로세서; 및
상기 출력에 기초하여 스파이크 열 신호를 생성하고, 생성된 스파이크 열 신호를 외부의 엑손(axon)들에 출력하는 출력단을 포함하는 스파이크 뉴럴 네트워크의 데이터 처리 장치.
an input terminal for receiving time series data;
a processor for differentiating the inputted time series data, determining a point at which a differential value of the time series data is 0, and generating a discrete output based on the determination result; and
and an output terminal for generating a spike sequence signal based on the output and outputting the generated spike sequence signal to external axons.
제1 항에 있어서,
상기 프로세서는,
상기 시계열 데이터의 미분 값이 0인 경우 출력 값을 1로 결정하는 스파이크 뉴럴 네트워크의 데이터 처리 장치.
According to claim 1,
The processor is
A data processing apparatus of a spike neural network for determining an output value of 1 when a differential value of the time series data is 0.
제1 항에 있어서,
상기 프로세서는,
상기 시계열 데이터의 미분 값에 기초하여 상기 시계열 데이터의 최대 지점 또는 최소 지점을 결정하는 스파이크 뉴럴 네트워크의 데이터 처리 장치.
According to claim 1,
The processor is
A data processing apparatus of a spike neural network for determining a maximum point or a minimum point of the time series data based on a differential value of the time series data.
제3 항에 있어서,
상기 출력단은,
상기 시계열 데이터의 최대값 지점 또는 최소값 지점에서 제1 주파수를 갖는 제1 신호를 생성하는 스파이크 뉴럴 네트워크의 데이터 처리 장치.
4. The method of claim 3,
The output stage is
A data processing apparatus of a spike neural network for generating a first signal having a first frequency at a maximum value point or a minimum value point of the time series data.
제4 항에 있어서,
상기 출력단은,
상기 시계열 데이터의 미분 값이 양수 또는 음수인 지점에서 상기 제1 주파수 보다 낮은 값을 갖는 제2 주파수를 갖는 제2 신호를 생성하는 갖는 스파이크 뉴럴 네트워크의 데이터 처리 장치.
5. The method of claim 4,
The output stage is
A data processing apparatus of a spike neural network having a second signal having a second frequency lower than the first frequency at a point where the differential value of the time series data is positive or negative.
제1 항에 있어서,
상기 출력단은
상기 엑손(axon)들에 상기 스파이크 열 신호를 전송하기 전에 저장하는 인덱스 레지스터를 더 포함하는 스파이크 뉴럴 네트워크의 데이터 처리 장치.
According to claim 1,
The output stage is
The data processing apparatus of a spike neural network further comprising an index register for storing the spike sequence signal to the axons before transmitting the signal.
제1 항에 있어서,
상기 출력단은,
제1 난수들을 생성하는 제1 난수 생성기;및
상기 제1 난수들의 생성빈도보다 낮은 빈도를 갖는 제2 난수들을 생성하는 제2 난수 생성기를 포함하고,
상기 제1 난수들 및 상기 제2 난수들에 기초하여 상기 스파이크 열 신호의 발생 빈도를 조절하는 스파이크 뉴럴 네트워크의 데이터 처리 장치.
According to claim 1,
The output stage is
a first random number generator that generates first random numbers; and
a second random number generator for generating second random numbers having a lower frequency than that of the first random numbers;
A data processing apparatus for a spike neural network that adjusts a frequency of occurrence of the spike sequence signal based on the first random numbers and the second random numbers.
제1 항에 있어서,
상기 출력단은,
엑손 인덱스 신호를 생성하고, 상기 엑손 인덱스 신호에 기초하여 상기 인덱스 레지스터에 상기 프로세서의 출력을 저장하게 하는 발진기를 더 포함하는 뉴럴 네트워크의 데이터 처리 장치.
According to claim 1,
The output stage is
The apparatus for processing data in a neural network further comprising an oscillator generating an exon index signal and storing the output of the processor in the index register based on the exon index signal.
입력단이 시계열 데이터를 입력 받는 것;
입력된 상기 시계열 데이터를 미분하고, 상기 시계열 데이터의 미분 값이 0인 지점을 판단하고, 판단 결과에 기초하여 이산적인 형태의 출력 값을 생성하는 것;
상기 출력 값에 기초하여 스파이크 열 신호를 생성하고, 생성된 스파이크 열 신호를 외부의 엑손(axon)들에 출력하는 것을 포함하는 스파이크 뉴럴 네트워크의 데이터 처리 방법.
that the input stage receives time series data;
differentiating the inputted time series data, determining a point where the differential value of the time series data is 0, and generating discrete output values based on the determination result;
and generating a spike train signal based on the output value, and outputting the generated spike train signal to external axons.
제9 항에 있어서,
출력 값을 생성하는 것은,
상기 시계열 데이터의 미분 값이 0인 경우 출력 값을 1로 결정하는 것을 포함하는 스파이크 뉴럴 네트워크의 데이터 처리 방법.
10. The method of claim 9,
Produces an output value,
and determining an output value of 1 when the differential value of the time series data is 0.
제9 항에 있어서,
출력 값을 생성하는 것은,
상기 시계열 데이터의 미분 값에 기초하여 상기 시계열 데이터의 최대값 지점 또는 최소값 지점을 결정하는 것을 포함하는 스파이크 뉴럴 네트워크의 데이터 처리 방법.
10. The method of claim 9,
Produces an output value,
and determining a maximum value point or a minimum value point of the time series data based on a differential value of the time series data.
제11 항에 있어서,
상기 스파이크 열 신호를 출력하는 것은,
상기 시계열 데이터의 최대값 지점 또는 최소값 지점에서 제1 주파수를 갖는 제1 신호를 생성하는 것을 포함하는 스파이크 뉴럴 네트워크의 데이터 처리 방법.
12. The method of claim 11,
Outputting the spike column signal comprises:
and generating a first signal having a first frequency at a maximum value point or a minimum value point of the time series data.
제12 항에 있어서,
상기 스파이크 열 신호를 출력하는 것은,
상기 시계열 데이터의 미분 값이 양수 또는 음수인 지점에서 상기 제1 주파수 보다 낮은 값을 갖는 제2 주파수를 갖는 제2 신호를 생성하는 것을 포함하는 스파이크 뉴럴 네트워크의 데이터 처리 방법.
13. The method of claim 12,
Outputting the spike column signal comprises:
and generating a second signal having a second frequency lower than the first frequency at a point where the differential value of the time series data is positive or negative.
제9 항에 있어서,
상기 스파이크 열 신호를 출력하는 것은,
상기 엑손(axon)들에 상기 스파이크 열 신호를 전송하기 전에 저장하는 것을 더 포함하는 스파이크 뉴럴 네트워크의 데이터 처리 방법.
10. The method of claim 9,
Outputting the spike column signal comprises:
The method of processing data in a spike neural network further comprising storing the spike train signal in the axons before transmitting.
제9 항에 있어서,
상기 스파이크 열 신호를 출력하는 것은,
제1 난수들을 생성하는 제1 난수 생성하는 것;및
상기 제1 난수들의 생성빈도보다 낮은 빈도를 갖는 제2 난수들을 생성하는 것을 포함하고,
상기 제1 난수들 및 상기 제2 난수들에 기초하여 상기 발진 신호의 발생 빈도를 조절하는 것을 포함하는 스파이크 뉴럴 네트워크의 데이터 처리 방법.
10. The method of claim 9,
Outputting the spike column signal comprises:
generating a first random number that generates first random numbers; and
generating second random numbers having a lower frequency than that of the first random numbers;
and adjusting a frequency of occurrence of the oscillation signal based on the first random numbers and the second random numbers.
입력된 시계열 데이터를 미분하는 미분기;
상기 시계열 데이터의 미분 값이 0인 지점을 판단하고, 상기 미분 값에 기초하여 이산적인 형태의 출력 값을 생성하는 디텍터를 포함하는 스파이크 뉴럴 네트워크의 프로세서.
a differentiator for differentiating input time series data;
and a detector for determining a point at which the differential value of the time series data is 0, and generating discrete output values based on the differential value.
KR1020200132344A 2020-06-05 2020-10-14 A data processing device of a spike neural network and a data processing method of thereof KR102644008B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/308,723 US20210383192A1 (en) 2020-06-05 2021-05-05 Data processing device of spike neural network and data processing method of thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200068530 2020-06-05
KR20200068530 2020-06-05

Publications (2)

Publication Number Publication Date
KR20210152358A true KR20210152358A (en) 2021-12-15
KR102644008B1 KR102644008B1 (en) 2024-03-08

Family

ID=78865906

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200132344A KR102644008B1 (en) 2020-06-05 2020-10-14 A data processing device of a spike neural network and a data processing method of thereof

Country Status (1)

Country Link
KR (1) KR102644008B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200074272A1 (en) * 2018-08-29 2020-03-05 International Business Machines Corporation On-chip poisson spike generation
KR20200060204A (en) * 2018-11-20 2020-05-29 한국전자통신연구원 Spike neural network circuit including comparator operated by conditional bias current

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200074272A1 (en) * 2018-08-29 2020-03-05 International Business Machines Corporation On-chip poisson spike generation
KR20200060204A (en) * 2018-11-20 2020-05-29 한국전자통신연구원 Spike neural network circuit including comparator operated by conditional bias current

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Elephant authors and contributors. "Stochastic spike train generation". Elephant 0.7.0 documentation* *

Also Published As

Publication number Publication date
KR102644008B1 (en) 2024-03-08

Similar Documents

Publication Publication Date Title
Voss Dynamic long-term anticipation of chaotic states
Gershenfeld The nature of mathematical modeling
EP1803077B1 (en) Optical correlation apparatus and method
CN1938948B (en) Apparatus for providing a random bit stream
Kontoyiannis et al. Pre xes and the entropy rate for long-range sources
KR20210152358A (en) A data processing device of a spike neural network and a data processing method of thereof
JP2009518765A (en) Pattern matching device
KR102336188B1 (en) Intrinsic data generation device, semiconductor device and authentication system
EP3188403A1 (en) Method for controlling error rate of device-specific information, and program for controlling error rate of device-specific information
Rajagopal et al. A novel dissipative and conservative megastable oscillator with engineering applications
Yan et al. Complexity and multistability in the centrifugal flywheel governor system with stochastic noise
US2966306A (en) Computing apparatus
US20210383192A1 (en) Data processing device of spike neural network and data processing method of thereof
Kushnir et al. Approaches to building a chaotic communication system
US20130291092A1 (en) Security Method and Apparatus Having Digital and Analog Components
Deepa et al. KNN Based Under Sampling: A Cognitive Centred Solution for Imbalanced Dataset Problem in Anaphora Resolution
Yan et al. Laguerre-Gauss collocation method for initial value problems of second order ODEs
Stelter et al. Calculation of the fractal dimension via the correlation integral
Tripathy et al. Oscillation of Second Order Impulsive Differential Equations with Nonpositive Neutral Coefficients
CN112416299B (en) Method for acquiring random number by utilizing null shift data
Nayak et al. Synchronization and Its Use in Communication Network with Frequency Control
CA2202422C (en) Multi-state logic engine
Kushnir et al. Information Security and Telecommunications Prospects of Machine-Learning-Based Methods in Chaotic Systems
Zhang Research on the simulation circuit of four level Chua’s circuit chaotic secure communication based on multisim software
US5515389A (en) Timing signal extracting circuit suitable for CMI signals

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right