A neural network is a type of machine learning approach used for generating data or predicting labels.
The example in the figure below depicts a simple neural network with an input layer on the left that takes three binary ("yes"/"no") input values and outputs a binary prediction ("Is Dog"). The network uses three features ("Sharp teeth", "furry", "Woof") to compute the target ("Is Dog"). In the figure, the table to the right contains feature values that have known targets, and because the answers are known, these data can be used as training data to train the network.
Jargon alert: the next paragraph provides short definitions and simple context for many of the most common terms.
In between the input and output layers of the figure are two, fully connected layers, also known as hidden layers. Each hidden layer in the figure has 4 nodes, or neurons, also known as perceptrons. A neural network can have any number of hidden layers, and each hidden layer can have any number of neurons. Each node in a fully connected layer will be connected to every node in the adjacent layer. Each neuron represents a very simple activation function ("f" in the figure) with which the neuron passes through the inputs from all the connections to create a single output value. In practice, the activation function is predetermined and identical for every node in every hidden layer. Each input connection has an associated weight value that determines how much influence that input neuron's output will have. The weights are where the magic happens - unlike the activation function, all the weights in the neural network are learned through training or fitting the neural network to data with known answers; we say we are fitting a neural network when we use software to predict outcomes from input data, check the answers, and adjust the weights repeatedly until the answers are mostly correct.
Importantly, the output value of any neuron in the figure will be the sum of all the weighted input neuron values, passed through the activation function.
For simplicity in this example, we depict two hidden layers, each with the same width, but neural networks with only one hidden layer can work very well, and if this network had more than one hidden layer, often the best performance would come from would decreasing size from left to right. Commonly, scientific articles refer to the output layer as the top layer, which can be replaced to transfer learning to a new problem.
That's it, that's what neural network means. Wow! You learned a lot! And what you learned is so powerful, because given enough data and compute power, these little gems can model just about any relationship between features and targets, no matter how complex. The trick is in the architecture (that is, the layers, activation functions, and connectivity of the nodes) and the training, but once that's done well the neural network can be reused to solve similar problems.
This article talks about classification problems, but if you build two neural network to fight against each other, you can also make them into designers! This is calld a Generative Adversarial Network (GAN), and its comprised of two neural networks: one learns to classify real data from fake data given labeled fakes, and the other classifies good fakes from bad fakes given labeled data from the first neural network. Creative neural networks open up new opportunities for identifying new drug and drug target candidates. This is just one example of the many possibilities and directions one can go in the field of neural network design.