Perceptron is intended to be a machine, rather than a program, and while its first implementation was in software for the IBM 704, it is subsequently implemented in custom-built hardware as the “Mark 1 perceptron”. This machine was designed for image recognition: it had an array of 400 photocells, randomly connected to the “neurons”. Weights were encoded in potentiometers, and weight updates during learning were performed by electric motors. Perceptron initially seemed promising, it was quickly proved that perceptrons could not be trained to recognise many classes of patterns.