Neural networks explained