Understanding neural networks