WO2019190185A1 - Time series data learning and analyzing method using artificial intelligence - Google Patents

Time series data learning and analyzing method using artificial intelligence Download PDF

Info

Publication number
WO2019190185A1
WO2019190185A1 PCT/KR2019/003540 KR2019003540W WO2019190185A1 WO 2019190185 A1 WO2019190185 A1 WO 2019190185A1 KR 2019003540 W KR2019003540 W KR 2019003540W WO 2019190185 A1 WO2019190185 A1 WO 2019190185A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
time series
series data
data
artificial neural
Prior art date
Application number
PCT/KR2019/003540
Other languages
French (fr)
Korean (ko)
Inventor
오규삼
전은주
권순환
손형관
윤용근
김민수
여현주
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020180061857A external-priority patent/KR20190114694A/en
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to EP19777828.5A priority Critical patent/EP3777674A1/en
Priority to CN201980007119.2A priority patent/CN111565633A/en
Publication of WO2019190185A1 publication Critical patent/WO2019190185A1/en
Priority to US16/927,460 priority patent/US20200337580A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • A61B5/346Analysis of electrocardiograms
    • A61B5/349Detecting specific parameters of the electrocardiograph cycle
    • A61B5/352Detecting R peaks, e.g. for synchronising diagnostic apparatus; Estimating R-R interval
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • A61B5/346Analysis of electrocardiograms
    • A61B5/349Detecting specific parameters of the electrocardiograph cycle
    • A61B5/363Detecting tachycardia or bradycardia

Definitions

  • the present invention relates to a method for learning and analyzing time series data using artificial intelligence. Specifically, the present invention relates to a method for performing time series data learning and analysis using a plurality of artificial neural networks.
  • Machine learning is a technique that analyzes a large number of input data to probably classify objects or predict values within a specific range. Machine learning works by empirically analyzing a large number of input data and probabilistically deriving a result rather than deriving a result by a specific rule.
  • time series data may have a very long length compared to image data.
  • ECG data it is necessary to comprehensively learn and analyze electrocardiogram data measured for 24 hours or more to derive a diagnosis result, which is not only time-consuming during learning and analysis, but also causes the initial input data to be gradually blurred. Dilution can cause problems in accuracy in learning and analyzing long-term data.
  • the technical problem to be solved by the present invention is to provide a method and apparatus for reducing the amount of computation of time series data learning and analysis using artificial intelligence.
  • Another technical problem to be solved by the present invention is to provide a method and apparatus that can improve the accuracy of time series data learning and analysis using artificial intelligence.
  • the technical problem to be solved by the present invention is to provide a method and apparatus for reducing the amount of computation of ECG learning and analysis using artificial intelligence.
  • the technical problem to be solved by the present invention is to provide a method and apparatus that can improve the accuracy of ECG learning and analysis using artificial intelligence.
  • a method for analyzing time series data the method for analyzing time series data performed by a computing device, for each of a plurality of units in which the time series data is split on a time axis.
  • a feature of each of the units into an intermediate neural network, obtaining intermediate output data of the dimension m (m is a natural number of two or more) from the intermediate neural network, wherein the intermediate of the plurality of units immediately adjacent in time
  • m is a natural number of two or more
  • the intermediate neural network and the final artificial neural network may be a Recurrent Neural Network (RNN).
  • RNN Recurrent Neural Network
  • the neurons of the input layer of the final artificial neural network may be m.
  • the step of obtaining the intermediate output data the first computing device inputs the features of the first unit included in the plurality of units into the intermediate neural network implemented in the first computing device and the intermediate Obtaining m-dimensional intermediate output data from the artificial neural network, and the second computing device inputs the features of the second unit included in the plurality of units into the intermediate neural network implemented in the second computing device and Obtaining m-dimensional intermediate output data from the neural network.
  • the step of obtaining final output data comprises: receiving, by a third computing device, intermediate output data of the first unit from the first computing device, and intermediate of the second unit from the second computing device.
  • Output data, the intermediate output data of the first unit and the intermediate output data of the second unit are sequentially input to the final artificial neural network, wherein the first unit and the second unit are immediately adjacent units in time. It may include a step.
  • the intermediate artificial neural network is composed of k (k is a natural number of two or more), the inputting to the intermediate artificial neural network, inputting the features of each of the plurality of units into the level 1 intermediate neural network Step, inputting level i output data obtained from the level i (i is one or more natural number) intermediate neural network into the level i + 1 intermediate neural network, and obtaining level i + 1 output data from the level i + 1 intermediate neural network; Including the step, wherein the intermediate output data may be data output from the level k intermediate neural network.
  • the time series data may be electrocardiogram data.
  • the analysis result may be an electrocardiogram diagnosis result.
  • the n units may be beat units split using R-peak.
  • the split n bit units compare the similarity between the split bits after splitting the time series data, and replace the bit having a similarity with a specific specific bit above a predetermined value with the feature unit. It may be.
  • a method for learning time series data the method for learning time series data performed by a computing device, for each of a plurality of units in which the time series data is split on a time axis.
  • a feature of each of the units into an intermediate neural network, obtaining intermediate output data of the dimension m (m is a natural number of two or more) from the intermediate neural network, wherein the intermediate of the plurality of units immediately adjacent in time
  • m is a natural number of two or more
  • the intermediate neural network and the final artificial neural network may be a Recurrent Neural Network (RNN).
  • RNN Recurrent Neural Network
  • the comparing step includes the step of comparing the final output data with a label attached to the time series data to calculate an error, and after the comparing step, back propagating the error to the intermediate
  • the method may further include adjusting a weight of the artificial neural network and a weight of the final artificial neural network.
  • the adjusting of the weight may include adjusting the weight of the intermediate neural network by making the learning rate of the intermediate artificial neural network 1 / n times the learning rate of the final artificial neural network. have.
  • the intermediate artificial neural network is composed of k (k is a natural number of two or more), the inputting to the intermediate artificial neural network, inputting the features of each of the plurality of units into the level 1 intermediate neural network Step, inputting level i output data obtained from the level i (i is one or more natural number) intermediate neural network into the level i + 1 intermediate neural network, and obtaining level i + 1 output data from the level i + 1 intermediate neural network; Including the step, wherein the intermediate output data may be data output from the level k intermediate neural network.
  • the time series data may be electrocardiogram data.
  • the n units may be beat units split using R-peak.
  • an apparatus for analyzing time series data the network interface receiving time series data, one or more processors, a memory for loading a computer program executed by the processor, and the computer.
  • Storage for storing a program, wherein the computer program is configured to input a feature of each of the units into an intermediate neural network for each of a plurality of units in which the time series data is split on a time axis; an instruction for obtaining intermediate output data in the dimension m (m is a natural number of 2 or more); an instruction for inputting the intermediate output data of a plurality of units immediately adjacent in time to a final neural network, and obtaining the final output data output from the final neural network.
  • m is a natural number of 2 or more
  • an instruction for inputting the intermediate output data of a plurality of units immediately adjacent in time to a final neural network and obtaining the final output data output from the final neural network.
  • a species of output data may include instructions to generate analysis results of the time-series data.
  • an apparatus for learning time series data the network interface receiving time series data, one or more processors, a memory for loading a computer program executed by the processor, and the computer.
  • Storage for storing a program, wherein the computer program is configured to input a feature of each of the units into an intermediate neural network for each of a plurality of units in which the time series data is split on a time axis; an instruction for obtaining intermediate output data in the dimension m (m is a natural number of 2 or more); an instruction for inputting the intermediate output data of a plurality of units immediately adjacent in time to a final neural network, and obtaining the final output data output from the final neural network.
  • a bell output data may comprise instructions to compare the label stuck on the time-series data.
  • a recording medium for inputting a feature of each unit to an intermediate neural network for each of a plurality of units in which time series data is split on a time axis.
  • a computer readable recording medium having a computer program stored therein for performing the step of obtaining final output data and generating an analysis result of the time series data using the final output data.
  • the amount of calculation may be reduced and the accuracy may be improved.
  • the amount of calculation may be reduced and accuracy may be improved.
  • FIGS. 1A and 1B are diagrams illustrating a wearable electrocardiogram measuring apparatus and an attachment method thereof.
  • FIG. 2 is a diagram illustrating an electrocardiogram analysis system including an electrocardiogram measuring device, a network 210, and a server.
  • 3A and 3B illustrate a conventional RNN-based electrocardiogram analysis method.
  • FIG. 4 is a flowchart illustrating an electrocardiogram analysis method using artificial intelligence according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an ECG signal splitting method according to an embodiment of the present invention.
  • 6A through 6C illustrate a pseudo bit processing method according to an embodiment of the present invention.
  • FIGS. 7A and 7B are diagrams illustrating an intermediate artificial neural network and a final artificial neural network according to an embodiment of the present invention.
  • FIGS. 8 to 10 are diagrams illustrating a method for analyzing time series data using artificial intelligence according to an embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating a method of analyzing time series data using artificial intelligence according to an embodiment of the present invention.
  • FIG. 12 is a diagram illustrating a case where an intermediate artificial neural network is implemented at a plurality of levels in an artificial neural network structure according to an embodiment of the present invention.
  • FIG. 13 is a flowchart illustrating a method of analyzing time series data when an intermediate artificial neural network is implemented at a plurality of levels in a structure of an artificial neural network according to an embodiment of the present invention.
  • FIG. 14 is a flowchart illustrating an ECG learning method using artificial intelligence according to an embodiment of the present invention.
  • 15 is a diagram illustrating training data used in an ECG learning method using artificial intelligence according to an embodiment of the present invention.
  • 16 is a diagram illustrating a time series data learning method using artificial intelligence according to an embodiment of the present invention.
  • 17 is a flowchart illustrating a method of learning time series data using artificial intelligence according to an embodiment of the present invention.
  • FIG. 18 is a hardware configuration diagram of an exemplary computing device that can implement a time series data analysis method or time series data learning method using artificial intelligence according to embodiments of the present invention.
  • 'neural network' refers to a graph structure composed of a plurality of layers and a plurality of nodes constituting each layer, which are modeled after a neural network of a living organism, especially a human visual / audio cortex.
  • the artificial neural network comprises one input layer, one or more hidden layers and one output layer.
  • 'input layer' refers to a layer that receives data to be analyzed / learned in a layer structure of an artificial neural network.
  • the term 'output layer' refers to a layer in which a result value is output in a layer structure of an artificial neural network.
  • 'hidden layer' refers to all layers except the input layer and the output layer in the layer structure of the artificial neural network.
  • the neural network consists of a continuous layer of neurons, with neurons in each layer connected to neurons in the next layer. If the input layer and the output layer are directly connected without the hidden layer, each input contributes to the output independently of the other inputs, making it difficult to obtain accurate results.
  • input data is interdependent and coupled to each other to affect the output in a complex structure, so that hidden layers can be added to capture subtle interactions between inputs where the neurons in the hidden layer affect the final output.
  • the hidden layer can be thought of as processing a high level of features or attributes in the data.
  • 'neuron' is a concept in which neurons in biological neural networks correspond to artificial neural networks. Neurons are also called nodes.
  • 'weight' refers to a concept in which a degree of synaptic connection is strengthened through repeated signal transmission in a biological neural network corresponds to an artificial neural network. Frequent signal transmission from neuron 1 to neuron 2 in biological neural networks enhances the pathway from neuron 1 to neuron 2, the synaptic linkage, for efficient signaling. This is regarded as a kind of learning or memory process, and the artificial neural network describes this as the concept of 'weighting'.
  • 'back propagation' is a word derived from 'backward propagation of errors', and the back propagation of an error (error) that is a difference between an output value and an actual value is used. This means adjusting the weight of the artificial neural network.
  • 'gradient descent' is a method of determining the weight of a learning model during backpropagation, and minimizes a difference between an output value of a feedforward function value including a weight and a labeled actual value. It means how to find the weight. For example, when the shape of the loss function is expressed as a parabolic shape, it is possible to calculate the weight by finding the lowest point, and the process of finding the lowest point is called a slope reduction method because it looks like a descending sloped hill.
  • 'learning rate' means the size of a step for finding the lowest value in the gradient reduction algorithm for weight adjustment of an artificial neural network. Larger learning rates result in faster adjustments but less precision, and smaller learning rates provide higher precision but slower adjustments.
  • CNN Convolutional Neural Networks
  • 'Recurrent Neural Network is a deep learning model suitable for learning data that changes over time, such as time series data. It is an artificial neural network constructed by connecting networks at (t) and the next time point (t + 1).
  • the cyclic neural network has a feature that a connection between nodes has a cyclic structure, and this structure enables the neural network to effectively process time-varying features.
  • the cyclic neural network can effectively process input in the form of a sequence and shows good performance in processing time series data having time-varying features such as handwriting recognition and speech recognition.
  • 'time series data' means data listed in chronological order. However, it is not always necessary to be continuous in time, and even discrete data may be 'time series data' as used herein if they are listed in time order.
  • the term 'unit' means each entity when time series data is split into two or more entities on the time axis.
  • 'feature' means a feature of time series data or a unit extracted from time series data or a unit.
  • the "intermediate artificial neural network” means an intermediate neural network that receives input data and outputs intermediate output data.
  • the intermediate output data differs from the output values of ordinary neural networks in that the intermediate output data is not the value to be finally obtained using artificial intelligence.
  • the "final artificial neural network” refers to an artificial neural network of a final step of receiving intermediate output data from an intermediate artificial neural network and outputting final output data.
  • the final artificial neural network is an artificial neural network located at a terminal of an artificial intelligence system composed of a plurality of artificial neural networks according to an embodiment of the present invention, and the final output data output from the final artificial neural network is finally obtained by using artificial intelligence. The value to get.
  • the present invention to be described below relates to a method for learning and analyzing time series data using artificial intelligence. Specifically, the present invention discloses a method for learning and analyzing time series data that performs learning and analysis of time series data using a plurality of artificial neural networks.
  • An electrocardiogram is illustrated as an example of time series data in order to specifically describe the present invention.
  • a method of learning and analyzing time series data using artificial intelligence according to an embodiment of the present invention will be described by explaining a process of using a plurality of artificial neural networks according to an embodiment of the present invention in ECG learning and analysis. .
  • Electrocardiogram is an analysis of the heart's electrical activity and recorded in the form of wavelengths.
  • An electrocardiogram is a graph of potentials related to a heartbeat recorded on the surface of the body and is the most widely used test for diagnosing circulatory diseases.
  • Electrocardiograms are frequently used to diagnose arrhythmias and coronary artery disease. If the arrhythmia occurs intermittently, it is necessary to obtain an electrocardiogram recorded during daily life because the cardiac arrhythmias cannot be diagnosed by only one ECG test. Infrequent arrhythmias may not be detected by short-term ECG recordings, so if you suspect arrhythmias, you should record and record the ECG for a long time to make an accurate diagnosis.
  • the conventional electrocardiogram measuring device was a method of measuring by attaching a large number of electrodes to the body.
  • Holter ECG Holter monitor
  • Conventional electrocardiogram measuring device is large and heavy in size, there is a problem that many electrodes are attached to the body there is a sense of rejection and interfere with free daily life.
  • a wearable electrocardiogram measuring apparatus that has been recently developed reduces the size and weight of the device and minimizes the number of electrodes.
  • the reason for minimizing the number of electrodes is to consider the convenience of the user's daily life and the battery performance of the ECG device.
  • FIGS. 1A and 1B are diagrams illustrating a wearable electrocardiogram measuring apparatus and an attachment method thereof.
  • FIG. 1A illustrates the wearable electrocardiogram measuring apparatus 100, and as shown in FIG. 1A, the number of electrodes is two.
  • FIG. 1B illustrates a method of measuring an electrocardiogram by attaching the wearable electrocardiogram measuring apparatus 100 to a body. As shown in FIG. 1B, an electrocardiogram is measured by attaching an electrode near the heart.
  • the wearable electrocardiogram measuring apparatus 100 is easier to carry than the conventional electrocardiogram measuring apparatus, but the conventional electrocardiogram measuring apparatus analyzes the electrocardiogram signal of a multi-channel by using a plurality of electrodes to measure and measure a relatively accurate electrocardiogram. Compared to the diagnosis, the wearable electrocardiogram measuring apparatus 100 has a problem in that the ECG signal of only one channel is measured and thus the accuracy of ECG measurement and diagnosis is inferior.
  • a conventional electrocardiogram measuring apparatus such as an ECG analysis method used in a Holter ECG, cannot be used as it is, and there is a difficulty in diagnosing arrhythmias using only one channel ECG signal. .
  • the wearable ECG measuring apparatus 100 has strengths such as convenience of carrying, there are many studies on a method of diagnosing arrhythmias using only one channel ECG signal measured by the wearable ECG measuring apparatus 100. It's going on. In particular, advances in deep learning techniques in the field of artificial intelligence have shown the possibility of achieving arrhythmia diagnosis with high accuracy with only one signal.
  • the apparatus for measuring the electrocardiogram of the examinee in the present invention is not limited to the wearable electrocardiogram measuring apparatus 100, and may be attached to the body to measure the electrocardiogram.
  • the apparatus for measuring an electrocardiogram of a subject in the present invention is unified as an 'electrocardiogram measuring apparatus 100'.
  • FIG. 2 is a diagram illustrating an ECG analysis system including an ECG measuring apparatus, a network, and a server.
  • the electrocardiogram measuring apparatus 100 only measures the electrocardiogram of a subject, and in many cases does not provide an analysis function by itself, the electrocardiogram measuring apparatus 100 performs only the electrocardiogram measurement, and the electrocardiogram analysis is performed at the server 200 stage. It is desirable to make it. Specifically, the electrocardiogram measuring apparatus 100 may measure the electrocardiogram and transmit the electrocardiogram to the server 200, and analyze the electrocardiogram data using artificial intelligence and the like at the server 200.
  • an ECG analysis system may include an ECG measuring apparatus 100, a network 210, and a server 200.
  • the examinee lives daily life with the ECG device 100 attached thereto.
  • the electrocardiogram data measured by the electrocardiogram measuring apparatus 100 is transmitted to the server 200 through the network 210.
  • the server 200 may be a server of a hospital, a server of a medical service provider, a server of an IT company, or a server of a government agency such as the Ministry of Health and Welfare. Since the ECG data of the individual is sensitive medical information, the server 200 is preferably a server of a company that is allowed to collect and analyze medical information.
  • the server 200 performs learning and analysis using the electrocardiogram data received from the electrocardiogram measuring apparatus 100.
  • a medical professional such as a cardiologist, may allow the electrocardiogram data labeled with the electrocardiogram diagnosis result to be learned.
  • the neural network learning requires a long time and high computing power, while the relatively short time and low computing power are sufficient for the application of the neural network. Therefore, the ECG data is to be performed at the server 200, but the analysis of the ECG data is performed by ECG measuring apparatus 100 itself, an ECG measuring apparatus 100, and a separate ECG analyzing apparatus connected to wire / wireless, ECG measuring apparatus. 100 and can be performed in a smartphone, tablet, notebook computer and the like connected via wired / wireless.
  • CNN is a deep learning model that combines artificial neural networks with filter technology, and shows excellent performance in computer vision fields such as image analysis.
  • ECG is a time series data having a sequential context unlike an image, there is a limit in analyzing an ECG using a CNN technique specialized for image analysis.
  • the CNN-based ECG method does not read the sequential context of the entire ECG signal, but rather identifies the features of a part of the ECG signal and combines these features to derive the result of the entire ECG analysis.
  • the CNN-based electrocardiogram analysis method analyzes electrocardiogram data from the microscopic view rather than the macroscopic view, so that when a part of the electrocardiogram signal contains noise, it is difficult to grasp the characteristics of the corresponding electrocardiogram signal discrimination accuracy. Will adversely affect.
  • the filtered feature is not considered in the diagnosis, which leads to a problem that the discrimination accuracy is significantly reduced.
  • 3A and 3B illustrate a conventional RNN-based electrocardiogram analysis method.
  • 3A illustrates an ECG signal measured for a predetermined time in the ECG measuring apparatus 100.
  • R-peak The sharply raised portion of the ECG signal illustrated in FIG. 3A is R-peak.
  • R-peak is explained in detail at https://en.wikipedia.org/wiki/QRS_complex and so the detailed description is omitted.
  • FIG. 3B illustrates that an ECG signal measured for a predetermined time in the ECG measuring apparatus 100 is input to the RNN in units of three beats.
  • the ECG signal measured for a certain time is split in beat units using R-peak.
  • the RNN inputs three immediately adjacent bits together in time, because the relationship between the pre-bit, the bit to be discriminated, and the post-bit is important for discriminating arrhythmia from the ECG signal. That is, the prior bit, the bit to be determined, the interval between occurrence of the after bit, the height difference, and the like are important factors for arrhythmia determination.
  • RNN has A + B + C, B + C + D, C + D + E, D + E + F, E + F + G, F + G + H and G + H + I are entered.
  • a + B + C, B + C + D, C + D + E, D + E + F, E + F + G, F + G + H and G + H in one RNN + I is input sequentially.
  • arrhythmia since arrhythmia does not always appear, it is necessary to collect and analyze an ECG signal of a subject over a long period of time. Healthy adults have a heart rate of 60 to 100 beats per minute, which translates into 86,400 to 144,000 beats per 24 hours. Assuming a heart rate of 80 beats per minute, a 24 hour heart rate is 115,200 beats. This means that 80 bits are measured in 1 minute and 115,200 bits are measured in 24 hours.
  • CNN-based ECG analysis is faster than RNN-based ECG analysis, but the accuracy of analysis is inferior because it cannot read the sequential context of ECG signals.
  • RNN-based ECG analysis can read the sequential context of ECG signals, but it is difficult to guarantee real-time ECG analysis because the length of the input to be processed is too long.
  • FIG. 4 is a flowchart illustrating an electrocardiogram analysis method using artificial intelligence according to an embodiment of the present invention.
  • ECG analysis method using artificial intelligence ECG signal collection step (S411), ECG signal preprocessing step (S412), R-peak detection step (S413), ECG Signal split step S421, bit significance determination step S422, pseudo bit processing step S430, feature extraction step S440, intermediate neural network analysis step S450, final neural network analysis step S460 And the determination result reporting step (S470).
  • the electrocardiogram signal collecting step (S411) is a step in which the server 200 receives and collects an electrocardiogram signal from the electrocardiogram measuring apparatus 100.
  • the ECG signal preprocessing step (S412) is a step of processing noise, signal disconnection, signal interference, etc. mixed in the ECG signal.
  • the ECG signal received from the ECG measuring apparatus 100 may be preprocessed using a conventionally known method such as a band pass filter.
  • the R-peak detection step S413 is a step of detecting the R-peak in the ECG signal.
  • Pan-Tompkins algorithm Pan-Tompkins algorithm
  • Hilbert transform Hilbert transform
  • Kathirvel et al An efficient R-peak detection based on new nonlinear transformation and first-order Gaussian differentia-tor.Cardiovascular Engineering and Technology and various conventionally known detection algorithms can be used.
  • the ECG signal splitting step S421 is a step of splitting the ECG signal bit by bit using the detected R-peak.
  • the step of determining the significance of the bit (S422) is a step of determining whether the split bit corresponds to the actual heartbeat using R-peak. For example, if sudden noise is incorrectly determined as R-peak, the split bits based on the incorrectly determined R-peak do not correspond to the actual heartbeat.
  • R-peak detection phase Since human heartbeats have similar lengths, too short or long bits can be considered as false detections during the R-peak detection phase. Specifically, if a bit split using R-peak is statistically too long (e.g., greater than 99 percentile) or too short (e.g., less than 1 percentile), false detection may occur in the R-peak detection phase. In this case, R-peak should be detected again.
  • the algorithm used to detect R-peak again can be used by using algorithms other than the ones used previously, or by modifying the parameters of the previously used algorithms. You can also apply different algorithms for. The reason for detecting the R-peak again is that the R-peak detection algorithm does not guarantee 100% accuracy, especially since the wearable device may generate a lot of noise during data measurement and transmission.
  • step S422 If the bit split in step S422 is not statistically significant (No in S422), another suitable R-peak detection algorithm is selected (S423), and the selected R-peak detection algorithm is used. The R-peak is detected again (S424). The ECG signal is split into bits again using the detected R-peak using the selected R-peak detection algorithm. The R-peak detection algorithm selection and R-peak detection process are repeated until the split bits are determined to be statistically significant.
  • the pseudo bit processing step S430 is a step of replacing a current bit with a pre-generated bit if there is a bit similar to the current bit among the pre-generated bits.
  • the pseudo bit processing step S430 is not essential, but the computational amount of the computer may be reduced through the pseudo bit processing step S430.
  • Feature extraction step is a step of extracting a feature of each bit.
  • Feature extraction can use a variety of methods such as fast Fourier transform (FFT), Mel Frequency Cepstral Coefficient (MFCC), Filter Bank, Wavelet widely used in signal processing.
  • FFT fast Fourier transform
  • MFCC Mel Frequency Cepstral Coefficient
  • Filter Bank Wavelet widely used in signal processing.
  • Intermediate neural network analysis step (S450) is a step of obtaining the intermediate output data by inputting the feature of each bit to the intermediate artificial neural network.
  • the intermediate output data differs from the output values of ordinary neural networks in that the intermediate output data is not the value to be finally obtained using artificial intelligence.
  • Detailed description of the intermediate artificial neural network and the intermediate artificial neural network analyzing step S450 will be described in detail later with reference to FIGS. 7A to 12.
  • the final artificial neural network analysis step (S460) is a step of obtaining final output data by receiving intermediate output data from the intermediate artificial neural network.
  • the final artificial neural network is an artificial neural network located at a terminal of an artificial intelligence system composed of a plurality of artificial neural networks according to an embodiment of the present invention, and the final output data output from the final artificial neural network is finally obtained by using artificial intelligence. The value to get.
  • a detailed description of the final artificial neural network and the final artificial neural network analysis step (S460) will be described in detail later with reference to FIGS. 7A to 12.
  • the determination result reporting step (S470) is a step of generating and reporting a diagnosis result using the final output data obtained in the final artificial neural network analysis step (S460). Specifically, the determination result reporting step S470 may be to analyze the ECG signal to determine whether the subject has arrhythmia and then report the determination result.
  • FIG. 5 is a diagram illustrating an ECG signal splitting method according to an embodiment of the present invention.
  • the ECG signal may be split in units of bits based on the R-peak.
  • the left side of the R-peak or the right side of the R-peak may be split in the ECG signal.
  • the position for splitting the ECG signal may be any position.
  • the waveform of the heartbeat is divided into P-QRS-T, and FIG. 5 reflects this to split the ECG signal so that the R-peak is at the center of each bit.
  • 6A through 6C illustrate a pseudo bit processing method according to an embodiment of the present invention.
  • the electrocardiogram measuring apparatus 100 in the form of a wearable device is attached to a subject to measure the electrocardiogram for a long time over several days.
  • the similarity is calculated by comparing the current bit K with the pre-generated bits A, B, C, D, E, F, G, H, I and J.
  • the similarity between the bit to be determined currently and the N bits previously generated is calculated, and the most similar bit among the pre-generated bits similar to or above a threshold is selected as the replacement bit.
  • bit G is inserted instead of bit K. If there is no similar bit, keep bit K.
  • the similarity calculation algorithm may use any of the well-known similarity algorithms such as L1, L2, and DTW. Human ECG tends to repeat similar signals, which can greatly reduce the amount of computation through similar filtering.
  • FIGS. 7A and 7B are diagrams illustrating an intermediate artificial neural network and a final artificial neural network according to an embodiment of the present invention.
  • the features of each bit are extracted, and the features of each bit are the intermediate artificial neural network.
  • Figure 7a is a diagram illustrating an intermediate artificial neural network in accordance with an embodiment of the present invention. As shown in FIG. 7A, when features t0, t1, ..., tv are extracted for any one bit, e.g., bit A, the v + 1 features of bit A are in the input layer of the intermediate neural network. It is input to v + 1 nodes.
  • Data input to the intermediate neural network is output to m nodes in the output layer via the hidden layer.
  • the value output to the m nodes in the output layer of the intermediate artificial neural network may indicate the characteristic of bit A. It should be noted, however, that the values output to the m nodes in the output layer of the intermediate neural network are not values that are finally obtained by comprehensively analyzing the ECG signal using artificial intelligence, but rather that one bit, for example, bit A
  • the feature is expressed in m dimensions.
  • the intermediate neural network may be learning bit A through a map model, and in this case, the value output to m nodes in the output layer of the intermediate neural network may be any prediction value or classification value for bit A.
  • the intermediate neural network may be learning bit A through an unsupervised model, and in this case, a value output to m nodes in the output layer of the intermediate neural network may be a value for clustering bit A.
  • the values output to the m nodes in the output layer of the intermediate artificial neural network are only the characteristics of the bit A in m-dimensions, and are not the values to be finally obtained using artificial intelligence. It is preferable that two or more features are extracted at this time. That is, it is preferable that m is two or more natural numbers.
  • FIG. 7A illustrates that the intermediate artificial neural network has an RNN structure
  • the intermediate artificial neural network of FIG. 7A is not limited to the RNN structure, and may have a CNN structure or other artificial neural network structures.
  • FIG. 7B is a diagram illustrating a final artificial neural network according to an embodiment of the present invention. As shown in FIG. 7B, values output from m nodes of the output layer of the intermediate artificial neural network are input to m nodes of the input layer of the final artificial neural network.
  • the final neural network may be an RNN, in which case, in order to reflect the time-varying characteristics of consecutive bits, the m-dimensional characteristic value of the previous bit of the bit to be determined in the input layer of the final artificial neural network, The m-dimensional feature value and the m-dimensional feature value for the next bit of the bit to be determined may be sequentially input.
  • the ECG signal is divided into nine beats as shown in FIGS. 3A and 3B, and each bit is named A, B, C, D, E, F, G, H, and I.
  • the final neural network includes m-dimensional feature values for bit A, m-dimensional feature values for bit B, and m-dimensional feature values for bit C. Can be input sequentially sequentially.
  • the final neural network receives data in the following order. Can be.
  • Data input to the final neural network is output to the c nodes in the output layer through the hidden layer.
  • the final neural network may be a trained whole ECG signal through a map model.
  • the value output to the c nodes in the output layer of the final artificial neural network may be a value for classifying the entire ECG signal into c classifications.
  • the final ANN is preferably an RNN structure that reflects time-varying characteristics of data.
  • the RNN structure has a feature that the connection between nodes has a recursive structure, which can effectively handle time-varying features.
  • the final artificial neural network receives an m-dimensional feature of consecutive bits sequentially and receives a whole set of consecutive bits. Since the ECG signal is classified into c, the structure of the final artificial neural network is preferably an RNN structure.
  • the final artificial neural network is not limited to the RNN structure, and may be any other structure as long as the artificial neural network structure can reflect the time-varying characteristics of the time series data. That is, the final artificial neural network is not limited to the RNN structure.
  • FIGS. 8 to 10 are diagrams illustrating a method for analyzing time series data using artificial intelligence according to an embodiment of the present invention.
  • FIG. 8 illustrates an example of analyzing an electrocardiogram signal using a time series data analysis method using artificial intelligence according to an embodiment of the present invention. As described above, this is only for convenience of explanation and an embodiment of the present invention.
  • the time series data analysis method using artificial intelligence according to an example is not limited to ECG signal analysis.
  • the ECG signal 810 When the ECG signal 810 is input, the ECG signal is split into a plurality of bits 821, 822, 823 ... according to a predetermined reference. For example, after detecting the R-peak from the ECG signal 810, the ECG signal may be split into a plurality of bits 821, 822, 823... Using R-peak.
  • time series data when time series data is input, it may be described as splitting time series data into a plurality of units according to a predetermined criterion.
  • Feature extraction can use a variety of methods such as fast Fourier transform (FFT), Mel Frequency Cepstral Coefficient (MFCC), Filter Bank, Wavelet widely used in signal processing.
  • FFT fast Fourier transform
  • MFCC Mel Frequency Cepstral Coefficient
  • Filter Bank Wavelet widely used in signal processing.
  • time series data when time series data is split into a plurality of units, it may be described as extracting a feature of each unit for each of the plurality of units.
  • the intermediate neural network is also preferably n.
  • a feature of each of the n bits is input to each input layer of the n intermediate neural networks to obtain m-dimensional feature values for each of the n bits in the output layer of each of the n intermediate neural networks.
  • the value output from the intermediate artificial neural network is called 'intermediate output data'.
  • Extracting a plurality of features (831, 832, 833 %) from the plurality of bits (821, 822, 823 %) is performed by fast fourier transform (FFT), Mel Frequency Cepstral Coefficient (MFCC), Filter Bank, Although it uses a well-known algorithm such as Wavelet, the task of obtaining a plurality of m-dimensional feature values from a plurality of bit features (831, 832, 833 ...) is a result of analysis using artificial intelligence. .
  • FFT fast fourier transform
  • MFCC Mel Frequency Cepstral Coefficient
  • Wavelet the task of obtaining a plurality of m-dimensional feature values from a plurality of bit features (831, 832, 833 ...) is a result of analysis using artificial intelligence.
  • the features of each unit may be described as being input to the n intermediate artificial neural networks.
  • a feature of each of the n units is input to each input layer of the n intermediate neural networks to obtain m-dimensional feature values for each of the n units in the output layer of each of the n intermediate neural networks.
  • the m-dimensional feature values for each of the n bits output from the n intermediate artificial neural networks are input to the final artificial neural network 850 in the order of the time axis of each bit.
  • the final neural network may be an RNN.
  • the final artificial neural network in order to reflect the time-varying characteristics of successive bits, may have an m-dimensional characteristic value for the previous bit of the bit to be determined in the input layer of the final neural network,
  • the m-dimensional feature values for the m-dimensional feature and the m-dimensional feature values for the next bit of the bit to be determined may be sequentially input.
  • Data input to the final artificial neural network is output to c nodes in the output layer through the hidden layer, and when the final artificial neural network is a classification model, the value output to the c nodes is a value for classifying the entire ECG signal into c classifications. Can be. If the final artificial neural network is a predictive model, the values output to the c nodes may be values for predicting a result within a specific range from the entire ECG signal. The value output from the final neural network is called 'final output data'.
  • the nodes of the input layer of the final artificial neural network be m.
  • 'classification model' herein refers to an artificial intelligence model for the purpose of figuring out which group the input data belongs to
  • 'Prediction model' means an artificial intelligence model in which the result can be any value within the range of the training data.
  • n-dimensional feature values for each of n units are obtained using n intermediate artificial neural networks.
  • the final neural network receives m-dimensional feature values for each of the n units from the n intermediate artificial neural networks in the order of the time axis of each unit, and performs tasks such as classification and prediction of the entire time series data.
  • the m-dimensional characteristic values of the unit to be determined and the m-dimensional characteristic values of the unit immediately adjacent to the unit to be determined are temporally determined in the input layer of the final artificial neural network. It can be entered continuously into the final neural network.
  • the pre-bit of the bit to be discriminated, the bit to be discriminated and the 3 bits after the bit to be discriminated must be continuously input, but in the case of general time series data, the pre-unit of the unit to be discriminated and the unit to be discriminated. It is also possible to enter only two together, or to enter a post-unit of the unit to be determined and only two units to be determined. Of course, it is also possible to input all three of the pre-unit of the unit to be determined, the unit to be determined and the post-unit of the unit to be determined.
  • the node of the input layer of the final artificial neural network is preferably m.
  • FIGS. 9A and 9B are diagrams illustrating node structures of an intermediate neural network and a final artificial neural network used in a time series data analysis method using artificial intelligence according to an embodiment of the present invention.
  • 9A and 9B illustrate that the feature 831 of the first bit 821 obtained by splitting the ECG signal 810 is input to the first intermediate neural network 841, and the first intermediate neural network ( The intermediate output data of 841 is input to the final artificial neural network 850.
  • each intermediate neural network (841, 842, 843) It is preferable that the number of nodes of the input layer is also d. Of course, it is also possible to have more than d nodes of the input layer of the intermediate artificial neural network so that other values or parameters may be input in addition to the d-dimensional feature extracted from each bit.
  • FFT fast fourier transform
  • MFCC mel frequency cepstral coefficient
  • filter bank filter bank
  • wavelet etc.
  • the d-dimensional feature 831 When the d-dimensional feature 831 is extracted from the first bit 821, the d-dimensional feature 831 is input to d nodes in the input layer 841a of the first intermediate artificial neural network 841.
  • the input data is analyzed via the hidden layer 841b of the first intermediate neural network 841, and the analysis result is output at m nodes in the output layer 841c of the first intermediate neural network 841.
  • the intermediate output data of the first intermediate neural network 841 output from the m nodes in the output layer 841c of the first intermediate neural network 841 is m of the input layers 850a of the final artificial neural network 850. It is entered into the node.
  • the final neural network 850 not only receives the intermediate output data of the first intermediate neural network 841, but also receives intermediate output data from other intermediate neural networks 842, 843, and the hidden layer 850b. After analyzing the time-varying characteristics of consecutive bits, the final output data is output.
  • the final output data is output at c nodes in the output layer 850c of the final neural network 850.
  • FIG. 10 is a diagram for describing a process of inputting intermediate output data output from a plurality of intermediate artificial neural networks according to an embodiment of the present invention into a final artificial neural network.
  • the bit to be determined in the ECG signal is the second bit 822
  • the intermediate output data of must be input continuously.
  • the m-dimensional intermediate output data 841c obtained by inputting the d-dimensional feature 831 extracted from the dictionary bit 821 of the bit to be determined to the first intermediate neural network 841 and the bit to be determined M-dimensional intermediate output data 842c obtained by inputting the d-dimensional feature 832 extracted from 822 to the second intermediate neural network 842,
  • the m-dimensional intermediate output data 843c obtained by inputting the d-dimensional feature 833 extracted from the post bit 823 of the bit to be discriminated into the third intermediate neural network 843 is sequentially input to the final artificial neural network. .
  • Deep learning may be used to determine an arrhythmia by analyzing an ECG signal.
  • the neural network model includes a CNN model and an RNN model.
  • the CNN model is inadequate for time-series data analysis with time-varying features and is less accurate. Since the CNN method is based on the location information of the feature, there is a problem that the discriminating power is greatly reduced even for small deformation or noise. (Sabour, S., Frosst, N. Hinton, G. E. Dynamic routing between capsules.In Advances in Neural Information Processing Systems, pp. 3859-3869, 2017).
  • the RNN model can be used to analyze time series data with time-varying features.
  • the biggest problem with RNN models is that they are slow to learn and analyze. Although accuracy is improved because more information is available and time-varying features can be reflected, it is more complex because more information needs to be stored than CNN.
  • the association with successive units must be used as information, the successive units must be processed sequentially. Therefore, long inputs must be processed, which requires more time for learning and analysis.
  • a plurality of intermediate artificial neural networks and one final artificial neural network are provided.
  • n consecutive bits were considered as one input.
  • the learning and analysis are divided into two stages, a short term RNN processed by a plurality of intermediate artificial neural networks, and a long term RNN processed by one final neural network.
  • each of the n consecutive bits is used as an input of the intermediate artificial neural network.
  • an m-dimensional vector of one bit is obtained and inputted to the final artificial neural network to analyze an ECG signal to determine a disease such as arrhythmia.
  • the plurality of intermediate artificial neural networks process a plurality of bits, respectively, and the plurality of intermediate artificial neural networks are the same model. Therefore, when processing multiple bits, parallel processing is possible because there is no dependency between each other. Therefore, compared to the conventional RNN method in which all ECG signals must be inputted, the number or parallel processing of computing devices that perform parallel processing is performed. The operation may be performed quickly in proportion to the number of processors to perform.
  • a structure in which a plurality of intermediate artificial neural networks process a plurality of input bits may be possible depending on resource constraints.
  • This structure processes each bit in parallel in a plurality of intermediate artificial neural networks and processes shortened intermediate output data in the final artificial neural network, thereby greatly reducing the number of nodes in the hidden layer of each artificial neural network, thereby increasing the available memory. do. This brings with it an improvement in diagnostic speeds in GPU environments that are constrained by video memory. In addition, due to the shorter length of data to be processed in the final neural network, the complexity (complexity) is reduced, which greatly improves the diagnostic speed.
  • m-dimensional intermediate output data output from the nine intermediate artificial neural networks is input to the final artificial neural network
  • m-dimensional intermediate output data for the pre-bit, the determination target bit, and the post-bit are continuously input.
  • data is input to the final artificial neural network in the following order.
  • the analysis accuracy is higher than that of the conventional CNN-based electrocardiogram analysis method, and the conventional RNN-based electrocardiogram analysis method Compared to this, the length of data to be processed is shortened, thereby increasing the speed of analysis, thereby ensuring real-time electrocardiogram analysis.
  • the ECG signal can be accurately analyzed in real time, and the subject is notified before the heart disease occurs, so that it is possible to take action in advance with medication or hospital treatment.
  • agile initial response to fatal heart disease is possible and can be used for urgent lifesaving services.
  • FIG. 11 is a flowchart illustrating a method of analyzing time series data using artificial intelligence according to an embodiment of the present invention.
  • an intermediate artificial feature may be used for each of a plurality of units in which time series data is split on a time axis.
  • m is a natural number of 2 or more
  • the method may include obtaining final output data output from the final artificial neural network (S1130) and generating analysis results of time series data using the final output data (S1140).
  • FIG. 12 is a diagram illustrating a case where an intermediate artificial neural network is implemented at a plurality of levels in an artificial neural network structure according to an embodiment of the present invention.
  • the intermediate artificial neural network can be implemented in a plurality of levels.
  • the intermediate neural network of each level outputs the feature value of the input data, and the feature value output from the intermediate neural network of the previous level is input to the intermediate neural network of the next level.
  • the intermediate neural network is composed of k levels
  • the features of each of the plurality of units are input into the level 1 intermediate neural network
  • the feature values output from the intermediate neural network of each level are input into the intermediate neural network of the next level.
  • the feature value output from the intermediate neural network of level k-1 is input to the intermediate neural network of level k
  • the m-dimensional feature value output from the intermediate neural network of level k is input to the final artificial neural network.
  • the intermediate artificial neural network having a plurality of levels is designed in such a manner that a plurality of feature values output from the plurality of intermediate artificial neural networks of the previous level are input to one intermediate neural network of the next level.
  • Processes data in each unit unit (first unit) in a second and processes data in a second unit grouping a plurality of units temporally adjacent in a level 2 intermediate neural network, and processes a plurality of temporally adjacent in a level 3 intermediate neural network.
  • An example of processing data in a manner of processing data of a third unit grouping data of a second unit is illustrated.
  • the m-dimensional feature value output from the intermediate artificial neural network at level k will be the m-dimensional feature value for the data of the kth unit.
  • the number of intermediate neural networks of each level may vary according to the grouping criteria.
  • the intermediate neural network having a plurality of levels may be designed in such a manner that one feature value output from one intermediate neural network of the previous level is input 1: 1 to one intermediate neural network of the next level.
  • the intermediate neural networks of each level can be implemented with the same number. For example, if the number of level 1 intermediate artificial neural network is n, the number of level 2 intermediate artificial neural network can be implemented as n number of level 2 intermediate artificial neural network, n, number n of level k intermediate artificial neural network.
  • FIG. 13 is a flowchart illustrating a method of analyzing time series data when an intermediate artificial neural network is implemented at a plurality of levels in a structure of an artificial neural network according to an embodiment of the present invention.
  • the time series data analysis method when the intermediate artificial neural network has a plurality of levels, includes: for each of a plurality of units in which time series data is split on the time axis, Inputting a feature of each unit into the level 1 intermediate neural network (S1310), and inputting intermediate output data output from the level i (i is one or more natural numbers) artificial neural network into the level i + 1 intermediate neural network; (S1320), obtaining intermediate output data from the level k intermediate neural network (S1330) and sequentially inputting level k intermediate output data into the final artificial neural network to obtain final output data from the final artificial neural network (S1340). Can be.
  • the step of sequentially inputting into the final artificial neural network may include sequentially inputting level k intermediate output data for the data of the k-th unit immediately adjacent in time to the final artificial neural network.
  • the intermediate artificial neural network having a plurality of levels is designed in such a manner that one feature value output from one intermediate neural network of the previous level is input 1: 1 to one intermediate neural network of the next level
  • the step of sequentially inputting the level k intermediate output data of immediately adjacent units into the final artificial neural network is the same as the case where the level of the intermediate artificial neural network described with reference to FIGS. 9 and 10 is omitted. .
  • FIGS. 14 to 17 a method of learning time series data using artificial intelligence according to an embodiment of the present invention will be described with reference to FIGS. 14 to 17.
  • a process of learning an ECG signal using a plurality of artificial neural networks according to an embodiment of the present invention will be described to explain a method of learning time series data using artificial intelligence according to an embodiment of the present invention.
  • the learning process of artificial neural network using learning data is basically similar to the process of analyzing input data using artificial neural network.
  • the process of learning artificial neural network there is a difference in that the step of calculating the error by comparing the output value and the actual value, and changing the weight of the artificial neural network by back propagating the error is different.
  • FIG. 14 is a flowchart illustrating an ECG learning method using artificial intelligence according to an embodiment of the present invention.
  • an ECG learning method using artificial intelligence includes an ECG signal collection step S1410, an ECG signal split step S1420, a bit combining step S1430, and a feature ) May include an extraction step (S1440) and an artificial neural network learning step (S1450).
  • the electrocardiogram signal collecting step S1410 is a step in which the server 200 collects the electrocardiogram signal received from the electrocardiogram measuring apparatus 100 or the electrocardiogram signal directly input by the user.
  • the whole cardiogram signal measured for a long time is not labeled with the discriminant arrhythmias, but is labeled with the discriminant arrhythmias in bits.
  • Well-known data includes the MIT-BIH Arrhythmia Database.
  • the ECG signal splitting step S1421 is a step of splitting the ECG signal in bit units.
  • the bit combining step S1430 is a step of combining a pre-bit and b post-bits with labeled bits.
  • 15 is a diagram illustrating training data used in an ECG learning method using artificial intelligence according to an embodiment of the present invention.
  • an ECG learning method using artificial intelligence combines a pre-bit and b post-bits with labeled bits and uses them as learning data.
  • An analysis method of time series data using artificial intelligence does not analyze a single bit, but generates a time-varying feature generated by concatenating a plurality of adjacent bits in time, such as a pre or post bit. Since the gap, pre-bit, or post-bit difference is analyzed together, the pre- and post-bits must be trained by combining the pre- and post-bits with the labeled bits, instead of learning the labeled bits alone. .
  • the number of pre-bits a and the number of post-bits b to be coupled to the labeled bits can be arbitrarily determined. At this time, the number of pre-bits a and the number of post-bits b should be used as inputs for analysis.
  • the feature extraction step S1440 is a step of extracting a feature of each bit.
  • Feature extraction can use a variety of methods such as fast Fourier transform (FFT), Mel Frequency Cepstral Coefficient (MFCC), Filter Bank, Wavelet widely used in signal processing. It is preferable to use the same feature extraction algorithm used for learning and the feature extraction algorithm used for analysis.
  • FFT fast Fourier transform
  • MFCC Mel Frequency Cepstral Coefficient
  • Filter Bank Wavelet widely used in signal processing. It is preferable to use the same feature extraction algorithm used for learning and the feature extraction algorithm used for analysis.
  • the artificial neural network learning step (S1450) is a step of learning the artificial neural network by using well-known techniques such as back propagation and gradient reduction.
  • the neural network learning step S1450 will be described in detail with reference to FIG. 16.
  • 16 is a diagram illustrating a time series data learning method using artificial intelligence according to an embodiment of the present invention.
  • a process of learning time series data, for example, an ECG signal, using artificial intelligence according to an embodiment of the present invention will be described with reference to FIG. 16.
  • the training data 1610 When using a database labeled in units of bits such as the MIT-BIH Arrhythmia Database, the training data 1610 combines one or more pre-bits and one or more post-bits into labeled bits through a bit combining step (S1430). It should be an electrocardiogram signal. If the result of analyzing the entire ECG signal instead of the bit unit is used as a database that is labeled with each ECG signal, the labeled ECG signal may be used as the training data 1610 without the bit combining step (S1430). have.
  • the training data when using a database labeled in units, the training data should be time series data combining one or more units in a labeled unit. If the results of analyzing the entire time series data instead of unit units are used as a database in which each time series data is labeled, the labeled time series data may be used as training data.
  • the training data 1610 When the training data 1610 is input, the training data is split into a plurality of bits 1621, 1622, 1623 ... according to a predetermined criterion. It is preferable to use the same split method for the ECG signal used for learning and split method for the ECG signal used for analysis.
  • time series data when learning data is input, it can be described as splitting learning data into a plurality of units according to a predetermined criterion.
  • the split method of time series data used for learning and the split method of time series data used for analysis are preferably used.
  • a feature of extracting the features 1631, 1632, 1633... Of each bit is performed.
  • the feature extraction algorithm of the ECG signal used in learning and the feature extraction algorithm of the ECG signal used in analysis are preferably the same.
  • time series data when time series data is split into a plurality of units, it may be described as extracting a feature of each unit for each of the plurality of units. It is preferable to use the same feature extraction algorithm of the time series data used for learning and the feature extraction algorithm of the time series data used for analysis.
  • the intermediate artificial neural network 1641, 1642, 1643 a function of inputting the features 1631, 1632, 1633... Of each bit into the intermediate artificial neural network 1641, 1642, 1643. If the training data 1610 is a combination of n bits, then all n features would have been extracted, in which case the intermediate artificial neural network is preferably n.
  • time series data when time series data is split into n units and the features of each unit are extracted, the features of each unit may be described as being input to the n intermediate artificial neural networks.
  • the m-dimensional feature values for each of the n bits output from the n intermediate artificial neural networks are input to the final artificial neural network 1650 in order on the time axis of each bit to obtain final output data for the training data. .
  • time series data when time series data is split into n units, m intermediate feature values for each of n units are obtained using n intermediate artificial neural networks, and the final artificial neural network is n.
  • M-dimensional feature values for each of the units are provided from the n intermediate neural networks in the order of the time axis of each unit to obtain classification values, prediction values, and the like for the training data.
  • the final output data for the training data is obtained from the final neural network 1650
  • the final output data for the training data is compared with a label attached to the training data.
  • the final output data for the training data is an output value
  • the label attached to the training data is an actual value.
  • the error between the output value and the actual value is calculated using a loss function or the like and then back propagated.
  • the backpropagation adjusts the weight of the final neural network 1650 and the weights of the intermediate artificial neural networks 1641, 1642, 1643...
  • Weight adjustment method of backpropagation and artificial neural network is described in detail in the literature such as https://en.wikipedia.org/wiki/Backpropagation, so the detailed description is omitted.
  • the 'learning rate' refers to the size of the step to find the lowest value in the gradient reduction algorithm for weight adjustment of the artificial neural network.
  • Intermediate neural networks cannot be trained in parallel. This is because there is only one correct answer for a plurality of input bits. Because of this, backpropagation must be performed for a plurality of input bits for one correct answer. If the number of bits is n and the number of intermediate artificial neural networks is n, the n intermediate artificial neural networks must share weights with each other, and the learning rate of the intermediate artificial neural network during backpropagation is 1 / th of the learning rate of the final artificial neural network. It should be set to n times.
  • the learning method of the artificial neural network is the same.
  • the training is performed.
  • the final output data (output value) for the data is compared with the label (actual value) attached to the training data.
  • the error between the output value and the actual value is calculated using a loss function or the like and then back propagated to adjust the weight of the final neural network and the weights of the intermediate neural networks of the plurality of levels.
  • 17 is a flowchart illustrating a method of learning time series data using artificial intelligence according to an embodiment of the present invention.
  • an artificial feature of each unit is selected.
  • Obtaining final output data output from the final artificial neural network (S1730), comparing the final output data with a label attached to time series data, calculating an error (S1740), and back propagating the error to the intermediate artificial neural network and the final artificial Adjusting the weight of the neural network (S1740) may be included.
  • FIG. 18 is a hardware configuration diagram of an exemplary computing device that can implement a time series data analysis method or time series data learning method using artificial intelligence according to embodiments of the present invention.
  • an exemplary computing device capable of implementing a time series data analysis method or a time series data learning method using artificial intelligence according to embodiments of the present disclosure may include one or more processors 1810, storage 1820, It may include a memory 1830, a network interface 1840, and a bus that load a computer program executed by the processor 1810. 18, only components relevant to embodiments of the present invention are shown. Accordingly, it will be appreciated by those skilled in the art that other general purpose components may be further included in addition to the components illustrated in FIG. 18.
  • the processor 1810 controls the overall operation of each component of the computing device that can implement the time series data analysis method or the time series data learning method using artificial intelligence according to embodiments of the present invention.
  • the processor 1810 includes a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphics processing unit (GPU), or any type of processor well known in the art. Can be.
  • the processor 1810 may perform an operation on at least one application or program for executing a method according to embodiments of the present invention.
  • a computing device capable of implementing a method for analyzing time series data or a method for learning time series data using artificial intelligence according to embodiments of the present invention may include one or more processors.
  • the storage 1820 can non-temporarily store one or more computer programs.
  • the storage 1820 may be a non-volatile memory such as a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, or a technical field to which the present invention pertains. It may comprise any known type of computer readable recording medium.
  • the storage 1820 stores a computer program for performing a time series data analysis method or a time series data learning method using artificial intelligence according to embodiments of the present invention.
  • the memory 1830 stores various data, commands, and / or information.
  • the memory 1830 may load one or more computer programs from the storage 1820 to execute the time series data analysis method or the time series data learning method using artificial intelligence according to embodiments of the present invention.
  • the bus provides a communication function between components of a computing device capable of implementing a time series data analysis method or a time series data learning method using artificial intelligence according to embodiments of the present invention.
  • the bus may be implemented as various types of buses such as an address bus, a data bus, and a control bus.
  • the network interface 1840 supports wired / wireless communication of a computing device capable of implementing a time series data analysis method or a time series data learning method using artificial intelligence according to embodiments of the present invention.
  • the network interface 1840 may support various communication methods other than Internet communication.
  • the network interface 1840 may be configured to include a communication module well known in the art.
  • a computer program for performing the time series data analysis method or the time series data learning method using artificial intelligence according to the embodiments of the present invention is loaded in the memory 1830, and causes the processor 1810 according to the embodiments of the present invention. Instructions for performing a time series data analysis method or a time series data learning method may be included.
  • An apparatus for analyzing time series data includes a network interface 1840 for receiving time series data, one or more processors 1810, a memory 1830 for loading a computer program executed by the processor 1841, and Storage 1820, which stores a computer program, the computer program for each of a plurality of units in which time series data has been split in the time axis, inputting features of each of the units into the intermediate neural network and Instruction for obtaining intermediate output data of dimension m (m is a natural number of 2 or more), instruction for inputting intermediate output data of a plurality of units immediately adjacent in time to the final neural network, and obtaining final output data output from the final artificial neural network.
  • Using output data to generate analysis results of time series data Scotland may include Sean truck.
  • each instruction of the computer program stored in the storage 1820 of the apparatus for analyzing time series data performs the method for analyzing time series data using artificial intelligence described above, a description of repeated content will be omitted.
  • An apparatus for learning time series data includes a network interface 1840 for receiving time series data, one or more processors 1810, a memory 1830 for loading a computer program executed by the processor 1841, and Storage 1820, which stores a computer program, the computer program for each of a plurality of units in which time series data has been split in the time axis, inputting features of each of the units into the intermediate neural network and instructions for obtaining intermediate output data in the dimension of m (m is a natural number of 2 or more), instructions for inputting intermediate output data of a plurality of units immediately adjacent in time to the final neural network, and obtaining final output data output from the final artificial neural network; Compare output data with labels attached to time series data Scotland may include Sean truck.
  • each instruction of the computer program stored in the storage 1820 of the time series data learning apparatus performs the time series data learning method using artificial intelligence described above, a description of repeated content is omitted.
  • the inventive concept described with reference to the drawings may be embodied in computer readable codes on a computer readable medium.
  • the computer-readable recording medium may be a removable recording medium (CD, DVD, Blu-ray Disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk).
  • a computer program recorded on a computer readable recording medium may be transmitted to another computing device and installed in another computing device via a network such as the Internet, thereby being used in another computing device.

Abstract

A time series data learning and analyzing method using artificial intelligence is provided. A time series data analyzing method, according to one embodiment of the present invention, is performed by a computing device and can comprise the steps of: inputting a feature of each unit into an intermediate artificial neutral network with respect to each of the plurality of units in which time series data is split at a time axis; obtaining m (m is a natural number of 2 or greater) dimensional intermediate output data from the intermediate artificial neutral network; inputting, into a final artificial neutral network, the intermediate output data of a plurality of units that are temporally immediately adjacent, so as to obtain final output data outputted from the final artificial neutral network; and generating an analysis result of the time series data by using the final output data.

Description

인공지능을 이용한 시계열 데이터 학습 및 분석 방법Time series data learning and analysis method using artificial intelligence
본 발명은 인공지능을 이용한 시계열 데이터의 학습 및 분석 방법에 관한 것이다. 구체적으로 본 발명은, 복수개의 인공신경망을 이용하여 시계열 데이터의 학습 및 분석을 수행하는 방법에 관한 것이다.The present invention relates to a method for learning and analyzing time series data using artificial intelligence. Specifically, the present invention relates to a method for performing time series data learning and analysis using a plurality of artificial neural networks.
정보의 디지털화 및 데이터 저장 기술의 발달에 따라, 대량의 데이터가 축적되어, 다양한 분야에서 머신러닝 기술이 도입되어 활용되고 있다. 머신러닝은 많은 수의 입력 데이터를 분석하여, 확률적으로 대상을 분류하거나 특정 범위 내의 값을 예측하는 기술이다. 머신러닝은 특정한 규칙에 의해 결과값을 도출하기보다 많은 수의 입력 데이터를 경험적으로 분석하여 확률적으로 결과값을 도출하는 방식으로 동작한다.With the digitization of information and the development of data storage technology, a large amount of data is accumulated and machine learning technology is introduced and utilized in various fields. Machine learning is a technique that analyzes a large number of input data to probably classify objects or predict values within a specific range. Machine learning works by empirically analyzing a large number of input data and probabilistically deriving a result rather than deriving a result by a specific rule.
그런데 인공지능을 이용하여 시계열 데이터를 학습 및 분석함에 있어서, 시계열 데이터는 이미지 데이터 등과 비교하여 처리해야 하는 데이터의 길이가 매우 길 수 있다는 문제가 있다. 심전도 데이터를 예로 들면, 24시간 또는 그 이상의 시간 동안 측정된 심전도 데이터를 종합적으로 학습 및 분석하여 진단 결과를 도출하여야 하는데, 이는 학습 및 분석시 시간이 많이 걸릴 뿐만 아니라, 초기 입력 데이터가 점점 희미하게 희석되어 장기적인 데이터를 학습 및 분석함에 있어서 정확도 면에서도 문제가 발생할 수 있다.However, in learning and analyzing time series data using artificial intelligence, there is a problem in that time series data may have a very long length compared to image data. Taking ECG data as an example, it is necessary to comprehensively learn and analyze electrocardiogram data measured for 24 hours or more to derive a diagnosis result, which is not only time-consuming during learning and analysis, but also causes the initial input data to be gradually blurred. Dilution can cause problems in accuracy in learning and analyzing long-term data.
본 발명이 해결하고자 하는 기술적 과제는, 인공지능을 이용한 시계열 데이터 학습 및 분석의 연산량을 감소시키는 방법 및 장치를 제공하는 것이다.The technical problem to be solved by the present invention is to provide a method and apparatus for reducing the amount of computation of time series data learning and analysis using artificial intelligence.
본 발명이 해결하고자 하는 다른 기술적 과제는, 인공지능을 이용한 시계열 데이터 학습 및 분석의 정확도를 향상시킬 수 있는 방법 및 장치를 제공하는 것이다.Another technical problem to be solved by the present invention is to provide a method and apparatus that can improve the accuracy of time series data learning and analysis using artificial intelligence.
본 발명이 해결하고자 하는 기술적 과제는, 인공지능을 이용한 심전도(ECG) 학습 및 분석의 연산량을 감소시키는 방법 및 장치를 제공하는 것이다.The technical problem to be solved by the present invention is to provide a method and apparatus for reducing the amount of computation of ECG learning and analysis using artificial intelligence.
본 발명이 해결하고자 하는 기술적 과제는, 인공지능을 이용한 심전도(ECG) 학습 및 분석의 정확도를 향상시킬 수 있는 방법 및 장치를 제공하는 것이다.The technical problem to be solved by the present invention is to provide a method and apparatus that can improve the accuracy of ECG learning and analysis using artificial intelligence.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the above-mentioned technical problems, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 시계열 데이터 분석 방법은, 컴퓨팅 장치에 의하여 수행되는 시계열 데이터의 분석 방법에 있어서, 상기 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 상기 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하는 단계, 상기 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 단계, 시간적으로 바로 인접한 복수개의 유닛의 상기 중간 출력 데이터를 최종 인공신경망에 입력하여 상기 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 단계, 및 상기 최종 출력 데이터를 이용하여 상기 시계열 데이터의 분석 결과를 생성하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a method for analyzing time series data, the method for analyzing time series data performed by a computing device, for each of a plurality of units in which the time series data is split on a time axis. Inputting a feature of each of the units into an intermediate neural network, obtaining intermediate output data of the dimension m (m is a natural number of two or more) from the intermediate neural network, wherein the intermediate of the plurality of units immediately adjacent in time Inputting output data into a final artificial neural network to obtain final output data output from the final artificial neural network, and generating an analysis result of the time series data using the final output data.
일 실시예에서, 상기 중간 인공신경망 및 상기 최종 인공신경망은 RNN(Recurrent Neural Network)일 수 있다.In one embodiment, the intermediate neural network and the final artificial neural network may be a Recurrent Neural Network (RNN).
일 실시예에서, 상기 최종 인공신경망의 입력층의 뉴런은 m개일 수 있다.In one embodiment, the neurons of the input layer of the final artificial neural network may be m.
일 실시예에서, 상기 중간 출력 데이터를 얻는 단계는, 제1 컴퓨팅 장치가, 상기 복수개의 유닛에 포함된 제1 유닛의 피쳐를 상기 제1 컴퓨팅 장치에 구현된 상기 중간 인공신경망에 입력하고 상기 중간 인공신경망으로부터 m차원의 중간 출력 데이터를 얻는 단계, 및 제2 컴퓨팅 장치가, 상기 복수개의 유닛에 포함된 제2 유닛의 피쳐를 상기 제2 컴퓨팅 장치에 구현된 중간 인공신경망에 입력하고 상기 중간 인공신경망으로부터 m차원의 중간 출력 데이터를 얻는 단계를 포함할 수 있다.In one embodiment, the step of obtaining the intermediate output data, the first computing device inputs the features of the first unit included in the plurality of units into the intermediate neural network implemented in the first computing device and the intermediate Obtaining m-dimensional intermediate output data from the artificial neural network, and the second computing device inputs the features of the second unit included in the plurality of units into the intermediate neural network implemented in the second computing device and Obtaining m-dimensional intermediate output data from the neural network.
일 실시예에서, 상기 최종 출력 데이터를 얻는 단계는, 제3 컴퓨팅 장치가, 상기 제1 컴퓨팅 장치로부터 상기 제1 유닛의 중간 출력 데이터를 제공 받고, 상기 제2 컴퓨팅 장치로부터 상기 제2 유닛의 중간 출력 데이터를 제공 받으며, 상기 제1 유닛의 중간 출력 데이터 및 상기 제2 유닛의 중간 출력 데이터를 상기 최종 인공신경망에 순차적으로 입력하되, 상기 제1 유닛 및 상기 제2 유닛은 시간적으로 바로 인접한 유닛인, 단계를 포함할 수 있다.In one embodiment, the step of obtaining final output data comprises: receiving, by a third computing device, intermediate output data of the first unit from the first computing device, and intermediate of the second unit from the second computing device. Output data, the intermediate output data of the first unit and the intermediate output data of the second unit are sequentially input to the final artificial neural network, wherein the first unit and the second unit are immediately adjacent units in time. It may include a step.
일 실시예에서, 상기 중간 인공신경망은 k(k는 2 이상의 자연수)개의 레벨로 이루어져 있고, 상기 중간 인공신경망에 입력하는 단계는, 상기 복수개의 유닛 각각의 피쳐를 레벨 1 중간 인공신경망에 입력하는 단계, 레벨 i(i는 1 이상의 자연수) 중간 인공신경망으로부터 얻은 레벨 i 출력 데이터를 레벨 i+1 중간 인공신경망에 입력하는 단계, 및 레벨 i+1 중간 인공신경망으로부터 레벨 i+1 출력 데이터를 얻는 단계를 포함하되, 상기 중간 출력 데이터는 레벨 k 중간 인공신경망으로부터 출력된 데이터일 수 있다.In one embodiment, the intermediate artificial neural network is composed of k (k is a natural number of two or more), the inputting to the intermediate artificial neural network, inputting the features of each of the plurality of units into the level 1 intermediate neural network Step, inputting level i output data obtained from the level i (i is one or more natural number) intermediate neural network into the level i + 1 intermediate neural network, and obtaining level i + 1 output data from the level i + 1 intermediate neural network; Including the step, wherein the intermediate output data may be data output from the level k intermediate neural network.
일 실시예에서, 상기 시계열 데이터는, 심전도 데이터일 수 있다.In one embodiment, the time series data may be electrocardiogram data.
일 실시예에서, 상기 분석 결과는, 심전도 진단 결과일 수 있다.In an embodiment, the analysis result may be an electrocardiogram diagnosis result.
일 실시예에서, 상기 n개의 유닛은, R-peak를 이용하여 스플릿된 비트(beat) 유닛일 수 있다.In one embodiment, the n units may be beat units split using R-peak.
일 실시예에서, 상기 스플릿된 n개의 비트 유닛은, 상기 시계열 데이터를 스플릿한 후 스플릿된 비트 사이의 유사도를 비교하여 선행하는 특정 비트와의 유사도가 기 설정된 수치 이상인 비트를 상기 특징 유닛으로 대체한 것일 수 있다.In one embodiment, the split n bit units compare the similarity between the split bits after splitting the time series data, and replace the bit having a similarity with a specific specific bit above a predetermined value with the feature unit. It may be.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 시계열 데이터 학습 방법은, 컴퓨팅 장치에 의하여 수행되는 시계열 데이터의 학습 방법에 있어서, 상기 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 상기 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하는 단계, 상기 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 단계, 시간적으로 바로 인접한 복수개의 유닛의 상기 중간 출력 데이터를 최종 인공신경망에 입력하여 상기 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 단계, 및 상기 최종 출력 데이터를 상기 시계열 데이터에 붙어 있는 레이블과 비교하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a method for learning time series data, the method for learning time series data performed by a computing device, for each of a plurality of units in which the time series data is split on a time axis. Inputting a feature of each of the units into an intermediate neural network, obtaining intermediate output data of the dimension m (m is a natural number of two or more) from the intermediate neural network, wherein the intermediate of the plurality of units immediately adjacent in time Inputting the output data to the final artificial neural network to obtain final output data output from the final artificial neural network, and comparing the final output data with a label attached to the time series data.
일 실시예에서, 상기 중간 인공신경망 및 상기 최종 인공신경망은 RNN(Recurrent Neural Network)일 수 있다.In one embodiment, the intermediate neural network and the final artificial neural network may be a Recurrent Neural Network (RNN).
일 실시예에서, 상기 비교하는 단계는, 상기 최종 출력 데이터를 상기 시계열 데이터에 붙어 있는 레이블과 비교하여 오차를 계산하는 단계를 포함하고, 상기 비교하는 단계 다음에, 상기 오차를 역전파시켜 상기 중간 인공신경망의 가중치 및 상기 최종 인공신경망의 가중치를 조정하는 단계를 더 포함할 수 있다.In one embodiment, the comparing step includes the step of comparing the final output data with a label attached to the time series data to calculate an error, and after the comparing step, back propagating the error to the intermediate The method may further include adjusting a weight of the artificial neural network and a weight of the final artificial neural network.
일 실시예에서, 상기 가중치를 조정하는 단계는, 상기 중간 인공신경망의 학습률(learning rate)을 상기 최종 인공신경망의 학습률의 1/n배로 하여 상기 중간 인공신경망의 가중치를 조정하는 단계를 포함할 수 있다. In one embodiment, the adjusting of the weight may include adjusting the weight of the intermediate neural network by making the learning rate of the intermediate artificial neural network 1 / n times the learning rate of the final artificial neural network. have.
일 실시예에서, 상기 중간 인공신경망은 k(k는 2 이상의 자연수)개의 레벨로 이루어져 있고, 상기 중간 인공신경망에 입력하는 단계는, 상기 복수개의 유닛 각각의 피쳐를 레벨 1 중간 인공신경망에 입력하는 단계, 레벨 i(i는 1 이상의 자연수) 중간 인공신경망으로부터 얻은 레벨 i 출력 데이터를 레벨 i+1 중간 인공신경망에 입력하는 단계, 및 레벨 i+1 중간 인공신경망으로부터 레벨 i+1 출력 데이터를 얻는 단계를 포함하되, 상기 중간 출력 데이터는 레벨 k 중간 인공신경망으로부터 출력된 데이터일 수 있다.In one embodiment, the intermediate artificial neural network is composed of k (k is a natural number of two or more), the inputting to the intermediate artificial neural network, inputting the features of each of the plurality of units into the level 1 intermediate neural network Step, inputting level i output data obtained from the level i (i is one or more natural number) intermediate neural network into the level i + 1 intermediate neural network, and obtaining level i + 1 output data from the level i + 1 intermediate neural network; Including the step, wherein the intermediate output data may be data output from the level k intermediate neural network.
일 실시예에서, 상기 시계열 데이터는, 심전도 데이터일 수 있다.In one embodiment, the time series data may be electrocardiogram data.
일 실시예에서, 상기 n개의 유닛은, R-peak를 이용하여 스플릿된 비트(beat) 유닛일 수 있다.In one embodiment, the n units may be beat units split using R-peak.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 시계열 데이터 분석 장치는, 시계열 데이터를 제공 받는 네트워크 인터페이스, 하나 이상의 프로세서, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 상기 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 상기 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하고 상기 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 인스트럭션, 시간적으로 바로 인접한 복수개의 유닛의 상기 중간 출력 데이터를 최종 인공신경망에 입력하고, 상기 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 인스트럭션, 및 상기 최종 출력 데이터를 이용하여 상기 시계열 데이터의 분석 결과를 생성하는 인스트럭션을 포함할 수 있다.In accordance with another aspect of the present invention, there is provided an apparatus for analyzing time series data, the network interface receiving time series data, one or more processors, a memory for loading a computer program executed by the processor, and the computer. Storage for storing a program, wherein the computer program is configured to input a feature of each of the units into an intermediate neural network for each of a plurality of units in which the time series data is split on a time axis; an instruction for obtaining intermediate output data in the dimension m (m is a natural number of 2 or more); an instruction for inputting the intermediate output data of a plurality of units immediately adjacent in time to a final neural network, and obtaining the final output data output from the final neural network. , And above By using a species of output data may include instructions to generate analysis results of the time-series data.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 시계열 데이터 학습 장치는, 시계열 데이터를 제공 받는 네트워크 인터페이스, 하나 이상의 프로세서, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 상기 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 상기 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하고 상기 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 인스트럭션, 시간적으로 바로 인접한 복수개의 유닛의 상기 중간 출력 데이터를 최종 인공신경망에 입력하고, 상기 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 인스트럭션, 및 상기 최종 출력 데이터를 상기 시계열 데이터에 붙어 있는 레이블과 비교하는 인스트럭션을 포함할 수 있다.According to another aspect of the present invention, there is provided an apparatus for learning time series data, the network interface receiving time series data, one or more processors, a memory for loading a computer program executed by the processor, and the computer. Storage for storing a program, wherein the computer program is configured to input a feature of each of the units into an intermediate neural network for each of a plurality of units in which the time series data is split on a time axis; an instruction for obtaining intermediate output data in the dimension m (m is a natural number of 2 or more); an instruction for inputting the intermediate output data of a plurality of units immediately adjacent in time to a final neural network, and obtaining the final output data output from the final neural network. , And above A bell output data may comprise instructions to compare the label stuck on the time-series data.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 기록매체는, 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 상기 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하는 단계, 상기 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 단계, 시간적으로 바로 인접한 복수개의 유닛의 상기 중간 출력 데이터를 최종 인공신경망에 입력하여 상기 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 단계, 및 상기 최종 출력 데이터를 이용하여 상기 시계열 데이터의 분석 결과를 생성하는 단계를 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체일 수 있다.According to another aspect of the present invention, there is provided a recording medium for inputting a feature of each unit to an intermediate neural network for each of a plurality of units in which time series data is split on a time axis. Obtaining intermediate output data of the dimension m (m is a natural number of two or more) from the intermediate artificial neural network; inputting the intermediate output data of a plurality of units immediately adjacent in time into a final artificial neural network and outputting the final artificial neural network; A computer readable recording medium having a computer program stored therein for performing the step of obtaining final output data and generating an analysis result of the time series data using the final output data.
상술한 본 발명의 다양한 실시예에 따르면, 인공지능을 이용한 시계열 데이터 학습 및 분석을 수행할 때, 연산량은 감소되고 정확도는 향상될 수 있다.According to various embodiments of the present invention described above, when time series data learning and analysis using artificial intelligence is performed, the amount of calculation may be reduced and the accuracy may be improved.
상술한 본 발명의 다양한 실시예에 따르면, 인공지능을 이용한 심전도 데이터 학습 및 분석을 수행할 때, 연산량은 감소되고 정확도는 향상될 수 있다.According to various embodiments of the present invention described above, when performing ECG data learning and analysis using artificial intelligence, the amount of calculation may be reduced and accuracy may be improved.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.
도 1a 및 도 1b는 웨어러블 심전도 측정 장치와 그 부착 방법을 예시한 도면이다.1A and 1B are diagrams illustrating a wearable electrocardiogram measuring apparatus and an attachment method thereof.
도 2는 심전도 측정 장치, 네트워크(210) 및 서버를 포함하는 심전도 분석 시스템을 예시한 도면이다.2 is a diagram illustrating an electrocardiogram analysis system including an electrocardiogram measuring device, a network 210, and a server.
도 3a 및 도 3b는 종래의 RNN 기반의 심전도 분석 방법을 예시한 도면이다.3A and 3B illustrate a conventional RNN-based electrocardiogram analysis method.
도 4는 본 발명의 일 실시예에 따른 인공지능을 이용한 심전도 분석 방법을 예시한 순서도이다.4 is a flowchart illustrating an electrocardiogram analysis method using artificial intelligence according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 심전도 신호 스플릿 방법을 예시한 도면이다.5 is a diagram illustrating an ECG signal splitting method according to an embodiment of the present invention.
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 유사 비트 처리 방법을 예시한 도면이다.6A through 6C illustrate a pseudo bit processing method according to an embodiment of the present invention.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 중간 인공신경망 및 최종 인공신경망을 예시한 도면이다.7A and 7B are diagrams illustrating an intermediate artificial neural network and a final artificial neural network according to an embodiment of the present invention.
도 8 내지 10은 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 분석 방법을 예시한 도면이다.8 to 10 are diagrams illustrating a method for analyzing time series data using artificial intelligence according to an embodiment of the present invention.
도 11은 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 분석 방법을 예시한 순서도이다.11 is a flowchart illustrating a method of analyzing time series data using artificial intelligence according to an embodiment of the present invention.
도 12는 본 발명의 일 실시예에 따른 인공신경망 구조에서, 중간 인공신경망이 복수개의 레벨로 구현된 경우를 예시한 도면이다.12 is a diagram illustrating a case where an intermediate artificial neural network is implemented at a plurality of levels in an artificial neural network structure according to an embodiment of the present invention.
도 13은 본 발명의 일 실시예에 따른 인공신경망의 구조에서, 중간 인공신경망이 복수개의 레벨로 구현된 경우의 시계열 데이터 분석 방법을 예시한 순서도이다.FIG. 13 is a flowchart illustrating a method of analyzing time series data when an intermediate artificial neural network is implemented at a plurality of levels in a structure of an artificial neural network according to an embodiment of the present invention.
도 14는 본 발명의 일 실시예에 따른 인공지능을 이용한 심전도 학습 방법을 예시한 순서도이다.14 is a flowchart illustrating an ECG learning method using artificial intelligence according to an embodiment of the present invention.
도 15는 본 발명의 일 실시예에 따른 인공지능을 이용한 심전도 학습 방법에서 사용되는 학습 데이터를 예시한 도면이다.15 is a diagram illustrating training data used in an ECG learning method using artificial intelligence according to an embodiment of the present invention.
도 16은 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 학습 방법을 예시한 도면이다.16 is a diagram illustrating a time series data learning method using artificial intelligence according to an embodiment of the present invention.
도 17은 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 학습 방법을 예시한 순서도이다.17 is a flowchart illustrating a method of learning time series data using artificial intelligence according to an embodiment of the present invention.
도 18은 본 발명의 실시예들에 따른 인공지능을 이용한 시계열 데이터 분석 방법 또는 시계열 데이터 학습 방법을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다.18 is a hardware configuration diagram of an exemplary computing device that can implement a time series data analysis method or time series data learning method using artificial intelligence according to embodiments of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms used in the present specification (including technical and scientific terms) may be used in a sense that can be commonly understood by those skilled in the art. In addition, the terms defined in the commonly used dictionaries are not ideally or excessively interpreted unless they are specifically defined clearly. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, “comprises” and / or “comprising” refers to a component, step, operation, and / or element that is mentioned in the presence of one or more other components, steps, operations and / or elements. Or does not exclude additions.
본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.Prior to the description herein, some terms used herein will be clarified.
본 발명이 속하는 기술 분야에서 '인공신경망(neural network)'이란, 생물의 신경망, 특히 인간의 시각/청각 피질을 본떠 만든 복수개의 층과 각 층을 구성하는 복수개의 노드로 이루어진 그래프 구조를 의미한다. 인공신경망은 1개의 입력층, 1개 이상의 은닉층 및 1개의 출력층을 포함한다.In the technical field to which the present invention belongs, 'neural network' refers to a graph structure composed of a plurality of layers and a plurality of nodes constituting each layer, which are modeled after a neural network of a living organism, especially a human visual / audio cortex. . The artificial neural network comprises one input layer, one or more hidden layers and one output layer.
본 발명이 속하는 기술 분야에서 '입력층(input layer)'이란, 인공신경망의 층 구조에서 분석/학습하고자 하는 데이터를 입력 받는 층을 의미한다.In the technical field to which the present invention pertains, 'input layer' refers to a layer that receives data to be analyzed / learned in a layer structure of an artificial neural network.
본 발명이 속하는 기술 분야에서 '출력층(output layer)'이란, 인공신경망의 층 구조에서 결과값이 출력되는 층을 의미한다.In the technical field to which the present invention belongs, the term 'output layer' refers to a layer in which a result value is output in a layer structure of an artificial neural network.
본 발명이 속하는 기술 분야에서 '은닉층(hidden layer)'이란, 인공신경망의 층 구조에서 입력층과 출력층을 제외한 모든 층을 의미한다. 인공신경망은 뉴런의 연속된 층으로 구성되어 있으며, 각 층의 뉴런은 다음 층의 뉴런에 연결되어 있다. 은닉층 없이 입력층과 출력층을 바로 연결하면 각 입력이 다른 입력에 상관없이 독립적으로 출력에 기여하여 정확한 결과를 얻기 어렵다. 실제로는 입력 데이터가 상호 의존적이고 서로 결합되어 복잡한 구조로 출력에 영향을 미치므로, 은닉층을 추가하여 은닉층의 뉴런이 최종 출력에 영향을 미치는 입력 간의 미묘한 상호작용을 잡아낼 수 있다. 즉, 은닉층이 데이터에 있는 고수준의 특징이나 속성을 처리하는 것으로 볼 수 있다.In the technical field to which the present invention pertains, 'hidden layer' refers to all layers except the input layer and the output layer in the layer structure of the artificial neural network. The neural network consists of a continuous layer of neurons, with neurons in each layer connected to neurons in the next layer. If the input layer and the output layer are directly connected without the hidden layer, each input contributes to the output independently of the other inputs, making it difficult to obtain accurate results. In practice, input data is interdependent and coupled to each other to affect the output in a complex structure, so that hidden layers can be added to capture subtle interactions between inputs where the neurons in the hidden layer affect the final output. In other words, the hidden layer can be thought of as processing a high level of features or attributes in the data.
본 발명이 속하는 기술 분야에서 '뉴런(neuron)'이란, 생물학적 신경망에서의 뉴런을 인공신경망에 대응시킨 개념이다. '뉴런'을 '노드'라고 하기도 한다.In the technical field to which the present invention pertains, 'neuron' is a concept in which neurons in biological neural networks correspond to artificial neural networks. Neurons are also called nodes.
본 발명이 속하는 기술 분야에서 '가중치(weight)'란, 생물학적 신경망에서 반복된 신호 전달을 통해 시냅스 연결이 강화된 정도를 인공신경망에 대응시킨 개념이다. 생물학적 신경망에서 뉴런 1에서 뉴런 2로 신호가 자주 전달될 경우 신호전달의 효율성을 위하여 뉴런 1에서 뉴런 2로 가는 경로, 곧 시냅스 연결이 강화된다. 이를 일종의 학습 또는 기억의 과정이라고 보며, 인공신경망에서는 이를 '가중치'라는 개념으로 설명하고 있다.In the technical field to which the present invention belongs, 'weight' refers to a concept in which a degree of synaptic connection is strengthened through repeated signal transmission in a biological neural network corresponds to an artificial neural network. Frequent signal transmission from neuron 1 to neuron 2 in biological neural networks enhances the pathway from neuron 1 to neuron 2, the synaptic linkage, for efficient signaling. This is regarded as a kind of learning or memory process, and the artificial neural network describes this as the concept of 'weighting'.
본 발명이 속하는 기술 분야에서 '역전파(back propagation)'란, '오차의 역방향 전파(backward propagation of errors)'에서 유래된 단어로서, 출력값과 실제값의 차이인 오차(에러)의 역전파를 통해 인공신경망의 가중치를 조정하는 것을 의미한다.In the technical field to which the present invention belongs, 'back propagation' is a word derived from 'backward propagation of errors', and the back propagation of an error (error) that is a difference between an output value and an actual value is used. This means adjusting the weight of the artificial neural network.
본 발명이 속하는 기술 분야에서 '경사감소법(gradient descent)'이란, 역전파시 학습 모델의 가중치를 결정하는 방법으로서, 가중치를 포함하는 피드포워드 함수값의 출력값과 레이블된 실제값과의 차이를 최소화하는 가중치를 찾아가는 방법을 의미한다. 일례로, 손실 함수의 형태가 포물선 모양으로 표현될 때, 그 최저점을 찾아 가중치를 계산할 수 있으며, 최저점을 찾는 과정이 마치 경사진 언덕을 내려가는 것과 같은 모양이어서 경사감소법이라고 명명되었다.In the technical field to which the present invention belongs, 'gradient descent' is a method of determining the weight of a learning model during backpropagation, and minimizes a difference between an output value of a feedforward function value including a weight and a labeled actual value. It means how to find the weight. For example, when the shape of the loss function is expressed as a parabolic shape, it is possible to calculate the weight by finding the lowest point, and the process of finding the lowest point is called a slope reduction method because it looks like a descending sloped hill.
본 발명이 속하는 기술 분야에서 '학습률(learning rate)'이란, 인공신경망의 가중치 조정을 위한 경사감소법 알고리즘에서 최저값을 찾아가는 스텝(step)의 크기를 의미한다. 학습률이 크면 조정 속도는 빠르지만 정밀도가 떨어지고, 학습률이 작으면 정밀도는 높지만 조정 속도가 느려진다.In the technical field to which the present invention pertains, 'learning rate' means the size of a step for finding the lowest value in the gradient reduction algorithm for weight adjustment of an artificial neural network. Larger learning rates result in faster adjustments but less precision, and smaller learning rates provide higher precision but slower adjustments.
본 발명이 속하는 기술 분야에서 '컨벌루션 인공신경망(Convolutional Neural Networks; CNN)'이란, 인공신경망에 필터 기술을 결합한 딥러닝 모델로서, 인공신경망이 입력 데이터의 특징을 더 잘 습득할 수 있도록 최적화시킨 것이다. 컨벌루션 인공신경망은 컴퓨터 비전(computer vision) 분야에서 뛰어난 성능을 보이고 있다.In the technical field to which the present invention belongs, 'Convolutional Neural Networks (CNN)' is a deep learning model that combines an artificial neural network with a filter technology, and the artificial neural network is optimized to acquire characteristics of input data better. . Convolutional neural networks have shown excellent performance in the field of computer vision.
본 발명이 속하는 기술 분야에서 '순환 인공신경망(Recurrent Neural Network; RNN)'이란, 시계열 데이터(time series data)와 같이 시간의 흐름에 따라 변화하는 데이터를 학습하기에 적합한 딥러닝 모델로서, 기준 시점(t)과 다음 시점(t+1)에 네트워크를 연결하여 구성한 인공신경망이다. 순환 인공신경망은 노드 간의 연결이 순환적 구조를 갖는 특징을 갖고 있으며, 이러한 구조는 인공신경망이 시변적 특징을 효과적으로 처리할 수 있도록 해준다. 순환 인공신경망은 시퀀스 형태의 입력을 효과적으로 처리할 수 있으며, 필기체 인식이나 음성 인식과 같이 시변적 특징을 가지는 시계열 데이터의 처리에 좋은 성능을 보여주고 있다.In the technical field to which the present invention pertains, 'Recurrent Neural Network (RNN)' is a deep learning model suitable for learning data that changes over time, such as time series data. It is an artificial neural network constructed by connecting networks at (t) and the next time point (t + 1). The cyclic neural network has a feature that a connection between nodes has a cyclic structure, and this structure enables the neural network to effectively process time-varying features. The cyclic neural network can effectively process input in the form of a sequence and shows good performance in processing time series data having time-varying features such as handwriting recognition and speech recognition.
이상에서 설명한 인공지능 관련 기술 및 용어들은 위키피디아, 유튜브 등의 웹사이트에 자세히 설명되어 있으므로 자세한 설명은 생략한다. 예컨대 순환 인공신경망은 https://en.wikipedia.org/wiki/Recurrent_neural_network 등의 문헌에 자세히 설명되어 있다.Artificial intelligence-related technologies and terms described above are described in detail on websites such as Wikipedia and YouTube, and thus detailed descriptions thereof will be omitted. For example, circulatory artificial neural networks are described in detail in https://en.wikipedia.org/wiki/Recurrent_neural_network.
본 명세서에서 '시계열 데이터'란, 시간 순서로 나열된 데이터를 의미한다. 다만 반드시 시간적으로 연속적(continuous)일 필요는 없고, 이산적(discrete)인 데이터라도 시간 순서로 나열된 것이라면 본 명세서에서 말하는 '시계열 데이터'가 될 수 있다.In the present specification, 'time series data' means data listed in chronological order. However, it is not always necessary to be continuous in time, and even discrete data may be 'time series data' as used herein if they are listed in time order.
본 명세서에서 '유닛'이란, 시계열 데이터가 시간 축에서 2개 이상의 개체로 스플릿(split)되었을 때의 각 개체를 의미한다.In the present specification, the term 'unit' means each entity when time series data is split into two or more entities on the time axis.
본 명세서에서 '피쳐'란, 시계열 데이터 또는 유닛으로부터 추출한 시계열 데이터 또는 유닛의 특징을 의미한다.In the present specification, 'feature' means a feature of time series data or a unit extracted from time series data or a unit.
본 명세서에서 '중간 인공신경망'이란, 입력 데이터를 제공 받아 중간 출력 데이터를 출력하는 중간 단계의 인공신경망을 의미한다. 중간 출력 데이터는 인공지능을 이용하여 최종적으로 얻고자 하는 값이 아니라는 점에서 통상의 인공신경망의 출력값과 다르다.In the present specification, the "intermediate artificial neural network" means an intermediate neural network that receives input data and outputs intermediate output data. The intermediate output data differs from the output values of ordinary neural networks in that the intermediate output data is not the value to be finally obtained using artificial intelligence.
본 명세서에서 '최종 인공신경망'이란, 중간 인공신경망으로부터 중간 출력 데이터를 제공 받아 최종 출력 데이터를 출력하는 최종 단계의 인공신경망을 의미한다. 최종 인공신경망은 본 발명의 일 실시예에 따른 복수개의 인공신경망으로 구성된 인공지능 시스템의 말단(terminal)에 위치하는 인공신경망으로서, 최종 인공신경망에서 출력되는 최종 출력 데이터는 인공지능을 이용하여 최종적으로 얻고자 하는 값이다.In the present specification, the "final artificial neural network" refers to an artificial neural network of a final step of receiving intermediate output data from an intermediate artificial neural network and outputting final output data. The final artificial neural network is an artificial neural network located at a terminal of an artificial intelligence system composed of a plurality of artificial neural networks according to an embodiment of the present invention, and the final output data output from the final artificial neural network is finally obtained by using artificial intelligence. The value to get.
이하 설명할 본 발명은 인공지능을 이용한 시계열 데이터의 학습 및 분석 방법에 관한 것이다. 구체적으로, 본 발명은 복수개의 인공신경망을 이용하여 시계열 데이터의 학습 및 분석을 수행하는 시계열 데이터의 학습 및 분석 방법을 개시한다.The present invention to be described below relates to a method for learning and analyzing time series data using artificial intelligence. Specifically, the present invention discloses a method for learning and analyzing time series data that performs learning and analysis of time series data using a plurality of artificial neural networks.
본 명세서에서 본 발명을 구체적으로 설명하기 위하여 시계열 데이터의 일례로서 심전도를 예시한다. 구체적으로, 심전도 학습 및 분석시에 본 발명의 일 실시예에 따른 복수개의 인공신경망을 이용하는 과정을 설명함으로써 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터의 학습 및 분석 방법을 설명하고자 한다.An electrocardiogram is illustrated as an example of time series data in order to specifically describe the present invention. Specifically, a method of learning and analyzing time series data using artificial intelligence according to an embodiment of the present invention will be described by explaining a process of using a plurality of artificial neural networks according to an embodiment of the present invention in ECG learning and analysis. .
이하, 첨부된 도면들을 참조하여 본 발명에 대하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail with respect to the present invention.
심전도(electrocardiogram)란 심장의 전기적 활동을 분석하여 파장 형태로 기록한 것을 의미한다. 심전도는 심박동과 관련된 전위를 신체 표면에서 도형으로 기록한 것으로서, 순환기 질환의 진단을 위한 검사로 가장 많이 사용되는 검사이다.Electrocardiogram is an analysis of the heart's electrical activity and recorded in the form of wavelengths. An electrocardiogram is a graph of potentials related to a heartbeat recorded on the surface of the body and is the most widely used test for diagnosing circulatory diseases.
심전도는 부정맥과 관상동맥질환의 진단에 많이 사용된다. 부정맥이 간헐적으로 발생하는 경우에는 한번의 심전도 검사만으로는 부정맥을 진단할 수 없으므로 일상 생활 중에 기록되는 심전도를 얻어낼 필요가 있다. 자주 발생하지 않는 부정맥의 경우 짧은 시간 동안의 심전도 기록으로는 발견되지 않을 수 있으므로, 부정맥이 의심될 경우 정확한 진단을 위해 오랜 시간 동안 심전도를 측정하여 기록하는 것이다.Electrocardiograms are frequently used to diagnose arrhythmias and coronary artery disease. If the arrhythmia occurs intermittently, it is necessary to obtain an electrocardiogram recorded during daily life because the cardiac arrhythmias cannot be diagnosed by only one ECG test. Infrequent arrhythmias may not be detected by short-term ECG recordings, so if you suspect arrhythmias, you should record and record the ECG for a long time to make an accurate diagnosis.
종래의 심전도 측정 장치는 신체에 많은 전극을 부착하여 측정하는 방식이었다. 예컨대 통상적으로 사용되는 홀터 심전도계(Holter monitor)는 흉부에 5~7개의 전극을 부착하고 무게 500 g 정도의 검사기기를 허리에 착용하여 심전도를 측정하는 방식이었다. 종래의 심전도 측정 장치는 크기가 크고 무거우며, 많은 전극이 달려 신체에 부착시 거부감이 있고 자유로운 일상 생활을 방해하는 문제가 있었다.The conventional electrocardiogram measuring device was a method of measuring by attaching a large number of electrodes to the body. For example, Holter ECG (Holter monitor) that is commonly used was a method of measuring the electrocardiogram by attaching 5-7 electrodes to the chest and wearing an inspection device weighing about 500 g on the waist. Conventional electrocardiogram measuring device is large and heavy in size, there is a problem that many electrodes are attached to the body there is a sense of rejection and interfere with free daily life.
이러한 문제점을 해결하기 위해 최근 개발되고 있는 웨어러블 형태의 심전도 측정 장치는, 장치의 크기 및 무게를 줄이고, 전극의 수를 최소화하고 있다. 전극의 수를 최소화하는 이유는 사용자의 일상 생활에서의 편의성과 심전도 측정 장치의 배터리 성능을 함께 고려한 것이다.In order to solve this problem, a wearable electrocardiogram measuring apparatus that has been recently developed reduces the size and weight of the device and minimizes the number of electrodes. The reason for minimizing the number of electrodes is to consider the convenience of the user's daily life and the battery performance of the ECG device.
도 1a 및 도 1b는 웨어러블 심전도 측정 장치와 그 부착 방법을 예시한 도면이다.1A and 1B are diagrams illustrating a wearable electrocardiogram measuring apparatus and an attachment method thereof.
도 1a는 웨어러블 심전도 측정 장치(100)를 예시한 것으로서, 도 1a에 나타난 것과 같이 전극의 수가 2개이다.FIG. 1A illustrates the wearable electrocardiogram measuring apparatus 100, and as shown in FIG. 1A, the number of electrodes is two.
도 1b는 웨어러블 심전도 측정 장치(100)를 신체에 부착하여 심전도를 측정하는 방법을 예시한 것으로서, 도 1b에 나타난 것과 같이 심장 근처에 전극을 부착하여 심전도를 측정한다.FIG. 1B illustrates a method of measuring an electrocardiogram by attaching the wearable electrocardiogram measuring apparatus 100 to a body. As shown in FIG. 1B, an electrocardiogram is measured by attaching an electrode near the heart.
웨어러블 심전도 측정 장치(100)는 종래의 심전도 측정 장치에 비해 휴대가 간편해졌으나, 종래의 심전도 측정 장치가 복수개의 전극을 이용하여 다채널(multi-channel)의 심전도 신호를 분석하여 비교적 정확한 심전도 측정 및 진단이 가능했던 것에 비해, 웨어러블 심전도 측정 장치(100)는 1채널의 심전도 신호만이 측정되어 심전도 측정 및 진단의 정확도가 떨어지는 문제가 있었다.The wearable electrocardiogram measuring apparatus 100 is easier to carry than the conventional electrocardiogram measuring apparatus, but the conventional electrocardiogram measuring apparatus analyzes the electrocardiogram signal of a multi-channel by using a plurality of electrodes to measure and measure a relatively accurate electrocardiogram. Compared to the diagnosis, the wearable electrocardiogram measuring apparatus 100 has a problem in that the ECG signal of only one channel is measured and thus the accuracy of ECG measurement and diagnosis is inferior.
웨어러블 심전도 측정 장치(100)에서는 종래의 다채널로 수집되는 심전도 측정 장치, 예컨대 홀터 심전도계에서 사용되는 심전도 분석 방법을 그대로 사용할 수 없고, 1채널의 심전도 신호만으로 부정맥 등을 진단해야 하는 어려움이 있었다. 그럼에도 불구하고 웨어러블 심전도 측정 장치(100)는 휴대의 편리성 등의 강점이 있으므로, 웨어러블 심전도 측정 장치(100)에서 측정된 1채널의 심전도 신호만을 이용하여 부정맥 등을 진단하는 방법에 대한 많은 연구가 진행되고 있다. 특히, 인공지능 분야에서 딥러닝 기법의 발전으로 인해 1개의 신호만으로도 충분히 높은 정확도의 부정맥 진단을 달성할 가능성이 보이고 있다.In the wearable electrocardiogram measuring apparatus 100, a conventional electrocardiogram measuring apparatus, such as an ECG analysis method used in a Holter ECG, cannot be used as it is, and there is a difficulty in diagnosing arrhythmias using only one channel ECG signal. . Nevertheless, since the wearable ECG measuring apparatus 100 has strengths such as convenience of carrying, there are many studies on a method of diagnosing arrhythmias using only one channel ECG signal measured by the wearable ECG measuring apparatus 100. It's going on. In particular, advances in deep learning techniques in the field of artificial intelligence have shown the possibility of achieving arrhythmia diagnosis with high accuracy with only one signal.
다만, 본 발명에서 피검자의 심전도를 측정하는 장치는 웨어러블 형태의 심전도 측정 장치(100)에 한정되지 않고 신체에 부착되어 심전도를 측정할 수 있다면 어떤 형태의 심전도 측정 장치(100)라도 무방하다. 이하, 설명의 편의를 위하여 본 발명에서 피검자의 심전도를 측정하는 장치를 '심전도 측정 장치(100)'로 통일한다.However, the apparatus for measuring the electrocardiogram of the examinee in the present invention is not limited to the wearable electrocardiogram measuring apparatus 100, and may be attached to the body to measure the electrocardiogram. Hereinafter, for convenience of description, the apparatus for measuring an electrocardiogram of a subject in the present invention is unified as an 'electrocardiogram measuring apparatus 100'.
도 2는 심전도 측정 장치, 네트워크 및 서버를 포함하는 심전도 분석 시스템을 예시한 도면이다.2 is a diagram illustrating an ECG analysis system including an ECG measuring apparatus, a network, and a server.
심전도 측정 장치(100)는 피검자의 심전도를 측정할 뿐, 자체적으로 분석 기능을 제공하지 않는 경우가 많으므로, 심전도 측정 장치(100)는 심전도 측정만을 수행하고, 심전도 분석은 서버(200) 단에서 이루어지도록 하는 것이 바람직하다. 구체적으로, 심전도 측정 장치(100)는 심전도를 측정하여 서버(200)에 전송하고, 서버(200) 단에서 인공지능 등을 이용하여 심전도 데이터를 분석하는 것이 바람직하다. The electrocardiogram measuring apparatus 100 only measures the electrocardiogram of a subject, and in many cases does not provide an analysis function by itself, the electrocardiogram measuring apparatus 100 performs only the electrocardiogram measurement, and the electrocardiogram analysis is performed at the server 200 stage. It is desirable to make it. Specifically, the electrocardiogram measuring apparatus 100 may measure the electrocardiogram and transmit the electrocardiogram to the server 200, and analyze the electrocardiogram data using artificial intelligence and the like at the server 200.
도 2에 나타난 것과 같이, 본 발명의 일 실시예에 따른 심전도 분석 시스템은 심전도 측정 장치(100), 네트워크(210) 및 서버(200)를 포함할 수 있다.As shown in FIG. 2, an ECG analysis system according to an exemplary embodiment may include an ECG measuring apparatus 100, a network 210, and a server 200.
피검자는 심전도 측정 장치(100)를 부착한 상태에서 일상 생활을 한다. 심전도 측정 장치(100)에서 측정된 심전도 데이터는 네트워크(210)를 통해 서버(200)로 전송된다. 이 때 서버(200)는 병원의 서버일 수 있고, 의료 서비스 제공 업체의 서버일 수도 있으며, IT 업체의 서버일 수도 있고, 보건복지부 등 정부 기관의 서버일 수도 있다. 개인의 심전도 데이터는 민감한 의료 정보이므로, 서버(200)는 의료 정보의 수집 및 분석이 허용된 업체의 서버인 것이 바람직하다.The examinee lives daily life with the ECG device 100 attached thereto. The electrocardiogram data measured by the electrocardiogram measuring apparatus 100 is transmitted to the server 200 through the network 210. In this case, the server 200 may be a server of a hospital, a server of a medical service provider, a server of an IT company, or a server of a government agency such as the Ministry of Health and Welfare. Since the ECG data of the individual is sensitive medical information, the server 200 is preferably a server of a company that is allowed to collect and analyze medical information.
서버(200)는 심전도 측정 장치(100)로부터 수신한 심전도 데이터를 이용하여 학습 및 분석을 수행한다. 서버(200)가 심전도 데이터를 학습함에 있어서, 의료 전문가, 예컨대 심장병 전문의(cardiologist)가 심전도 진단 결과를 레이블로 붙인 심전도 데이터를 학습하도록 할 수 있다.The server 200 performs learning and analysis using the electrocardiogram data received from the electrocardiogram measuring apparatus 100. In the server 200 learning the electrocardiogram data, a medical professional, such as a cardiologist, may allow the electrocardiogram data labeled with the electrocardiogram diagnosis result to be learned.
인공지능의 특성상, 인공신경망의 학습에는 긴 시간과 높은 컴퓨팅 파워가 필요한 반면, 인공신경망의 적용에는 상대적으로 짧은 시간과 낮은 컴퓨팅 파워로도 충분하다. 따라서 심전도 데이터의 학습은 서버(200) 단에서 수행하도록 하되, 심전도 데이터의 분석은 심전도 측정 장치(100) 자체, 심전도 측정 장치(100)와 유/무선으로 연결된 별도의 심전도 분석 장치, 심전도 측정 장치(100)와 유/무선으로 연결된 스마트폰, 타블렛, 노트북 컴퓨터 등에서 수행하도록 할 수 있다.Due to the nature of artificial intelligence, the neural network learning requires a long time and high computing power, while the relatively short time and low computing power are sufficient for the application of the neural network. Therefore, the ECG data is to be performed at the server 200, but the analysis of the ECG data is performed by ECG measuring apparatus 100 itself, an ECG measuring apparatus 100, and a separate ECG analyzing apparatus connected to wire / wireless, ECG measuring apparatus. 100 and can be performed in a smartphone, tablet, notebook computer and the like connected via wired / wireless.
다만 본 명세서에서는 서버(200)에서 심전도 데이터의 학습 및 분석이 모두 이루어지는 것을 전제로 본 발명의 일 실시예에 따른 심전도 데이터의 학습 및 분석 방법을 설명한다. 이러한 서술이 심전도 데이터의 학습 및 분석이 심전도 측정 장치(100) 자체, 심전도 측정 장치(100)와 유/무선으로 연결된 별도의 심전도 분석 장치, 심전도 측정 장치(100)와 유/무선으로 연결된 스마트폰, 타블렛, 노트북 컴퓨터 등에서 수행되는 것을 배제하는 것은 아니다.However, in the present specification, a method of learning and analyzing electrocardiogram data according to an embodiment of the present invention will be described on the premise that all of the electrocardiogram data is learned and analyzed in the server 200. Such a description is that the ECG learning and analysis of the ECG data itself, the ECG measuring device 100 and a separate ECG device connected to the wired / wireless, ECG measuring device 100 and a smart phone connected to the wire / wireless It does not preclude it from being performed on tablets, tablets, notebook computers, etc.
현재까지 연구된 인공지능을 이용한 심전도 데이터의 학습 및 분석 방법은 CNN에 기반하고 있다. CNN은 인공신경망에 필터 기술을 결합한 딥러닝 모델로서, 이미지 분석 등 컴퓨터 비전(computer vision) 분야에서 뛰어난 성능을 보이고 있다. 하지만 심전도는 이미지와는 달리 순차적인 맥락(sequential context)을 가지는 시계열 데이터이기 때문에, 이미지 분석에 특화된 CNN 기술을 이용하여 심전도를 분석하는 데에는 한계가 있다.The method of learning and analyzing ECG data using AI has been based on CNN. CNN is a deep learning model that combines artificial neural networks with filter technology, and shows excellent performance in computer vision fields such as image analysis. However, since ECG is a time series data having a sequential context unlike an image, there is a limit in analyzing an ECG using a CNN technique specialized for image analysis.
CNN 기반의 심전도 분석 방법은 심전도 신호 전체의 순차적인 맥락을 읽는 것이 아니라 심전도 신호 일부의 특징을 파악하고 이러한 특징들을 조합하여 전체 심전도 분석 결과를 도출한다. CNN 기반의 심전도 분석 방법은 거시적인 관점이 아닌 미시적인 관점에서 심전도 데이터를 분석함으로 인해, 심전도 신호 일부에 노이즈가 포함되어 있는 경우 해당 부분의 특징을 잘 파악하지 못하게 되고, 이는 전체 심전도 신호 판별 정확도에 악영향을 미치게 된다. 또한 상충되는 여러 개의 특징이 한 신호에 존재할 경우, 필터링된 특징이 진단에 고려되지 않아 판별 정확도가 확연히 떨어지는 문제가 있다.The CNN-based ECG method does not read the sequential context of the entire ECG signal, but rather identifies the features of a part of the ECG signal and combines these features to derive the result of the entire ECG analysis. The CNN-based electrocardiogram analysis method analyzes electrocardiogram data from the microscopic view rather than the macroscopic view, so that when a part of the electrocardiogram signal contains noise, it is difficult to grasp the characteristics of the corresponding electrocardiogram signal discrimination accuracy. Will adversely affect. In addition, when there are a number of conflicting features in a signal, the filtered feature is not considered in the diagnosis, which leads to a problem that the discrimination accuracy is significantly reduced.
이를 극복하기 위하여 RNN을 이용한 심전도 분석 방법에 대한 연구가 한창 진행 중이다.In order to overcome this problem, research on the ECG analysis method using RNN is in progress.
도 3a 및 도 3b는 종래의 RNN 기반의 심전도 분석 방법을 예시한 도면이다.3A and 3B illustrate a conventional RNN-based electrocardiogram analysis method.
도 3a는 심전도 측정 장치(100)에서 일정 시간 동안 측정된 심전도 신호를 예시한 것이다.3A illustrates an ECG signal measured for a predetermined time in the ECG measuring apparatus 100.
도 3a에 예시된 심전도 신호에서 뾰족하게 솟아 오른 부분은 R-peak이다. R-peak에 대해서는 https://en.wikipedia.org/wiki/QRS_complex 등에 자세히 설명되어 있으므로 자세한 설명은 생략한다. The sharply raised portion of the ECG signal illustrated in FIG. 3A is R-peak. R-peak is explained in detail at https://en.wikipedia.org/wiki/QRS_complex and so the detailed description is omitted.
도 3b는 심전도 측정 장치(100)에서 일정 시간 동안 측정된 심전도 신호가 3개의 비트(beat: 심장 박동 단위를 의미) 단위로 RNN에 입력되는 것을 예시한 것이다.FIG. 3B illustrates that an ECG signal measured for a predetermined time in the ECG measuring apparatus 100 is input to the RNN in units of three beats.
일정 시간 동안 측정된 심전도 신호는 R-peak를 이용하여 비트(beat) 단위로 스플릿(split)된다. RNN에는 시간적으로 바로 인접한 3개의 비트를 함께 입력하는데, 심전도 신호로부터 부정맥을 판별하기 위해서는 사전 비트, 판별할 비트, 사후 비트 사이의 관계가 중요하기 때문이다. 즉, 사전 비트, 판별할 비트, 사후 비트의 발생 간격, 높이 차 등이 부정맥 판별의 중요한 고려 요소가 되기 때문이다.The ECG signal measured for a certain time is split in beat units using R-peak. The RNN inputs three immediately adjacent bits together in time, because the relationship between the pre-bit, the bit to be discriminated, and the post-bit is important for discriminating arrhythmia from the ECG signal. That is, the prior bit, the bit to be determined, the interval between occurrence of the after bit, the height difference, and the like are important factors for arrhythmia determination.
심전도 신호가 9개의 비트(beat)로 나누어지고, 각 비트를 A, B, C, D, E, F, G, H, I로 명명할 때, RNN에는 A+B+C, B+C+D, C+D+E, D+E+F, E+F+G, F+G+H 및 G+H+I가 입력된다. When an ECG signal is divided into 9 beats and each bit is named A, B, C, D, E, F, G, H, I, RNN has A + B + C, B + C + D, C + D + E, D + E + F, E + F + G, F + G + H and G + H + I are entered.
도 3b에 나타난 것과 같이, 하나의 RNN에 A+B+C, B+C+D, C+D+E, D+E+F, E+F+G, F+G+H 및 G+H+I가 순차적으로 입력된다.As shown in Figure 3b, A + B + C, B + C + D, C + D + E, D + E + F, E + F + G, F + G + H and G + H in one RNN + I is input sequentially.
비트 하나를 250 Hz로 샘플링한다고 할 때, 도 3a의 심전도 신호를 종래의 RNN을 이용하여 분석하면, 모두 7(판별 대상 비트의 수)Х3(인접한 3개의 비트를 함께 입력)Х250(각 비트의 샘플링 수) = 5250 길이의 입력을 처리하여야 한다. When one bit is sampled at 250 Hz, the ECG signal of FIG. 3A is analyzed using a conventional RNN, and all 7 (the number of bits to be discriminated) Х3 (three adjacent bits are input together) Х250 (each bit Number of Sampling) = 5250 Length input must be processed.
게다가 부정맥은 항상 출현하는 것이 아니기 때문에, 장시간에 걸쳐 피검자의 심전도 신호를 수집하여 분석하여야 한다. 건강한 성인의 심박수는 1분당 60~100회이며, 이를 24시간으로 환산하면 86,400~144,000회이다. 1분당 심박수가 80회라고 가정하면 24시간의 심박수는 115,200회이다. 이는 곧 1분에 측정되는 비트 수가 80개이고, 24시간 동안 측정되는 비트 수가 115,200개임을 의미한다.In addition, since arrhythmia does not always appear, it is necessary to collect and analyze an ECG signal of a subject over a long period of time. Healthy adults have a heart rate of 60 to 100 beats per minute, which translates into 86,400 to 144,000 beats per 24 hours. Assuming a heart rate of 80 beats per minute, a 24 hour heart rate is 115,200 beats. This means that 80 bits are measured in 1 minute and 115,200 bits are measured in 24 hours.
115,200개의 비트 각각을 판별하기 위해서는 각각의 비트에 대한 사전 비트와 사후 비트를 함께 고려하여야 하므로, 비트 하나를 250 Hz로 샘플링한다고 할 때, RNN이 약 115,200(판별 대상 비트의 수)Х3(인접한 3개의 비트를 함께 입력)Х250(각 비트의 샘플링 수) = 86,400,000 길이의 입력을 처리하여야 한다.To determine each of the 115,200 bits, the pre- and post-bits for each bit must be considered together, so when sampling one bit at 250 Hz, the RNN is approximately 115,200 (the number of bits to be determined) Х3 (neighboring 3 Two bits together) Х250 (number of samples for each bit) = 86,400,000
CNN 기반의 심전도 분석은 RNN 기반의 심전도 분석에 비해 속도는 빠르지만 심전도 신호의 순차적인 맥락을 읽을 수 없으므로 분석의 정확도가 떨어진다. 반면, RNN 기반의 심전도 분석은 심전도 신호의 순차적인 맥락을 읽을 수 있으나, 처리하여야 할 입력의 길이가 너무 길어지기 때문에 심전도 분석의 실시간성을 보장하기가 어렵다. CNN-based ECG analysis is faster than RNN-based ECG analysis, but the accuracy of analysis is inferior because it cannot read the sequential context of ECG signals. On the other hand, RNN-based ECG analysis can read the sequential context of ECG signals, but it is difficult to guarantee real-time ECG analysis because the length of the input to be processed is too long.
도 4는 본 발명의 일 실시예에 따른 인공지능을 이용한 심전도 분석 방법을 예시한 순서도이다.4 is a flowchart illustrating an electrocardiogram analysis method using artificial intelligence according to an embodiment of the present invention.
도 4에 나타난 것과 같이, 본 발명의 일 실시예에 따른 인공지능을 이용한 심전도 분석 방법은, 심전도 신호 수집 단계(S411), 심전도 신호 전처리 단계(S412), R-peak 검출 단계(S413), 심전도 신호 스플릿 단계(S421), 비트의 유의성 판단 단계(S422), 유사 비트 처리 단계(S430), 피쳐(feature) 추출 단계(S440), 중간 인공신경망 분석 단계(S450), 최종 인공신경망 분석 단계(S460) 및 판별 결과 보고(report) 단계(S470)를 포함할 수 있다.As shown in Figure 4, ECG analysis method using artificial intelligence according to an embodiment of the present invention, ECG signal collection step (S411), ECG signal preprocessing step (S412), R-peak detection step (S413), ECG Signal split step S421, bit significance determination step S422, pseudo bit processing step S430, feature extraction step S440, intermediate neural network analysis step S450, final neural network analysis step S460 And the determination result reporting step (S470).
심전도 신호 수집 단계(S411)는 서버(200)가 심전도 측정 장치(100)로부터 심전도 신호를 수신하여 수집하는 단계이다.The electrocardiogram signal collecting step (S411) is a step in which the server 200 receives and collects an electrocardiogram signal from the electrocardiogram measuring apparatus 100.
심전도 신호 전처리 단계(S412)는 심전도 신호에 섞여 있는 노이즈, 신호 단절, 신호 간섭 등을 처리하는 단계이다. 구체적으로, Band Pass Filter 등과 같이 기존에 잘 알려진 방법을 이용하여 심전도 측정 장치(100)로부터 수신한 심전도 신호를 전처리할 수 있다.The ECG signal preprocessing step (S412) is a step of processing noise, signal disconnection, signal interference, etc. mixed in the ECG signal. Specifically, the ECG signal received from the ECG measuring apparatus 100 may be preprocessed using a conventionally known method such as a band pass filter.
R-peak 검출 단계(S413)는 심전도 신호에서 R-peak를 검출하는 단계이다. R-peak를 검출할 때는 특정한 검출 알고리즘에 한정되지 않고, Pan-Tompkins algorithm, Hilbert transform, Kathirvel et al (An efficient R-peak detection based on new nonlinear transformation and first-order Gaussian differentia-tor. Cardiovascular Engineering and Technology) 등 기존에 알려진 다양한 검출 알고리즘을 사용할 수 있다.The R-peak detection step S413 is a step of detecting the R-peak in the ECG signal. When detecting R-peak, Pan-Tompkins algorithm, Hilbert transform, Kathirvel et al (An efficient R-peak detection based on new nonlinear transformation and first-order Gaussian differentia-tor.Cardiovascular Engineering and Technology and various conventionally known detection algorithms can be used.
심전도 신호 스플릿 단계(S421)는 검출된 R-peak를 이용하여 심전도 신호를 비트 단위로 스플릿하는 단계이다.The ECG signal splitting step S421 is a step of splitting the ECG signal bit by bit using the detected R-peak.
비트의 유의성 판단 단계(S422)는 R-peak를 이용하여 스플릿한 비트가 실제 심박에 대응되는지 여부를 판단하는 단계이다. 예를 들어 갑작스러운 노이즈가 R-peak로 잘못 판단되었을 경우, 잘못 판단된 R-peak를 기준으로 스플릿된 비트는 실제 심박에 대응되지 않는다.The step of determining the significance of the bit (S422) is a step of determining whether the split bit corresponds to the actual heartbeat using R-peak. For example, if sudden noise is incorrectly determined as R-peak, the split bits based on the incorrectly determined R-peak do not correspond to the actual heartbeat.
사람의 심장 박동은 비슷한 길이를 유지하는 특성이 있기 때문에 너무 짧거나 긴 비트는 R-peak 검출 단계에서 오검출이 발생한 것으로 볼 수 있다. 구체적으로, R-peak를 이용하여 스플릿한 비트가 통계적으로 너무 길거나(예: 99 percentile 이상), 너무 짧은 경우(예: 1 percentile 이하), R-peak 검출 단계에서 오검출이 발생한 것으로 볼 수 있으며, 이 경우 다시 R-peak를 검출하여야 한다. 재차 R-peak를 검출할 때 사용하는 알고리즘은 이전에 사용했던 알고리즘이 아닌 다른 알고리즘을 사용하거나, 이전에 사용했던 알고리즘의 파라미터를 수정하여 사용할 수 있으며, 통계적으로 너무 긴 비트와 통계적으로 너무 짧은 비트에 대해 각각 다른 알고리즘을 적용할 수도 있다. 다시 R-peak를 검출하는 이유는, R-peak 검출 알고리즘은 100 % 정확도를 보장하지 못하며, 특히 웨어러블 디바이스는 데이터 측정 및 전송시 많은 노이즈가 발생할 수 있기 때문이다.Since human heartbeats have similar lengths, too short or long bits can be considered as false detections during the R-peak detection phase. Specifically, if a bit split using R-peak is statistically too long (e.g., greater than 99 percentile) or too short (e.g., less than 1 percentile), false detection may occur in the R-peak detection phase. In this case, R-peak should be detected again. The algorithm used to detect R-peak again can be used by using algorithms other than the ones used previously, or by modifying the parameters of the previously used algorithms. You can also apply different algorithms for. The reason for detecting the R-peak again is that the R-peak detection algorithm does not guarantee 100% accuracy, especially since the wearable device may generate a lot of noise during data measurement and transmission.
비트의 유의성 판단 단계(S422)에서 스플릿된 비트가 통계적으로 유의하지 않은 경우(S422의 '아니오'), 다른 적합한 R-peak 검출 알고리즘을 선택하고(S423), 선택된 R-peak 검출 알고리즘을 이용하여 다시 R-peak를 검출한다(S424). 선택된 R-peak 검출 알고리즘을 이용하여 검출된 R-peak를 이용하여 다시 심전도 신호를 비트 단위로 스플릿한다. 스플릿된 비트가 통계적으로 유의하다고 판단될 때까지 R-peak 검출 알고리즘 선택 및 R-peak 검출 과정을 반복한다.If the bit split in step S422 is not statistically significant (No in S422), another suitable R-peak detection algorithm is selected (S423), and the selected R-peak detection algorithm is used. The R-peak is detected again (S424). The ECG signal is split into bits again using the detected R-peak using the selected R-peak detection algorithm. The R-peak detection algorithm selection and R-peak detection process are repeated until the split bits are determined to be statistically significant.
비트의 유의성 판단 단계(S422)에서 스플릿된 비트가 통계적으로 유의한 경우(S422의 '예'), 유사 비트 처리 단계(S430)를 수행한다. 유사 비트 처리 단계(S430)는 사전 발생 비트 중 현재 비트와 유사한 비트가 있으면 현재 비트를 사전 발생 비트로 대체시키는 단계이다. 유사 비트 처리 단계(S430)가 필수적인 것은 아니나, 유사 비트 처리 단계(S430)를 통해 컴퓨터의 연산량을 감소시킬 수 있다.In the case of determining the significance of the bit (S422), if the split bit is statistically significant (YES in S422), the pseudo bit processing step S430 is performed. The pseudo bit processing step S430 is a step of replacing a current bit with a pre-generated bit if there is a bit similar to the current bit among the pre-generated bits. The pseudo bit processing step S430 is not essential, but the computational amount of the computer may be reduced through the pseudo bit processing step S430.
피쳐 추출 단계(S440)는 각 비트의 피쳐를 추출하는 단계이다. 피쳐 추출은 신호 처리에서 널리 사용되는 FFT(Fast Fourier Transform), MFCC(Mel Frequency Cepstral Coefficient), Filter Bank, Wavelet 등 다양한 방법을 사용할 수 있다.Feature extraction step (S440) is a step of extracting a feature of each bit. Feature extraction can use a variety of methods such as fast Fourier transform (FFT), Mel Frequency Cepstral Coefficient (MFCC), Filter Bank, Wavelet widely used in signal processing.
중간 인공신경망 분석 단계(S450)는 각 비트의 피쳐를 중간 인공신경망에 입력하여 중간 출력 데이터를 얻는 단계이다. 중간 출력 데이터는 인공지능을 이용하여 최종적으로 얻고자 하는 값이 아니라는 점에서 통상의 인공신경망의 출력값과 다르다. 중간 인공신경망 및 중간 인공신경망 분석 단계(S450)에 대한 자세한 설명은 추후 도 7a 내지 도 12를 참조하여 상세하게 설명하도록 한다.Intermediate neural network analysis step (S450) is a step of obtaining the intermediate output data by inputting the feature of each bit to the intermediate artificial neural network. The intermediate output data differs from the output values of ordinary neural networks in that the intermediate output data is not the value to be finally obtained using artificial intelligence. Detailed description of the intermediate artificial neural network and the intermediate artificial neural network analyzing step S450 will be described in detail later with reference to FIGS. 7A to 12.
최종 인공신경망 분석 단계(S460)는 중간 인공신경망으로부터 중간 출력 데이터를 제공 받아 최종 출력 데이터를 얻는 단계이다. 최종 인공신경망은 본 발명의 일 실시예에 따른 복수개의 인공신경망으로 구성된 인공지능 시스템의 말단(terminal)에 위치하는 인공신경망으로서, 최종 인공신경망에서 출력되는 최종 출력 데이터는 인공지능을 이용하여 최종적으로 얻고자 하는 값이다. 최종 인공신경망 및 최종 인공신경망 분석 단계(S460)에 대한 자세한 설명은 추후 도 7a 내지 도 12를 참조하여 상세하게 설명하도록 한다.The final artificial neural network analysis step (S460) is a step of obtaining final output data by receiving intermediate output data from the intermediate artificial neural network. The final artificial neural network is an artificial neural network located at a terminal of an artificial intelligence system composed of a plurality of artificial neural networks according to an embodiment of the present invention, and the final output data output from the final artificial neural network is finally obtained by using artificial intelligence. The value to get. A detailed description of the final artificial neural network and the final artificial neural network analysis step (S460) will be described in detail later with reference to FIGS. 7A to 12.
판별 결과 보고 단계(S470)는 최종 인공신경망 분석 단계(S460)에서 얻은 최종 출력 데이터를 이용하여 진단 결과를 생성하여 보고하는 단계이다. 구체적으로 판별 결과 보고 단계(S470)는, 심전도 신호를 분석하여 피검자에게 부정맥이 있는지 여부를 판별한 후 판별 결과를 보고하는 것일 수 있다.The determination result reporting step (S470) is a step of generating and reporting a diagnosis result using the final output data obtained in the final artificial neural network analysis step (S460). Specifically, the determination result reporting step S470 may be to analyze the ECG signal to determine whether the subject has arrhythmia and then report the determination result.
도 5는 본 발명의 일 실시예에 따른 심전도 신호 스플릿 방법을 예시한 도면이다.5 is a diagram illustrating an ECG signal splitting method according to an embodiment of the present invention.
도 5에 나타난 것과 같이, 심전도 신호는 R-peak를 기준으로 비트 단위로 스플릿될 수 있다. 구체적으로, 심전도 신호에서 R-peak 왼쪽을 스플릿할 수도 있고, R-peak 오른쪽을 스플릿할 수도 있다. R-peak를 기준으로 심전도 신호를 스플릿한다면 심전도 신호를 스플릿하는 위치는 어느 위치라도 무방하다. 일반적으로 심박의 파형은 P-QRS-T으로 구분되며, 도 5는 이를 반영하여 R-peak가 각 비트의 중심에 오도록 심전도 신호를 스플릿하였다. As shown in FIG. 5, the ECG signal may be split in units of bits based on the R-peak. In detail, the left side of the R-peak or the right side of the R-peak may be split in the ECG signal. If the ECG signal is split based on the R-peak, the position for splitting the ECG signal may be any position. In general, the waveform of the heartbeat is divided into P-QRS-T, and FIG. 5 reflects this to split the ECG signal so that the R-peak is at the center of each bit.
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 유사 비트 처리 방법을 예시한 도면이다.6A through 6C illustrate a pseudo bit processing method according to an embodiment of the present invention.
심전도 신호를 이용하여 부정맥을 판별하기 위해서는 장시간의 데이터 수집이 필요하다. 부정맥은 불규칙하게 발생하는 것이 특징이기 때문에 그 발생 시점을 가늠할 수가 없다. 따라서 며칠에 걸친 긴 시간 동안 심전도를 측정할 수 있도록 피검자에게 웨어러블 디바이스 형태의 심전도 측정 장치(100)를 부착하도록 한다.Long-term data collection is required to determine arrhythmias using ECG signals. Arrhythmia is characterized by an irregular occurrence, it is not possible to determine the time of occurrence. Therefore, the electrocardiogram measuring apparatus 100 in the form of a wearable device is attached to a subject to measure the electrocardiogram for a long time over several days.
심전도 측정 장치(100)에서 측정된 심전도 신호를 서버(200)에 전송하여 서버(200)에서 심전도 신호를 분석할 때, 인공신경망에 데이터를 입력하기 전에 이미 발생한 비트 중에 유사한 비트가 있다면 사전에 발생한 비트만을 분석하고 그 결과를 같이 사용하여 분석 속도를 높일 수 있다.When analyzing the ECG signal by transmitting the ECG signal measured by the ECG apparatus 100 to the server 200, if there are similar bits among the bits that have already occurred before inputting data to the artificial neural network, they may be generated in advance. You can speed up analysis by analyzing only the bits and using the results together.
도 6a에 나타난 것과 같이, 현재 비트 K를 사전 발생 비트인 A, B, C, D, E, F, G, H, I 및 J와 비교하여 유사도를 계산한다. 현재 판단할 비트와 사전에 발생한 N개의 비트와의 유사도를 계산하고, 임계치 이상 유사한 사전 발생 비트 중에서 가장 유사한 비트를 대체 비트로 선택한다.As shown in Fig. 6A, the similarity is calculated by comparing the current bit K with the pre-generated bits A, B, C, D, E, F, G, H, I and J. The similarity between the bit to be determined currently and the N bits previously generated is calculated, and the most similar bit among the pre-generated bits similar to or above a threshold is selected as the replacement bit.
현재 비트 K와 임계치 이상 유사한 사전 발생 비트 중에서 가장 유사한 비트가 비트 G인 경우(도 6b 참고), 비트 K가 들어갈 자리에 비트 G를 대신 넣는다. 유사한 비트가 없을 경우에는 비트 K를 유지한다.If the most similar bit among the pre-generated bits similar to the current bit K above the threshold is bit G (see FIG. 6B), bit G is inserted instead of bit K. If there is no similar bit, keep bit K.
N개의 사전 비트 데이터만 유지하기 때문에 다음 비트의 유사도 판단시에는 도 6c와 같은 상황이 된다.Since only N pieces of pre-bit data are retained, the similarity of the next bit is determined as shown in FIG. 6C.
이와 같이 생성된 유사도 기반의 비트 연결 정보를 사용하여, 비트 K에 대해서는 별도의 분석을 하지 않고 비트 G의 분석 결과를 공유하게 된다. 또한 이 단계에서 생성된 연결 정보는 진단이 모두 끝난 후 비트 K의 결과를 복원하는 데 사용된다. 유사도 계산 알고리즘은 L1, L2, DTW 등 잘 알려진 유사도 알고리즘 중 어느 것을 사용하여도 무방하다. 사람의 심전도는 비슷한 신호가 반복되는 경향이 강하므로 이와 같은 유사도 방식의 비트 필터링을 통해 계산량을 대폭 감소시킬 수 있다.By using the similarity-based bit connection information generated in this way, the analysis result of the bit G is shared without performing a separate analysis on the bit K. In addition, the connection information generated in this step is used to restore the result of bit K after the diagnosis is complete. The similarity calculation algorithm may use any of the well-known similarity algorithms such as L1, L2, and DTW. Human ECG tends to repeat similar signals, which can greatly reduce the amount of computation through similar filtering.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 중간 인공신경망 및 최종 인공신경망을 예시한 도면이다.7A and 7B are diagrams illustrating an intermediate artificial neural network and a final artificial neural network according to an embodiment of the present invention.
전술한 것과 같이 본 발명의 일 실시예에 따른 심전도 분석 방법에 의하면, R-peak를 이용하여 심전도 신호를 비트 단위로 스플릿한 후, 각 비트의 피쳐를 추출하고, 각 비트의 피쳐를 중간 인공신경망에 입력한다.According to the ECG analysis method according to an embodiment of the present invention as described above, after splitting the ECG signal in units of bits using R-peak, the features of each bit are extracted, and the features of each bit are the intermediate artificial neural network. Type in
도 7a는 본 발명의 일 실시예에 따른 중간 인공신경망을 예시한 도면이다. 도 7a에 나타난 것과 같이, 어느 하나의 비트, 예컨대 비트 A에 대하여 t0, t1, ..., tv의 피쳐가 추출된 경우, 비트 A의 v+1개의 피쳐가 중간 인공신경망의 입력층에 있는 v+1개의 노드에 입력된다.Figure 7a is a diagram illustrating an intermediate artificial neural network in accordance with an embodiment of the present invention. As shown in FIG. 7A, when features t0, t1, ..., tv are extracted for any one bit, e.g., bit A, the v + 1 features of bit A are in the input layer of the intermediate neural network. It is input to v + 1 nodes.
중간 인공신경망에 입력된 데이터는 은닉층을 거쳐 출력층에 있는 m개의 노드로 출력된다. 중간 인공신경망의 출력층에 있는 m개의 노드에 출력되는 값은 비트 A의 특징을 나타낸 것일 수 있다. 다만 주의할 것은, 중간 인공신경망의 출력층에 있는 m개의 노드에 출력되는 값은 인공지능을 이용하여 심전도 신호를 종합적으로 분석하여 최종적으로 얻고자 하는 값이 아니라, 어느 하나의 비트, 예컨대 비트 A의 특징을 m차원으로 나타낸 것이라는 점이다. 중간 인공신경망은 지도 모델을 통해 비트 A를 학습한 것일 수 있고, 이 경우 중간 인공신경망의 출력층에 있는 m개의 노드에 출력되는 값은 비트 A에 대한 어떠한 예측값 또는 분류값일 수 있다. 중간 인공신경망은 비지도 모델을 통해 비트 A를 학습한 것일 수 있고, 이 경우 중간 인공신경망의 출력층에 있는 m개의 노드에 출력되는 값은 비트 A을 클러스터링하기 위한 값일 수 있다. 어떠한 경우이든 중간 인공신경망의 출력층에 있는 m개의 노드에 출력되는 값은 비트 A의 특징을 m차원으로 나타낸 것일 뿐, 인공지능을 이용하여 최종적으로 얻고자 하는 값이 아니다. 이 때 추출되는 특징은 2개 이상인 것이 바람직하다. 즉, m은 2 이상의 자연수인 것이 바람직하다.Data input to the intermediate neural network is output to m nodes in the output layer via the hidden layer. The value output to the m nodes in the output layer of the intermediate artificial neural network may indicate the characteristic of bit A. It should be noted, however, that the values output to the m nodes in the output layer of the intermediate neural network are not values that are finally obtained by comprehensively analyzing the ECG signal using artificial intelligence, but rather that one bit, for example, bit A The feature is expressed in m dimensions. The intermediate neural network may be learning bit A through a map model, and in this case, the value output to m nodes in the output layer of the intermediate neural network may be any prediction value or classification value for bit A. The intermediate neural network may be learning bit A through an unsupervised model, and in this case, a value output to m nodes in the output layer of the intermediate neural network may be a value for clustering bit A. In any case, the values output to the m nodes in the output layer of the intermediate artificial neural network are only the characteristics of the bit A in m-dimensions, and are not the values to be finally obtained using artificial intelligence. It is preferable that two or more features are extracted at this time. That is, it is preferable that m is two or more natural numbers.
한편, 도 7a는 중간 인공신경망이 RNN 구조인 것을 예시하고 있으나, 도 7a의 중간 인공신경망은 RNN 구조에 한정되는 것이 아니라, CNN 구조 또는 기타 다른 인공신경망 구조라도 무방하다.Meanwhile, although FIG. 7A illustrates that the intermediate artificial neural network has an RNN structure, the intermediate artificial neural network of FIG. 7A is not limited to the RNN structure, and may have a CNN structure or other artificial neural network structures.
도 7b는 본 발명의 일 실시예에 따른 최종 인공신경망을 예시한 도면이다. 도 7b에 나타난 것과 같이, 중간 인공신경망의 출력층의 m개의 노드에서 출력된 값이 최종 인공신경망의 입력층에 있는 m개의 노드에 입력된다.7B is a diagram illustrating a final artificial neural network according to an embodiment of the present invention. As shown in FIG. 7B, values output from m nodes of the output layer of the intermediate artificial neural network are input to m nodes of the input layer of the final artificial neural network.
최종 인공신경망은 RNN일 수 있으며, 이 경우 연속된 비트의 시변적 특징을 반영하기 위하여 최종 인공신경망의 입력층에 판별하고자 하는 비트의 이전 비트에 대한 m차원의 특징값, 판별하고자 하는 비트에 대한 m차원의 특징값 및 판별하고자 하는 비트의 다음 비트에 대한 m차원의 특징값을 순차적으로 입력할 수 있다.The final neural network may be an RNN, in which case, in order to reflect the time-varying characteristics of consecutive bits, the m-dimensional characteristic value of the previous bit of the bit to be determined in the input layer of the final artificial neural network, The m-dimensional feature value and the m-dimensional feature value for the next bit of the bit to be determined may be sequentially input.
도 3a 및 도 3b와 같이 심전도 신호가 9개의 비트(beat)로 나누어지고, 각 비트를 A, B, C, D, E, F, G, H, I로 명명하였으며, 판별하고자 하는 비트과 그 이전의 비트 및 그 이후의 비트가 함께 입력되어 분석된다고 할 때, 최종 인공신경망에는 비트 A에 대한 m차원의 특징값, 비트 B에 대한 m차원의 특징값 및 비트 C에 대한 m차원의 특징값이 순차적으로 연속적으로 입력될 수 있다. 전체 심전도 신호가 9개의 비트(beat)로 나누어지고, 각 비트가 A, B, C, D, E, F, G, H, I라고 할 때, 최종 인공신경망에는 다음과 같은 순서로 데이터가 입력될 수 있다.The ECG signal is divided into nine beats as shown in FIGS. 3A and 3B, and each bit is named A, B, C, D, E, F, G, H, and I. When the bits of and subsequent bits are input together and analyzed, the final neural network includes m-dimensional feature values for bit A, m-dimensional feature values for bit B, and m-dimensional feature values for bit C. Can be input sequentially sequentially. When the whole ECG signal is divided into 9 beats, and each bit is A, B, C, D, E, F, G, H, I, the final neural network receives data in the following order. Can be.
(1) 비트 A에 대한 m차원의 특징값, 비트 B에 대한 m차원의 특징값, 비트 C에 대한 m차원의 특징값.(1) m-dimensional feature values for bit A, m-dimensional feature values for bit B, and m-dimensional feature values for bit C.
(2) 비트 B에 대한 m차원의 특징값, 비트 C 대한 m차원의 특징값, 비트 D 대한 m차원의 특징값.(2) m-dimensional feature values for bit B, m-dimensional feature values for bit C, and m-dimensional feature values for bit D.
(3) 비트 C에 대한 m차원의 특징값, 비트 D 대한 m차원의 특징값, 비트 E 대한 m차원의 특징값.(3) m-dimensional feature values for bit C, m-dimensional feature values for bit D, and m-dimensional feature values for bit E.
(4) 비트 D에 대한 m차원의 특징값, 비트 E 대한 m차원의 특징값, 비트 F 대한 m차원의 특징값.(4) m-dimensional feature values for bit D, m-dimensional feature values for bit E, and m-dimensional feature values for bit F.
(5) 비트 E에 대한 m차원의 특징값, 비트 F 대한 m차원의 특징값, 비트 G에 대한 m차원의 특징값.(5) m-dimensional feature values for bit E, m-dimensional feature values for bit F, and m-dimensional feature values for bit G.
(6) 비트 F에 대한 m차원의 특징값, 비트 G 대한 m차원의 특징값, 비트 H에 대한 m차원의 특징값.(6) m-dimensional feature values for bit F, m-dimensional feature values for bit G, and m-dimensional feature values for bit H.
(7) 비트 G에 대한 m차원의 특징값, 비트 H 대한 m차원의 특징값, 비트 I에 대한 m차원의 특징값.(7) m-dimensional feature values for bit G, m-dimensional feature values for bit H, and m-dimensional feature values for bit I.
최종 인공신경망에 입력된 데이터는 은닉층을 거쳐 출력층에 있는 c개의 노드로 출력된다. Data input to the final neural network is output to the c nodes in the output layer through the hidden layer.
최종 인공신경망은 지도 모델을 통해 전체 심전도 신호를 학습한 것일 수 있다. 이 경우 최종 인공신경망의 출력층에 있는 c개의 노드에 출력되는 값은 전체 심전도 신호를 c개의 분류로 분류하기 위한 값일 수 있다.The final neural network may be a trained whole ECG signal through a map model. In this case, the value output to the c nodes in the output layer of the final artificial neural network may be a value for classifying the entire ECG signal into c classifications.
도 7b에 나타난 것과 같이, 최종 인경신경망은 데이터의 시변적 특징을 잘 반영하는 RNN 구조인 것이 바람직하다. RNN 구조는 노드 간의 연결이 순환적 구조를 갖는 특징을 갖고 있어 시변적 특징을 효과적으로 처리할 수 있는데, 최종 인공신경망은 연속된 비트의 m차원의 특징을 순차적으로 입력 받아 연속된 비트의 집합인 전체 심전도 신호를 c개로 분류하기 위한 것이므로, 최종 인공신경망의 구조는 RNN 구조인 것이 바람직하다. 그러나 최종 인공신경망이 RNN 구조로 한정되는 것은 아니고, 시계열 데이터의 시변적 특징을 반영할 수 있는 인공신경망 구조이면 다른 구조라도 무방하다. 즉, 최종 인공신경망은 RNN 구조에 한정되지 않는다.As shown in FIG. 7B, the final ANN is preferably an RNN structure that reflects time-varying characteristics of data. The RNN structure has a feature that the connection between nodes has a recursive structure, which can effectively handle time-varying features. The final artificial neural network receives an m-dimensional feature of consecutive bits sequentially and receives a whole set of consecutive bits. Since the ECG signal is classified into c, the structure of the final artificial neural network is preferably an RNN structure. However, the final artificial neural network is not limited to the RNN structure, and may be any other structure as long as the artificial neural network structure can reflect the time-varying characteristics of the time series data. That is, the final artificial neural network is not limited to the RNN structure.
도 8 내지 10은 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 분석 방법을 예시한 도면이다.8 to 10 are diagrams illustrating a method for analyzing time series data using artificial intelligence according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 분석 방법을 이용하여 심전도 신호를 분석하는 것을 예시하고 있으나, 전술한 것과 같이 이는 설명의 편의를 위한 것일 뿐, 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 분석 방법이 심전도 신호 분석에 한정되는 것은 아니다.FIG. 8 illustrates an example of analyzing an electrocardiogram signal using a time series data analysis method using artificial intelligence according to an embodiment of the present invention. As described above, this is only for convenience of explanation and an embodiment of the present invention. The time series data analysis method using artificial intelligence according to an example is not limited to ECG signal analysis.
도 8을 참조하여 본 발명의 일 실시예에 따른 인공지능을 이용하여 시계열 데이터, 예를 들어 심전도 신호를 분석하는 과정을 설명한다.Referring to FIG. 8, a process of analyzing time series data, for example, an ECG signal, using artificial intelligence according to an exemplary embodiment of the present invention will be described.
심전도 신호(810)가 입력되면 일정한 기준에 의해 심전도 신호를 복수개의 비트(821, 822, 823...)로 스플릿한다. 예를 들어 심전도 신호(810)에서 R-peak를 검출한 후, R-peak를 이용하여 심전도 신호를 복수개의 비트(821, 822, 823...)로 스플릿할 수 있다.When the ECG signal 810 is input, the ECG signal is split into a plurality of bits 821, 822, 823 ... according to a predetermined reference. For example, after detecting the R-peak from the ECG signal 810, the ECG signal may be split into a plurality of bits 821, 822, 823... Using R-peak.
이를 시계열 데이터로 일반화시켜 설명하면, 시계열 데이터가 입력되면 일정한 기준에 의해 시계열 데이터를 복수개의 유닛(unit)으로 스플릿하는 것으로 설명할 수 있다.When generalizing this to time series data, when time series data is input, it may be described as splitting time series data into a plurality of units according to a predetermined criterion.
다음으로, 복수개의 비트(821, 822, 823...) 각각에 대하여 각 비트의 피쳐(831, 832, 833...)를 추출하는 작업을 수행한다. 피쳐 추출은 신호 처리에서 널리 사용되는 FFT(Fast Fourier Transform), MFCC(Mel Frequency Cepstral Coefficient), Filter Bank, Wavelet 등 다양한 방법을 사용할 수 있다.Next, an operation of extracting the features 831, 832, 833... Of each bit is performed for each of the plurality of bits 821, 822, 823. Feature extraction can use a variety of methods such as fast Fourier transform (FFT), Mel Frequency Cepstral Coefficient (MFCC), Filter Bank, Wavelet widely used in signal processing.
이를 시계열 데이터로 일반화시켜 설명하면, 시계열 데이터가 복수개의 유닛(unit)으로 스플릿되면, 복수개의 유닛 각각에 대하여 각 유닛의 피쳐를 추출하는 것으로 설명할 수 있다.When generalizing this to time series data, when time series data is split into a plurality of units, it may be described as extracting a feature of each unit for each of the plurality of units.
다음으로, 각 비트의 피쳐(831, 832, 833...)를 중간 인공신경망(841, 842, 843...)에 입력하는 작업을 수행한다. 심전도 신호를 n개의 비트로 스플릿하였다면 모두 n개의 피쳐가 추출되었을 것이며, 이 경우 중간 인공신경망도 n개인 것이 바람직하다. n개의 중간 인공신경망 각각의 입력층에 n개의 비트 각각의 피쳐를 입력하여, n개의 중간 인공신경망 각각의 출력층에서 n개의 비트 각각에 대한 m차원의 특징값을 얻는다. 이 때 중간 인공신경망에서 출력되는 값을 '중간 출력 데이터'라고 한다.Next, a feature of inputting the features 831, 832, 833... Of each bit into the intermediate artificial neural network 841, 842, 843. If the ECG signal was split into n bits, all n features would have been extracted. In this case, the intermediate neural network is also preferably n. A feature of each of the n bits is input to each input layer of the n intermediate neural networks to obtain m-dimensional feature values for each of the n bits in the output layer of each of the n intermediate neural networks. In this case, the value output from the intermediate artificial neural network is called 'intermediate output data'.
복수개의 비트(821, 822, 823...)로부터 복수개의 피쳐(831, 832, 833...)를 추출하는 작업은 FFT(Fast Fourier Transform), MFCC(Mel Frequency Cepstral Coefficient), Filter Bank, Wavelet 등 잘 알려진 알고리즘을 이용한 것이지만, 복수개의 비트의 피쳐(831, 832, 833...)로부터 복수개의 m차원의 특징값을 얻는 작업은 인공지능을 이용하여 분석한 결과라는 점에서 차이가 있다.Extracting a plurality of features (831, 832, 833 ...) from the plurality of bits (821, 822, 823 ...) is performed by fast fourier transform (FFT), Mel Frequency Cepstral Coefficient (MFCC), Filter Bank, Although it uses a well-known algorithm such as Wavelet, the task of obtaining a plurality of m-dimensional feature values from a plurality of bit features (831, 832, 833 ...) is a result of analysis using artificial intelligence. .
이를 시계열 데이터로 일반화시켜 설명하면, 시계열 데이터가 n개의 유닛(unit)으로 스플릿되고, 각 유닛의 피쳐가 추출되면, 각 유닛의 피쳐를 n개의 중간 인공신경망에 입력하는 것으로 설명할 수 있다. n개의 중간 인공신경망 각각의 입력층에 n개의 유닛 각각의 피쳐를 입력하여, n개의 중간 인공신경망 각각의 출력층에서 n개의 유닛 각각에 대한 m차원의 특징값을 얻는다. When generalizing this to time series data, when time series data is split into n units and the features of each unit are extracted, the features of each unit may be described as being input to the n intermediate artificial neural networks. A feature of each of the n units is input to each input layer of the n intermediate neural networks to obtain m-dimensional feature values for each of the n units in the output layer of each of the n intermediate neural networks.
다음으로, n개의 중간 인공신경망에서 출력된 n개의 비트 각각에 대한 m차원의 특징값을 각 비트의 시간 축에서의 순서대로 최종 인공신경망(850)에 입력한다. 최종 인공신경망은 RNN일 수 있으며, 이 경우 연속된 비트의 시변적 특징을 반영하기 위하여, 최종 인공신경망의 입력층에 판별하고자 하는 비트의 이전 비트에 대한 m차원의 특징값, 판별하고자 하는 비트에 대한 m차원의 특징값 및 판별하고자 하는 비트의 다음 비트에 대한 m차원의 특징값을 순차적으로 입력할 수 있다. Next, the m-dimensional feature values for each of the n bits output from the n intermediate artificial neural networks are input to the final artificial neural network 850 in the order of the time axis of each bit. The final neural network may be an RNN. In this case, in order to reflect the time-varying characteristics of successive bits, the final artificial neural network may have an m-dimensional characteristic value for the previous bit of the bit to be determined in the input layer of the final neural network, The m-dimensional feature values for the m-dimensional feature and the m-dimensional feature values for the next bit of the bit to be determined may be sequentially input.
최종 인공신경망에 입력된 데이터는 은닉층을 거쳐 출력층에 있는 c개의 노드로 출력되며, 최종 인공신경망이 분류 모델일 경우, c개의 노드에 출력되는 값은 전체 심전도 신호를 c개의 분류로 분류하기 위한 값일 수 있다. 최종 인공신경망이 예측 모델일 경우, c개의 노드에 출력되는 값은 전체 심전도 신호로부터 특정 범위 내의 결과를 예측하기 위한 값일 수 있다. 최종 인공신경망에서 출력되는 값을 '최종 출력 데이터'라고 한다.Data input to the final artificial neural network is output to c nodes in the output layer through the hidden layer, and when the final artificial neural network is a classification model, the value output to the c nodes is a value for classifying the entire ECG signal into c classifications. Can be. If the final artificial neural network is a predictive model, the values output to the c nodes may be values for predicting a result within a specific range from the entire ECG signal. The value output from the final neural network is called 'final output data'.
최종 인공신경망은 각 비트에 대한 m차원의 특징값을 순차적으로 입력 받으므로, 최종 인공신경망의 입력층의 노드는 m개인 것이 바람직하다. 물론, 각 비트에 대한 m차원의 특징값 외에 다른 값 또는 파라미터도 입력할 수 있도록 최종 인공신경망의 입력층의 노드를 m개 이상으로 하는 것도 가능하다.Since the final artificial neural network receives the m-dimensional feature values for each bit sequentially, it is preferable that the nodes of the input layer of the final artificial neural network be m. Of course, it is also possible to have m or more nodes in the input layer of the final artificial neural network so that other values or parameters may be input in addition to the m-dimensional feature values for each bit.
본 발명이 속하는 기술 분야에서 통상적으로 사용되는 것과 같이, 본 명세서에서 '분류 모델(classification model)'이란 입력된 데이터가 어떤 그룹에 속하는지 알아내는 것을 목적으로 하는 인공지능 모델을 의미하고, '예측 모델(prediction model)'이란 결과값이 학습 데이터의 범위 내 어떠한 값도 가능한 인공지능 모델을 의미한다.As is commonly used in the art to which the present invention pertains, the term 'classification model' herein refers to an artificial intelligence model for the purpose of figuring out which group the input data belongs to, 'Prediction model' means an artificial intelligence model in which the result can be any value within the range of the training data.
이를 시계열 데이터로 일반화시켜 설명하면, 시계열 데이터가 n개의 유닛(unit)으로 스플릿된 경우, n개의 중간 인공신경망을 이용하여 n개의 유닛 각각에 대한 m차원의 특징값을 얻는다. 최종 인공신경망은 n개의 유닛 각각에 대한 m차원의 특징값을, 각 유닛의 시간 축에서의 순서대로 n개의 중간 인공신경망으로부터 제공 받아, 전체 시계열 데이터에 대한 분류, 예측 등의 태스크를 수행한다. When generalizing this to time series data, when time series data is split into n units, n-dimensional feature values for each of n units are obtained using n intermediate artificial neural networks. The final neural network receives m-dimensional feature values for each of the n units from the n intermediate artificial neural networks in the order of the time axis of each unit, and performs tasks such as classification and prediction of the entire time series data.
연속된 유닛의 시변적 특징을 반영하기 위하여, 최종 인공신경망의 입력층에 판별하고자 하는 유닛에 대한 m차원의 특징값과, 판별하고자 하는 유닛과 시간적으로 바로 인접한 유닛에 대한 m차원의 특징값을 최종 인공신경망에 연속적으로 입력할 수 있다. 심전도 신호의 경우 판별하고자 하는 비트의 사전 비트, 판별하고자 하는 비트 및 판별하고자 하는 비트의 사후 비트 3개를 연속적으로 입력하여야 했으나, 일반적인 시계열 데이터의 경우 판별하고자 하는 유닛의 사전 유닛과 판별하고자 하는 유닛 2개만을 함께 입력하거나, 판별하고자 하는 유닛의 사후 유닛과 판별하고자 하는 유닛 2개만을 입력할 수도 있다. 물론, 판별하고자 하는 유닛의 사전 유닛, 판별하고자 하는 유닛 및 판별하고자 하는 유닛의 사후 유닛 3개를 모두 입력하는 것도 가능하다.In order to reflect the time-varying characteristics of successive units, the m-dimensional characteristic values of the unit to be determined and the m-dimensional characteristic values of the unit immediately adjacent to the unit to be determined are temporally determined in the input layer of the final artificial neural network. It can be entered continuously into the final neural network. In the case of an ECG signal, the pre-bit of the bit to be discriminated, the bit to be discriminated and the 3 bits after the bit to be discriminated must be continuously input, but in the case of general time series data, the pre-unit of the unit to be discriminated and the unit to be discriminated. It is also possible to enter only two together, or to enter a post-unit of the unit to be determined and only two units to be determined. Of course, it is also possible to input all three of the pre-unit of the unit to be determined, the unit to be determined and the post-unit of the unit to be determined.
최종 인공신경망은 각 유닛에 대한 m차원의 특징값을 순차적으로 입력 받으므로, 최종 인공신경망의 입력층의 노드는 m개인 것이 바람직하다. 물론, 각 유닛에 대한 m차원의 특징값 외에 다른 값 또는 파라미터도 입력할 수 있도록 최종 인공신경망의 입력층의 노드를 m개 이상으로 하는 것도 가능하다.Since the final artificial neural network receives the m-dimensional feature values for each unit sequentially, the node of the input layer of the final artificial neural network is preferably m. Of course, it is also possible to have m or more nodes of the input layer of the final artificial neural network so that other values or parameters may be input in addition to the m-dimensional feature values for each unit.
도 9a 및 도 9b는 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 분석 방법에서 사용되는 중간 인공신경망 및 최종 인공신경망의 노드 구조를 예시한 도면이다.9A and 9B are diagrams illustrating node structures of an intermediate neural network and a final artificial neural network used in a time series data analysis method using artificial intelligence according to an embodiment of the present invention.
설명의 편의를 위하여, 도 9a 및 도 9b는 심전도 신호(810)를 스플릿하여 얻은 첫번째 비트(821)의 피쳐(831)가 제1 중간 인공신경망(841)에 입력되고, 제1 중간 인공신경망(841)의 중간 출력 데이터가 최종 인공신경망(850)에 입력되는 것을 설명한다.9A and 9B illustrate that the feature 831 of the first bit 821 obtained by splitting the ECG signal 810 is input to the first intermediate neural network 841, and the first intermediate neural network ( The intermediate output data of 841 is input to the final artificial neural network 850.
FFT(Fast Fourier Transform), MFCC(Mel Frequency Cepstral Coefficient), Filter Bank, Wavelet 등을 이용하여 각 비트로부터 추출된 피쳐가 d차원의 값이라고 가정하면, 각 중간 인공신경망(841, 842, 843)의 입력층의 노드 수도 d개인 것이 바람직하다. 물론, 각 비트로부터 추출된 d차원의 피쳐 외에 다른 값 또는 파라미터도 입력할 수 있도록 중간 인공신경망의 입력층의 노드를 d개 이상으로 하는 것도 가능하다.Assuming that a feature extracted from each bit using a fast fourier transform (FFT), mel frequency cepstral coefficient (MFCC), filter bank, wavelet, etc. is a d-dimensional value, each intermediate neural network (841, 842, 843) It is preferable that the number of nodes of the input layer is also d. Of course, it is also possible to have more than d nodes of the input layer of the intermediate artificial neural network so that other values or parameters may be input in addition to the d-dimensional feature extracted from each bit.
첫번째 비트(821)에서 d차원의 피쳐(831)가 추출되면, d차원의 피쳐(831)가 제1 중간 인공신경망(841)의 입력층(841a)에 있는 d개의 노드에 입력된다. 입력된 데이터는 제1 중간 인공신경망(841)의 은닉층(841b)을 거쳐 분석되어, 분석 결과가 제1 중간 인공신경망(841)의 출력층(841c)에 있는 m개의 노드에서 출력된다.When the d-dimensional feature 831 is extracted from the first bit 821, the d-dimensional feature 831 is input to d nodes in the input layer 841a of the first intermediate artificial neural network 841. The input data is analyzed via the hidden layer 841b of the first intermediate neural network 841, and the analysis result is output at m nodes in the output layer 841c of the first intermediate neural network 841.
제1 중간 인공신경망(841)의 출력층(841c)에 있는 m개의 노드에서 출력된 제1 중간 인공신경망(841)의 중간 출력 데이터는 최종 인공신경망(850)의 입력층(850a)에 있는 m개의 노드에 입력된다. 최종 인공신경망(850)은 제1 중간 인공신경망(841)의 중간 출력 데이터만 입력 받는 것이 아니라, 다른 중간 인공신경망(842, 843...)으로부터도 중간 출력 데이터를 입력 받아, 은닉층(850b)을 거쳐 연속된 비트의 시변적 특징을 분석하여 최종 출력 데이터를 출력한다. 최종 출력 데이터는 최종 인공신경망(850)의 출력층(850c)에 있는 c개의 노드에서 출력된다.The intermediate output data of the first intermediate neural network 841 output from the m nodes in the output layer 841c of the first intermediate neural network 841 is m of the input layers 850a of the final artificial neural network 850. It is entered into the node. The final neural network 850 not only receives the intermediate output data of the first intermediate neural network 841, but also receives intermediate output data from other intermediate neural networks 842, 843, and the hidden layer 850b. After analyzing the time-varying characteristics of consecutive bits, the final output data is output. The final output data is output at c nodes in the output layer 850c of the final neural network 850.
도 10은 본 발명의 일 실시예에 따른 복수개의 중간 인공신경망에서 출력된 중간 출력 데이터가 최종 인공신경망에 입력되는 과정을 설명하기 위한 도면이다.FIG. 10 is a diagram for describing a process of inputting intermediate output data output from a plurality of intermediate artificial neural networks according to an embodiment of the present invention into a final artificial neural network.
심전도 신호에서 판별하고자 하는 비트가 두번째 비트(822)라고 할 때, 판별하고자 하는 비트의 사전 비트(821), 판별하고자 하는 비트(822) 및 판별하고자 하는 비트의 사후 비트(832)에 대한 m차원의 중간 출력 데이터를 연속적으로 입력하여야 한다.When the bit to be determined in the ECG signal is the second bit 822, the m-dimensions of the pre-bit 821 of the bit to be determined, the bit 822 to be determined, and the after bit 832 of the bit to be determined. The intermediate output data of must be input continuously.
즉, 판별하고자 하는 비트의 사전 비트(821)로부터 추출한 d차원의 피쳐(831)를 제1 중간 인공신경망(841)에 입력하여 얻은 m차원의 중간 출력 데이터(841c)와, 판별하고자 하는 비트(822)로부터 추출한 d차원의 피쳐(832)를 제2 중간 인공신경망(842)에 입력하여 얻은 m차원의 중간 출력 데이터(842c)와, That is, the m-dimensional intermediate output data 841c obtained by inputting the d-dimensional feature 831 extracted from the dictionary bit 821 of the bit to be determined to the first intermediate neural network 841 and the bit to be determined ( M-dimensional intermediate output data 842c obtained by inputting the d-dimensional feature 832 extracted from 822 to the second intermediate neural network 842,
판별하고자 하는 비트의 사후 비트(823)로부터 추출한 d차원의 피쳐(833)를 제3 중간 인공신경망(843)에 입력하여 얻은 m차원의 중간 출력 데이터(843c)를 순차적으로 최종 인공신경망에 입력한다.The m-dimensional intermediate output data 843c obtained by inputting the d-dimensional feature 833 extracted from the post bit 823 of the bit to be discriminated into the third intermediate neural network 843 is sequentially input to the final artificial neural network. .
이상의 내용을 구체적으로 정리하면 다음과 같다.The above is summarized as follows.
심전도 신호를 분석하여 부정맥을 판별하기 위하여 딥러닝을 이용할 수 있다. 인공신경망 모델에는 CNN 모델, RNN 모델 등이 있다. 그러나 CNN 모델은 시변적 특징을 갖는 시계열 데이터 분석에 부적합하여 그 정확도가 떨어진다. CNN 방식은 특징의 위치 정보에 기반하기 때문에 작은 변형이나 노이즈에 대해서도 판별력이 크게 떨어지는 문제가 있다. (Sabour, S., Frosst, N. Hinton, G.E. Dynamic routing between capsules. In Advances in Neural Information Processing Systems, pp. 3859-3869, 2017).Deep learning may be used to determine an arrhythmia by analyzing an ECG signal. The neural network model includes a CNN model and an RNN model. However, the CNN model is inadequate for time-series data analysis with time-varying features and is less accurate. Since the CNN method is based on the location information of the feature, there is a problem that the discriminating power is greatly reduced even for small deformation or noise. (Sabour, S., Frosst, N. Hinton, G. E. Dynamic routing between capsules.In Advances in Neural Information Processing Systems, pp. 3859-3869, 2017).
이러한 문제를 극복하기 위하여 시변적 특징을 갖는 시계열 데이터의 분석에 RNN 모델을 사용할 수 있다. RNN 모델의 가장 큰 문제는 학습 및 분석 속도가 느리다는 점에 있다. 더 많은 정보를 활용할 수 있고 시변적 특징을 반영할 수 있기 때문에 정확도 면에서는 향상이 있지만, CNN에 비해 더 많은 정보를 기억하여야 하기 때문에 복잡도가 높아진다. 또한 연속된 유닛과의 연관성을 정보로 사용해야 하기 때문에, 연속된 유닛을 순차적으로 처리해야 한다. 따라서 긴 길이의 입력을 처리해야 하고, 이 때문에 학습 및 분석에 더 많은 시간이 요구된다.To overcome this problem, the RNN model can be used to analyze time series data with time-varying features. The biggest problem with RNN models is that they are slow to learn and analyze. Although accuracy is improved because more information is available and time-varying features can be reflected, it is more complex because more information needs to be stored than CNN. In addition, since the association with successive units must be used as information, the successive units must be processed sequentially. Therefore, long inputs must be processed, which requires more time for learning and analysis.
본 발명의 일 실시예에 따르면, CNN의 낮은 정확도 및 가변 길이 입력 처리가 불가능한 문제와, RNN의 느린 학습 및 분석 속도 문제를 해결하기 위하여, 복수개의 중간 인공신경망과 하나의 최종 인공신경망으로 이루어진 Hierarchical RNN with variable length boundaries for parallelization model을 제안한다.According to an embodiment of the present invention, in order to solve the problem of low accuracy and variable length input processing of the CNN and the slow learning and analysis speed problem of the RNN, a plurality of intermediate artificial neural networks and one final artificial neural network are provided. We propose a RNN with variable length boundaries for parallelization model.
기존의 RNN 모델의 경우 n개의 연속된 비트를 하나의 입력으로 생각하였다. 그러나 본 발명의 일 실시예에 따른 인공지능 모델에서는 이를 복수개의 중간 인공신경망에 의해 처리되는 Short term RNN과, 하나의 최종 인공신경망에 의해 처리되는 Long term RNN의 두 단계로 나누어 학습 및 분석한다. 먼저, 연속된 n개의 비트 각각을 중간 인공신경망의 입력으로 활용한다. 그 결과 하나의 비트에 대한 m차원의 벡터가 얻어지며, 이를 최종 인공신경망에 다시 입력함으로써 심전도 신호를 분석하여 부정맥 등의 질환을 판별한다.In the conventional RNN model, n consecutive bits were considered as one input. However, in the artificial intelligence model according to an embodiment of the present invention, the learning and analysis are divided into two stages, a short term RNN processed by a plurality of intermediate artificial neural networks, and a long term RNN processed by one final neural network. First, each of the n consecutive bits is used as an input of the intermediate artificial neural network. As a result, an m-dimensional vector of one bit is obtained and inputted to the final artificial neural network to analyze an ECG signal to determine a disease such as arrhythmia.
복수개의 중간 인공신경망은 복수개의 비트를 각각 처리하며, 복수개의 중간 인공신경망은 동일한 모델이다. 따라서 복수개의 비트를 처리할 때 서로 간의 의존성(Dependency)이 없어 병행 처리가 가능하므로, 전체 심전도 신호를 모두 입력해야 하는 기존의 RNN 방식에 비해, 병행 처리를 수행하는 컴퓨팅 장치의 수 또는 병행 처리를 수행하는 프로세서의 수에 비례하여 작업이 빠르게 수행될 수 있다. 물론 리소스 제약에 따라 복수개의 비트의 수보다 적은 수의 중간 인공신경망이 복수개의 입력 비트를 처리하는 구조 또한 가능하다. 이러한 구조는 각각의 비트를 복수개의 중간 인공신경망에서 병행 처리하고, 길이가 짧아진 중간 출력 데이터를 최종 인공신경망에서 처리함으로써, 각 인공신경망의 은닉층의 노드 수를 크게 줄일 수 있어 가용 메모리가 많아지게 된다. 이는 비디오 메모리(video memory)의 제약이 있는 GPU 환경에서 진단 속도의 향상을 가지고 오게 된다. 또한 최종 인공신경망에서 처리해야 하는 데이터의 길이가 짧아짐으로 인해 계산량(complexity)이 줄어들게 되어 진단 속도에 큰 향상이 있게 된다.The plurality of intermediate artificial neural networks process a plurality of bits, respectively, and the plurality of intermediate artificial neural networks are the same model. Therefore, when processing multiple bits, parallel processing is possible because there is no dependency between each other. Therefore, compared to the conventional RNN method in which all ECG signals must be inputted, the number or parallel processing of computing devices that perform parallel processing is performed. The operation may be performed quickly in proportion to the number of processors to perform. Of course, a structure in which a plurality of intermediate artificial neural networks process a plurality of input bits may be possible depending on resource constraints. This structure processes each bit in parallel in a plurality of intermediate artificial neural networks and processes shortened intermediate output data in the final artificial neural network, thereby greatly reducing the number of nodes in the hidden layer of each artificial neural network, thereby increasing the available memory. do. This brings with it an improvement in diagnostic speeds in GPU environments that are constrained by video memory. In addition, due to the shorter length of data to be processed in the final neural network, the complexity (complexity) is reduced, which greatly improves the diagnostic speed.
본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 분석 방법을 이용하여 도 3의 심전도 신호를 분석할 때의 입력 데이터의 길이를 계산하면 다음과 같다.When the length of the input data when analyzing the ECG signal of FIG. 3 using the time series data analysis method using artificial intelligence according to an embodiment of the present invention is as follows.
도 3a 및 도 3b의 심전도 신호는 9개의 비트(beat)로 나누어진다. 비트 하나를 250 Hz로 샘플링한다고 할 때, 9개의 비트로부터 피쳐를 추출할 때 처리하는 길이는 250Х9 = 2250이 된다.The ECG signal of FIGS. 3A and 3B is divided into nine beats. Supposing that one bit is sampled at 250 Hz, the length of processing when extracting the feature from nine bits is 250Х9 = 2250.
9개의 비트로부터 추출된 피쳐 9개가 9개의 중간 인공신경망에 입력될 때 처리하는 길이는 1Х9 = 9가 된다.When nine features extracted from nine bits are input to nine intermediate neural networks, the processing length is 1Х9 = 9.
9개의 중간 인공신경망에서 출력된 m차원의 중간 출력 데이터가 최종 인공신경망에 입력될 때, 사전 비트, 판별 대상 비트, 사후 비트에 대한 m차원의 중간 출력 데이터가 연속적으로 입력된다. 전술한 것과 같이 최종 인공신경망에 다음과 같은 순서로 데이터가 입력된다.When the m-dimensional intermediate output data output from the nine intermediate artificial neural networks is input to the final artificial neural network, m-dimensional intermediate output data for the pre-bit, the determination target bit, and the post-bit are continuously input. As described above, data is input to the final artificial neural network in the following order.
(1) 비트 A에 대한 m차원의 특징값, 비트 B에 대한 m차원의 특징값, 비트 C에 대한 m차원의 특징값.(1) m-dimensional feature values for bit A, m-dimensional feature values for bit B, and m-dimensional feature values for bit C.
(2) 비트 B에 대한 m차원의 특징값, 비트 C 대한 m차원의 특징값, 비트 D 대한 m차원의 특징값.(2) m-dimensional feature values for bit B, m-dimensional feature values for bit C, and m-dimensional feature values for bit D.
(3) 비트 C에 대한 m차원의 특징값, 비트 D 대한 m차원의 특징값, 비트 E 대한 m차원의 특징값.(3) m-dimensional feature values for bit C, m-dimensional feature values for bit D, and m-dimensional feature values for bit E.
(4) 비트 D에 대한 m차원의 특징값, 비트 E 대한 m차원의 특징값, 비트 F 대한 m차원의 특징값.(4) m-dimensional feature values for bit D, m-dimensional feature values for bit E, and m-dimensional feature values for bit F.
(5) 비트 E에 대한 m차원의 특징값, 비트 F 대한 m차원의 특징값, 비트 G에 대한 m차원의 특징값.(5) m-dimensional feature values for bit E, m-dimensional feature values for bit F, and m-dimensional feature values for bit G.
(6) 비트 F에 대한 m차원의 특징값, 비트 G 대한 m차원의 특징값, 비트 H에 대한 m차원의 특징값.(6) m-dimensional feature values for bit F, m-dimensional feature values for bit G, and m-dimensional feature values for bit H.
(7) 비트 G에 대한 m차원의 특징값, 비트 H 대한 m차원의 특징값, 비트 I에 대한 m차원의 특징값.(7) m-dimensional feature values for bit G, m-dimensional feature values for bit H, and m-dimensional feature values for bit I.
즉, 길이 3짜리 입력이 7번 이루어지므로, 9개의 중간 인공신경망에서 출력된 m차원의 중간 출력 데이터가 최종 인공신경망에 입력될 때 처리하는 길이는 3Х7 = 21이 된다.That is, since the three-length input is performed seven times, the length of processing when the m-dimensional intermediate output data outputted from nine intermediate artificial neural networks is input to the final artificial neural network becomes 3Х7 = 21.
모든 처리 길이를 더하면 2250 + 9 + 21 = 2280이다. 도 3a 및 도 3b에 예시된 기존의 방법의 처리 길이가 5250인 것과 비교했을 때, 처리 길이가 1/3 정도로 줄어들었음을 알 수 있다.Adding up all the processing lengths is 2250 + 9 + 21 = 2280. It can be seen that the processing length was reduced by one third as compared to the processing length of the conventional method illustrated in FIGS. 3A and 3B being 5250.
이상에서 살펴본 것과 같이 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 분석 방법에 의하면, 기존의 CNN 기반의 심전도 분석 방법에 비해 분석의 정확도가 높을 뿐만 아니라, 기존의 RNN 기반의 심전도 분석 방법에 비해 처리하여야 할 데이터의 길이가 줄어듦으로 인해 분석 속도가 빨라져서 심전도 분석의 실시간성을 보장할 수 있다. 그를 통해 실시간으로 정확하게 심전도 신호를 분석하여 심장 질환이 발생하기 전에 피검자에게 미리 고지함으로써, 사전에 약물, 병원 치료 등으로 조치하는 것이 가능하다. 나아가, 치명적인 심장 질환에 대한 민첩한 초기 대응이 가능하여 긴급하게 인명을 구조하는 서비스에 활용될 수도 있다.As described above, according to the time series data analysis method using artificial intelligence according to an embodiment of the present invention, the analysis accuracy is higher than that of the conventional CNN-based electrocardiogram analysis method, and the conventional RNN-based electrocardiogram analysis method Compared to this, the length of data to be processed is shortened, thereby increasing the speed of analysis, thereby ensuring real-time electrocardiogram analysis. Through this, the ECG signal can be accurately analyzed in real time, and the subject is notified before the heart disease occurs, so that it is possible to take action in advance with medication or hospital treatment. In addition, agile initial response to fatal heart disease is possible and can be used for urgent lifesaving services.
도 11은 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 분석 방법을 예시한 순서도이다.11 is a flowchart illustrating a method of analyzing time series data using artificial intelligence according to an embodiment of the present invention.
도 11에 나타난 것과 같이, 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 분석 방법은, 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하는 단계(S1110), 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 단계(S1120), 시간적으로 바로 인접한 복수개의 유닛의 중간 출력 데이터를 최종 인공신경망에 입력하여 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 단계(S1130) 및 최종 출력 데이터를 이용하여 시계열 데이터의 분석 결과를 생성하는 단계(S1140)를 포함할 수 있다. As shown in FIG. 11, in the method of analyzing time series data using artificial intelligence according to an embodiment of the present invention, for each of a plurality of units in which time series data is split on a time axis, an intermediate artificial feature may be used. Inputting to the neural network (S1110), obtaining intermediate output data of dimension m (m is a natural number of 2 or more) from the intermediate artificial neural network (S1120), and inputting intermediate output data of a plurality of units immediately adjacent in time to the final artificial neural network; The method may include obtaining final output data output from the final artificial neural network (S1130) and generating analysis results of time series data using the final output data (S1140).
각 단계에 대해서는 앞에서 자세히 설명하였으므로 반복되는 내용에 대한 설명은 생략한다.Since each step has been described in detail above, a description of repeated content is omitted.
도 12는 본 발명의 일 실시예에 따른 인공신경망 구조에서, 중간 인공신경망이 복수개의 레벨로 구현된 경우를 예시한 도면이다.12 is a diagram illustrating a case where an intermediate artificial neural network is implemented at a plurality of levels in an artificial neural network structure according to an embodiment of the present invention.
도 12에 나타난 것과 같이, 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 분석 방법에서, 중간 인공신경망을 복수개의 레벨로 구현할 수 있다.As shown in Figure 12, in the time series data analysis method using artificial intelligence according to an embodiment of the present invention, the intermediate artificial neural network can be implemented in a plurality of levels.
각 레벨의 중간 인공신경망은 입력 데이터의 특징값을 출력하고, 이전 레벨의 중간 인공신경망에서 출력된 특징값은 다음 레벨의 중간 인공신경망에 입력된다.The intermediate neural network of each level outputs the feature value of the input data, and the feature value output from the intermediate neural network of the previous level is input to the intermediate neural network of the next level.
중간 인공신경망이 k개의 레벨로 이루어져 있는 경우, 복수개의 유닛 각각의 피쳐는 레벨 1 중간 인공신경망에 입력되고, 각 레벨의 중간 인공신경망에서 출력된 특징값은 다음 레벨의 중간 인공신경망에 입력되며, 레벨 k-1의 중간 인공신경망에서 출력된 특징값은 레벨 k의 중간 인공신경망에 입력되고, 레벨 k의 중간 인공신경망에서 출력된 m차원의 특징값은 최종 인공신경망에 입력된다. When the intermediate neural network is composed of k levels, the features of each of the plurality of units are input into the level 1 intermediate neural network, and the feature values output from the intermediate neural network of each level are input into the intermediate neural network of the next level. The feature value output from the intermediate neural network of level k-1 is input to the intermediate neural network of level k, and the m-dimensional feature value output from the intermediate neural network of level k is input to the final artificial neural network.
도 12에서 복수개의 레벨을 가진 중간 인공신경망을 이전 레벨의 복수개의 중간 인공신경망에서 출력된 복수개의 특징값이 다음 레벨의 하나의 중간 인공신경망에 입력되는 방식으로 설계한 것은, 레벨 1 중간 인공신경망에서 각 유닛 단위(제1 단위)의 데이터를 처리하고, 레벨 2 중간 인공신경망에서 시간적으로 인접한 복수개의 유닛을 그룹핑한 제2 단위의 데이터를 처리하고, 레벨 3 중간 인공신경망에서 시간적으로 인접한 복수개의 제2 단위의 데이터를 그룹핑한 제3 단위의 데이터를 처리하는 방식으로 데이터를 처리하는 것을 예시한 것이다. 이 경우 레벨 k의 중간 인공신경망에서 출력된 m차원의 특징값은 제k 단위의 데이터에 대한 m차원의 특징값이 될 것이다. 이 경우 그룹핑 기준에 따라 각 레벨의 중간 인공신경망의 수는 달라질 수 있다.In FIG. 12, the intermediate artificial neural network having a plurality of levels is designed in such a manner that a plurality of feature values output from the plurality of intermediate artificial neural networks of the previous level are input to one intermediate neural network of the next level. Processes data in each unit unit (first unit) in a second, and processes data in a second unit grouping a plurality of units temporally adjacent in a level 2 intermediate neural network, and processes a plurality of temporally adjacent in a level 3 intermediate neural network. An example of processing data in a manner of processing data of a third unit grouping data of a second unit is illustrated. In this case, the m-dimensional feature value output from the intermediate artificial neural network at level k will be the m-dimensional feature value for the data of the kth unit. In this case, the number of intermediate neural networks of each level may vary according to the grouping criteria.
물론, 복수개의 레벨을 가진 중간 인공신경망을 이전 레벨의 하나의 중간 인공신경망에서 출력된 하나의 특징값이 다음 레벨의 하나의 중간 인공신경망에 1:1로 입력되는 방식으로 설계할 수도 있다. 이 경우 각 레벨의 중간 인공신경망은 동일한 수로 구현할 수 있다. 예컨대, 레벨 1 중간 인공신경망의 수가 n개이면, 레벨 2 중간 인공신경망의 수도 n개, 레벨 3 중간 인공신경망의 수도 n개, ..., 레벨 k 중간 인공신경망의 수도 n개로 구현할 수 있다.Of course, the intermediate neural network having a plurality of levels may be designed in such a manner that one feature value output from one intermediate neural network of the previous level is input 1: 1 to one intermediate neural network of the next level. In this case, the intermediate neural networks of each level can be implemented with the same number. For example, if the number of level 1 intermediate artificial neural network is n, the number of level 2 intermediate artificial neural network can be implemented as n number of level 2 intermediate artificial neural network, n, number n of level k intermediate artificial neural network.
도 13은 본 발명의 일 실시예에 따른 인공신경망의 구조에서, 중간 인공신경망이 복수개의 레벨로 구현된 경우의 시계열 데이터 분석 방법을 예시한 순서도이다.FIG. 13 is a flowchart illustrating a method of analyzing time series data when an intermediate artificial neural network is implemented at a plurality of levels in a structure of an artificial neural network according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 분석 방법에서 중간 인공신경망이 복수개의 레벨로 이루어져 있을 경우의 시계열 데이터 분석 방법은, 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 유닛 각각의 피쳐(feature)를 레벨 1 중간 인공신경망에 입력하는 단계(S1310), 레벨 i(i는 1 이상의 자연수) 인공신경망으로부터 출력된 중간 출력 데이터를 레벨 i+1 중간 인공신경망에 입력하는 단계(S1320), 레벨 k 중간 인공신경망으로부터 중간 출력 데이터를 얻는 단계(S1330) 및 레벨 k 중간 출력 데이터를 최종 인공신경망에 순차적으로 입력하여 최종 인공신경망으로부터 최종 출력 데이터를 얻는 단계(S1340)를 포함할 수 있다. In the time series data analysis method using artificial intelligence according to an embodiment of the present invention, when the intermediate artificial neural network has a plurality of levels, the time series data analysis method includes: for each of a plurality of units in which time series data is split on the time axis, Inputting a feature of each unit into the level 1 intermediate neural network (S1310), and inputting intermediate output data output from the level i (i is one or more natural numbers) artificial neural network into the level i + 1 intermediate neural network; (S1320), obtaining intermediate output data from the level k intermediate neural network (S1330) and sequentially inputting level k intermediate output data into the final artificial neural network to obtain final output data from the final artificial neural network (S1340). Can be.
만약, 복수개의 레벨을 가진 중간 인공신경망을 이전 레벨의 복수개의 중간 인공신경망에서 출력된 복수개의 특징값이 다음 레벨의 하나의 중간 인공신경망에 입력되는 방식으로 설계한 경우, 레벨 k 중간 출력 데이터를 최종 인공신경망에 순차적으로 입력하는 단계는, 시간적으로 바로 인접한 제k 단위의 데이터에 대한 레벨 k 중간 출력 데이터를 최종 인공신경망에 순차적으로 입력하는 단계를 포함할 수 있다.If the intermediate neural network having a plurality of levels is designed in such a manner that a plurality of feature values output from the plurality of intermediate artificial neural networks of the previous level are input to one intermediate neural network of the next level, The step of sequentially inputting into the final artificial neural network may include sequentially inputting level k intermediate output data for the data of the k-th unit immediately adjacent in time to the final artificial neural network.
한편, 복수개의 레벨을 가진 중간 인공신경망을 이전 레벨의 하나의 중간 인공신경망에서 출력된 하나의 특징값이 다음 레벨의 하나의 중간 인공신경망에 1:1로 입력되는 방식으로 설계한 경우, 시간적으로 바로 인접한 유닛들에 대한 레벨 k 중간 출력 데이터를 최종 인공신경망에 순차적으로 입력하는 단계는 도 9 및 10에서 설명하였던 중간 인공신경망의 레벨이 1개인 경우와 동일하므로 반복되는 내용에 대한 설명은 생략한다.On the other hand, when the intermediate artificial neural network having a plurality of levels is designed in such a manner that one feature value output from one intermediate neural network of the previous level is input 1: 1 to one intermediate neural network of the next level, The step of sequentially inputting the level k intermediate output data of immediately adjacent units into the final artificial neural network is the same as the case where the level of the intermediate artificial neural network described with reference to FIGS. 9 and 10 is omitted. .
이상, 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터의 학습 방법에 대하여 설명하였다. In the above, the learning method of time series data using artificial intelligence according to an embodiment of the present invention has been described.
이하, 도 14 내지 17을 참조하여 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터의 학습 방법에 대하여 설명한다. 구체적으로 본 발명의 일 실시예에 따른 복수개의 인공신경망을 이용하여 심전도 신호를 학습하는 과정을 설명함으로써, 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터의 학습 방법을 설명하도록 한다.Hereinafter, a method of learning time series data using artificial intelligence according to an embodiment of the present invention will be described with reference to FIGS. 14 to 17. In detail, a process of learning an ECG signal using a plurality of artificial neural networks according to an embodiment of the present invention will be described to explain a method of learning time series data using artificial intelligence according to an embodiment of the present invention.
잘 알려진 바와 같이, 기본적으로 학습 데이터를 이용한 인공신경망의 학습 과정은 인공신경망을 이용한 입력 데이터 분석 과정과 많은 부분 유사하다. 다만 인공신경망을 학습하는 과정에서는, 출력값과 실제값을 비교하여 오차를 계산하고, 오차를 역전파하여 인공신경망의 가중치를 변경하는 단계가 추가된다는 점에서 차이가 있다. As is well known, the learning process of artificial neural network using learning data is basically similar to the process of analyzing input data using artificial neural network. However, in the process of learning artificial neural network, there is a difference in that the step of calculating the error by comparing the output value and the actual value, and changing the weight of the artificial neural network by back propagating the error is different.
이하, 본 발명의 일 실시예에 따른 시계열 데이터의 분석 방법과의 차이점을 중심으로 본 발명의 일 실시예에 따른 시계열 데이터의 학습 방법을 설명한다.Hereinafter, a method of learning time series data according to an embodiment of the present invention will be described based on differences from the method for analyzing time series data according to an embodiment of the present invention.
도 14는 본 발명의 일 실시예에 따른 인공지능을 이용한 심전도 학습 방법을 예시한 순서도이다.14 is a flowchart illustrating an ECG learning method using artificial intelligence according to an embodiment of the present invention.
도 14에 나타난 것과 같이, 본 발명의 일 실시예에 따른 인공지능을 이용한 심전도 학습 방법은, 심전도 신호 수집 단계(S1410), 심전도 신호 스플릿 단계(S1420), 비트 결합 단계(S1430), 피쳐(feature) 추출 단계(S1440) 및 인공신경망 학습 단계(S1450)를 포함할 수 있다.As shown in FIG. 14, an ECG learning method using artificial intelligence according to an embodiment of the present invention includes an ECG signal collection step S1410, an ECG signal split step S1420, a bit combining step S1430, and a feature ) May include an extraction step (S1440) and an artificial neural network learning step (S1450).
심전도 신호 수집 단계(S1410)는 서버(200)가 심전도 측정 장치(100)로부터 수신한 심전도 신호 또는 사용자가 직접 입력한 심전도 신호를 수집하는 단계이다. 일반적으로 긴 시간동안 측정된 심전도 신호 전체에 대하여 부정맥 등의 판별 결과가 레이블로 붙는 것이 아니라, 비트 단위로 부정맥 등의 판별 결과가 레이블로 붙어 있다. 잘 알려진 데이터로는 MIT-BIH Arrhythmia Database 등이 있다.The electrocardiogram signal collecting step S1410 is a step in which the server 200 collects the electrocardiogram signal received from the electrocardiogram measuring apparatus 100 or the electrocardiogram signal directly input by the user. In general, the whole cardiogram signal measured for a long time is not labeled with the discriminant arrhythmias, but is labeled with the discriminant arrhythmias in bits. Well-known data includes the MIT-BIH Arrhythmia Database.
심전도 신호 스플릿 단계(S1421)는 심전도 신호를 비트 단위로 스플릿하는 단계이다.The ECG signal splitting step S1421 is a step of splitting the ECG signal in bit units.
비트 결합 단계(S1430)는 레이블이 붙어 있는 비트에 a개의 사전 비트들과 b개의 사후 비트들을 결합하는 단계이다. The bit combining step S1430 is a step of combining a pre-bit and b post-bits with labeled bits.
도 15는 본 발명의 일 실시예에 따른 인공지능을 이용한 심전도 학습 방법에서 사용되는 학습 데이터를 예시한 도면이다.15 is a diagram illustrating training data used in an ECG learning method using artificial intelligence according to an embodiment of the present invention.
도 15에 나타난 것과 같이, 본 발명의 일 실시예에 따른 인공지능을 이용한 심전도 학습 방법은, 레이블이 붙어 있는 비트에 a개의 사전 비트들과 b개의 사후 비트들을 결합시켜 학습 데이터로 사용한다.As shown in FIG. 15, an ECG learning method using artificial intelligence according to an embodiment of the present invention combines a pre-bit and b post-bits with labeled bits and uses them as learning data.
본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터의 분석 방법은 단일한 비트를 분석하는 것이 아니라 시간적으로 인접한 복수개의 비트들이 연결되어 발생하는 시변적 특징, 예컨대 사전 비트 또는 사후 비트와의 발생 간격, 사전 비트 또는 사후 비트와의 높이 차 등을 함께 분석하는 것이므로, 학습시에도 레이블이 붙어 있는 비트를 단독으로 학습시키는 것이 아니라 레이블이 붙어 있는 비트에 사전 비트 및 사후 비트를 결합시켜 학습시켜야 한다.An analysis method of time series data using artificial intelligence according to an embodiment of the present invention does not analyze a single bit, but generates a time-varying feature generated by concatenating a plurality of adjacent bits in time, such as a pre or post bit. Since the gap, pre-bit, or post-bit difference is analyzed together, the pre- and post-bits must be trained by combining the pre- and post-bits with the labeled bits, instead of learning the labeled bits alone. .
레이블이 붙어 있는 비트에 결합시키는 사전 비트의 개수 a와 사후 비트의 개수 b는 임의로 정할 수 있다. 이 때 정해지는 사전 비트의 개수 a와 사후 비트의 개수 b는 분석시에도 같은 수를 입력으로 사용하여야 한다.The number of pre-bits a and the number of post-bits b to be coupled to the labeled bits can be arbitrarily determined. At this time, the number of pre-bits a and the number of post-bits b should be used as inputs for analysis.
피쳐 추출 단계(S1440)는 각 비트의 피쳐를 추출하는 단계이다. 피쳐 추출은 신호 처리에서 널리 사용되는 FFT(Fast Fourier Transform), MFCC(Mel Frequency Cepstral Coefficient), Filter Bank, Wavelet 등 다양한 방법을 사용할 수 있다. 학습시 사용되는 피쳐 추출 알고리즘과 분석시 사용되는 피쳐 추출 알고리즘은 동일한 것을 사용하는 것이 바람직하다.The feature extraction step S1440 is a step of extracting a feature of each bit. Feature extraction can use a variety of methods such as fast Fourier transform (FFT), Mel Frequency Cepstral Coefficient (MFCC), Filter Bank, Wavelet widely used in signal processing. It is preferable to use the same feature extraction algorithm used for learning and the feature extraction algorithm used for analysis.
인공신경망 학습 단계(S1450)는 기존에 잘 알려진 역전파, 경사감소법 등의 기법을 이용하여 인공신경망을 학습시키는 단계이다. 이하, 도 16을 참고하여 인공신경망 학습 단계(S1450)를 자세히 설명한다.The artificial neural network learning step (S1450) is a step of learning the artificial neural network by using well-known techniques such as back propagation and gradient reduction. Hereinafter, the neural network learning step S1450 will be described in detail with reference to FIG. 16.
도 16은 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 학습 방법을 예시한 도면이다.16 is a diagram illustrating a time series data learning method using artificial intelligence according to an embodiment of the present invention.
도 16을 참조하여 본 발명의 일 실시예에 따른 인공지능을 이용하여 시계열 데이터, 예를 들어 심전도 신호를 학습하는 과정을 설명한다.A process of learning time series data, for example, an ECG signal, using artificial intelligence according to an embodiment of the present invention will be described with reference to FIG. 16.
MIT-BIH Arrhythmia Database 등과 같이 비트 단위로 레이블로 붙어 있는 데이터베이스를 사용할 경우, 학습 데이터(1610)는 비트 결합 단계(S1430)를 통해 레이블이 붙어 있는 비트에 하나 이상의 사전 비트와 하나 이상의 사후 비트를 결합시킨 심전도 신호여야 한다. 만약, 비트 단위가 아니라 심전도 신호 전체를 분석한 결과가 각 심전도 신호에 레이블로 붙어 있는 데이터베이스를 사용할 경우, 비트 결합 단계(S1430) 없이 레이블이 붙어 있는 심전도 신호를 그대로 학습 데이터(1610)로 사용할 수 있다. When using a database labeled in units of bits such as the MIT-BIH Arrhythmia Database, the training data 1610 combines one or more pre-bits and one or more post-bits into labeled bits through a bit combining step (S1430). It should be an electrocardiogram signal. If the result of analyzing the entire ECG signal instead of the bit unit is used as a database that is labeled with each ECG signal, the labeled ECG signal may be used as the training data 1610 without the bit combining step (S1430). have.
이를 시계열 데이터로 일반화시켜 설명하면, 유닛 단위로 레이블로 붙어 있는 데이터베이스를 사용할 경우, 학습 데이터는 레이블이 붙어 있는 유닛에 하나 이상의 유닛을 결합시킨 시계열 데이터여야 한다. 만약, 유닛 단위가 아니라 시계열 데이터 전체를 분석한 결과가 각 시계열 데이터에 레이블로 붙어 있는 데이터베이스를 사용할 경우, 레이블이 붙어 있는 시계열 데이터를 그대로 학습 데이터로 사용할 수 있다. Generalizing this to time series data, when using a database labeled in units, the training data should be time series data combining one or more units in a labeled unit. If the results of analyzing the entire time series data instead of unit units are used as a database in which each time series data is labeled, the labeled time series data may be used as training data.
학습 데이터(1610)가 입력되면 일정한 기준에 의해 학습 데이터를 복수개의 비트(1621, 1622, 1623...)로 스플릿한다. 학습시 사용되는 심전도 신호의 스플릿 방법과 분석시 사용되는 심전도 신호의 스플릿 방법은 동일한 것을 사용하는 것이 바람직하다.When the training data 1610 is input, the training data is split into a plurality of bits 1621, 1622, 1623 ... according to a predetermined criterion. It is preferable to use the same split method for the ECG signal used for learning and split method for the ECG signal used for analysis.
이를 시계열 데이터로 일반화시켜 설명하면, 학습 데이터가 입력되면 일정한 기준에 의해 학습 데이터를 복수개의 유닛으로 스플릿하는 것으로 설명할 수 있다. 학습시 사용되는 시계열 데이터의 스플릿 방법과 분석시 사용되는 시계열 데이터의 스플릿 방법은 동일한 것을 사용하는 것이 바람직하다.When generalizing this to time series data, when learning data is input, it can be described as splitting learning data into a plurality of units according to a predetermined criterion. The split method of time series data used for learning and the split method of time series data used for analysis are preferably used.
다음으로, 복수개의 비트(1621, 1622, 1623...) 각각에 대하여 각 비트의 피쳐(1631, 1632, 1633...)를 추출하는 작업을 수행한다. 학습시 사용되는 심전도 신호의 피쳐 추출 알고리즘과 분석시 사용되는 심전도 신호의 피쳐 추출 알고리즘은 동일한 것을 사용하는 것이 바람직하다.Next, for each of the plurality of bits 1621, 1622, 1623..., A feature of extracting the features 1631, 1632, 1633... Of each bit is performed. The feature extraction algorithm of the ECG signal used in learning and the feature extraction algorithm of the ECG signal used in analysis are preferably the same.
이를 시계열 데이터로 일반화시켜 설명하면, 시계열 데이터가 복수개의 유닛(unit)으로 스플릿되면, 복수개의 유닛 각각에 대하여 각 유닛의 피쳐를 추출하는 것으로 설명할 수 있다. 학습시 사용되는 시계열 데이터의 피쳐 추출 알고리즘과 분석시 사용되는 시계열 데이터의 피쳐 추출 알고리즘은 동일한 것을 사용하는 것이 바람직하다.When generalizing this to time series data, when time series data is split into a plurality of units, it may be described as extracting a feature of each unit for each of the plurality of units. It is preferable to use the same feature extraction algorithm of the time series data used for learning and the feature extraction algorithm of the time series data used for analysis.
다음으로, 각 비트의 피쳐(1631, 1632, 1633...)를 중간 인공신경망(1641, 1642, 1643...)에 입력하는 작업을 수행한다. 학습 데이터(1610)가 n개의 비트가 결합된 것이라면, 모두 n개의 피쳐가 추출되었을 것이며, 이 경우 중간 인공신경망도 n개인 것이 바람직하다. Next, a function of inputting the features 1631, 1632, 1633... Of each bit into the intermediate artificial neural network 1641, 1642, 1643. If the training data 1610 is a combination of n bits, then all n features would have been extracted, in which case the intermediate artificial neural network is preferably n.
이를 시계열 데이터로 일반화시켜 설명하면, 시계열 데이터가 n개의 유닛(unit)으로 스플릿되고, 각 유닛의 피쳐가 추출되면, 각 유닛의 피쳐를 n개의 중간 인공신경망에 입력하는 것으로 설명할 수 있다.When generalizing this to time series data, when time series data is split into n units and the features of each unit are extracted, the features of each unit may be described as being input to the n intermediate artificial neural networks.
다음으로, n개의 중간 인공신경망에서 출력된 n개의 비트 각각에 대한 m차원의 특징값을 각 비트의 시간 축에서의 순서대로 최종 인공신경망(1650)에 입력하여 학습 데이터에 대한 최종 출력 데이터를 얻는다.Next, the m-dimensional feature values for each of the n bits output from the n intermediate artificial neural networks are input to the final artificial neural network 1650 in order on the time axis of each bit to obtain final output data for the training data. .
이를 시계열 데이터로 일반화시켜 설명하면, 시계열 데이터가 n개의 유닛(unit)으로 스플릿된 경우, n개의 중간 인공신경망을 이용하여 n개의 유닛 각각에 대한 m차원의 특징값을 얻고, 최종 인공신경망은 n개의 유닛 각각에 대한 m차원의 특징값을 각 유닛의 시간 축에서의 순서대로 n개의 중간 인공신경망으로부터 제공 받아 학습 데이터에 대한 분류값, 예측값 등을 얻는다.When generalizing this to time series data, when time series data is split into n units, m intermediate feature values for each of n units are obtained using n intermediate artificial neural networks, and the final artificial neural network is n. M-dimensional feature values for each of the units are provided from the n intermediate neural networks in the order of the time axis of each unit to obtain classification values, prediction values, and the like for the training data.
최종 인공신경망(1650)으로부터 학습 데이터에 대한 최종 출력 데이터를 얻으면, 학습 데이터에 대한 최종 출력 데이터를 학습 데이터에 붙은 레이블과 비교한다. 이 때 학습 데이터에 대한 최종 출력 데이터는 출력값이 되고, 학습 데이터에 붙은 레이블은 실제값이 된다. 출력값와 실제값 사이의 오차를 손실 함수(loss function) 등을 이용하여 산출한 후 역전파한다.When the final output data for the training data is obtained from the final neural network 1650, the final output data for the training data is compared with a label attached to the training data. At this time, the final output data for the training data is an output value, and the label attached to the training data is an actual value. The error between the output value and the actual value is calculated using a loss function or the like and then back propagated.
역전파를 통해 최종 인공신경망(1650)의 가중치 및 중간 인공신경망(1641, 1642, 1643...)의 가중치를 조정한다. 역전파 및 인공신경망의 가중치 조정 방법은 https://en.wikipedia.org/wiki/Backpropagation 등의 문헌에 자세히 설명되어 있으므로 자세한 설명은 생략한다.The backpropagation adjusts the weight of the final neural network 1650 and the weights of the intermediate artificial neural networks 1641, 1642, 1643... Weight adjustment method of backpropagation and artificial neural network is described in detail in the literature such as https://en.wikipedia.org/wiki/Backpropagation, so the detailed description is omitted.
이 때 주의할 것은 최종 인공신경망(1650)과 중간 인공신경망(1641, 1642, 1643...)의 학습률 설정이다. '학습률(learning rate)'이란 인공신경망의 가중치 조정을 위한 경사감소법 알고리즘에서 최저값을 찾아가는 스텝(step)의 크기를 의미하는데, At this time, care should be taken to set the learning rate of the final artificial neural network (1650) and intermediate artificial neural network (1641, 1642, 1643 ...). The 'learning rate' refers to the size of the step to find the lowest value in the gradient reduction algorithm for weight adjustment of the artificial neural network.
중간 인공신경망을 parallel하게 학습시킬 수는 없다. 복수개의 입력 비트에 대한 정답은 1개이기 때문이다. 이 때문에 하나의 정답에 대하여 복수개의 입력 비트에 대한 역전파를 수행하여야 한다. 비트의 개수가 n개이고, 중간 인공신경망의 개수도 n개인 경우, n개의 중간 인공신경망은 서로 가중치를 공유(share)하여야 하고, 역전파시의 중간 인공신경망의 학습률도 최종 인공신경망의 학습률의 1/n배로 설정하여야 한다.Intermediate neural networks cannot be trained in parallel. This is because there is only one correct answer for a plurality of input bits. Because of this, backpropagation must be performed for a plurality of input bits for one correct answer. If the number of bits is n and the number of intermediate artificial neural networks is n, the n intermediate artificial neural networks must share weights with each other, and the learning rate of the intermediate artificial neural network during backpropagation is 1 / th of the learning rate of the final artificial neural network. It should be set to n times.
한편, 중간 인공신경망이 복수개의 레벨로 구현된 경우에도 인공신경망의 학습 방법은 동일하다. 중간 인공신경망이 복수개의 레벨로 구현된 경우의 인공신경망의 분석 방법과 동일한 방법으로 학습 데이터를 분석한 후(도 12 및 13 참고), 최종 인공신경망으로부터 학습 데이터에 대한 최종 출력 데이터를 얻으면, 학습 데이터에 대한 최종 출력 데이터(출력값)를 학습 데이터에 붙은 레이블(실제값)과 비교한다. 출력값와 실제값 사이의 오차를 손실 함수(loss function) 등을 이용하여 산출한 후 역전파시켜, 최종 인공신경망의 가중치 및 복수개의 레벨의 중간 인공신경망의 가중치를 조정한다. On the other hand, even if the intermediate artificial neural network is implemented in a plurality of levels the learning method of the artificial neural network is the same. After analyzing the training data in the same manner as the method of analyzing the artificial neural network when the intermediate artificial neural network is implemented at a plurality of levels (see FIGS. 12 and 13), when the final output data of the training data is obtained from the final artificial neural network, the training is performed. The final output data (output value) for the data is compared with the label (actual value) attached to the training data. The error between the output value and the actual value is calculated using a loss function or the like and then back propagated to adjust the weight of the final neural network and the weights of the intermediate neural networks of the plurality of levels.
도 17은 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 학습 방법을 예시한 순서도이다.17 is a flowchart illustrating a method of learning time series data using artificial intelligence according to an embodiment of the present invention.
도 17에 나타난 것과 같이, 본 발명의 일 실시예에 따른 인공지능을 이용한 시계열 데이터 학습 방법은, 시계열 데이터가 시간 축에서 스플릿된 복수의 유닛 각각에 대하여, 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하는 단계(S1710), 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 단계(S1720), 시간적으로 바로 인접한 복수의 유닛의 중간 출력 데이터를 최종 인공신경망에 입력하여 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 단계(S1730), 최종 출력 데이터를 시계열 데이터에 붙어 있는 레이블과 비교하고 오차를 계산하는 단계(S1740) 및 오차를 역전파시켜 중간 인공신경망 및 최종 인공신경망의 가중치를 조절하는 단계(S1740)를 포함할 수 있다.As shown in FIG. 17, in the time series data learning method using artificial intelligence according to an embodiment of the present invention, for each of a plurality of units in which time series data is split on a time axis, an artificial feature of each unit is selected. Inputting to the neural network (S1710), obtaining intermediate output data of the dimension m (m is a natural number of 2 or more) from the intermediate artificial neural network (S1720), and inputting intermediate output data of a plurality of units immediately adjacent in time to the final artificial neural network; Obtaining final output data output from the final artificial neural network (S1730), comparing the final output data with a label attached to time series data, calculating an error (S1740), and back propagating the error to the intermediate artificial neural network and the final artificial Adjusting the weight of the neural network (S1740) may be included.
각 단계에 대해서는 앞에서 자세히 설명하였으므로 반복되는 내용에 대한 설명은 생략한다.Since each step has been described in detail above, a description of repeated content is omitted.
도 18은 본 발명의 실시예들에 따른 인공지능을 이용한 시계열 데이터 분석 방법 또는 시계열 데이터 학습 방법을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다.18 is a hardware configuration diagram of an exemplary computing device that can implement a time series data analysis method or time series data learning method using artificial intelligence according to embodiments of the present invention.
도 18에 나타난 것과 같이, 본 발명의 실시예들에 따른 인공지능을 이용한 시계열 데이터 분석 방법 또는 시계열 데이터 학습 방법을 구현할 수 있는 예시적인 컴퓨팅 장치는, 하나 이상의 프로세서(1810), 스토리지(1820), 프로세서(1810)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(1830), 네트워크 인터페이스(1840) 및 버스(bus)를 포함할 수 있다. 도 18에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 18에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다.As illustrated in FIG. 18, an exemplary computing device capable of implementing a time series data analysis method or a time series data learning method using artificial intelligence according to embodiments of the present disclosure may include one or more processors 1810, storage 1820, It may include a memory 1830, a network interface 1840, and a bus that load a computer program executed by the processor 1810. 18, only components relevant to embodiments of the present invention are shown. Accordingly, it will be appreciated by those skilled in the art that other general purpose components may be further included in addition to the components illustrated in FIG. 18.
프로세서(1810)는 본 발명의 실시예들에 따른 인공지능을 이용한 시계열 데이터 분석 방법 또는 시계열 데이터 학습 방법을 구현할 수 있는 컴퓨팅 장치의 각 구성의 전반적인 동작을 제어한다. 프로세서(1810)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(1810)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 본 발명의 실시예들에 따른 인공지능을 이용한 시계열 데이터 분석 방법 또는 시계열 데이터 학습 방법을 구현할 수 있는 컴퓨팅 장치는 하나 이상의 프로세서를 구비할 수 있다.The processor 1810 controls the overall operation of each component of the computing device that can implement the time series data analysis method or the time series data learning method using artificial intelligence according to embodiments of the present invention. The processor 1810 includes a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphics processing unit (GPU), or any type of processor well known in the art. Can be. In addition, the processor 1810 may perform an operation on at least one application or program for executing a method according to embodiments of the present invention. A computing device capable of implementing a method for analyzing time series data or a method for learning time series data using artificial intelligence according to embodiments of the present invention may include one or more processors.
스토리지(1820)는 하나 이상의 컴퓨터 프로그램을 비임시적으로 저장할 수 있다. 스토리지(1820)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다. 스토리지(1820)에는 본 발명의 실시예들에 따른 인공지능을 이용한 시계열 데이터 분석 방법 또는 시계열 데이터 학습 방법을 수행하도록 하는 컴퓨터 프로그램이 저장되어 있다.The storage 1820 can non-temporarily store one or more computer programs. The storage 1820 may be a non-volatile memory such as a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, or a technical field to which the present invention pertains. It may comprise any known type of computer readable recording medium. The storage 1820 stores a computer program for performing a time series data analysis method or a time series data learning method using artificial intelligence according to embodiments of the present invention.
메모리(1830)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1830)는 본 발명의 실시예들에 따른 인공지능을 이용한 시계열 데이터 분석 방법 또는 시계열 데이터 학습 방법을 실행하기 위하여 스토리지(1820)로부터 하나 이상의 컴퓨터 프로그램을 로드할 수 있다. The memory 1830 stores various data, commands, and / or information. The memory 1830 may load one or more computer programs from the storage 1820 to execute the time series data analysis method or the time series data learning method using artificial intelligence according to embodiments of the present invention.
버스는 본 발명의 실시예들에 따른 인공지능을 이용한 시계열 데이터 분석 방법 또는 시계열 데이터 학습 방법을 구현할 수 있는 컴퓨팅 장치의 구성요소 간 통신 기능을 제공한다. 버스는 주소 버스(Address Bus), 데이터 버스(Data Bus), 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus provides a communication function between components of a computing device capable of implementing a time series data analysis method or a time series data learning method using artificial intelligence according to embodiments of the present invention. The bus may be implemented as various types of buses such as an address bus, a data bus, and a control bus.
네트워크 인터페이스(1840)는 본 발명의 실시예들에 따른 인공지능을 이용한 시계열 데이터 분석 방법 또는 시계열 데이터 학습 방법을 구현할 수 있는 컴퓨팅 장치의 유무선 통신을 지원한다. 또한, 네트워크 인터페이스(1840)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(1840)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The network interface 1840 supports wired / wireless communication of a computing device capable of implementing a time series data analysis method or a time series data learning method using artificial intelligence according to embodiments of the present invention. In addition, the network interface 1840 may support various communication methods other than Internet communication. To this end, the network interface 1840 may be configured to include a communication module well known in the art.
본 발명의 실시예들에 따른 인공지능을 이용한 시계열 데이터 분석 방법 또는 시계열 데이터 학습 방법을 수행하도록 하는 컴퓨터 프로그램은 메모리(1830)에 로드되어, 프로세서(1810)로 하여금 본 발명의 실시예들에 따른 시계열 데이터 분석 방법 또는 시계열 데이터 학습 방법을 수행하도록 하는 인스트럭션을 포함할 수 있다.A computer program for performing the time series data analysis method or the time series data learning method using artificial intelligence according to the embodiments of the present invention is loaded in the memory 1830, and causes the processor 1810 according to the embodiments of the present invention. Instructions for performing a time series data analysis method or a time series data learning method may be included.
이하, 본 발명의 실시예들에 따른 인공지능을 이용한 시계열 데이터 분석 장치에 대하여 설명한다.Hereinafter, an apparatus for analyzing time series data using artificial intelligence according to embodiments of the present invention will be described.
본 발명의 일 실시예에 따른 시계열 데이터 분석 장치는, 시계열 데이터를 수신하는 네트워크 인터페이스(1840), 하나 이상의 프로세서(1810), 프로세서(1841)에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리(1830) 및 컴퓨터 프로그램을 저장하는 스토리지(1820)를 포함하되, 컴퓨터 프로그램은, 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하고 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 인스트럭션, 시간적으로 바로 인접한 복수개의 유닛의 중간 출력 데이터를 최종 인공신경망에 입력하고, 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 인스트럭션, 최종 출력 데이터를 이용하여 시계열 데이터의 분석 결과를 생성하는 인스트럭션을 포함할 수 있다.An apparatus for analyzing time series data according to an embodiment of the present invention includes a network interface 1840 for receiving time series data, one or more processors 1810, a memory 1830 for loading a computer program executed by the processor 1841, and Storage 1820, which stores a computer program, the computer program for each of a plurality of units in which time series data has been split in the time axis, inputting features of each of the units into the intermediate neural network and Instruction for obtaining intermediate output data of dimension m (m is a natural number of 2 or more), instruction for inputting intermediate output data of a plurality of units immediately adjacent in time to the final neural network, and obtaining final output data output from the final artificial neural network. Using output data to generate analysis results of time series data Scotland may include Sean truck.
본 발명의 일 실시예에 따른 시계열 데이터 분석 장치의 스토리지(1820)에 저장된 컴퓨터 프로그램의 각 인스트럭션은 앞에서 설명한 인공지능을 이용한 시계열 데이터 분석 방법을 수행하는 것이므로 반복되는 내용에 대한 설명은 생략한다.Since each instruction of the computer program stored in the storage 1820 of the apparatus for analyzing time series data according to an embodiment of the present invention performs the method for analyzing time series data using artificial intelligence described above, a description of repeated content will be omitted.
이하, 본 발명의 실시예들에 따른 인공지능을 이용한 시계열 데이터 학습 장치에 대하여 설명한다.Hereinafter, a time series data learning apparatus using artificial intelligence according to embodiments of the present invention will be described.
본 발명의 일 실시예에 따른 시계열 데이터 학습 장치는, 시계열 데이터를 수신하는 네트워크 인터페이스(1840), 하나 이상의 프로세서(1810), 프로세서(1841)에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리(1830) 및 컴퓨터 프로그램을 저장하는 스토리지(1820)를 포함하되, 컴퓨터 프로그램은, 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하고 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 인스트럭션, 시간적으로 바로 인접한 복수개의 유닛의 중간 출력 데이터를 최종 인공신경망에 입력하고, 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 인스트럭션 및 최종 출력 데이터를 시계열 데이터에 붙어 있는 레이블과 비교하는 인스트럭션을 포함할 수 있다.An apparatus for learning time series data according to an embodiment of the present invention includes a network interface 1840 for receiving time series data, one or more processors 1810, a memory 1830 for loading a computer program executed by the processor 1841, and Storage 1820, which stores a computer program, the computer program for each of a plurality of units in which time series data has been split in the time axis, inputting features of each of the units into the intermediate neural network and instructions for obtaining intermediate output data in the dimension of m (m is a natural number of 2 or more), instructions for inputting intermediate output data of a plurality of units immediately adjacent in time to the final neural network, and obtaining final output data output from the final artificial neural network; Compare output data with labels attached to time series data Scotland may include Sean truck.
본 발명의 일 실시예에 따른 시계열 데이터 학습 장치의 스토리지(1820)에 저장된 컴퓨터 프로그램의 각 인스트럭션은 앞에서 설명한 인공지능을 이용한 시계열 데이터 학습 방법을 수행하는 것이므로 반복되는 내용에 대한 설명은 생략한다.Since each instruction of the computer program stored in the storage 1820 of the time series data learning apparatus according to an embodiment of the present invention performs the time series data learning method using artificial intelligence described above, a description of repeated content is omitted.
한편, 도면들을 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 컴퓨터로 읽을 수 있는 기록 매체는, 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 컴퓨터로 읽을 수 있는 기록 매체에 기록된 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 다른 컴퓨팅 장치에서 사용될 수 있다.Meanwhile, the inventive concept described with reference to the drawings may be embodied in computer readable codes on a computer readable medium. The computer-readable recording medium may be a removable recording medium (CD, DVD, Blu-ray Disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). A computer program recorded on a computer readable recording medium may be transmitted to another computing device and installed in another computing device via a network such as the Internet, thereby being used in another computing device.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티 태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지될 수 있음을 이해하여야 한다.Although the operations are shown in a specific order in the drawings, it should not be understood that the operations must be performed in the specific order or sequential order shown or that all the illustrated operations must be executed to achieve the desired results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various configurations in the embodiments described above should not be understood as such separation being necessary, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. Should be understood.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해하여야 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, it is to be understood that the embodiments described above are exemplary in all respects and not restrictive.

Claims (20)

  1. 컴퓨팅 장치에 의하여 수행되는 시계열 데이터의 분석 방법에 있어서,In the analysis method of time series data performed by a computing device,
    상기 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 상기 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하는 단계;Inputting a feature of each of the units into an intermediate neural network for each of a plurality of units in which the time series data is split on a time axis;
    상기 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 단계;Obtaining intermediate output data of the dimension m (m is a natural number of two or more) from the intermediate artificial neural network;
    시간적으로 바로 인접한 복수개의 유닛의 상기 중간 출력 데이터를 최종 인공신경망에 입력하여 상기 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 단계; 및Inputting the intermediate output data of a plurality of units immediately adjacent in time to a final artificial neural network to obtain final output data output from the final artificial neural network; And
    상기 최종 출력 데이터를 이용하여 상기 시계열 데이터의 분석 결과를 생성하는 단계를 포함하는, Generating an analysis result of the time series data using the final output data;
    시계열 데이터 분석 방법.How to analyze time series data.
  2. 제1항에 있어서,The method of claim 1,
    상기 중간 인공신경망 및 상기 최종 인공신경망은 RNN(Recurrent Neural Network)인,The intermediate neural network and the final artificial neural network is RNN (Recurrent Neural Network),
    시계열 데이터 분석 방법.How to analyze time series data.
  3. 제1항에 있어서,The method of claim 1,
    상기 최종 인공신경망의 입력층의 노드는 m개인, M nodes of the input layer of the final artificial neural network,
    시계열 데이터 분석 방법.How to analyze time series data.
  4. 제1항에 있어서,The method of claim 1,
    상기 중간 출력 데이터를 얻는 단계는,Obtaining the intermediate output data,
    제1 컴퓨팅 장치가, 상기 복수개의 유닛에 포함된 제1 유닛의 피쳐를 상기 제1 컴퓨팅 장치에 구현된 상기 중간 인공신경망에 입력하고 상기 중간 인공신경망으로부터 m차원의 중간 출력 데이터를 얻는 단계; 및 A first computing device, inputting features of a first unit included in the plurality of units into the intermediate artificial neural network implemented in the first computing device and obtaining m-dimensional intermediate output data from the intermediate artificial neural network; And
    제2 컴퓨팅 장치가, 상기 복수개의 유닛에 포함된 제2 유닛의 피쳐를 상기 제2 컴퓨팅 장치에 구현된 중간 인공신경망에 입력하고 상기 중간 인공신경망으로부터 m차원의 중간 출력 데이터를 얻는 단계를 포함하는,A second computing device, inputting features of a second unit included in the plurality of units into an intermediate neural network implemented in the second computing device and obtaining m-dimensional intermediate output data from the intermediate neural network; ,
    시계열 데이터 분석 방법.How to analyze time series data.
  5. 제4항에 있어서,The method of claim 4, wherein
    상기 최종 출력 데이터를 얻는 단계는,Obtaining the final output data,
    제3 컴퓨팅 장치가, 상기 제1 컴퓨팅 장치로부터 상기 제1 유닛의 중간 출력 데이터를 제공 받고, 상기 제2 컴퓨팅 장치로부터 상기 제2 유닛의 중간 출력 데이터를 제공 받으며, 상기 제1 유닛의 중간 출력 데이터 및 상기 제2 유닛의 중간 출력 데이터를 상기 최종 인공신경망에 순차적으로 입력하되, 상기 제1 유닛 및 상기 제2 유닛은 시간적으로 바로 인접한 유닛인, 단계를 포함하는,A third computing device receives intermediate output data of the first unit from the first computing device, intermediate output data of the second unit from the second computing device, and intermediate output data of the first unit And sequentially inputting intermediate output data of the second unit into the final artificial neural network, wherein the first unit and the second unit are immediately adjacent units in time.
    시계열 데이터 분석 방법.How to analyze time series data.
  6. 제1항에 있어서,The method of claim 1,
    상기 중간 인공신경망은 k(k는 2 이상의 자연수)개의 레벨로 이루어져 있고,The intermediate neural network is composed of k (k is a natural number of 2 or more),
    상기 중간 인공신경망에 입력하는 단계는,Input to the intermediate artificial neural network,
    상기 복수개의 유닛 각각의 피쳐를 레벨 1 중간 인공신경망에 입력하는 단계;Inputting a feature of each of the plurality of units into a level 1 intermediate neural network;
    레벨 i(i는 1 이상의 자연수) 중간 인공신경망으로부터 얻은 레벨 i 출력 데이터를 레벨 i+1 중간 인공신경망에 입력하는 단계; 및Inputting level i output data obtained from the level i (i is one or more natural number) intermediate neural network into the level i + 1 intermediate neural network; And
    레벨 i+1 중간 인공신경망으로부터 레벨 i+1 출력 데이터를 얻는 단계를 포함하되,Obtaining level i + 1 output data from the level i + 1 intermediate neural network;
    상기 중간 출력 데이터는 레벨 k 중간 인공신경망으로부터 출력된 데이터인, The intermediate output data is data output from the level k intermediate neural network,
    시계열 데이터 분석 방법.How to analyze time series data.
  7. 제1항에 있어서,The method of claim 1,
    상기 시계열 데이터는, 심전도 데이터인,The time series data is electrocardiogram data,
    시계열 데이터 분석 방법.How to analyze time series data.
  8. 제7항에 있어서,The method of claim 7, wherein
    상기 분석 결과는, 심전도 진단 결과인, The analysis result is an electrocardiogram diagnosis result,
    시계열 데이터 분석 방법.How to analyze time series data.
  9. 제7항에 있어서,The method of claim 7, wherein
    상기 n개의 유닛은, R-peak를 이용하여 스플릿된 비트(beat) 유닛인, The n units are beat units that are split using R-peak,
    시계열 데이터 분석 방법.How to analyze time series data.
  10. 제9항에 있어서,The method of claim 9,
    상기 스플릿된 n개의 비트 유닛은,The split n bit units,
    상기 시계열 데이터를 스플릿한 후 스플릿된 비트 사이의 유사도를 비교하여 선행하는 특정 비트와의 유사도가 기 설정된 수치 이상인 비트를 상기 특징 유닛으로 대체한 것인,Splitting the time series data and comparing similarities between the split bits to replace bits having a similarity with a predetermined specific bit with a predetermined value or more with the feature unit;
    시계열 데이터 분석 방법.How to analyze time series data.
  11. 컴퓨팅 장치에 의하여 수행되는 시계열 데이터의 학습 방법에 있어서,In the learning method of time series data performed by a computing device,
    상기 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 상기 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하는 단계;Inputting a feature of each of the units into an intermediate neural network for each of a plurality of units in which the time series data is split on a time axis;
    상기 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 단계;Obtaining intermediate output data of the dimension m (m is a natural number of two or more) from the intermediate artificial neural network;
    시간적으로 바로 인접한 복수개의 유닛의 상기 중간 출력 데이터를 최종 인공신경망에 입력하여 상기 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 단계; 및Inputting the intermediate output data of a plurality of units immediately adjacent in time to a final artificial neural network to obtain final output data output from the final artificial neural network; And
    상기 최종 출력 데이터를 상기 시계열 데이터에 붙어 있는 레이블과 비교하는 단계를 포함하는,Comparing the final output data with a label attached to the time series data;
    시계열 데이터 학습 방법.How to learn time series data.
  12. 제11항에 있어서,The method of claim 11,
    상기 중간 인공신경망 및 상기 최종 인공신경망은 RNN(Recurrent Neural Network)인,The intermediate neural network and the final artificial neural network is RNN (Recurrent Neural Network),
    시계열 데이터 학습 방법.How to learn time series data.
  13. 제11항에 있어서,The method of claim 11,
    상기 최종 인공신경망의 입력층의 노드는 m개인, M nodes of the input layer of the final artificial neural network,
    시계열 데이터 학습 방법.How to learn time series data.
  14. 제11항에 있어서,The method of claim 11,
    상기 비교하는 단계는, 상기 최종 출력 데이터를 상기 시계열 데이터에 붙어 있는 레이블과 비교하여 오차를 계산하는 단계를 포함하고,The comparing step includes comparing the final output data with a label attached to the time series data to calculate an error,
    상기 비교하는 단계 다음에, 상기 오차를 역전파시켜 상기 중간 인공신경망의 가중치 및 상기 최종 인공신경망의 가중치를 조정하는 단계를 더 포함하는,After the comparing, further comprising the step of back propagating the error to adjust the weight of the intermediate artificial neural network and the weight of the final artificial neural network,
    시계열 데이터 학습 방법.How to learn time series data.
  15. 제14항에 있어서,The method of claim 14,
    상기 가중치를 조정하는 단계는, Adjusting the weights,
    상기 중간 인공신경망의 학습률(learning rate)을 상기 최종 인공신경망의 학습률의 1/n배로 하여 상기 중간 인공신경망의 가중치를 조정하는 단계를 포함하는,And adjusting the weight of the intermediate artificial neural network by making the learning rate of the intermediate artificial neural network 1 / n times the learning rate of the final artificial neural network.
    시계열 데이터 학습 방법.How to learn time series data.
  16. 제11항에 있어서,The method of claim 11,
    상기 중간 인공신경망은 k(k는 2 이상의 자연수)개의 레벨로 이루어져 있고,The intermediate neural network is composed of k (k is a natural number of 2 or more),
    상기 중간 인공신경망에 입력하는 단계는,Input to the intermediate artificial neural network,
    상기 복수개의 유닛 각각의 피쳐를 레벨 1 중간 인공신경망에 입력하는 단계;Inputting a feature of each of the plurality of units into a level 1 intermediate neural network;
    레벨 i(i는 1 이상의 자연수) 중간 인공신경망으로부터 얻은 레벨 i 출력 데이터를 레벨 i+1 중간 인공신경망에 입력하는 단계; 및Inputting level i output data obtained from the level i (i is one or more natural number) intermediate neural network into the level i + 1 intermediate neural network; And
    레벨 i+1 중간 인공신경망으로부터 레벨 i+1 출력 데이터를 얻는 단계를 포함하되,Obtaining level i + 1 output data from the level i + 1 intermediate neural network;
    상기 중간 출력 데이터는 레벨 k 중간 인공신경망으로부터 출력된 데이터인, The intermediate output data is data output from the level k intermediate neural network,
    시계열 데이터 학습 방법.How to learn time series data.
  17. 제11항에 있어서,The method of claim 11,
    상기 시계열 데이터는, 심전도 데이터인,The time series data is electrocardiogram data,
    시계열 데이터 학습 방법.How to learn time series data.
  18. 제17항에 있어서,The method of claim 17,
    상기 n개의 유닛은, R-peak를 이용하여 스플릿된 비트(beat) 유닛인, The n units are beat units that are split using R-peak,
    시계열 데이터 학습 방법.How to learn time series data.
  19. 시계열 데이터를 수신하는 네트워크 인터페이스;A network interface for receiving time series data;
    하나 이상의 프로세서;One or more processors;
    상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리; 및A memory for loading a computer program executed by the processor; And
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,Storage for storing the computer program,
    상기 컴퓨터 프로그램은, The computer program,
    상기 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 상기 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하고 상기 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 인스트럭션;For each of a plurality of units in which the time series data is split on the time axis, input a feature of each of the units into an intermediate neural network and obtain intermediate output data in the dimension m (m is a natural number of two or more) from the intermediate neural network. Obtaining instructions;
    시간적으로 바로 인접한 복수개의 유닛의 상기 중간 출력 데이터를 최종 인공신경망에 입력하고, 상기 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 인스트럭션; 및Instructions for inputting the intermediate output data of a plurality of units immediately adjacent in time to a final artificial neural network, and obtaining final output data output from the final artificial neural network; And
    상기 최종 출력 데이터를 이용하여 상기 시계열 데이터의 분석 결과를 생성하는 인스트럭션을 포함하는, Instructions for generating an analysis result of the time series data using the final output data;
    시계열 데이터 분석 장치.Time series data analysis device.
  20. 시계열 데이터를 수신하는 네트워크 인터페이스;A network interface for receiving time series data;
    하나 이상의 프로세서;One or more processors;
    상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리; 및A memory for loading a computer program executed by the processor; And
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,Storage for storing the computer program,
    상기 컴퓨터 프로그램은, The computer program,
    상기 시계열 데이터가 시간 축에서 스플릿된 복수개의 유닛 각각에 대하여, 상기 유닛 각각의 피쳐(feature)를 중간 인공신경망에 입력하고 상기 중간 인공신경망으로부터 m(m은 2 이상의 자연수) 차원의 중간 출력 데이터를 얻는 인스트럭션;For each of a plurality of units in which the time series data is split on the time axis, input a feature of each of the units into an intermediate neural network and obtain intermediate output data in the dimension m (m is a natural number of two or more) from the intermediate neural network. Obtaining instructions;
    시간적으로 바로 인접한 복수개의 유닛의 상기 중간 출력 데이터를 최종 인공신경망에 입력하고, 상기 최종 인공신경망으로부터 출력된 최종 출력 데이터를 얻는 인스트럭션; 및Instructions for inputting the intermediate output data of a plurality of units immediately adjacent in time to a final artificial neural network, and obtaining final output data output from the final artificial neural network; And
    상기 최종 출력 데이터를 상기 시계열 데이터에 붙어 있는 레이블과 비교하는 인스트럭션을 포함하는,Instructions for comparing the final output data with a label attached to the time series data;
    시계열 데이터 학습 장치.Time series data learning device.
PCT/KR2019/003540 2018-03-30 2019-03-27 Time series data learning and analyzing method using artificial intelligence WO2019190185A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP19777828.5A EP3777674A1 (en) 2018-03-30 2019-03-27 Time series data learning and analyzing method using artificial intelligence
CN201980007119.2A CN111565633A (en) 2018-03-30 2019-03-27 Time series data learning and analyzing method using artificial intelligence
US16/927,460 US20200337580A1 (en) 2018-03-30 2020-07-13 Time series data learning and analysis method using artificial intelligence

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20180037077 2018-03-30
KR10-2018-0037077 2018-03-30
KR1020180061857A KR20190114694A (en) 2018-03-30 2018-05-30 Method for learning and analyzing time series data by using artificial intelligence
KR10-2018-0061857 2018-05-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/927,460 Continuation US20200337580A1 (en) 2018-03-30 2020-07-13 Time series data learning and analysis method using artificial intelligence

Publications (1)

Publication Number Publication Date
WO2019190185A1 true WO2019190185A1 (en) 2019-10-03

Family

ID=68060648

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/003540 WO2019190185A1 (en) 2018-03-30 2019-03-27 Time series data learning and analyzing method using artificial intelligence

Country Status (1)

Country Link
WO (1) WO2019190185A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11826129B2 (en) 2019-10-07 2023-11-28 Owlet Baby Care, Inc. Heart rate prediction from a photoplethysmogram

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05282270A (en) * 1992-03-31 1993-10-29 Hitachi Ltd Method and device for constructing neural net
KR970059912A (en) * 1996-01-05 1997-08-12 구자홍 Data prediction device of neural network system
JP2007095046A (en) * 2005-09-01 2007-04-12 Nagaoka Univ Of Technology Method and device for learning/forecasting irregular time serial data using recurrent neural network, and weather forecasting method
KR20170050029A (en) * 2015-10-29 2017-05-11 삼성에스디에스 주식회사 System and method for voice recognition
WO2017185386A1 (en) * 2016-04-29 2017-11-02 北京中科寒武纪科技有限公司 Device and method for performing forward operation of convolutional neural network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05282270A (en) * 1992-03-31 1993-10-29 Hitachi Ltd Method and device for constructing neural net
KR970059912A (en) * 1996-01-05 1997-08-12 구자홍 Data prediction device of neural network system
JP2007095046A (en) * 2005-09-01 2007-04-12 Nagaoka Univ Of Technology Method and device for learning/forecasting irregular time serial data using recurrent neural network, and weather forecasting method
KR20170050029A (en) * 2015-10-29 2017-05-11 삼성에스디에스 주식회사 System and method for voice recognition
WO2017185386A1 (en) * 2016-04-29 2017-11-02 北京中科寒武纪科技有限公司 Device and method for performing forward operation of convolutional neural network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KATHIRVEL ET AL.: "An efficient R-peak detection based on new nonlinear transformation and first-order Gaussian differentia-tor", CARDIOVASCULAR ENGINEERING AND TECHNOLOGY
SABOUR, S.FROSST, N.HINTON, G. E.: "Dynamic routing between capsules", IN ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS, 2017, pages 3859 - 3869

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11826129B2 (en) 2019-10-07 2023-11-28 Owlet Baby Care, Inc. Heart rate prediction from a photoplethysmogram

Similar Documents

Publication Publication Date Title
WO2019216504A1 (en) Method and system for human emotion estimation using deep physiological affect network for human emotion recognition
Rajkumar et al. Arrhythmia classification on ECG using Deep Learning
EP3777674A1 (en) Time series data learning and analyzing method using artificial intelligence
US5524631A (en) Passive fetal heart rate monitoring apparatus and method with enhanced fetal heart beat discrimination
WO2022146057A1 (en) Method and apparatus for converting electrical biosignal data into numerical vectors, and method and apparatus for analyzing disease by using same
WO2018203712A1 (en) Determining health markers using portable devices
Kaya et al. Feature selection using genetic algorithms for premature ventricular contraction classification
Chang et al. Emotion recognition with consideration of facial expression and physiological signals
WO2020009387A1 (en) Method for estimating segmental blood pressure by using recurrent neural network and segmental blood pressure estimating apparatus for implenting method
Ahsanuzzaman et al. Low cost, portable ECG monitoring and alarming system based on deep learning
WO2022220649A1 (en) System and method for electrocardiogram image-based patient evaluation
Li et al. A low-complexity ECG processing algorithm based on the Haar wavelet transform for portable health-care devices
WO2019190185A1 (en) Time series data learning and analyzing method using artificial intelligence
Devaraj et al. Hand gesture signal classification using machine learning
Fukumori et al. Epileptic spike detection by recurrent neural networks with self-attention mechanism
Praneeth et al. A comparison on variants of lms used in fir adaptive noise cancellers for fetal ECG extraction
Shinde et al. Heart Disease Detection with Deep Learning Using a Combination of Multiple Input Sources
Lee et al. Real-time seizure detection using EEG: a comprehensive comparison of recent approaches under a realistic setting
Zhang et al. CMS2-Net: semi-supervised sleep staging for diverse obstructive sleep apnea severity
Tefai et al. ASIC implementation of a pre-trained neural network for ECG feature extraction
Van Eyndhoven et al. Single-channel EEG classification by multi-channel tensor subspace learning and regression
WO2023080697A1 (en) Method for dividing heart signal and device for dividing heart signal by using same
Dhakshaya et al. Classification of ECG using convolutional neural network (CNN)
Jiang et al. Sparse common spatial pattern for EEG channel reduction in brain-computer interfaces
Kulkarni DWT and ANN based heart arrhythmia disease diagnosis from MIT-BIH ECG signal data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19777828

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2019777828

Country of ref document: EP