A NN consists of a series of hidden layers corresponding to weight matrices followed by non-linear activation functions. The process of forward propagating the input along the hidden layers via matrix multiplication is repeated until a final output layer is reached, which makes a prediction. The weight matrices are trained by gradient descent on the loss of the output; this technique is called backward propagation. Our NN architecture is a fully-connected NN, also known as a multilayer perceptron, that takes the Morgan fingerprint bits as input and does not use the molecular graph structure. Our implementation uses Keras 73 with the Theano backend 74 and the Adam optimizer. The NN hyperparameters involve varying the learning rate, drop out, number of hidden layers, number of hidden units, and activation functions (Tables and).