Multi-Layer Neural Networks