1. A self-learning multi-layer neural network comprising: a first neural network means for receiving an N-bit input data corresponding to the respective bits of a desired M-bit output data to perform a first learning and includes synapse groups equal to the number of bits of said M-bit output data for outputting the result of the first learning; second through N-th neural network means, each for receiving said N-bit input data and output signals of a preceding neural network to perform a respective second through N-th learning and each second through N-th neural network means including as many synapse groups as the number of bits of said M-bit output data for outputting the result of the respective second through N-th learning; control means for supplying the input data to said first through N-th neural network means to repeat the first through N-th learning by a maximum repetition number; wherein each synapse of said synapse groups includes excitatory synapse PMOS transistor means for increasing the weight value, inhibitory synapse NMOS transistor means coupled to said excitatory synapse PMOS transistor means for decreasing the weight value and wherein each synapse has a predetermined number of different weight values; and a plurality of error detector means, one of said error dectector means associated with each of said synapse groups, each of said error detector means configured for receiving the output signals of its respective synapse group, for receiveing a desired output signal, for determining whether the received output signal of the respective synapse group equals the desired output signal, and for increasing or decreasing the weight value of its respective synapse group if the received output signal does not equal the desired output signal.