1. A programmable multilayer neural network comprising: weight storing means for storing a weight of each synapse to perform a predetermined function; interfacing means for transmitting the weight of each synapse stored in said storing means to each synapse; and multilayer neural network means for receiving the weight of each synapse from said weight storing means via said interfacing means and for outputting an output, said multilayer neural network means including an array of synapses, each synapse having a synapse PMOS transistor including multiple PMOS transistors for making the weight of the synapse positive, each of said multiple PMOS transistors representing a predetermined weight value, a synapse NMOS transistor including multiple NMOS transistors for making the weight of the synapse negative, each of said multiple NMOS transistors representing a predetermined weight value, and means for selecting specific ones of said multiple PMOS transistors or said multiple NMOS transistors for making the weight.