There are many many kinds of NNs by now.
Nobody knows exactly how many.
Below is a collection of some of the most well known methods, not claiming to be complete. The two main kinds of learning algorithms are supervised and unsupervised. After training, the NN is tested by giving it only input values, not target values, and seeing how close it comes to outputting the correct target values. In unsupervised learning, the NN is not provided with the correct results during training. Unsupervised NNs usually perform some kind of data compression, such as dimensionality reduction or clustering.