1. A computer-implemented method for using machine learning to detect malicious code, the method comprising: reviewing, with a convolutional neural network, a sequence of chunks into which an input is divided, the reviewing comprising optimizing a navigation through the input to at least classify the input; examining, using a recurrent neural network in series with the convolutional neural network, at least some of the sequence of chunks to determine how to progress through the sequence of chunks; summarizing a state of the at least some of the chunks examined using the recurrent neural network to form an output, the output comprising a classification of the input, the classification being indicative of a likelihood that the input includes malicious code; calculating a difference between the output and a desired target output, the difference being interpreted as an error in the classification of the input; and backpropagating the difference back through a plurality of hidden states to update model parameters, the model parameters being updated to at least minimize the error in the classification of the input.