Multi-layer Perceptron (MLP)