Optimization of deep learning algorithms for large digital data processing using evolutionary neural networks
Embodiments of the present disclosure relate to neural networks for processing large digital datasets. Neural networks comprise both a convolutional neural network (CNN) and a recurrent neural network (RNN). The neural networks are optimized by applying genetic algorithms. Embedding vectors are processed by both the CNN and the RNN to produce a merged output.
1 . A method comprising:
initializing a first plurality of neural networks;
training the first plurality of neural networks on training data,
wherein the training data comprises artificial first electronic health records (EHRs) generated by combining elements of patient EHRs, and
wherein the first EHRs comprise patient demographics, medical diagnoses, medication information, laboratory test results, and medical imaging;
determining performance metrics, each of the performance metrics corresponding to a respective neural network of the first plurality of neural networks,
wherein each of the performance metrics is based on accuracy of the respective neural network;
selecting a subset of the first plurality of neural networks based on the performance metrics;
selecting a first neural network from the subset and a second neural network from the subset,
wherein the first neural network comprises a first convolutional neural network (CNN) and a first long short-term memory (LSTM) network, and
wherein the second neural network comprises a second CNN and a second LSTM network;
forming a third neural network, wherein forming the third neural network comprises (a) selecting weights of the first CNN, selecting weights of the second CNN, and forming a third CNN of the third neural network at least in part from the selected weights of the first CNN and the second CNN and (b) selecting weights of the first LSTM network, selecting weights of the second LSTM network, and forming a third LSTM network of the third neural network at least in part from the selected weights of the first LSTM network and the second LSTM network;
providing, to the third neural network, a plurality of embedding vectors generated from second EHRs;
processing, by the third CNN, a first subset of the embedding vectors, thereby producing a first output of the third CNN, wherein the third LSTM network does not process the first output of the third CNN;
processing, by the third CNN, a second subset of the embedding vectors, thereby producing a second output of the third CNN;
processing, by the third LSTM network, the second output of the third CNN, thereby producing an output of the third LSTM network;
combining the first output of the third CNN with the output of the third LSTM network, thereby producing a merged output;
classifying the second EHRs based on the merged output;
receiving a medical diagnosis for a patient, the patient corresponding to the second EHRs; and
generating a disease-progression prediction for the patient based on the medical diagnosis and the classification of the second EHRs.
2 . The method of claim 1 , further comprising:
determining that a convergence criterion has been satisfied based at least in part on an accuracy of the classification of the second EHRs.
3 . The method of claim 1 , further comprising applying random variations to weights of the third neural network.
4 . The method of claim 1 , wherein each of the first CNN, the second CNN, and the third CNN is a respective two-dimensional CNN.
5 . The method of claim 1 , wherein the first neural network and the second neural network are randomly selected from the subset.
6 . A system comprising:
a processor; and
memory storing instructions that, when executed by the processor, cause the processor to:
initialize a first plurality of neural networks;
train the first plurality of neural networks on training data,
wherein the training data comprises artificial first electronic health records (EHRs) generated by combining elements of patient EHRs, and
wherein the first EHRs comprise patient demographics, medical diagnoses, medication information, laboratory test results, and medical imaging;
determine performance metrics, each of the performance metrics corresponding to a respective neural network of the first plurality of neural networks,
wherein each of the performance metrics is based on accuracy of the respective neural network;
select a subset of the first plurality of neural networks based on the performance metrics;
select a first neural network from the subset and a second neural network from the subset,
wherein the first neural network comprises a first convolutional neural network (CNN) and a first long short-term memory (LSTM) network, and
wherein the second neural network comprises a second CNN and a second LSTM network;
form a third neural network, wherein forming the third neural network comprises (a) selecting weights of the first CNN, selecting weights of the second CNN, and forming a third CNN of the third neural network at least in part from the selected weights of the first CNN and the second CNN and (b) selecting weights of the first LSTM network, selecting weights of the second LSTM network, and forming a third LSTM network of the third neural network at least in part from the selected weights of the first LSTM network and the second LSTM network;
provide, to the third neural network, a plurality of embedding vectors generated from second EHRs;
process, by the third CNN, a first subset of the embedding vectors, thereby producing a first output of the third CNN, wherein the third LSTM network does not process the first output of the third CNN;
process, by the third CNN, a second subset of the embedding vectors, thereby producing a second output of the third CNN;
process, by the third LSTM network, the second output of the third CNN, thereby producing an output of the third LSTM network;
combine the first output of the third CNN with the output of the third LSTM network, thereby producing a merged output;
classify the second EHRs based on the merged output;
receive a medical diagnosis for a patient, the patient corresponding to the second EHRs; and
generate a disease-progression prediction for the patient based on the medical diagnosis and the classification of the second EHRs.
7 . A non-transitory computer readable medium having instructions thereon, the instructions, when executed by a computer, causing the computer to perform operations comprising:
initializing a first plurality of neural networks;
training the first plurality of neural networks on training data,
wherein the training data comprises artificial first electronic health records (EHRs) generated by combining elements of patient EHRs, and
wherein the first EHRs comprise patient demographics, medical diagnoses, medication information, laboratory test results, and medical imaging;
determining performance metrics, each of the performance metrics corresponding to a respective neural network of the first plurality of neural networks,
wherein each of the performance metrics is based on accuracy of the respective neural network;
selecting a subset of the first plurality of neural networks based on the performance metrics;
selecting a first neural network from the subset and a second neural network from the subset,
wherein the first neural network comprises a first convolutional neural network (CNN) and a first long short-term memory (LSTM) network, and
wherein the second neural network comprises a second CNN and a second LSTM network;
forming a third neural network, wherein forming the third neural network comprises (a) selecting weights of the first CNN, selecting weights of the second CNN, and forming a third CNN of the third neural network at least in part from the selected weights of the first CNN and the second CNN and (b) selecting weights of the first LSTM network, selecting weights of the second LSTM network, and forming a third LSTM network of the third neural network at least in part from the selected weights of the first LSTM network and the second LSTM network;
providing, to the third neural network, a plurality of embedding vectors generated from second EHRs;
processing, by the third CNN, a first subset of the embedding vectors, thereby producing a first output of the third CNN, wherein the third LSTM network does not process the first output of the third CNN;
processing, by the third CNN, a second subset of the embedding vectors, thereby producing a second output of the third CNN;
processing, by the third LSTM network, the second output of the third CNN, thereby producing an output of the third LSTM network;
combining the first output of the third CNN with the output of the third LSTM network, thereby producing a merged output;
classifying the second EHRs based on the merged output;
receiving a medical diagnosis for a patient, the patient corresponding to the second EHRs; and
generating a disease-progression prediction for the patient based on the medical diagnosis and the classification of the second EHRs.
8 . The method of claim 1 , wherein the merged output is based on a maximum of the first output of the third CNN and the output of the third LSTM network.
9 . The system of claim 6 , wherein the merged output is based on a maximum of the first output of the third CNN and the output of the third LSTM network.
10 . The medium of claim 7 , wherein the merged output is based on a maximum of the first output of the third CNN and the output of the third LSTM network.