Neural network processing system using semiconductor memories
First Claim
1. A data processing system comprising:
- first memory means for storing first data;
second memory means for storing first weight data and second weight data;
input/output circuit means for writing said first data into said first memory means, reading said first data from said first memory means, writing said first and second weight data into said second memory means and reading said first and second weight data from said second memory means;
register means for storing said first data read out from said first memory means;
arithmetic circuit means for calculating calculation data from said first data stored in said register means and said first weight data read out from said second memory means; and
,control circuitry means for controlling said first and second memory means, said register means, said arithmetic circuit means and said input/output circuit means to calculate next data from said first data read out from said register means and said second weight data read out from said second memory means while said calculation data calculated by said arithmetic circuit means is written into said first memory means.
1 Assignment
0 Petitions
Accused Products
Abstract
Herein disclosed is a data processing system having a memory packaged therein for realizing a large-scale and high-speed parallel distributed processing and, especially, a data processing system for the neural network processing. The neural network processing system according to the present invention comprises: a memory circuit for storing neuron output values, connection weights, the desired values of outputs, and data necessary for learning; and input/output circuit for writing or reading data in or out of said memory circuit; a processing circuit for performing a processing for determining the neuron outputs such as the product, sum and nonlinear conversion of the data stored in said memory circuit, a comparison of the output value and its desired value, and a processing necessary for learning; and a control circuit for controlling the operations of said memory circuit, said input/output circuit and said processing circuit. The processing circuit is constructed to include at least one of an adder, a multiplier, a nonlinear transfer function circuit and a comparator so that at least a portion of the processing necessary for determining the neutron output values such as the product or sum may be accomplished in parallel. Moreover, these circuits are shared among a plurality of neutrons and are operated in a time sharing manner to determine the plural neuron output values. Still moreover, the aforementioned comparator compares the neuron output value determined and the desired value of the otuput in parallel.
58 Citations
10 Claims
-
1. A data processing system comprising:
-
first memory means for storing first data; second memory means for storing first weight data and second weight data; input/output circuit means for writing said first data into said first memory means, reading said first data from said first memory means, writing said first and second weight data into said second memory means and reading said first and second weight data from said second memory means; register means for storing said first data read out from said first memory means; arithmetic circuit means for calculating calculation data from said first data stored in said register means and said first weight data read out from said second memory means; and
,control circuitry means for controlling said first and second memory means, said register means, said arithmetic circuit means and said input/output circuit means to calculate next data from said first data read out from said register means and said second weight data read out from said second memory means while said calculation data calculated by said arithmetic circuit means is written into said first memory means. - View Dependent Claims (2, 3, 4)
-
-
5. A method of calculating neuron output values of an sth ordinal layer of a multi-layered neural network having m ordered layers where s≦
- m, on a processing apparatus having a first memory storing neuron output values, a second memory storing correction weights, a register, an arithmetic circuit for performing a calculation, and an input/output circuit connecting the first memory, second memory, register and the arithmetic circuit, the method comprising the steps of;
a) reading neuron output values of the (s-1)th ordinal layer from the first memory; b) latching the read neuron output values of the (s-1)th layer into the register; c) reading a first connection weight between the neurons of the (s-1)th layer and a first neuron of the sth layer; d) calculating an output value of the first neuron of the sth layer with the arithmetic circuit using the first connection weight and the latched output values of the (s-1)th layer; e) simultaneously i) writing the calculated output value of the first neuron of the sth layer to the first memory and ii) reading a second connection weight between the neurons of the (s-1)th layer and a second neuron of the sth layer and calculating an output value of the second neuron of the sth layer with the arithmetic circuit using the second connection weight and the latched output values of the (s-1)th layer; and
,f) repeating step e) for all neurons of the sth layer. - View Dependent Claims (6, 7)
- m, on a processing apparatus having a first memory storing neuron output values, a second memory storing correction weights, a register, an arithmetic circuit for performing a calculation, and an input/output circuit connecting the first memory, second memory, register and the arithmetic circuit, the method comprising the steps of;
-
8. A method of calculating neuron output values of a multi-layer neural network on a processing apparatus having a first memory storing neuron output values, a second memory storing correction weights, a register, an arithmetic circuit for performing a calculation, and an input/output circuit connecting the first memory, second memory, register and the arithmetic circuit, the method comprising the steps of:
-
a) reading neuron output values of a (s-1)th layer from the first memory; b) latching the read neuron output values of the (s-1)th layer into the register; c) reading a first connection weight between the neurons of the (s-1)th layer and a first neuron of the sth layer; d) calculating an output value of the first neuron of the sth layer with the arithmetic circuit using the first connection weight and the latched output values of the (s-1)th layer; e) simultaneously i) writing the calculated output value of the first neuron of the sth layer to the first memory and ii) reading a second connection weight between the neurons of the (s-1)th layer and a second neuron of the sth layer and calculating an output value of the second neuron of the sth layer with the arithmetic circuit using the second connection weight and the latched output values of the (s-1)th layer; f) repeating step e) for all neurons of the sth layer; and
,g) repeating steps a)-f) for each of the layers of the multi-layer neural network. - View Dependent Claims (9, 10)
-
Specification