Neuro-computer

Abstract: A neuro-computer (3) adapted to be connected with both an input device (1) and a general computer (2), which is capable of calculating the output function values for each of input values with a limited storage capacity includes a unit connected to the general computer for storing the first output function values corresponding to the first input values from the input device, a unit connected to the input device for quantizing the second input values received from the input device and for calculating a difference between the second input values and the first input values, and a unit connected to both the storage unit and the quantization unit for computing the second output function values corresponding to the second input values on a basis of the calculated difference between the second input values and the first input values and on a basis of the first output function values stored in the storage unit. The storage unit is adapted to use the general computer for calculating the output function values so that the calculated the second output function values are stored in the storage unit in a form of a function table.

Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a neuro-computer in which a mathematical model of the nerve cells of a brain is used. 2. Description of the Related Art In general, neuro-computers are formed by mathematically modeling the nerve cells of a brain. Each of the nerve cells of a brain is a single cell entirely surrounded by a continuous cell membrane. A nerve cell is composed of a section of the main body called a cell body, a section called a dendrite made up of a large number of projections projecting in a tree-like form from the main body, and a section made up of one long fiber called an axon. Each section has its own information processing function. The dendrite receives the input signal, the cell body processes the input signal, and the axon outputs the output signal. The axons spread into many branches at midway, and each of terminals thereof are connected to the dendrites (or to the surface of the cell body) of the other nerve cells, and these connected portions are called synapses. That is, the output information of one cell body is transmitted to the other cell bodies via the synapses. The cell body is enclosed by a cell membrane, and an inside of the cell body is capable of having an electrical potential which differs from that of the outside, and usually the electrical potential of the inside of the cell body is lower than that of the outside. In particular, at a time when the electrical potential of the outside of the cell body is set to be zero, the electrical potential of the inside of a cell body is called the film potential, and at a time when there is no input signal to the cell body the film potential is called the static film potential. When an input signal is input to the cell body, the film potential varies, and the film potential becomes higher than the static film potential. When the film potential exceeds a predetermined threshold value, the cell body becomes active and the film potential rises sharply, and thereafter the film potential drops rapidly and returns its original potential value. This is called an impulse of the cell body. As the result of the impulse, an electrical pulse is generated from the cell body, and the generated electrical pulse is transmitted through an axon to a synapse which is a connection point with the other cell bodies. A conventional neuro-computer has problems in that a large amount of storage capacity is required because all the values of a sigmoid function corresponding to the individual input values are stored in memory as a function table, and a neural net LSI (Large-Scale Integrated circuits) known as a neural chip which has a small amount of storage capacity cannot be used, and as a consequence a sigmoid function cannot be calculated with high accuracy. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, vol. 6, no. 2, April 1989, Duluth, Mn US, pages 291-330; GHOSH: 'Mapping Neural Networks onto message passing multicomputers' discloses modelling of connectivity patterns in large neural networks. A distributed memory organisation is developed for simulating asynchronous, value-passing connectionist models. The volume of messages that need to be exchanged among physical processors are estimated for simulating the physical connections of a NN. The transfer function is implemented by a lookup-table. The internal state of a cell is also implemented using a lookup-table. SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a neuro-computer which is capable of calculating the value of a sigmoid function for each of input values with high accuracy by using a neural chip having a small amount of storage capacity. An object of the present invention can be achieved by a neuro-computer adapted to be connected with both an input device and a general computer, which is capable of calculating values of an output function for each of input values with a limited storage capacity as set out in claim 1. Preferably, the storage unit is adapted to use the general computer for calculating the values of the output function so that the calculated values of the second output function are stored in the storage unit in a form of a function table. Further preferably, the first output function is a sigmoid function ø(s) with the ø(s) being represented in a form of with x i representing the input values and w i representing weights which represents an amount of connection efficiency of a synapse corresponding to each of the input values x i , and n is the dimension of input vector. More preferably, the second output function is a sigmoid function ø (|x|) which is represented in the second order Taylor expansion form of ø (|x|) ≈ ø ( x ) + Δ·ø ( x ) ·[1-ø( x )] + Δ 2 2! ø( x )·[1-ø( x )]·[1-2ø( x )]. with x = (A/N)n which is equivalent to the input value of one of the sigmoid functions in the function table stored in the storage unit, A representing a maximum value of the input value x, N representing the number of partition, and Δ representing by Δ = |x| - x . The storage unit is preferably a memory having a sufficient capacity for storing the values of the second output function. The quantization unit is preferably an arithmetic device which is capable of judging the input values being positive or negative, and which is adapted to transmitting the judged result to the computing unit. The arithmetic device is capable of calculating absolute values of the input values, preferably. The computing unit is preferably a microprocessor which is adapted to calculate the values of the output function by using a difference between the second input values and the first input values with referring to the function table stored in the storage unit. According to the present invention, a storage unit stores a first output function value corresponding to a first input value. A quantization unit quantizes a second input value and calculates the difference between the second input value and the first input value. A computing unit receives the difference between the second input value and the first input value from the quantization unit which receives the first output function value stored in the storage unit from the storage unit, and computes the second output function value corresponding to the second input value in accordance with the calculated difference and the first output function value. According to the neuro-computer of the present invention, the neuro-computer is equipped with a computing unit for computing the second output function value corresponding to the second input value on the basis of a difference in input values quantized by a quantization unit and the first output function value corresponding to the first input value, thereby a desired second output function value can be computed by using the limited number of the first output function values. As a result, a neural chip having a small amount of storage capacity becomes useful in memory. Further objects and advantages of the present invention will be apparent from the following description, reference being had to the accompanying drawings wherein preferred embodiments of the present invention are clearly shown. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 shows an arrangement of the neuro-computer according to the embodiment of the present invention; Fig. 2 is a flowchart showing a sigmoid function computation process according to an embodiment of a neuro-computer of the present invention; Fig. 3 schematically shows a mathematical model in a neural network which can be used in the neuro-computer of the present invention; Fig. 4 shows an output profile of a sigmoid function; Fig. 5 is a view partially explaining the sigmoid function of Fig. 4. DESCRIPTION OF THE PREFERRED EMBODIMENT The embodiment of the present invention will be explained in detail hereinunder with reference to the accompanying drawings. The arrangement of the neuro-computer according to this embodiment is shown in Fig. 1. The flow of each of the steps for calculating a sigmoid function in the neuro-computer of Fig. 1 is shown in the flowchart of Fig. 2. An input device 1 and a general computer 2 are connected with a neuro-computer 3 which is composed of a memory 4 connected to the general computer 2 serving as a storage unit, an arithmetic device 5 connected to the input device 1 serving as a quantization unit, and a microprocessor 6 connected to both the arithmetic device 5 and the memory 4 serving as a computation unit. As a mathematical model for the neuron cells of a brain, a mathematical model called a McCulloch-Pitts type formal neuron (or a threshold element) is known. Fig. 3 shows a McCulloch-Pitts type neuron. A neuro-computer which uses this neuron is formed of an information processing element with multiple inputs - one output. When n inputs of input signals to a unit are denoted as a weight (load) representing the amount of connection efficiency of a synapse corresponding to each of the n inputs is denoted as and denoting a threshold value as , then the output (signal) value y from the unit can be expressed as where and ø(s) is the output function of the unit. Regarding with a formal neuron, the sigmoid function 1/(1+e -s ) is often used for the output function ø(s), as shown in Fig. 4. The calculation process of the sigmoid function is shown in Fig. 2. The calculation of the sigmoid function ø(s) starts with determining a use purpose of the neuro-computer 3 (step S1). Upon the purpose of the neuro-computer 3 is determined, the next step is to determine an accuracy Ep of the sigmoid function ø(s) which indicates an allowable error range in the sigmoid function in order to determine the purpose of the neuro-computer 3 by the input device 1 (step S2). When the accuracy E P is determined, then the next step is to determine a maximum value A of the input values x in the range in order to determine the range that the input value x of the sigmoid function ø(s) can take on the basis of the accuracy E P (step S3). Here, the maximum value A can be determined from the following relational equation: E P ≥ [1 - ø(A P )] = 1 - 1 1 + e -A P that is, A P ≥ log e - 1 + E P E P A ≥ A P and the maximum value A is an integer. When the maximum value A is determined, then the next step is to determine the number of the partition N in order to evenly divide the input values x (step S4). The number of partition N is determined by the following equation: E P ≥ 1 24 3 A N P That is, N P ≥ (24E P ) 1/3 ·A N ≥ N P , and the number of partition N is an integer. Upon the determination of the maximum value A and the number of partition N by the above-mentioned method, both the values A and N are input from the input device 1. As shown in Fig. 5, a value A/N, which is obtained by dividing the maximum value A of the input values x by the number of partition N, becomes an interval value between respective divided input values x. The number of the sigmoid function is N+1 in all. Respective sigmoid functions are calculated by means of the general computer 2 which is disposed on the outside and connected therewith (step S5). Each of the calculated sigmoid functions is stored in the memory 4 of the neuro-computer 3 from the general computer 2 as a function table (step S6). Furthermore, the input device 1 transmits the input value x to the arithmetic device 5 of the neuro-computer 3 (step S7). The arithmetic device 5 judges the input value x has the plus or minus sign, and transmits the judged result to the microprocessor 6, and computes the absolute value of the input value x (step S8). The next step is to determine the value n in accordance with the division interval of the evenly divided A, of which the absolute value |x| belongs to, by the computing unit 5, from the relational equation of A N n ≤ |x| < A N (n+1) where n=0, 1, 2, ...... , N-1(step S9). For example, when the absolute value |x| belongs to a division interval between A N 2 and A N 3, then n = 2. When the value of n is determined, x is determined from x = A N n (step S10). As is apparent from the above relational equation, x is equivalent to the input value of one sigmoid function in the function table stored in the memory 4. After that, the difference Δ between the absolute value |x| and the computed value x is determined from the following equation: Δ = |x| - x (step S11). The process of computing a sigmoid function ø(x) for any input value x by the microprocessor 6, with using the results obtained at each stage as mentioned above, will be described in detail below. A general equation f(x+a) is expressed by the Taylor expansion as f(x+a) = f(x) + af'(x) + a 2 2! f" (x) + a 3 3! f"' (x + a) where 0 <  < 1, then ø(|x|) can be expressed by the Taylor expansion as ø(|x|) = ø( x + Δ) = ø( x ) + Δø' ( x ) + Δ 2 2! ø" ( x ) + Δ 3 3! ø"' ( x + Δ). Furthermore, in the above equation, ø'( x ) = ø( x ) · [1 - ø( x )] ø"( x ) = {ø( x ) · [1 - ø( x )]}' = ø( x ) · [1 - ø( x )] · [1 - 2ø( x )] ø"'( x ) = ø( x ) · [1 - ø( x )] · [1 - 6ø( x )] + 6[ø( x )] 2 }. An approximation can be made by using the Taylor expansion up to the second order as follows: ø(|x|) ≈ ø( x ) + Δ · ø( x ) · [1-ø( x )] + Δ 2 2! ø( x ) · [1-ø( x )] · [1-2ø( x )]. In the above equation, ø( x ) is a sigmoid function corresponding to the input value x , which has already been stored in the memory 4 as one sigmoid function in the function table. Therefore, ø(|x|) can be computed easily by the microprocessor 6 with referring to the function table in the memory 4 and using the difference Δ in input values (step S12). In the case where the second order Taylor expansion is used, an error E r is expressed as E r = Δ 3 3! ø "' ( x + Δ) = Δ 3 3! ø ( x + Δ) · [1-ø( x + Δ)] · {1-6ø ( x + Δ) + 6 [ø ( x + Δ) 2 }. An approximation can be made as E r ≤ 1 24 Δ 3 from |ø( x + Δ) [1 - ø( x + Δ)]| ≤ 1/4 and {1 - 6ø( x + Δ) + 6[ø( x + Δ)] 2 } ≤ 1. Furthermore, from the relational equation of Δ 3 ≤ ( A N ) 3 , the following relation holds: 1 24 Δ 3 ≤ 1 24 ( A N ) 3 = E P . Therefore, E r ≤ E P . The error E r of the sigmoid function determined by an approximation calculation indicates a value smaller than the set error value E P . As in the following examples in the case where A = 10, N = 2 7 = 128, E r ≤ 1 24 ( 10 128 ) 3 ≈ 1.99 × 10 -5 , in the case where A = 10, N = 2 8 = 256, E r ≤ 1 24 ( 10 256 ) 3 ≈ 0.248 × 10 -5 , E r indicates a very small error value. When the input value x is larger than the maximum value A, i.e., x ≥ A, in a case that the maximum value A is taken to be a sufficiently large value, a sigmoid function ø (A) becomes and approaches to a limit value 1. Therefore, an approximation can be made as ø (x) ≈ ø (A). When the data, which indicates that the sign of the input value x is minus, is received from the arithmetic device 5, a desired sigmoid function ø (x) corresponding to the input value x can be computed by substituting a sigmoid function ø( x ) computed by an approximation calculation for a relational equation ø (x) = 1 - ø( x ). When the data, which indicates that the sign of the input value x is plus, is received from the arithmetic device 5, a desired sigmoid function ø (x) can be obtained by a relational equation ø (x) = ø ( x ) from the computed sigmoid function ø ( x ) (step S13). The computed sigmoid function ø (x) and the first-order derivative ø'(x) can be used in a supervised learning algorithm called a back propagation algorithm. Many widely different embodiments of the present invention may be constructed without departing from the scope of the appended claims. It should be understood that the present invention is not limited to the specific embodiments described in this specification, except as defined in the appended claims.

Claims: A neuro-computer (3) adapted to be connected with both an input device (1) and a general computer (2), which is capable of calculating values of an output sigmoid function for each of input values with a limited storage capacity of a neural chip, said neuro-computer comprising: means (4) connected to said general computer (2) for storing values of a first output function corresponding to first input values (|x|) from said input device (1), said storing means being adapted to use said general computer (2) for calculating said values of said first output function ( x ) so that said calculated values of said first output function are stored in said storage means in a form of a function table; where and Θ denotes a threshold value said neuro-computer being characterized by : means (5) connected to said input device for quantizing second input values (|x|) received from said input device and for calculating a difference (Δ = |x|- x ) between said values of the said second input and said values of the said first input; and means (6) connected to both said storage means and said quantization means for computing values of a second output function ((|x|)) corresponding to said second input values (|x|) on a basis of said calculated difference (Δ = |x|- x ) between the said second input values and said first input values and on a basis of said first output function values (( x )) stored in said function table created within said storage means, whereby said first output function is a sigmoid function ø(s) with the ø(s) being represented in a form of with x i representing said input values and w i representing weights which represent an amount of connection efficiency of a synapse corresponding to each of said input values x i , where n is the dimension of input vector x, and said second output function is a sigmoid function ø (|x|) which is represented in the second order Taylor expansion form of ø (|x|) ≈ ø ( x ) + Δ · ø ( x ) · [1-ø ( x )] + Δ 2 2! ø ( x ) · [1-ø ( x )] · [1-2ø( x )] with x = (A/N)n equivalent to said input value of one of said first sigmoid functions in said function table stored in said storage means, with A representing a maximum value of said input value x, N representing a divisor, and Δ = |x| - x |x| being the absolute value, x being the computed value. The neuro-computer according to claim 1, wherein said storage means (4) is a memory having a sufficient capacity for storing said second output function values ((|x|)). The neuro-computer according to claim 1, wherein said quantization means (5) is an arithmetic device which is capable of judging said input values being positive or negative, and which is adapted to transmitting said judged result to said computing means (6). The neuro-computer according to claim 3, wherein said quantization means (5) is capable of calculating absolute values (|x|) of said input values. The neuro-computer according to claim 1, wherein said computing means (6) is a microprocessor which is adapted to calculate said second output function values by using a difference between said second input values and said first input values with referring to said function table stored in said storage means.

Inventors: FUNAHASHI KENICHI, FUNAHASHI, KENICHI
Applicants: SHARP KK, SHARP KABUSHIKI KAISHA
Application year: 1990
Main classification: G06F15
IPC codes: G06F15, G06N3, G06N99