Optical computing chip and optical computing device
By generating multi-angle discrete optical signals in an optical computing chip and merging them into the same detector for calculation, the problem of low efficiency in convolution calculation in existing technologies is solved, and fast and efficient convolution calculation is achieved.
Patent Information
- Application Number
- CN202010421892.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-05-18
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2040-05-18
AI Technical Summary
Due to the limited number of MZI modulators within the chip, existing optical computing chips are inefficient when performing convolution calculations, especially when there is a large amount of input data in the input matrix, requiring multiple calculations and resulting in a long processing time.
Multiple discrete optical signals are generated by the optical signal transmission module. The optical signals at the same angle are sent to the same detector using the first modulator array and the beam combiner. The detector array calculates the total light intensity and completes the convolution calculation in one operation.
It enables fast convolution calculations without decomposing the data matrix, thus improving computational efficiency.
Smart Images

Figure CN113688353B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of optical computing, and in particular, to an optical computing chip and an optical computing device. BACKGROUND
[0002] With the rapid development of optical integration technology, multiple optical devices can be integrated in a chip. Through processing of optical signals by the multiple optical devices, mathematical calculation can be achieved, that is, optical computing is performed.
[0003] For example, a chip including a Mach-Zehnder interferometer (MZI) modulation array can be used for convolution calculation. In the convolution process between an input matrix and a weight matrix, the convolution process can be split into multiplication and addition calculations between multiple input data and multiple weights. Each MZI modulator in the MZI modulation array can implement the product of one input data and one weight by modulating the input optical signal. A controller in the chip can sum the products implemented by the multiple MZI modulators, and thus can implement the multiplication and addition calculations between the multiple input data and the multiple weights to obtain the convolution result between the input matrix and the weight matrix.
[0004] Due to the limited number of MZI modulators in the MZI modulation array in the chip, the number of products that can be calculated by the MZI modulation array at a time is limited. When there are many input data in the input matrix, multiple optical computations need to be performed on the chip by the MZI modulation array to obtain all the products involved in the convolution process. The controller can obtain the final convolution result according to all the products involved in the convolution process, thereby resulting in a long time for the convolution calculation process and low efficiency of the convolution calculation. SUMMARY
[0005] Embodiments of the present application provide an optical computing chip and an optical computing device, which can improve the efficiency of convolution calculation. The technical solution is as follows:
[0006] In a first aspect, an optical computing chip is provided, which includes an optical signal emitting module, a first modulator array, a beam combiner, and a detector array. The optical signal emitting module is configured to generate a plurality of angularly discrete first optical signals for each data in a first data matrix; the first modulator array includes a plurality of first modulators, each of which is configured to receive one of the first optical signals for at least two data in the first data matrix and output a plurality of second optical signals according to data in a second data matrix modulated on the first modulator, wherein each of the plurality of second optical signals is configured to indicate a product of one data in the first data matrix and one data in the second data matrix; the beam combiner is configured to receive the plurality of second optical signals output by the first modulator array and send the plurality of second optical signals to a plurality of detectors in the detector array, wherein the plurality of second optical signals entering the beam combiner from the same angle are sent to the same detector; and the detector array includes the plurality of detectors, which are configured to obtain a calculation result according to total light intensity of the plurality of second optical signals received by the plurality of detectors, wherein the calculation result is configured to indicate a convolution calculation result of the first data matrix and the second data matrix.
[0007] The optical computing chip emits a plurality of angularly discrete first optical signals for each data in a first data matrix through an optical signal emitting module, outputs a plurality of angularly discrete second optical signals according to data in a second data matrix modulated by a first modulator array, sends the plurality of second optical signals entering the beam combiner from the same angle to the same detector through a beam combiner, and obtains a convolution calculation result of the first data matrix and the second data matrix according to total light intensity of the plurality of second optical signals received by a plurality of detectors in a detector array. The optical computing chip provided in the embodiment of the present application can perform the convolution calculation between the first data matrix and the second data matrix at the speed of light only once without decomposing the convolution calculation process of the first data matrix and the second data matrix to perform multiple calculations, thereby shortening the time for implementing the convolution calculation process and improving the efficiency of the convolution calculation.
[0008] In a possible implementation, the total light intensity of the plurality of second optical signals received by one detector in the detector array is configured to indicate a sum of products of data indicated by the plurality of second optical signals received by the detector.
[0009] In a possible implementation, the optical signal emitting module includes:
[0010] a light emitting array including a plurality of optical signal emitters, each of which is configured to generate a fourth optical signal according to one data in the first data matrix;
[0011] a light splitting array, configured to receive the fourth light signal of each data in the first data matrix, split each received fourth light signal to obtain a plurality of angle-dispersed first light signals of one data, and output the obtained plurality of angle-dispersed first light signals.
[0012] In a possible implementation, the light signal emitting module comprises:
[0013] a surface light source, configured to emit a target light signal;
[0014] a second modulator array, comprising a plurality of second modulators, each second modulator being configured to receive the target light signal and output a fourth light signal according to data in the first data matrix modulated on the second modulator;
[0015] a light splitting array, configured to receive the fourth light signal output by each second modulator, split each received fourth light signal to obtain a plurality of angle-dispersed first light signals of one data, and output the obtained plurality of angle-dispersed first light signals.
[0016] In a possible implementation, the light splitting array comprises a plurality of light splitting components.
[0017] Each light splitting component is configured to receive the fourth light signal of one data in the first data matrix, split the received fourth light signal to obtain a plurality of angle-dispersed first light signals of one data, and output the obtained plurality of angle-dispersed first light signals.
[0018] In a possible implementation, the chip further comprises:
[0019] a microlens array, comprising a plurality of microlenses, a center of each microlens being located on a line between at least one emission center of the light splitting array and a center of at least one first modulator;
[0020] Each microlens is configured to receive the first light signal output by the at least one emission center, converge each received first light signal, and transmit the converged first light signal.
[0021] In a second aspect, an optical computing device is provided, which comprises a processor and any chip provided in the first aspect.
[0022] The processor is configured to obtain a first data matrix and a second data matrix, send the first data matrix and the second data matrix to the chip, and receive a convolution calculation result of the first data matrix and the second data matrix sent by the chip. BRIEF DESCRIPTION OF DRAWINGS
[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort.
[0024] Figure 1 is a structural schematic diagram of an optical computing chip provided by an embodiment of the present application;
[0025] Figure 2 is a schematic diagram of a convolution calculation process provided by an embodiment of the present application;
[0026] Figure 3 is a schematic diagram of an optical signal transmitting module provided by an embodiment of the present application;
[0027] Figure 4 is a first optical signal transmitting schematic diagram provided by an embodiment of the present application;
[0028] Figure 5 is a schematic diagram of a reflection type beam combiner provided by an embodiment of the present application;
[0029] Figure 6 is a schematic diagram of an interconnection type beam combiner provided by an embodiment of the present application;
[0030] Figure 7 is a schematic diagram of an optical computing device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0031] In order to make the purpose, technical solutions and advantages of the present application more clear, the embodiments of the present application will be further described in detail below with reference to the drawings.
[0032] Figure 1 is a structural schematic diagram of an optical computing chip provided by an embodiment of the present application, referring to Figure 1 , the optical computing chip 100 comprises:
[0033] The optical signal transmitting module 101 is configured to generate a plurality of angularly discrete first optical signals according to each data in a first data matrix.
[0034] The first modulator array 102 comprises a plurality of first modulators 1021, each of which is configured to receive a first optical signal of at least two data in the first data matrix, and output a plurality of second optical signals according to data in a second data matrix modulated on the first modulator 1021, wherein each of the plurality of second optical signals is used to indicate the product of one data in the first data matrix and one data in the second data matrix.
[0035] a combiner 103, configured to receive the plurality of second light signals output by the first modulator array 102, and send the plurality of second light signals to a plurality of detectors 1041 in a detector array 104, wherein the plurality of second light signals entering the combiner 103 from the same angle are sent to the same detector 1041;
[0036] the detector array 104, comprising a plurality of detectors 1041, configured to obtain a calculation result according to total light intensity of the plurality of second light signals received by the plurality of detectors 1041, wherein the calculation result is used to indicate a convolution calculation result of the first data matrix and the second data matrix.
[0037] The chip 100 can be used to perform convolution calculation on the first data matrix and the second data matrix. When the first data matrix is composed of input data, the first data matrix is also an input matrix. When the first data matrix is composed of weights, the first data matrix is also a convolution kernel. When the second data matrix is composed of input data, the second data matrix is also an input matrix. When the second data matrix is composed of weights, the second data matrix is also a convolution kernel. The input data in the input matrix can be any type of data, which can be image data, audio data or text data. The type and form of the input data in the input matrix are not limited in the embodiments of the present application. Each data in the first data matrix is greater than or equal to 0, and each data in the second data matrix is greater than or equal to 0. It should be noted that the embodiments of the present application take the first data matrix as the input matrix and the second data matrix as the convolution kernel as an example for description.
[0038] The plurality of angle-discrete first light signals of one data in the first data matrix can be regarded as a light signal group. Each first light signal in the light signal group is used to indicate the same data in the first data matrix, and the light intensity of each first light signal is proportional to the data. The light intensity of each first light signal in the light signal group can be the same or different, as long as the light intensity of each first light signal in the light signal group is the same when reaching the first modulator array 102, so as to ensure that each first light signal in the light signal group received by the first modulator array 102 can indicate the same data. The light intensity of a light signal is also the light emitting intensity of the light signal.
[0039] The arrangement of the multiple optical signal groups output by the optical signal transmitting module 101 is the same as the arrangement of the data in the first data matrix. For example, if the first data matrix is A = [a1, a2], then the optical signal transmitting module 101 can transmit two optical signal groups, which are arranged in a row. Each first optical signal in the first optical signal group is used to indicate data a1, and each first optical signal in the second optical signal group is used to indicate data a2.
[0040] The convolution calculation process between the first and second data matrices can include multiple sliding processes. After each sliding process, the second data matrix performs a convolution sub-operation, and the convolution sub-results of each operation are combined to form a convolution result matrix, which is also the convolution result of the first and second data matrices. For example... Figure 2 The diagram shown in this application illustrates a convolution calculation process. Taking a first data matrix A = [a1, a2] and a second data matrix B = [b1, b2, b3], with a sliding step of 1 for the first data matrix A, the process of convolution calculation on the first data matrix A and the second data matrix B involves the first data matrix A sliding 4 times on the second data matrix B, and the second data matrix B performing 4 convolution operations. Specifically, after the first data matrix A slides once on the second data matrix B, the second data matrix B performs the first convolution operation [a2*b1 = LR(1)]; the first data matrix A then slides to the right once more on the second data matrix B, and the second data matrix B performs the second convolution operation [a1*b1 + a2 ... b2=LR(2)];The first data matrix A slides to the right once more on the second data matrix B, and the second data matrix B performs the third convolution operation [a1*b2+a2*b3=LR(3)];The first data matrix A slides to the right once more on the second data matrix B, and the second data matrix B performs the fourth convolution operation [a1*b3=LR(4)];Where LR(1), LR(2), LR(3) and LR(4) are the results of the four convolution operations performed on the second data matrix B, which are the convolution results of the four convolution operations. The convolution result matrix composed of LR(1), LR(2), LR(3) and LR(4) is also the result of the convolution calculation of the first data matrix A and the second data matrix B.
[0041] In an optical signal group, each first optical signal is a discrete optical signal with multiple angles, meaning that the emission angles of each first optical signal in the group are different. Each emission angle corresponds to one convolution operation performed on the second data matrix; that is, each emission angle of the first optical signal corresponds to one sliding process of the first data matrix on the second data matrix. It should be noted that the same convolution operation corresponds to the same emission angle, while different convolution operations correspond to different emission angles. This application does not specifically limit the emission angle corresponding to each convolution operation. (The last sentence appears to be a repetition of the previous one and can be omitted.) Figure 2 Based on this, taking the four convolution operations performed by the second data matrix B as examples corresponding to emission angles of 30 degrees, 60 degrees, 90 degrees, and 120 degrees, a group of optical signals used to indicate data a1 can include four first optical signals with emission angles of 30 degrees, 60 degrees, 90 degrees, and 120 degrees, respectively. Among them, 30 degrees corresponds to the first convolution operation performed by the second data matrix B, 60 degrees corresponds to the second convolution operation performed by the second data matrix B, 90 degrees corresponds to the third convolution operation performed by the second data matrix B, and 120 degrees corresponds to the fourth convolution operation performed by the second data matrix B.
[0042] The arrangement of the first modulators 1021 in the first modulator array 102 is the same as the arrangement of the data in the second data matrix. Each first modulator 1021 corresponds to a data point in the second data matrix. A first electrical signal controlling each first modulator 1021 is used to indicate the data point corresponding to each first modulator 1021. Taking the second data matrix B as an example... Figure 1The first modulator array 102 includes a first modulator 1021 in a row of 1 and a column of 3. The first modulator 1021 in the first column corresponds to data b1 in the second data matrix B. The first modulator 1021 in the second column corresponds to data b2 in the second data matrix B. The first modulator 1021 in the third column corresponds to data b3 in the second data matrix B. One second optical signal corresponds to one first optical signal. The second optical signal is an optical signal modulated by the first modulator 1021 corresponding to the first optical signal. The emission angle of the second optical signal is the same as that of the corresponding first optical signal. That is, the first modulator 1021 modulates the first optical signal without changing the emission angle of the first optical signal, but only changes the light intensity of the first optical signal. Since the first electrical signal input into one first modulator 1021 is used to indicate one data in the second input matrix, and the first optical signal is used to indicate one data in the first data matrix, the first modulator 1021 can modulate the first optical signal based on the first electrical signal indicating one data in the second input matrix. The obtained second optical signal can be used to indicate the product of one data in the first data matrix and one data in the second input matrix. Since one emission angle corresponds to one convolution sub-operation process of the second data matrix, and one second optical signal is used to indicate the product of one data in the first data matrix and the first data in the second data matrix, and each first modulator 1021 can modulate multiple first optical signals, the purpose of multiplexing one first modulator 1021 can be achieved.
[0043] The beam combiner 103 sends multiple second optical signals entering the beam combiner 103 from the same angle to the same detector 1041, so that the detector 1041 can detect the total light intensity of the multiple second optical signals. The total light intensity can be used to indicate the sum of the products of the data indicated by the multiple second optical signals, that is, the convolution sub-result of one convolution sub-operation of the second data matrix. The multiple total light intensities detected by the multiple detectors 1041 can be used to indicate the convolution calculation result of the first data matrix and the second data matrix.
[0044] In order to further illustrate the specific structure of each part of the chip 100 and the working principle of each part, please refer to the contents in 1.1-1.4 below.
[0045] 1.1, optical signal emitting module 101
[0046] In a possible implementation, the optical signal emitting module 101 includes:
[0047] The light emitting array 1011 includes multiple optical signal emitters 1011a. Each optical signal emitter 1011a is configured to generate a fourth optical signal according to one data in the first data matrix.
[0048] The spectrometer array 1012 is configured to receive the fourth optical signal of each data in the first data matrix, and to spectrometer each received fourth optical signal to obtain a plurality of angle-dispersed first optical signals of one data, and to output the obtained plurality of angle-dispersed first optical signals.
[0049] In the embodiment, the arrangement of the optical signal emitters 1011a in the light-emitting array 1011 is the same as the arrangement of the data in the first data matrix, and each optical signal emitter 1011a corresponds to one data in the first data matrix. For example, referring to the first data matrix A, the first column of optical signal emitters 1011a in the light-emitting array 1011 can correspond to the data a1, and the second column of optical signal emitters 1011a in the light-emitting array 1011 can correspond to the data a2. Figure 1 In the embodiment, the arrangement of the optical signal emitters 1011a in the light-emitting array 1011 is the same as the arrangement of the data in the first data matrix, and each optical signal emitter 1011a corresponds to one data in the first data matrix. For example, referring to the first data matrix A, the first column of optical signal emitters 1011a in the light-emitting array 1011 can correspond to the data a1, and the second column of optical signal emitters 1011a in the light-emitting array 1011 can correspond to the data a2.
[0050] The plane on which the light-emitting array 1011 is located can be parallel to the plane on which the spectrometer array 1012 is located, and the fourth optical signal output by each optical signal emitter 1011a is perpendicular to the plane on which the spectrometer array 1012 is located. The light-emitting material used to prepare the light-emitting array 1011 can be a III-V compound, such as a binary, ternary or quaternary compound composed of gallium (Ga), indium (In), aluminum (Al), arsenic (As), phosphorus (P) and antimony (Sb). Different ratios of chemical elements in the compound result in different wavelengths of the optical signal emitted by the prepared light-emitting material, that is, the difference in the material determines the difference in the working wavelength of the light-emitting array 1011.
[0051] In a possible implementation, the light signal emitter 1011a can be a quantum dot laser based on silicon. In a possible implementation, the light emitting array 1011 can also be a vertical cavity surface emitting laser (VCSEL) array, and each light signal emitter 1011a can be a VCSEL. The light emitting array 1011 can also be a vertical emitting light emitting diode (LED) array based on a VCSEL array technology, and the LED in the vertical emitting LED array can be the light signal emitter 1011a.
[0052] In a possible implementation, referring to Figure 3 FIG. 1 shows a schematic diagram of a light signal emitting module according to an embodiment of the present application, Figure 3 The light signal emitting module 101 in FIG. 1 includes:
[0053] a surface light source 1013 configured to emit a target light signal;
[0054] a second modulator array 1014 including a plurality of second modulators 1014a, each second modulator 1014a configured to receive the target light signal and output a fourth light signal according to data in the first data matrix modulated on the second modulator 1014a;
[0055] a light splitting array 1012 configured to receive the fourth light signal output by each second modulator 1014a, split each received fourth light signal, and obtain a plurality of angle-dispersed first light signals of data, and output the obtained plurality of angle-dispersed first light signals.
[0056] The surface light source 1013 can have the same size as the second modulator array 1014. The surface light source 1013 can be a cube, and a light emitting surface of the surface light source 1013 can be parallel to a plane on which the second modulator array 1014 is located. The surface light source 1013 can emit the target light signal to the second modulator array 1014, and the emitted target light signal can be perpendicular to the plane on which the second modulator array 1014 is located.
[0057] The arrangement of the second modulators 1014a in the second modulator array 1014 is the same as the arrangement of the data in the first data matrix. Each second modulator 1014a corresponds to a data in the first data matrix. Taking the first data matrix A as an example, the second modulator array 1014 includes one row and two columns of second modulators 1014a. The second modulator 1014a in the first column can correspond to data a1, and the second modulator 1014a in the second column can correspond to data a2. For any second modulator 1014a, the third electrical signal input to the second modulator 1014a corresponds to the data corresponding to the second modulator 1014a, that is, the third electrical signal corresponds to a first data in the first data matrix. The third electrical signal can also be proportional to the data to achieve the purpose of corresponding to the data. Based on the third electrical signal, the second modulator 1014a modulates the target light signal emitted by the surface light source 1013 to obtain a fourth light signal, which is then vertically emitted into the beam splitter array 1012.
[0058] The beam splitter array 1012 may have the same or different splitting effect on each received optical signal. In one possible implementation, when the beam splitter array 1012 has the same splitting effect on each received fourth optical signal, the total number of first optical signals in a group of optical signals is equal to the number of first targets. That is, the number of first optical signals discrete at multiple angles of a data is the number of first targets. The number of first targets is the total number of times the second data matrix performs convolution operations.
[0059] Still with Figure 2 Taking the convolution calculation process of the first data matrix A and the second data matrix B as an example, the second data matrix B performs 4 convolution sub-operations, so the number of first targets is 4. The beam splitter array 1012 receives the fourth optical signal a1 and the fourth optical signal a2. The fourth optical signal a1 is used to indicate data a1, and the fourth optical signal a2 is used to indicate data a2. The beam splitter array 1012 splits the fourth optical signal a1 to obtain 4 first optical signals (these 4 first optical signals are also a group of optical signals), namely the first optical signals a11-a14. The fourth optical signal a2 is split into four first optical signals (these four first optical signals are also a group of optical signals), namely first optical signals a21-a24. The beam splitter array 1012 transmits the first optical signals a11-a14 and the first optical signals a21-a24 to the first modulator array 102. The transmission angles of the first optical signals a11-a14 are 30 degrees, 60 degrees, 90 degrees and 120 degrees respectively, and the transmission angles of the first optical signals a21-a24 are 30 degrees, 60 degrees, 90 degrees and 120 degrees respectively.
[0060] The first modulator array 102 can also include a plurality of light barriers, each of which is configured to absorb a received first light signal whose indicated data does not participate in the convolution sub-operation corresponding to the emission angle of the absorbed first light signal. The plurality of light barriers can be located between each of the first modulators 1021 in the first modulator array 102, and can also be located outside the first modulator array 102, such as on the left and right sides of the first modulator array 102.
[0061] The light barriers are configured to absorb first light signals that do not participate in the convolution sub-operation. Since each group of light signals includes first light signals whose emission angles correspond to one convolution sub-operation performed by the second data matrix, but for any data in the first data matrix, as the first data matrix slides over the second data matrix, the data can only participate in part of the number of convolution sub-operations performed by the second data matrix, for example Figure 2 In the 4 convolution sub-operations performed by the second data matrix B, data a1 does not participate in the first convolution sub-operation performed by the second data matrix B, but participates in the second to fourth convolution sub-operations performed by the second data matrix B. The first light signal with an emission angle corresponding to the first convolution sub-operation performed by the second data matrix and indicating data a1 can be absorbed by the light barrier to avoid being emitted into the first modulator 1021 participating in the optical calculation and affecting the calculation result. Taking Figure 2 For example, in the first convolution sub-operation performed by the second data matrix, only data a2 and data b1 participate in the calculation, and the first light signal a21 with an emission angle of 30 degrees can be emitted into the first modulator 1021 corresponding to data b1 in the first modulator array 102, so that a2*b1 can be implemented by the first modulator 1021. Data a1 does not participate in the first convolution sub-operation, and the first light signal a11 with an emission angle of 30 degrees is parallel to the first light signal a21 with an emission angle of 30 degrees, and the first light signal a21 has been emitted into the leftmost first modulator 1021 in the first modulator array 102 (i.e., the first modulator 1021 corresponding to data b1). The first light signal a11 with an emission angle of 30 degrees cannot be emitted into the leftmost first modulator 1021, but can be emitted onto the light barrier to the left of the first modulator 1021, and the first light signal a11 is absorbed by the light barrier to avoid the first light signal a11 being emitted into the first modulator 1021 and participating in the optical calculation, thereby affecting the final calculation result. Taking Figure 2For example, in the second convolution sub-operation, the first optical signal a12 with the emission angle of 60 degrees is emitted to the first modulator 1021 corresponding to the data b1 in the first modulator array 102, so that a1*b1 is implemented by the first modulator 1021. The first optical signal a22 with the emission angle of 60 degrees is emitted to the first modulator 1021 corresponding to the data b2 in the first modulator array 102, so that a2*b2 is implemented by the first modulator 1021. For another example, in the third convolution sub-operation, the first optical signal a13 with the emission angle of 90 degrees is emitted to the first modulator 1021 corresponding to the data b1 in the first modulator array 102, so that a1*b1 is implemented by the first modulator 1021. The first optical signal a23 with the emission angle of 90 degrees is emitted to the first modulator 1021 corresponding to the data b2 in the first modulator array 102, so that a2*b2 is implemented by the first modulator 1021. Figure 2 For example, in the fourth convolution sub-operation, the first optical signal a14 with the emission angle of 120 degrees is emitted to the first modulator 1021 corresponding to the data b3 in the first modulator array 102, so that a1*b3 is implemented by the first modulator 1021. The data a2 does not participate in the fourth convolution sub-operation. The first optical signal a14 with the emission angle of 120 degrees and the first optical signal a24 with the emission angle of 120 degrees are parallel light. The first optical signal a14 has been emitted to the first modulator 1021 at the rightmost side of the first modulator array 102 (i.e., the first modulator 1021 corresponding to the data b3). The first optical signal a24 with the emission angle of 120 degrees cannot be emitted to the first modulator 1021 at the rightmost side of the first modulator array 102, but can be emitted to the light blocking plate at the right side of the first modulator 1021. The first optical signal a24 is absorbed by the light blocking plate, so as to avoid the first optical signal a24 from being emitted to the first modulator 1021 and participating in the optical calculation, thereby affecting the final calculation result.
[0062] In a possible implementation, the light splitting array 1012 includes a plurality of light splitting components. Each light splitting component is configured to receive a fourth optical signal of a data in the first data matrix, split the received fourth optical signal, obtain a plurality of angle-dispersed first optical signals of the data, and output the obtained plurality of angle-dispersed first optical signals. The arrangement of the light splitting components in the light splitting array 1012 is the same as the arrangement of the data in the first data matrix, and each light splitting component corresponds to a data in the first data matrix.
[0063] When the light splitting effects of the light splitting array 1012 on different fourth signals are different, the total number of the first optical signals in one optical signal group can also be equal to a second target number, the second target number being the number of times that the data indicated by the optical signal group participates in the convolution sub-operation performed by the second data matrix, that is, the number of the plurality of angle-dispersed first optical signals of one data is the second target number.
[0064] In the convolution calculation of the first data matrix and the second data matrix, any data in the first data matrix can not participate in all convolution sub-operation processes performed by the second data matrix, but as long as the data participates in a convolution sub-operation process performed by the second data matrix, the data must be multiplied by a data in the second data matrix, and therefore, in the convolution calculation of the first data matrix and the second data matrix, the data is at most multiplied by each data in the second data matrix once, and therefore, the second target number is less than or equal to the number of data in the second data matrix. When the number of data in the second data matrix is greater than the number of data in the first data matrix, each data in the first data matrix can be multiplied by each data in the second data matrix once as the first data matrix slides, and therefore, the second target number is equal to the number of data in the second data matrix. Still taking the example of the second data matrix in Table 1, in the 2nd, 3rd and 4th convolution sub-operation processes performed by the second data matrix, the data a1 is multiplied by each data in the second data matrix, respectively, and therefore, the light signal group for indicating the data a1 can include three first light signals, and the emission angles of the three light signals correspond to the 2nd, 3rd and 4th convolution sub-operation processes performed by the second data matrix. Figure 2 When the number of data in the second data matrix is less than the number of data in the first data matrix, each data in the first data matrix can not be multiplied by each data in the second data matrix as the first data matrix slides, that is, each data in the first data matrix can not participate in each convolution sub-operation performed by the second data matrix, and therefore, the second target number is less than the number of data in the second data matrix. For example, the first data matrix includes three rows and three columns of data, the second data matrix includes two rows and two columns of data, and the sliding step is 1, in the convolution calculation of the first data matrix and the second data matrix, the data in the first row and the first column of the first data matrix can only participate in the 1st convolution sub-operation process performed by the second data matrix and can only be multiplied by the data in the first row and the first column of the second data matrix, and therefore, the light signal group for indicating the data in the first row and the first column of the first data matrix can include only one first light signal, and the emission angle of the first light signal corresponds to the 1st convolution sub-operation process.
[0065] When the optical signal transmitting module 101 includes a light-emitting array 1011, one beam splitter corresponds to one optical signal transmitter 1011a. The optical signal transmitter 1011a outputs a fourth optical signal perpendicular to the beam splitter, so that the beam splitter can receive the fourth optical signal output by the optical signal transmitter 1011a and split the fourth optical signal into a group of optical signals. The total number of first optical signals in the group of optical signals can be equal to the number of second targets. When the optical signal transmitting module 101 includes a second modulator array 1014, one beam splitter corresponds to one second modulator 1014a. The second modulator 1014a outputs a fourth optical signal perpendicular to the beam splitter, so that the beam splitter can receive the fourth optical signal output by the second modulator 1014a and split the fourth optical signal into a group of optical signals. The total number of first optical signals in the group of optical signals is equal to the number of second targets. At this time, the number of first optical signals in each optical signal group can be different or the same, so the splitting effect of the beam splitter array 1012 on each fourth optical signal can be the same or different.
[0066] by Figure 2 Based on this, taking a beam splitter array 1012 comprising a 1x2 beam splitter component as an example, the beam splitter array 1012 includes beam splitter component 1 and beam splitter component 2. Beam splitter component 1 splits the fourth optical signal a1 to obtain three first optical signals (i.e., a group of optical signals), namely first optical signals a12-a14. The emission angles of these three first optical signals a12-a14 are 60 degrees, 90 degrees, and 120 degrees, respectively, corresponding to the 2nd to 4th convolution operations performed by the second data matrix. Beam splitter component 2 splits the fourth optical signal a2 to obtain three first optical signals (i.e., a group of optical signals), namely first optical signals a21-a23 (i.e., a group of optical signals). The emission angles of these three first optical signals a22-a23 are 30 degrees, 60 degrees, and 90 degrees, respectively, corresponding to the 1st to 3rd convolution operations performed by the second data matrix.
[0067] The light splitting array 1012 can be implemented by micro-nano structures, for example, two-dimensional micro-nano gratings, super surfaces or micro-lens arrays. When the light splitting array 1012 is a micro-nano structure, if the light splitting effect of the light splitting array 1012 on each fourth light signal is the same, the arrangement of the micro-nano units constituting the light splitting array 1012 is uniform, so that the light splitting assembly can have the same light splitting effect on each fourth light signal. When the light splitting array 1012 includes a plurality of light splitting assemblies, each light splitting assembly can also be implemented by micro-nano structures. Since the data at different positions in the first data matrix participate in the convolution sub-operation performed by the second data matrix different times, the light splitting effects of the plurality of light splitting assemblies on the fourth light signal can be different or the same. For the plurality of light splitting assemblies having the same light splitting effect on the fourth light signal and located at different positions of the light splitting array 1012, the arrangement of the micro-nano units constituting the plurality of light splitting assemblies can be the same, that is, the plurality of light splitting assemblies can be the same, so that the plurality of light splitting assemblies can have the same light splitting effect. For the plurality of light splitting assemblies having different light splitting effects on the fourth light signal and located at different positions of the light splitting array 1012, the arrangement of the micro-nano units constituting the plurality of light splitting assemblies is different, so that the plurality of light splitting assemblies can have different light splitting effects.
[0068] 1.2, the first modulator array 102
[0069] Each first modulator 1021 can generate different transmittance or reflectance according to the intensity of the input first electrical signal, so that the optical signal light intensity of the first optical signal passing through the first modulator 1021 changes, and the second optical signal corresponding to the first optical signal is obtained, to realize the product of the data indicated by the input first electrical signal and the data indicated by the first optical signal. For example, the first modulator array 102 includes 1 row and 3 columns of first modulators, the first modulator 1 is located at the first row and the first column of the first modulator array 102, and the data in the first row and the first column of the second data matrix is 0.8. The first electrical signal corresponding to 0.8 is a voltage of 0.8V. When the first modulator 1 inputs a voltage of 0.8V, 80% transmittance can be generated to the input first optical signal, and the second optical signal is obtained. The optical intensity of the obtained second optical signal is 80% of the optical intensity of the input first optical signal, and the optical intensity of the second optical signal is used to indicate the product of the weight 0.8 and the data indicated by the received first optical signal. For another example, the first modulator 2 is located at the first row and the second column of the first modulator array 102, and the data in the first row and the second column of the second data matrix is 0.6. The first electrical signal corresponding to 0.6 is a voltage of 0.6V. When the first modulator 2 inputs a voltage of 0.6V, 60% transmittance can be generated to the input first optical signal, and the second optical signal is obtained. The optical intensity of the obtained second optical signal is 60% of the optical intensity of the input first optical signal, and the optical intensity of the second optical signal is used to indicate the product of the data 0.6 and the data indicated by the received first optical signal.
[0070] The first modulator 1021 in the first modulator array 102 can be a modulator based on the electrorefractive effect, such as an electro-optical modulator based on the Pockels effect, a liquid crystal light valve, an electro-optical modulator based on the electro-Kerr effect, an MZI modulator, a micro ring resonator (MRR), etc. The first modulator 1021 can also be a modulator based on the electroabsorption effect, such as a modulator based on the Franz-Keldysh effect, a modulator based on the quantum confined Stark effect, a modulator based on the plasmonic dispersion effect. The first modulator 1021 can also be a modulator based on the electro-pumped optical amplification effect, such as a modulator based on a semiconductor optical amplifier. The first modulator 1021 and the second modulator 1014a can be the same type of modulator, and here the second modulator 1014a will not be described in detail.
[0071] The position of each first modulator 1021 in the first modulator array 102 is the same as the position of one data in the second data matrix, that is, each first modulator 1021 corresponds to one data in the second data matrix. In the convolution calculation process of the first data matrix and the second data matrix, if each data in the second data matrix is multiplied by each data in the first data matrix, each first modulator 1021 can receive one first optical signal of each data in the first data matrix, that is, can receive one first optical signal in each optical signal group.
[0072] In a possible implementation, each first modulator 1021 is further configured to receive one first optical signal in at least one optical signal group, and the emission angles of the received at least one first optical signal are different. Since each optical signal group is used to indicate one data in the first data matrix, one first optical signal in at least one optical signal group is the first optical signal of at least one data in the first data matrix. The total number of first optical signals received by one first modulator 1021 can be a third target number, which is the number of times that one data in the second data matrix participates in the convolution sub-operation performed by the second data matrix, the data corresponding to the first modulator 1021 and the first electrical signal input to the first modulator 1021. When the number of data in the second data matrix is greater than the number of data in the first data matrix, with the sliding of the first data matrix, not all data in the second data matrix participates in the calculation each time the second data matrix performs a convolution sub-operation, and at this time, the third target number is less than the total number of convolution sub-operations performed by the second data matrix. When the number of data in the second data matrix is less than the number of data in the first data matrix, with the sliding of the first data matrix, each data in the second data matrix is multiplied by one data in the first data matrix each time the second data matrix performs a convolution sub-operation, and at this time, the third target number is equal to the total number of convolution sub-operations performed by the second data matrix.
[0073] Still taking the example of FIG. 2, the first modulator array 102 includes four first modulators 1021, and the second data matrix includes four data. In the convolution calculation process of the first data matrix and the second data matrix, if each data in the second data matrix is multiplied by each data in the first data matrix, each first modulator 1021 can receive one first optical signal of each data in the first data matrix, that is, can receive one first optical signal in each optical signal group. Figure 2For the basis, taking the first modulator array 102 including 1 row and 3 columns of first modulators as an example, which are respectively first modulators 1-3, wherein the first modulator 1 receives the first optical signal a12 with a transmission angle of 60 degrees and the first optical signal a21 with a transmission angle of 30 degrees, and modulates the first optical signal a12 and the first optical signal a21 respectively based on the first electrical signal corresponding to the data b1 to obtain the second optical signal a12 with a transmission angle of 60 degrees and the second optical signal a21 with a transmission angle of 30 degrees, and transmits the second optical signal a12 and the second optical signal a21 to the beam combiner 103, wherein the second optical signal a12 is used to indicate a1*b1 in the second convolution sub-operation process, the second optical signal a21 is used to indicate a2*b1 in the first convolution sub-operation process, the second optical signal a12 corresponds to the first optical signal a12, and the second optical signal a21 corresponds to the first optical signal a21. The first modulator 2 receives the first optical signal a13 with a transmission angle of 90 degrees and the first optical signal a22 with a transmission angle of 60 degrees, and modulates the first optical signal a13 and the first optical signal a22 respectively based on the first electrical signal corresponding to the data b2 to obtain the second optical signal a13 with a transmission angle of 90 degrees and the second optical signal a22 with a transmission angle of 60 degrees, and transmits the second optical signal a13 and the second optical signal a22 to the beam combiner 103, wherein the second optical signal a13 is used to indicate a1*b2 in the third convolution sub-operation process, and the second optical signal a22 is used to indicate a2*b2 in the second convolution sub-operation process. The first modulator 3 receives the first optical signal a14 with a transmission angle of 120 degrees and the first optical signal a23 with a transmission angle of 90 degrees, and modulates the first optical signal a14 and the first optical signal a23 respectively based on the first electrical signal corresponding to the data b3 to obtain the second optical signal a14 with a transmission angle of 120 degrees and the second optical signal a23 with a transmission angle of 90 degrees, and transmits the second optical signal a14 and the second optical signal a23 to the beam combiner 103, wherein the second optical signal a14 is used to indicate a1*b3 in the fourth convolution sub-operation process, and the second optical signal a23 is used to indicate a2*b3 in the third convolution sub-operation process. The above first modulators 1-3 can be respectively Figure 1 three first modulators 1021 in the first modulator array 102.
[0074] In a possible implementation, the first modulators 1021 can be provided with a first filling layer made of an opaque material, which can be a metal material or a dielectric material opaque to the working wavelength, to avoid the unmodulated first optical signal from entering the rear end and affecting the optical calculation performed by the rear end. The structure and material of the first filling layer are not limited in the embodiment of the application, and the first filling layer can be a light blocking plate.
[0075] It should be noted that for any fourth optical signal, the beam splitting array 1012 can split the fourth optical signal into an optical signal group, and transmit the optical signal group to the first modulator array 102. The center of the area where the optical signal group leaves the beam splitting array 1012 can be regarded as the emission center of the optical signal group or an emission center of the beam splitting array 1012. The area where the optical signal group leaves the beam splitting array 1012 can be regarded as a light source equivalent unit, and the center of the light source equivalent unit is the emission center of the optical signal group. For any first optical signal in the optical signal group, when the first optical signal is emitted from the emission center to the first modulator 1021 at a certain emission angle, the first optical signal may Figure 4 The first optical signal emission schematic diagram provided by the embodiment of the application is shown. The first optical signal x is emitted from the center (that is, the emission center M) of the light source equivalent unit 1 to the first modulator y. However, due to the divergence of the first optical signal x, the first optical signal x deviates from the first modulator y and is emitted between the first modulator y and the first modulator z, so that the first optical signal x cannot be modulated by the first modulator y. For this case, a microlens array can be arranged between the optical signal emission module 101 and the first modulator array 102 to converge the first optical signal emitted by the optical signal emission module 101. In a possible implementation, the chip 100 further includes:
[0076] The microlens array 105 includes a plurality of microlenses. The center of each microlens is located on a line between at least one emission center of the beam splitting array 1012 and the center of at least one first modulator 1021.
[0077] Each microlens is configured to receive the first optical signal output by the at least one emission center, converge each received first optical signal, and transmit the converged first optical signal.
[0078] Since the center of each microlens is located on a line between at least one emission center of the optical signal group and the center of at least one first modulator 1021, the triangle composed of the emission centers of the two optical signal groups and the center of the microlens and the triangle composed of the centers of the two first modulators 1021 and the center of the microlens are similar triangles. For example Figure 4The emission center M, the emission center N and the center O of the microlens in the micro-lens array 105 can form a triangle MNO, the center P of the first modulator y, the center Q of the first modulator y and the center O of the microlens can form a triangle PQO, the triangle MNO and the triangle PQO are similar. When the first light signal x is emitted from the emission center M to the first modulator y, the micro-lens array 105 converges the first light signal x so that the first light signal x is emitted onto the first modulator y to avoid the first light signal x deviating from the first modulator y.
[0079] In a possible implementation, a second filling layer can be further arranged between the light signal emission module 101 and the first modulator array 102, and the second filling layer is used to transmit each first light signal sent by the light signal emission module 101, so as to ensure that each first light signal is irradiated on the first modulator array 102 with the best effect and reduce propagation loss of each first light signal when propagating between the light signal emission module 101 and the first modulator array 102. The material of the second filling layer can be silicon, silicon dioxide, silicon nitride, etc. The material of the second filling layer is uniform at different positions. The micro-lens array 105 described above can be arranged in the first filling layer.
[0080] In a possible implementation, a third filling layer can be further arranged between the first modulator array 102 and the beam combiner 103, and the third filling layer is used to transmit each second light signal sent by the first modulator array 102, so as to ensure that each second light signal is irradiated on the beam combiner 103 with the best effect and reduce propagation loss of each second light signal when propagating between the first modulator array 102 and the beam combiner 103. The material of the third filling layer can be silicon, silicon dioxide, silicon nitride, etc. The material of the third filling layer is uniform at different positions.
[0081] 1.3 Beam combiner 103
[0082] The beam combiner 103 is used to combine incident light signals. In a possible implementation, discrete light signals with the same incident angle can be combined into the same spatial region, and light signals with different incident angles can be combined into different spatial regions. A detector can be arranged in the same spatial region where the discrete light signals with the same incident angle are combined, so that the detector can detect the total energy of the discrete light signals in the spatial region.
[0083] The beam combiner 103 combines the plurality of second light signals. Instead of combining the plurality of second light signals into one light signal, the beam combiner 103 only changes the emission angle of each second light signal. The plurality of second light signals entering the beam combiner 103 from the same angle are changed in emission angle and can be transmitted to the same detector 1041. After the beam combiner 103 changes the emission angle of one second light signal, the second light signal can be regarded as a third light signal. That is, each second light signal corresponds to a third light signal, and the light intensity of one second light signal is the same as that of the corresponding third light signal. Therefore, each third light signal can be used to indicate the product of one data in the first data matrix and one data in the second data matrix. The beam combiner 103 can change the plurality of second light signals entering the beam combiner 103 from the same angle in emission angle to form a group of third light signals. The group of third light signals includes a plurality of third light signals, and each third light signal in the plurality of third light signals corresponds to one second light signal in the plurality of second light signals. The beam combiner 103 can transmit the group of third light signals to the same spatial region, that is, to the same detector.
[0084] The beam combiner 103 can be a transmissive beam combiner 103 and can be implemented in an equivalent lens manner. In a possible implementation, the beam combiner 103 has a super surface structure, a grating structure, or a metal microstructure. In a possible implementation, the beam combiner 103 formed by the super surface structure can be implemented by using a super surface technology. In a possible implementation, the beam combiner 103 formed by the grating structure can be implemented by using the diffraction effect of the microstructure on light waves. In a possible implementation, the beam combiner 103 formed by the metal microstructure can be implemented by using the surface plasmon resonance effect of the metal microstructure.
[0085] The beam combiner 103 can also be a reflective beam combiner 103. In a possible implementation, the beam combiner 103 can be a concave mirror. When the concave surface is a parabolic surface, the concave mirror can be equivalent to an ideal lens. When the concave surface is a spherical surface, the concave mirror can be regarded as a non-ideal lens. The overall direction of light signal propagation needs to have a certain inclination angle, and the concave mirror can separate the incident light from the reflected light. The detector array 104 can be located near the image-side focal plane of the concave mirror, and does not need to be completely at the image-side focal plane or parallel to the theoretical focal plane. Because the light signals are discrete, the detectors in the detector array 104 can perform integral detection within a certain area. Therefore, the light signals combined by the beam combiner 103 do not need to be completely converged at the plane of the detector array 104, but only need to be converged into the effective area of the detector. For example Figure 5 FIG. 2 shows a schematic diagram of a reflective beam combiner according to an embodiment of the present application, Figure 5The concave mirror is a beam combiner 103, which can reflect the second light signals with the same emission angle from different first modulators to one detector of the detector array, so as to realize the purpose of combining the second light signals with the same emission angle, and reflect the second light signals with different emission angles to different detectors.
[0086] In a possible implementation, the beam combiner 103 can be implemented by covering a reflective layer on the metasurface or the grating, and the beam combiner 103 can save more space than the concave mirror.
[0087] The beam combiner 103 can also be an interconnected beam combiner 103, which in a possible implementation includes:
[0088] a plurality of groups of waveguides, and the input light port of each waveguide in each group of waveguides is located on one emission light path of one first modulator 1021, and the output light port of each waveguide in each group of waveguides is located in the same detection area of one detector;
[0089] each waveguide is configured to receive a second light signal emitted by one first modulator 1021 and transmit the received second light signal into the detection area of one detector;
[0090] The emission angles of the second light signals entering each group of waveguides are the same.
[0091] When a second light signal enters a waveguide, the second light signal is transmitted in the waveguide in the form of a third light signal, and therefore, the light signals transmitted in each group of waveguides are a group of third light signals. For this interconnected beam combiner 103, the waveguides twisted in the three dimensional (3D) space can be prepared by using a similar laser direct writing technology. In a possible implementation, a fourth filling layer with a proper thickness can be prepared first, and the material of the fourth filling layer can be determined according to the requirements of the laser direct writing technology, and then the required waveguides can be directly written in the fourth filling layer and converged to the plane where the designed detector array 104 is located, so as to realize the 3D interconnection. For example Figure 6 The interconnected beam combiner provided by the embodiments of the present application is shown in the schematic diagram of the interconnected beam combiner. Figure 6The beam combiner includes a first group of waveguides, a second group of waveguides, and a third group of waveguides. The input port of each group of waveguides is located on plane 0, and the output port of each group of waveguides is on the same plane as the detector. The first modulator array 102 contains three first modulators 1021. Each first modulator 1021 can transmit three second optical signals with transmission angles of α, β, and γ. Each first modulator 1021 transmits a second optical signal with a transmission angle of α to one of the waveguides in the first group of waveguides. On plane 0, the second optical signal with a transmission angle of α transmitted by each first modulator 1021 enters one of the waveguides in the first group of waveguides. When the second optical signal with a transmission angle of α enters the waveguide, it becomes a third optical signal. The third optical signal can be transmitted through the first group of waveguides to the detector 1 located on plane 1. Each first modulator 1021... Each of the first modulators 1021 sends a second optical signal with a transmission angle of β to one of the waveguides in the second group of waveguides. The second optical signal with a transmission angle of β sent by each first modulator 1021 on plane 0 enters one of the waveguides in the second group of waveguides. After entering the waveguide, the second optical signal with a transmission angle of β becomes a third optical signal. The third optical signal can be sent to the detector 2 on plane 2 through the second group of waveguides. Each of the first modulators 1021 sends a second optical signal with a transmission angle of γ to one of the waveguides in the third group of waveguides. The second optical signal with a transmission angle of γ sent by each first modulator 1021 on plane 0 enters one of the waveguides in the third group of waveguides. After entering the waveguide, the second optical signal with a transmission angle of γ becomes a third optical signal. The third optical signal can be sent to the detector 3 on plane 3 through the third group of waveguides.
[0092] 1.4, Detector Array 104
[0093] Detector array 104 may include a plurality of detectors 1041, and any one of the plurality of detectors 1041 is used for:
[0094] The detector receives multiple second optical signals transmitted by the combiner 103 and detects the total intensity of the received multiple second optical signals. In practical applications, second optical signals entering the combiner from the same angle are sent to the same detector. The total intensity of the multiple second optical signals detected by one detector is used to indicate the sum of the products of the data indicated by the multiple second optical signals received by the detector 1041.
[0095] The number of detectors 1041 is equal to the total number of convolution operations performed by the second data matrix during the convolution calculation between the second and first data matrices. This is also the number of the first targets, the number of convolution sub-results in the convolution result matrix obtained by convolving the first and second data matrices, and the number of convolution sub-results in the convolution result matrix obtained by convolving the first and second data matrices. When L... A*W A The first data matrix and L B *W B When performing convolution calculations on the second data matrix, if the stride is 1 and padding with zeros is allowed, the maximum number of valid elements in the convolution result matrix of the first and second data matrices can be (L...). A +L B -1)*(W A +W B -1), at this time the maximum number of detectors 1041 in detector array 104 can be (L A +L B -1)*(W A +W B -1), where L A and W A L represents the number of rows and columns of the first data matrix, respectively. B and W B These are the number of rows and columns of the second data matrix, respectively. A valid element is the result of performing a convolution operation on the second data matrix.
[0096] Each detector 1041 is used to receive multiple second optical signals entering the combiner 103 from the same angle, which is also a set of third optical signals output by the combiner, and to detect the set of third optical signals to obtain the total light intensity of the set of third optical signals. The total light intensity of the set of third optical signals is the sum of the light intensities of each third optical signal in the set of third optical signals, which is also the total light intensity of multiple second optical signals entering the combiner 103 from the same angle. Since the second optical signals corresponding to a set of third optical signals have the same emission angle, that is, each third optical signal received by each detector 1041 in a set of third optical signals can indicate a product in the second data matrix to perform a convolution operation. Therefore, the total light intensity of a set of third optical signals detected by each detector 1041 can be used to represent the sum of the products of the data indicated by the multiple second optical signals corresponding to the set of third optical signals, that is, the sum of the products in the second data matrix to perform a convolution operation, that is, the convolution result of the second data matrix to perform a convolution operation. Thus, each detector 1041 can obtain the sum of the products of the data indicated by the multiple second optical signals entering the beam combiner 103 from the same angle according to the light intensity of a set of third optical signals.
[0097] Still with Figure 1 and Figure 2For example, the first modulator 1 transmits the second optical signal a12 and the second optical signal a21 to the beam combiner 103, the first modulator 2 transmits the second optical signal a13 and the second optical signal a22 to the beam combiner 103, the first modulator 3 transmits the second optical signal a14 and the second optical signal a23 to the beam combiner 103, the beam combiner 103 changes the emission trajectory of the second optical signal a21 with an emission angle of 30 degrees to obtain the third optical signal a21, and transmits the third optical signal a21 to the detector 1, wherein the light intensity of the third optical signal a21 is the same as that of the second optical signal a21; the beam combiner 103 combines the second optical signal a12 with an emission angle of 60 degrees and the second optical signal a22, changes the emission trajectory of the second optical signal a12 and the second optical signal a22 to obtain the third optical signal a12 and the third optical signal a22, and transmits the third optical signal a12 and the third optical signal a22 to the detector 2, wherein the light intensity of the third optical signal a12 is the same as that of the second optical signal a12, and the light intensity of the third optical signal a22 is the same as that of the second optical signal a22; the beam combiner 103 combines the second optical signal a13 with an emission angle of 90 degrees and the second optical signal a23, changes the emission trajectory of the second optical signal a13 and the second optical signal a23 to obtain the third optical signal a13 and the third optical signal a23, and transmits the third optical signal a13 and the third optical signal a23 to the detector 3, wherein the light intensity of the third optical signal a13 is the same as that of the second optical signal a13, and the light intensity of the third optical signal a23 is the same as that of the second optical signal a23; the beam combiner 103 changes the emission trajectory of the second optical signal a14 with an emission angle of 120 degrees to obtain the third optical signal a14, and transmits the third optical signal a14 to the detector 4, wherein the light intensity of the third optical signal a14 is the same as that of the second optical signal a14. The detector 1 detects the light intensity 1 of the third optical signal a21, which can be used to indicate the convolution sub-result LR(1) = a2*b1 of the first convolution sub-operation of the second data matrix, the detector 2 detects the total light intensity (denoted as light intensity 2) of the third optical signal a12 and the third optical signal a22, which can be used to indicate the convolution sub-result LR(1) = a1*b1 + a2*b2 of the second convolution sub-operation of the second data matrix, the detector 3 detects the total light intensity (denoted as light intensity 3) of the third optical signal a13 and the third optical signal a23, which can be used to indicate the convolution sub-result LR(3) = a1*b2 + a2*b3 of the third convolution sub-operation of the second data matrix, and the detector 4 detects the light intensity 4 of the third optical signal a14, which can be used to indicate the convolution sub-result LR(4) = a1*b3 of the fourth convolution sub-operation of the second data matrix. The first modulators 1-3 are three first modulators in the first modulator array in the figure, and the detectors 1-4 are four detectors in the detector array in the figure.
[0098] After each detector 1041 detects the light intensity, the fourth electrical signal can be used to indicate the detected light intensity, and the fourth electrical signal is output. One fourth electrical signal corresponds to the convolution sub-result of one convolution sub-operation of the second data matrix, and one fourth electrical signal can be proportional to the detected light intensity and the convolution sub-result of one convolution sub-operation of the second data matrix, so as to realize the correspondence with the convolution sub-result of one convolution sub-operation of the second data matrix, and realize integral detection.
[0099] The detector array 104 can be a photodetector (PD) array, a photoconductive detector array 104 (such as a photoresistor array), or the detector array 104 can also be prepared by referring to the charge coupled device (CCD) camera technology or the complementary metal oxide semiconductor (CMOS) camera technology in camera technology.
[0100] Since the second light signals with different emission angles can be output to different detectors, the third light signals corresponding to the second light signals with different emission angles can be avoided from affecting each other, so that the high requirements such as lens aberration can be avoided.
[0101] The arrangement of the detectors in the detector array 104 can be set according to the beam combining mode of the beam combiner 103. The multiple second light beams entering the beam combiner from the same angle, that is, the multiple second light signals with the same emission angle, when the beam combiner 103 is a transmission type beam combiner 103, for the multiple second light signals with the same emission angle, a detector is arranged on the transmission light path of the multiple second light signals, as long as the detector can detect the light intensity of the third light signal group corresponding to the multiple second light signals. When the beam combiner 103 is a reflection type beam combiner 103, for the multiple second light signals with the same emission angle, a detector is arranged on the reflection light path of the multiple second light signals, as long as the detector can detect the light intensity of the third light signal group corresponding to the multiple second light signals, for example, the detector in Figure 5 When the beam combiner 103 is an interconnected beam combiner 103, each detector can receive the third light signal transmitted in the same group of waveguides, for example, the detector in Figure 6 .
[0102] It should be noted that each of the above arrays needs to be in electrical communication with the peripheral system to obtain the corresponding electrical signal, so that each optical device (for example, the first modulator 1021) in each array can process the optical signal based on the obtained electrical signal, that is, each optical device in each array needs the circuit to provide the electrical signal, and the electrode and wiring scheme in each array can refer to liquid crystal on silicon (LCoS) display technology, and a transparent electrode (such as an indium tin oxide electrode) or a non-light transmission region wiring between optical devices can be used.
[0103] The preparation process of the chip 100 can be: first, preparing the optical signal transmitting module 101, then, preparing the second filling layer on the transmitting light path of the optical signal transmitting module 101, preparing the first modulator array 102 on the second filling layer, then, preparing the third filling layer on the transmitting light path of the first modulator array 102, when the beam combiner 103 is a transmission beam combiner 103, preparing the transmission beam combiner 103 on the transmitting light path of the second filling layer, and preparing the detector array 104 on the transmitting light path of the transmission beam combiner 103; when the beam combiner 103 is a reflection beam combiner 103, the detector array 104 can be prepared first, then the reflection beam combiner 103 is prepared on the transmitting light path of the second filling layer, and the detector array 104 is located on the reflected light path of the reflection beam combiner 103; when the beam combiner 103 is an interconnection beam combiner 103, the interconnection beam combiner 103 is prepared on the transmitting light path of the second filling layer, and the detector array 104 is prepared in the direction of the light outlet of each group of waveguides of the interconnection beam combiner 103. In a possible implementation, the optical signal transmitting module 101 of the chip 100 can also be located on the top layer of the chip 100, the first modulator array 102 is located below the optical signal transmitting module 101, the transmission beam combiner 103 is located below the first modulator array 102, and the detector array 104 is located below the transmission beam combiner 103. The position of each structure in the chip 100 and the preparation process are not limited in the embodiments of the present application.
[0104] At this time, the chip 100 can be an independent chip for implementing convolution calculation using optical computing, and can be packaged on a substrate with an electrical chip in a system in package (SIP) manner to form a convolution calculation acceleration module or an acceleration module for other special scenarios.
[0105] The chip provided by the embodiment of the present application transmits a plurality of angle-dispersed first optical signals of each data in the first data matrix through the optical signal transmitting module, outputs a plurality of angle-dispersed second optical signals according to the data in the modulated second data matrix through the first modulation array, sends the plurality of second optical signals entering the combiner from the same angle to the same detector through the combiner, and obtains the convolution calculation result of the first data matrix and the second data matrix according to the total light intensity of the plurality of second optical signals received by the plurality of detectors through the detector array. Thus, according to the optical computing chip provided by the embodiment of the present application, when performing convolution calculation, the convolution calculation process of the first data matrix and the second data matrix does not need to be decomposed, and a plurality of calculations does not need to be performed. Instead, the convolution calculation between the first data matrix and the second data matrix can be performed at the speed of light through one calculation process, the time occupied by the convolution calculation process is short, and the efficiency of the convolution calculation is improved. Moreover, each first modulator can output a plurality of second electrical signals, so that the purpose of multiplexing the first modulator can be achieved, and the discrete optical signals are transmitted in the chip, so that the error caused by coherent noise, phase sensitivity and cascaded depth can be avoided. Moreover, the optical signal transmitting module, the first modulator array, the combiner and the detector array are integrated into the chip by using the vertical dimension of the chip, so that the integration degree of the chip is improved.
[0106] Figure 7 FIG. 7 is a schematic diagram of an optical computing device provided by the embodiment of the present application. The optical computing device 700 includes a processor 701 and a chip 702. The chip 702 can be any of the chips described above.
[0107] The processor 701 is configured to obtain a first data matrix and a second data matrix, send the first data matrix and the second data matrix to the chip 702, and receive the convolution calculation result of the first data matrix and the second data matrix sent by the chip 702.
[0108] The process of obtaining the first data matrix and the second data matrix by the processor 701 can be as follows: the processor 701 obtains a first target data matrix and a second target data matrix. If the number of data in the first target data matrix is the same as the number of data in the first data matrix, and the number of data in the second target data matrix is the same as the number of data in the second data matrix, the processor 701 can regard the first target data matrix as the first data matrix, and regard the second target data matrix as the second data matrix.
[0109] If the number of data in the first target data matrix is greater than the number of data in the first data matrix, the processor 701 can split the first target data matrix into a plurality of first sub-matrices, and the number of data in each first sub-matrix can be equal to the number of data in the first data matrix. If the number of data in a first sub-matrix is less than the number of data in the first data matrix, the processor 701 can also pad the first sub-matrix with 0, so that the number of data in the first sub-matrix after padding with 0 can be equal to the number of data in the first data matrix. If the number of data in the second target data matrix is greater than the number of data in the second data matrix, the processor 701 can split the second target data matrix into a plurality of second sub-matrices, and the number of data in each second sub-matrix can be equal to the number of data in the second data matrix. If the number of data in a second sub-matrix is less than the number of data in the second data matrix, the processor 701 can pad the second sub-matrix with 0, so that the number of data in the second sub-matrix after padding with 0 can be equal to the number of data in the second data matrix.
[0110] When any one of the plurality of first sub-matrices and the plurality of second sub-matrices includes negative value data, the processor 701 can convert the sub-matrix into a plurality of sub-matrices that do not include negative value data by a positive and negative number separation method or by adding a bias number.
[0111] The processor 701 can regard each first sub-matrix after processing as a first data matrix, regard each second sub-matrix after processing as a second data matrix, and respectively issue each first sub-matrix after processing and each second sub-matrix after processing to the chip 702 as a group of convolution calculation tasks. The chip 702 calculates the calculation results of each first matrix after processing and each second sub-matrix after processing, and the processor 701 obtains the convolution calculation results of the first target data matrix and the second target data matrix according to the calculation results of each first matrix after processing and each second sub-matrix after processing.
[0112] At this time, the chip 702 can be integrated on the substrate in a system on chip (SoC) manner with the processor 701, and the optical computer and the processor 701 can realize the advantages of near-neighbor high-speed communication, and simultaneously exert the advantages of the processor 701 being good at logical operation and the chip 702 being high-parallel and executing at light speed.
[0113] In several embodiments provided in the present application, it should be understood that the optical computing chip described above is only illustrative, for example, the division of the units is only a logical functional division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be through some interfaces.
[0114] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, they can be located in one place, or they can be distributed on a plurality of network units. Part or all of the units can be selected to achieve the purpose of the embodiment scheme according to actual needs.
[0115] All the optional technical solutions described above can be combined to form optional embodiments of the present disclosure, which will not be repeated here. The above description is only optional embodiments of the present application, and is not used to limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. An optical computing chip, characterized in that, include: An optical signal transmitting module is used to generate multiple angularly discrete first optical signals according to each data in a first data matrix, wherein the multiple angularly discrete first optical signals of the same data in the first data matrix are all used to indicate the same data. A first modulator array includes a plurality of first modulators, each first modulator being used to receive a first optical signal of at least two data in the first data matrix, and to output a plurality of second optical signals according to data in a second data matrix modulated on the first modulator, wherein each of the plurality of second optical signals is used to indicate the product of a data in the first data matrix and a data in the second data matrix; A beam combiner is used to receive multiple second optical signals output by the first modulator array and send the multiple second optical signals to multiple detectors in the detector array, wherein multiple second optical signals entering the beam combiner from the same angle are sent to the same detector. The detector array includes the plurality of detectors, which are used to obtain a calculation result based on the total light intensity of the plurality of second light signals received by the plurality of detectors. The total light intensity of the plurality of second light signals received by one detector in the detector array is used to indicate the sum of the products of the data indicated by the plurality of second light signals received by the detector. The calculation result is used to indicate the convolution calculation result of the first data matrix and the second data matrix.
2. The chip according to claim 1, characterized in that, The optical signal transmitting module includes: The light-emitting array includes multiple light signal transmitters, each of which is used to generate a fourth light signal based on a data in the first data matrix; A beam splitter array is used to receive the fourth optical signal of each data in the first data matrix, split each received fourth optical signal to obtain a first optical signal discrete at multiple angles for one data, and output the obtained first optical signal discrete at multiple angles.
3. The chip according to claim 1, characterized in that, The optical signal transmitting module includes: A surface light source, used to emit target light signals; The second modulator array includes multiple second modulators, each of which is used to receive the target optical signal and output a fourth optical signal according to the data in the first data matrix modulated on the second modulator. A beam splitter array is used to receive the fourth optical signal output from each second modulator, split each received fourth optical signal to obtain a first optical signal with multiple discrete angles of a data, and output the obtained first optical signal with multiple discrete angles.
4. The chip according to claim 2 or 3, characterized in that, The beam splitter array includes multiple beam splitter components; Each beam splitter is used to receive the fourth optical signal of one data in the first data matrix, split the received fourth optical signal to obtain a first optical signal of multiple angles discrete of one data, and output the obtained first optical signal of multiple angles discrete.
5. The chip according to claim 2 or 3, characterized in that, The chip also includes: A microlens array, comprising multiple microlenses, the center of each microlens being located on a line connecting at least one emission center of the beam splitter array and the center of at least one first modulator; Each microlens is used to receive the first optical signal output by the at least one transmission center, to converge each received first optical signal, and to transmit the converged first optical signal.
6. An optical computing device, characterized in that, The device includes a processor and the chip as described in any one of claims 1-5; The processor is used to acquire a first data matrix and a second data matrix, send the first data matrix and the second data matrix to the chip, and receive the convolution calculation results of the first data matrix and the second data matrix sent by the chip.
Citation Information
Patent Citations
Photonic neural network convolutional layer chip based on micro-ring resonator
CN109639359A
Miniature equal-wavelength single-core bidirectional optical transceiver module
CN204331200U