A perceptron is a basic model of an artificial neuron that can be used as a binary classifier. A single layer perceptron introduced by Rosenblatt in 1957 uses a step activation function to classify inputs into two classes. It can only handle linearly separable problems with a binary target. The bias helps shift the activation function and the weights are adjusted during training to correctly classify inputs. A multi-layer perceptron can handle non-linear problems using hidden layers between the input and output layers.