Certain embodiments of the present invention relate to performing real-time, patient-specific, feature classification on electrocardiogram data by using neural networks.
A convolutional neural network (CNN) generally refers to a type of feed-forward artificial neural network. A feed-forward neural network may be considered to be a network where the information is transmitted through the network in a single direction. For example, information may be transmitted to the network via input nodes, through hidden nodes (if applicable), and to output nodes (if applicable). Back propagation is generally considered to be a method of training neural networks where the networks can learn the appropriate internal representations/weights to allow the networks to learn correspondences between inputs and outputs.
According to a first embodiment, a method can include receiving patient-specific data of a patient. The method can also include inputting the patient-specific data into an input layer of a 1D convolutional neural network. The method also includes inputting labels corresponding to the patient-specific data into an output layer of the 1D convolutional neural network. The method can also include training the 1D convolutional neural network with the inputted patient-specific data and labels. The 1D convolutional neural network is configured to detect abnormality within patient-specific data.
In the method of the first embodiment, receiving patient-specific data includes receiving electrocardiogram data of the patient.
In the method of the first embodiment, the method can also include processing the received patient-specific data. The processing comprises detecting beats of the electrocardiogram data. The detecting beats includes classifying each beat to a category.
In the method of the first embodiment, configuring the 1D convolutional neural network to detect abnormality includes configuring the 1D convolutional neural network to detect an ectopic beat.
In the method of the first embodiment, the 1D convolution neural network is configured to perform a plurality of back-propagation iterations, and to update weights and bias sensitivities of the 1D convolution neural network for each back-propagation iteration.
In the method of the first embodiment, training the 1D convolutional neural network comprises training using patient-specific data patterns and global data patterns, and the patient-specific data pattern comprises a duration of beats from the patient.
According to a second embodiment, an apparatus can include at least one processor. The apparatus can also include at least one memory including computer program code. The at least one memory and the computer program code can be configured, with the at least one processor, to cause the apparatus at least to receive patient-specific data of a patient. The apparatus can also be caused to input the patient-specific data into an input layer of a 1D convolutional neural network. The apparatus can also input labels corresponding to the patient-specific data into an output layer of the 1D convolutional neural network. The apparatus can also be caused to train the 1D convolutional neural network with the inputted patient-specific data and labels. The 1D convolutional neural network is configured to detect abnormality within patient-specific data.
In the apparatus of the second embodiment, receiving patient-specific data includes receiving electrocardiogram data of the patient.
In the apparatus of the second embodiment, the apparatus is further caused to process the received patient-specific data. The processing includes detecting beats of the electrocardiogram data. The detecting beats includes classifying each beat to a category.
In the apparatus of the second embodiment, configuring the 1D convolutional neural network to detect abnormality includes configuring the 1D convolutional neural network to detect an ectopic beat.
In the apparatus of the second embodiment, the 1D convolution neural network is configured to perform a plurality of back-propagation iterations, and to update weights and bias sensitivities of the 1D convolution neural network for each back-propagation iteration.
In the apparatus of the second embodiment, training the 1D convolutional neural network includes training using patient-specific data patterns and global data patterns, and the patient-specific data pattern includes a duration of beats from the patient.
According to a third embodiment, a computer program can be embodied on a non-transitory computer readable medium. The computer readable medium having instructions stored thereon that, when executed by a computer, causes the computer to perform the method of the first embodiment.
According to a fourth embodiment, a method can include receiving patient-specific data of a patient. The method can also include inputting the patient-specific data to an input layer of a 1D convolutional neural network. The 1D convolutional neural network has been trained. The method can also include detecting an abnormality within the patient-specific data using the trained 1D convolutional neural network.
In the method of the fourth embodiment, receiving patient-specific data includes receiving electrocardiogram data of the patient.
In the method of the fourth embodiment, the method can also include processing the received patient-specific data. The processing includes detecting beats of the electrocardiogram data.
In the method of the fourth embodiment, detecting an abnormality includes detecting an ectopic beat.
In the method of the fourth embodiment, the 1D convolution neural network is configured to perform a plurality of back-propagation iterations, and to update weights and bias sensitivities of the 1D convolution neural network for each back-propagation iteration.
In the method of the fourth embodiment, the 1D convolutional neural network is trained using patient-specific data patterns and global data patterns, and the patient-specific data pattern comprises a duration of beats from the patient.
According to a fifth embodiment, an apparatus can include at least one processor. The apparatus can also include at least one memory including computer program code. The at least one memory and the computer program code can be configured, with the at least one processor, to cause the apparatus at least to receive patient-specific data of a patient. The apparatus can also be caused to input the patient-specific data to an input layer of a 1D convolutional neural network. The 1D convolutional neural network has been trained. The apparatus can also be caused to detect an abnormality within the patient-specific data using the trained 1D convolutional neural network.
In the apparatus of the fifth embodiment, receiving patient-specific data includes receiving electrocardiogram data of the patient.
In the apparatus of the fifth embodiment, the apparatus is further caused to process the received patient-specific data. The processing includes detecting beats of the electrocardiogram data.
In the apparatus of the fifth embodiment, detecting an abnormality includes detecting an ectopic beat.
In the apparatus of the fifth embodiment, the 1D convolution neural network is configured to perform a plurality of back-propagation iterations, and to update weights and bias sensitivities of the 1D convolution neural network for each back-propagation iteration.
In the apparatus of the fifth embodiment, the 1D convolutional neural network is trained using patient-specific data patterns and global data patterns, and the patient-specific data pattern includes a duration of beats from the patient.
According to a sixth embodiment, a computer program can be embodied on a non-transitory computer readable medium, said computer readable medium having instructions stored thereon that, when executed by a computer, causes the computer to perform the method of the fourth embodiment.
For proper understanding of the invention, reference should be made to the accompanying drawings, wherein:
Certain embodiments of the present invention relate to performing real-time, patient-specific, feature classification on electrocardiogram data by using 1D convolutional neural networks. By using 1D convolutional neural networks, certain embodiments may implement a fast and accurate system for performing patient-specific classification and monitoring of electrocardiogram (ECG) data, as described in more detail below.
Certain embodiments of the present invention use an adaptive implementation of 1D Convolutional Neural Networks (CNNs) that combine two major functions of ECG classification into a single learning body. Specifically, the single learning body can perform both the functions of feature extraction and classification.
With certain embodiments, for each patient with corresponding ECG data, an individual and simple CNN may be trained. The individual and simple CNN can be trained by using a relatively small amount of common training data and patient-specific training data. Upon training the individual and simple CNN to have a patient-specific feature extraction ability, certain embodiments can provide improved classification performance, as described in more detail below.
Certain embodiments can eliminate the need to perform extraction based on manually-configured features. Once a dedicated 1D CNN is trained for a particular patient, the dedicated CNN can be used to perform feature classification on a long ECG data stream in a fast and accurate manner. Certain embodiments can also be used to perform real-time ECG monitoring, and certain embodiments can implement an early-alert system on light-weight wearable devices, as described in more detail below.
The results achieved by certain embodiments of the present invention demonstrate a superior classification performance, as compared to the previous approaches. For example, when certain embodiments are applied to the Massachusetts Institute of Technology—Beth Israel Hospital (MIT-BIH) arrhythmia benchmark database, these embodiments demonstrate superior performance when performing detection of ventricular ectopic beats (VEB) and supraventricular ectopic beats (SVEB), as compared to the previous approaches.
Finally, due to the simple and parameter-invariant nature of certain embodiments, these embodiments can be highly generic and can be applicable to any ECG dataset, as described in more detail below.
The current methods for performing generic and fully-automatic electrocardiogram (ECG) classification use different signal-processing techniques. In general, these current method have not performed well, as a result of variations which exist in ECG data/signals across different patients. As a result of the variations within the ECG data/signals across different patients, the current approaches usually exhibit a common drawback of performing inconsistently when performing feature classification of a new patient's ECG signal, for example. This inconsistent performance of the current approaches makes the current approaches unreliable when they are used widely across different patients, and the current approaches tend to exhibit high variation in their accuracy and efficiency when the current approaches are used on data of larger databases.
As described above, patient-specific ECG classification systems generally use an approach that performs two major operations: (1) feature extraction, and (2) training/classification over the extracted features. These efficacy of the ECG classification is strongly dependent on the characterization power of the features extracted from the ECG data.
The current approaches generally use fixed and manually-configured features to perform ECG classification. However, using the fixed and manually-configured features of the current approaches may not properly represent the characteristics of the underlying ECG signal, and using the fixed and manually-configured features of the current approaches is contrary to the philosophy of a “patient-specific” approach, because a same set of features is used for all patients when using the fixed and manually-configured features of the current approaches.
A truly “patient-specific” solution should have a design that includes the best features for each individual ECG data. Such features should represent the characteristics of the patient's ECG beats in an optimal way and thus yield the highest level of discrimination among the ECG beat categories. However, if the fixed and manually-configured features of the current approaches are not used, then the performing of the extraction of several features (along with the performing of post-processing methods) may significantly increase the computational complexity of the overall process. In particular, performing the extraction of several features in the transform domains can increase the computational complexity. One example of a post-processing method that may increase computational complexity is principal component access (PCA).
This increased amount of computational complexity may render certain extracting/post-processing methods unusable in lightweight applications, and the increased computational complexity may also render certain extracting/post-processing methods unusable for performing classification on large ECG records. Lightweight applications may include mobile applications and/or applications of wearable health-monitoring devices, for example. Large ECG records may include records corresponding to Holter registers, for example.
In order to address the above-described deficiencies and drawbacks, certain embodiments are directed to an ECG classification approach that uses adaptive 1D Convolutional Neural Networks (CNNs), as described above. CNNs are generally considered to be hierarchical neural networks whose convolutional layers alternate with subsampling layers. CNNs may be configured to resemble simple and complex cells of a human visual cortex. CNNs may include fully-connected layers, which may resemble multi-layer perceptrons (MLP).
CNNs may mimic the human visual system, and CNNs can be used to efficiently recognize patterns and structures (e.g., objects) in a visual scenery. CNNs may also be used for “deep learning” tasks, such as object recognition within images contained within large archives.
Certain embodiments may be applied to 1D ECG signals, in particular, for the purpose of performing ECG classification and for performing anomaly detection. As described above, certain embodiments are directed to an adaptation over the traditional CNNs, and certain embodiments of the present invention may allow a user to classify each heart beat (of ECG signals) with any sampling rate, thereby eliminating the need for performing any manual-feature extraction and any post-processing.
With proper training, the convolutional layers of CNNs can learn to extract patient-specific features, while multilayer perceptron (MLP) layers may perform a classification task in order to produce final class vectors for each beat. Each class vector is an n-dimensional vector and has a 1-of-n encoding scheme. Therefore, the location of the positive output, “1”, determines the class of the beat that was the input of the CNN.
Certain embodiments demonstrate that using simple CNNs is generally sufficient for achieving good classification performance. Specifically, certain embodiments demonstrate that using complex CNNs (that are commonly used for deep-learning tasks) is generally unnecessary.
By using simple 1D CNNs, certain embodiments can achieve benefits that generally cannot be achieved when using complex CNNs. For example, simple 1D CNNs are easier to train, as they generally can be trained with only a few dozen back-propagation (BP) epochs. The trained simple 1D CNNs can perform the classification tasks at a high rate (i.e., classification tasks may require only few hundred 1D convolutions).
As described above, the data that is used for training an individual patient's classifier may include, at least, global training patterns (that are common to each patient) and local training patterns (that are patient-specific). The patient-specific data may contain a segment (such as a first five-minute segment) of each patient's ECG record, and can be used as a part of the training data to perform patient adaptation. The global data set contains a relatively small number of representative beats which can be randomly chosen from each class in the training files. With certain embodiments, the global data set can help the classifier to learn arrhythmia patterns that are not included in the patient-specific data.
With certain embodiments, adaptive 1D CNNs can be used for performing both feature extraction and classification of raw ECG data, for each individual patient in a database.
With certain embodiments, 1D forward propagation (FP) can be expressed as:
Where xlk is the input, blk is the bias of the kth neuron at layer l, and sl-1i is the output of the ith neuron at layer l−1. wl-1ik is the kernel (weight) from the ith neuron at layer l−1 to the kth neuron at layer l. With such a configuration, the number of hidden CNN layers can be set to any number. Setting the number of hidden CNN layers is possible because the sub-sampling factor of the output CNN layer (the hidden CNN layer just before the first MLP layer) can be set to the dimensions of its input map. For example, in
Besides the sub-sampling, the dimension of the input maps will gradually decrease due to the convolution without zero padding. In the example of
With regard to back-propagation (BP) steps, the BP of the error starts from the MLP output layer. Let l=1 and l=L be the input and output layers, respectively. The error in the output layer can be written as:
For an input vector p, and its corresponding output vector, [yL1, . . . , yLNL], certain embodiments determine the derivative of this error with respect to an individual weight (connected to that neuron, k) Wl-1ik, and a bias of the neuron k, blk, so that certain embodiments can perform a gradient descent method to minimize the error, accordingly. Once all the delta errors in each MLP layer are determined by the BP, then weights and biases of each neuron can be updated by the gradient descent method.
Specifically, the delta of the kth neuron at layer l, Δlk, will be used to update the bias of that neuron and all weights of the neurons in the previous layer connected to that neuron, as:
So, from the input MLP layer to the output CNN layer, the regular (scalar) BP can be simply performed as,
Once the first BP is performed from the next layer, l+1, to the current layer, l, then certain embodiments can further back-propagate it to the input delta, Δlk. Letting zero order up-sampled map be: uslk=up(Δslk), then:
where β=(ss)−1, because each element of slk was obtained by averaging ss number of elements of the intermediate output, ylk. The inter-BP (among CNN layers) of the delta error
can be expressed as,
where rev(.) reverses the array and conv1Dz(.,.) performs full convolution in 1D with K−1 zero padding. Finally, the weight and bias sensitivities can be expressed as,
In view of the above, certain embodiments may use simple CNNs to perform real-time ECG monitoring and to implement an early-alert system on lightweight devices.
Certain embodiments are able to achieve a high level of robust performance, even though variations may exist in the dataset to which the embodiments are applied. Certain embodiments are able to achieve a higher level of robust performance because certain embodiments may be designed with a smaller set of parameters and manual settings. Certain embodiments may use a smaller set of parameters and a smaller set of manual settings because certain embodiments may implement a combined learner for performing feature extraction and for performing classification.
Certain embodiments of the present invention can be used in personal ECG monitors and personal-computing applications. Certain embodiments can perform as an automated anomaly-detection system and classification system for cardiologists and other experts in the relevant fields.
Apparatus 10 further includes a memory 14, coupled to processor 22, for storing information and instructions that may be executed by processor 22. Memory 14 may be one or more memories and of any type suitable to the local application environment, and may be implemented using any suitable volatile or nonvolatile data storage technology such as a semiconductor-based memory device, a magnetic memory device and system, an optical memory device and system, fixed memory, and removable memory. For example, memory 14 can be comprised of any combination of random access memory (“RAM”), read only memory (“ROM”), static storage such as a magnetic or optical disk, or any other type of non-transitory machine or computer readable media. The instructions stored in memory 14 may include program instructions or computer program code that, when executed by processor 22, enable the apparatus 10 to perform tasks as described herein.
Apparatus 10 may also include one or more antennas (not shown) for transmitting and receiving signals and/or data to and from apparatus 10. Apparatus 10 may further include a transceiver 28 that modulates information on to a carrier waveform for transmission by the antenna(s) and demodulates information received via the antenna(s) for further processing by other elements of apparatus 10. In other embodiments, transceiver 28 may be capable of transmitting and receiving signals or data directly.
Processor 22 may perform functions associated with the operation of apparatus 10 including, without limitation, precoding of antenna gain/phase parameters, encoding and decoding of individual bits forming a communication message, formatting of information, and overall control of the apparatus 10, including processes related to management of communication resources.
In an embodiment, memory 14 stores software modules that provide functionality when executed by processor 22. The modules may include an operating system 15 that provides operating system functionality for apparatus 10. The memory may also store one or more functional modules 18, such as an application or program, to provide additional functionality for apparatus 10. The components of apparatus 10 may be implemented in hardware, or as any suitable combination of hardware and software.
With certain embodiments, apparatus 10 may be configured to receive patient-specific data of a patient. Apparatus 10 can also be configured to input the patient-specific data into an input layer of a 1D convolutional neural network. Apparatus 10 can also be configured to input labels corresponding to the patient-specific data into an output layer of the 1D convolutional neural network. Apparatus 10 can also be configured to train the 1D convolutional neural network with the inputted patient-specific data and labels. The 1D convolutional neural network is configured to detect abnormality within patient-specific data.
With certain embodiments, apparatus 10 may be configured to receive patient-specific data of a patient. Apparatus 10 can also be configured to input the patient-specific data to an input layer of a 1D convolutional neural network. The 1D convolutional neural network has been trained. Apparatus 10 can also be configured to detect an abnormality within the patient-specific data using the trained 1D convolutional neural network.
The described features, advantages, and characteristics of the invention may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize that the invention may be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the invention.
One having ordinary skill in the art will readily understand that the invention as discussed above may be practiced with steps in a different order, and/or with hardware elements in configurations which are different than those which are disclosed. Therefore, although the invention has been described based upon these preferred embodiments, it would be apparent to those of skill in the art that certain modifications, variations, and alternative constructions would be apparent, while remaining within the spirit and scope of the invention.