1. Field of the Invention
This invention relates to an optical operation apparatus for carrying out an operation for finding an inner product of a first vector and a second vector by utilizing light.
2. Description of the Prior Art
Optical waves have important features that they enable parallel information transfer and parallel information processing. These features of optical waves match the needs in the field of information processing in recent years, and there has arisen a tendency in the field of information processing toward increased use of optical operation techniques. Therefore, recently, extensive research has been carried out in order to form new information processing systems utilizing optical waves as the media. The new information processing systems aim at carrying out various operations in parallel on very large amounts of numerical information and thus quickly carrying out large amounts of operations. Such information processing systems are referred to as optical computing systems or optical computers.
Examples of basic operation techniques utilizing light include multiplications carried out by modulating light, spatial integrations utilizing optical elements, such as lenses, and additions carried out with temporal integrations utilizing a storage type of detector. In particular, research has been carried out from old times in order to conduct real-time vector-matrix multiplications with a spatial integration method. With the technique for carrying out the real-time vector-matrix multiplications, a vector-matrix multiplication is carried out in the same manner as that in the actual mathematics. At this time, the multiplication is carried out with the modulation of optical intensity, and the addition is carried out with the converging effects (the spatial integration effects) of lenses.
The vector-matrix multiplication can be represented by a simple formula. However, the vector-matrix multiplication is a basic operation for solving various scientific and technological problems and is one of primary numerical operations to be carried out with computers. The vector-matrix multiplication is applicable to a wide variety of fields, such as linear algebraic operations using difference equations, partial differential equations, and the like, operations for finding least square solutions, deconvolution, problems of eigen values and eigen vectors of matrixes, calculations with the method of least squares, signal processing, image processing, and neural networks. In particular, in the fields of the computational physics, images, and control, two- and three-dimensional correlation problems are processed frequently. In such cases, the number of elements of matrixes becomes very large and, even if super computers are utilized, considerable time and expenses are required to carry out the operations.
FIG. 32 is an explanatory view showing the concept behind a vector-matrix multiplication with a spatial integration method. In FIG. 32, lenses, and the like, are not shown. Values of components of a vector I are given as an optical intensity distribution to the positions of I.sub.1, I.sub.2, and I.sub.3. Also, a two-dimensional spatial light modulator, which represents a multiplicand matrix W, is utilized. Values of components of the matrix W are given by power transmittances of small openings (i.e., picture elements) of the spatial light modulator. The light, which represents the vector I, is uniformly spread in the vertical direction and irradiated to the spatial light modulator W. At this time, with respect to the horizontal direction, the vector I and the matrix W have an image formation relationship. The transmittance of the small opening, which corresponds to a position (i,j) in the spatial light modulator, is proportional to W.sub.ij. The intensity of the light, which has passed through the small opening corresponding to the position (i,j), is proportional to the product I.sub.i W.sub.ij. The light, which has passed through the spatial light modulator, is converged with respect to the horizontal direction and forms an image with respect to the vertical direction. Therefore, the optical intensity at a position j on an output wave front is proportional to the value of O.sub.j (i.e., the j component of the product). Specifically, vectors O.sub.1,O.sub.2, and O.sub.3, which are the results of the multiplications, are obtained as optical intensity distributions at the positions O.sub.1, O.sub.2, and O.sub.3 in FIG. 32.
Typical examples of the vector-matrix multiplication apparatuses of this type include a Stanford processor, which has been proposed by Prof. J. W. Goodman, Stanford University, et al. With the proposed Stanford processor, a vector I is given by an optical intensity distribution of light radiated from an LED array, and a matrix W is given by a transmittance distribution of a two-dimensional spatial light modulator. The Stanford processor has the features described below.
(a) Operations can be carried out very quickly. In cases where the number of matrix elements is equal to 100.times.100 and the response frequencies of a light source and a detector are equal to 100 MHz, 10.sup.12 times of product sum operations per second can be carried out.
(b) All of operations are carried out in parallel. This feature is enabled by the utilization of light and represents, particularly, the importance and effects of optical operations.
(c) The apparatus is operable with incoherent light. Therefore, less noise occurs due to dust, or the like, than noise occurring with an optical information processing apparatus, which utilizes coherent light.
However, it has been pointed out that the Stanford processor has the drawbacks described below.
(a) Only the real numbers other than negative numbers can be dealt with. This is because operations are based upon the optical intensity and the light transmittance. Therefore, in cases where signed values and complex numbers are to be dealt with, encoding processes must be carried out, or a plurality of operation apparatuses must be used.
(b) The accuracy cannot be kept high. This generally applies to analog processors.
(c) The matrix W is approximately fixed. This is because the response speeds of most of the currently developed two-dimensional spatial light modulators are on the order of milliseconds and are thus markedly slower than the response speeds of the light source and the detector. Therefore, the Stanford processor is not suitable for applications in which it is necessary to quickly alter matrix values.
Among the above-enumerated drawbacks, the drawback in that only the real numbers other than negative numbers can be dealt with is very inconvenient to most of the application fields described above. For example, this drawback is very inconvenient to an optical neural network, which has attracted particular attention as a field of application of the vector-matrix multiplication.
How a neural network operates will be described hereinbelow.
The neural network is an information processing model, which simulates the excellent information processing functions of a living body. The neural network comprises a very large number of neuron elements (i.e., neural cell elements), which are interconnected with various levels of strengths. Signals are transmitted through the neural circuit, and information processing is thereby carried out in parallel.
FIG. 33 is an explanatory view showing a Hopfield model, which is one of typical neural network models. With reference to FIG. 33, neuron outputs U.sub.j of a next step are determined with the formula shown below from neuron outputs V.sub.i and a neuron connection matrix T.sub.ij. The outputs U.sub.j are again used as inputs, and the signal processing is iterated recurrently until the outputs reach the stable state. In the formula shown below, I.sub.j represents the threshold value. ##EQU1##
The state of each neuron element may be taken as the value of a vector element, and the strength of the connection between the neurons may be taken as the value of the element of the matrix. In such cases, the operation of the neural network is equivalent to the iterated execution of the vector-matrix multiplication.
From the aforesaid point of view, extensive research has been carried out in order to form an optical neural network by an optical vector-matrix multiplication apparatus. Typically, a novel technique has been proposed by a group of D. Psaltis, et al. of University of California. The technique is described in "Optical Implementation of the Hopfield Model" by Nabil H. Farhat, Demetri Psaltis, Aluizio Prata, and Eung Paek, APPL. OPT., Vol. 24, No. 10, 1469, 1985.
FIGS. 34 and 35 are explanatory views showing a constitution for optical implementation of the Hopfield model proposed by D. Psaltis, et al. It will be understood that the part for executing the optical vector-matrix multiplication is based on the same principle as the principle of the Stanford processor described above. However, it is essentially necessary for a neural network to be provided with an inhibitory neuron connection. Therefore, D. Psaltis, et al. employed a method wherein two sets of Stanford processors are located side by side. One of the Stanford processors is employed for the excitatory connection, and the other Stanford processor is employed for the inhibitory connection. Vector-matrix multiplications are independently carried out by the two sets of the Stanford processors, and thereafter the outputs of the Stanford processors are electrically subtracted from each other. In this manner, the inhibitory neuron connection, which is necessary for an optical neural network, is implemented.
As described above, the technique for carrying out the real-time optical multiplication of a vector and a matrix with the spatial integration method, typically with the Stanford processor, has the advantages with regard to simpleness, anti-noise characteristics, quick operations, and perfect parallel operations. However, a value is expressed by an optical intensity, the problems occur in that negative values cannot be dealt with and in that subtraction cannot be carried out. Such problems constitute obstacles to the application to an optical neural network and various numeric calculations.
As in the method proposed by D. Psaltis, et al., if two optical systems are employed to work respectively for a negative value and a positive value, it becomes possible to deal with a negative value. However, in such cases, the size of the apparatus is doubled and cannot be kept small.
Also, in cases where two optical systems are used, the problems occurs in that it is difficult for values in the vicinity of zero to be expressed accurately and smoothly. This is because, with the method proposed by D. Psaltis, et al., the range from a negative value to zero is covered by one of the two optical systems, and the range from zero to a positive value is covered by the other optical system. Therefore, it becomes necessary for a light modulating medium, which is used in order to express a matrix value by each optical system, to have optical characteristics such that the light transmittance may rise immediately and linearly from zero. However, actually, in most light modulating media, saturation characteristics are exhibited and the linearity becomes bad as the transmittance becomes closer to zero. Also, with the light modulating media which are currently available, it is not always possible to set the transmittance to be exactly zero, and the problems with regard to leak light occur inevitably.
Further, such that values can be expressed with good linearity over a wide range from a negative value to a positive value, it is necessary to restrict fluctuations in the characteristics of light emitting devices, such as LED's, fluctuations in the transmittance characteristics of light modulating media, fluctuations in the sensor sensitivity, and the like, between the two optical systems.
As described above, the technique for utilizing the two optical systems has various practical problems.