Optical vector multiplier

The optical vector multiplier apparatus addresses inefficiencies in existing solvers by using wavelength-selective switches for scalable vector multiplication, enhancing the speed and efficiency of combinatorial optimization in the optical domain.

JP2026108658APending Publication Date: 2026-06-30MICROSOFT TECHNOLOGY LICENSING LLC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
MICROSOFT TECHNOLOGY LICENSING LLC
Filing Date
2026-03-03
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing combinatorial optimization problems, particularly those classified as NP-complete, are inefficiently solved by digital hardware due to limitations in execution speed and power consumption, and existing optical solvers face challenges in scalable vector multiplication with high system losses.

Method used

An optical vector multiplier apparatus using wavelength-selective switches and optical elements like spatial light modulators to perform vector × vector multiplication, minimizing system loss and enabling efficient combinatorial optimization by modeling interactions between variables in an optical domain.

Benefits of technology

The solution provides a scalable and efficient method for solving combinatorial optimization problems by reducing system losses and leveraging the speed of optical transmission, suitable for large-scale problems like the Traveling Salesman Problem and molecular similarity estimation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026108658000001_ABST
    Figure 2026108658000001_ABST
Patent Text Reader

Abstract

The present invention provides an apparatus and method for performing vector × vector multiplication within an optical domain. [Solution] The device includes: a plurality of optical signal generators arranged to emit beams of light having different carrier wavelengths, each modulated by an input signal that models each variable of a vector of variables; one or more sets of optical modulator elements arranged to receive beams of light modulated by different input signals from the input signals and to apply corresponding weights from a weighting vector to generate weighted optical signals; each set of optical sensor elements in the set; and one or more optical combining elements arranged to guide the weighted optical signals of each set onto their respective optical sensor elements and thereby generate their respective outputs in the form of analog electronic signals that sum the weighted optical signals of each set.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001]

[0001] Many problems in logistics, financial portfolio management, drug discovery, and other application domains require finding value assignments to their inputs (usually called variables) with the goal of optimizing an objective. For example, such problems include “combinatorial optimization problems”. Unlike optimization in other domains, combinatorial optimization deals with problems where variables take values ​​from a finite set. For example, an effective assignment may be a binary choice (e.g., whether to invest or not) from a limited set (e.g., one of three available routes to choose) or generally from a finite subset of integers. In such problems, there are a finite number of ways to combine the values ​​of each variable. In principle, it is possible to enumerate all possible combinations and find the optimal assignment. However, in practice, such an exhaustive search is not feasible even for moderately sized problems because a single combination is extremely large (the number of variables is exponential).

[0002]

[0002] Extensive work has been done to understand the structure of such problems. A subset of combinatorial optimization problems belongs to a category of problems known as NP-completeness (where NP stands for nondeterministic polynomial). NP-completeness is a concept known in computational complexity theory, and all NP-completeness problems can be transformed into any other NP-completeness problem. An efficient solver for any NP-completeness problem implies that any NP-completeness problem can be solved efficiently. All NP-completeness problems also belong to a larger subset of problems known as "NP-hard," where all NP-hard problems can also be transformed into any other NP-hard problem.

[0003]

[0003] In this context, the term "efficient" means finding a solution to a problem without enumerating all possibilities. Specifically, an efficient solution to the graph optimization described herein is one where the amount of time taken to find the solution scales polynomially with the number of problem variables (such as graph vertices), while enumerating all possible solutions is exponential with the number of problem variables. However, it is widely accepted that no such efficient solver could ever exist. Instead, work in this area has focused on devising algorithms that find solutions that are "good enough"; that is, often there is no guarantee that such approximation algorithms will actually provide answers that are close enough to the exact solution.

[0004]

[0004] There are various combinatorial optimization problems, and as mentioned above, NP - complete problems can be transformed into other NP - complete problems. For example, the traveling salesman problem is defined as follows: Given a set of cities and the pairwise distances between them, the problem is to find a route that visits all cities, where each city is visited exactly once such that the route has the shortest total length.

[0005]

[0005] A general form of the combinatorial optimization problem can be defined, which can be called a quadratic unconstrained binary optimization (QUBO) problem defined by a set of binary variables V = {v1, v2,..., v N} and the expression Σ i Σ[[ID=1,3]] j Q ij ·v i ·v j where the coefficient Q ij is for variables v i and v jThis defines the interaction between them. The traveling salesman problem can be formulated as the QUBO problem by defining variables (for example, the first variable may indicate whether London is the first city to be visited) as the position of each possible city to be visited in the route between cities and the distance between cities encoded by the matrix Q, such that the total distance is minimized according to the constraint that all cities are visited exactly once. QUBO is given by the equation Σ V‘⊆V Q V ,·Π v∈V’ v A set of binary variables V = {v1, v2, ... v} is formed by minimizing several values. N QUBO is a type of polynomial unconstrained binary optimization (PUBO) problem assigned to}, in which case the coefficient Q can encode the interaction between any number of variables. As mentioned above, it is possible to convert between various equations of NP-hard problems. By introducing auxiliary variables and terms into the equation, it is possible to convert a PUBO problem to QUBO.

[0006]

[0006] The equation known as the Ising model, used in physics to model ferromagnetic processes and other physical processes, is equivalent to the QUBO problem defined above. The Ising model is described in terms of a physical system having variables that can exist in two discrete states, where these variables can interact with each other, and the total energy of the system is given by the Ising equation H(σ) = -Σ i,j J ij σ i σ j -μΣ i h i σ i Given by, a binary variable (sometimes called "spin") is usually assigned to one of +1 / -I rather than 1 / 0, or any other binary assignment. However, the Ising formula is given by: formula: σ i =2v i By applying -1, it can be easily mapped to a QUBO expression for a Boolean variable.

[0007]

[0007] Note that the notation used above differs slightly between QUBO and the Ising formula, where the assigned variable is represented by σ and the interaction coefficient is represented by J in the Ising model. For simplicity, in this application, notation σ is used for the variable to which a value is assigned, and J is used to represent the array of interaction coefficients in relation to the Ising solver. However, Q and v may also be used in general herein to represent the weighting matrix and the variable, respectively.

[0008]

[0008] The second term in the above expression of total energy -μΣ i h i σ i The first term represents the influence of an external "field" or a certain external influence on the system being modeled. For example, in ferromagnetic materials, the first term represents the energy contribution of the interaction between magnetic dipoles, and the second term represents the energy of the system due to the external magnetic field. Many problems are modeled as Ising problems without an external field because solving the Ising problem without an external field is much simpler. However, it is possible to transform problems with an external field into problems without an external field by introducing additional spins and additional edges with carefully selected weightings. Any problem or model referred to as an Ising problem in the following specification assumes either no external field or a problem that has already been transformed into a problem without an external field.

[0009]

[0009] Until recently, algorithms for combinatorial optimization have typically been implemented on digital hardware such as commercially available CPUs, FPGAs, GPUs, and ASICs. Digital hardware offers significant advantages in terms of flexibility (i.e., the ability to program various algorithms) and reliability. However, digital solutions are also limited by execution speed and power consumption. In the past, with each generation of digital hardware, improved computing power and reduced power consumption have been achieved. It is widely anticipated that improving the performance of digital hardware will become increasingly difficult as we approach its fundamental physical limits. Seeking better answers to combinatorial optimization problems, or tackling larger cases of combinatorial optimization problems, will inevitably lead to greater hardware costs.

[0010]

[0010] However, recently there have been several attempts to solve these problems by using hardware based on non-digital physical processes. A common physical realization of the Ising model uses a quantum annealer. In existing systems, the problem variable is represented by qubits (usually called "spins") that take values ​​of +1 and -1. However, this topology does not allow for sufficient connectivity. Instead, the qubits are interconnected in an architecture that includes several sets of connected unit cells, each set of connected unit cells having four horizontal qubits connected to four vertical qubits via couplers. The unit cells are tiled vertically and horizontally by the connected neighboring qubits, generating a lattice of loosely connected qubits. The implications of the limited connectivity of this architecture are undesirable, as it results in an inefficient representation of the problem variable within the spins; that is, the number of qubits required in the physical system to represent the problem is much greater than the number of the original variable.

[0011]

[0011] Due to this inherent physical limitation of quantum annealer hardware, algorithms that can run on classical hardware and that are suggested by the physical properties of quantum mechanics have been developed. For example, Microsoft Azure has developed the Quantum Inspired Optimization (QIO) algorithm, which has shown good prospects for approximating the PUBO problem.

[0012]

[0012] In optical solvers, the optical signal is the input variable (for example, σ in the Ising problem). i=1...N ) is used to represent and is used to combine signals in a way that models the interaction between variables (e.g., matrix J in the Ising problem). Optical elements that perform vector × vector multiplication in the optical domain (such as liquid crystal displays or ring resonators) are known in this art. Sum (Σ) can be performed by using a photodetector that can perform coherent or incoherent summation of signals corresponding to the photosensing elements of the photodetector.

[0013]

[0013] When the input to the solver (i.e., the variable whose value will be determined) can take binary positive or negative values ​​(such as -1 and +1 or -1 / 2 and +1 / 2), these are sometimes simply called "spin" by analogy to the quantum properties of spin. However, in this context, this does not actually mean the quantum properties of spin. Instead, the two possible "spin" values ​​simply refer to the two possible values ​​of a binary variable, which can therefore be represented, for example, by using two different values ​​of the amplitude or phase of light.

[0014]

[0014] The most advanced technological solutions based on or suggested in optics are digital methods only (see Toshiba's Solving Traveling Salesman Problem with SBM [Simulated Bifurcation Machine] Ikuko Hasumi https: / / medium.com / toshiba-sbm / solving-traveling-salesman-problem-with-sbm-simulated-bifurcation-machine-89740c83ed37), or Bohm, Fabian, Guy Verschaffelt, and Guy Van der Sande. "A poor man's coherent Ising machine based on opto-electronic feedback systems for solving optimization problems." Nature communications 10.1(2019):1-9 (https: / / www.nature.com / articles / s41467-019-11484-3) and Inagaki, Takahiro, et al. "A coherent Ising machine for 2000-node optimization problems." Science We propose one of the hybrid methods based on 354.6312(2016):603-606 https: / / science.sciencemag.org / content / 354 / 6312 / 603.

[0015]

[0015] In hybrid methods, the building blocks that generate signals representing variable values ​​are typically implemented within optical hardware, but the logic for computing the variable interaction is implemented by using digital hardware to convert between the optical and digital domains. In contrast, in "all-analog" solvers, non-digital hardware is instead used to convert signals between the optical (i.e., optical signal) domain and the analog electronic domain. The advantage of all-analog solvers is the speed at which optical and analog electronic signals can be transmitted (digital electronics are inherently much slower due to the need to time a series of bits via flip-flops). On the other hand, performing part of the iteration in the digital domain overcomes the point of all-analog solvers (speed of transmission compared to digital electronics). Any inclusion of digital electronics negates the advantage of optical solvers, as the speed of the system will be limited by the slowest part.

[0016]

[0016] All optical solutions have been proposed and demonstrated by all-to-all connectivity for 4 spins / variables and partial connectivity for 16 spins / variables (Marandi, A., Wang, Z., Takata, K., Byer, RL & Yamamoto, Y. Network of time-multiplexed optical parametric oscillators as a coherent Ising machine. Nat. Photonics 8, 937-942 (2014), K. Takata et al. "A 16-bit Coherent Ising Machine for One-Dimensional Ring and Cubic Graph Problems", Scientific Reports 2016. A 16-bit Coherent Ising Machine for One-Dimensional Ring and Cubic Graph Problems (europepmc.org)).

[0017]

[0017] State-of-the-art all-optical solvers generate variables by using optical signals in a time-division multiplexing architecture. That is, the signals are multiplexed in series into the same beam of light so that the signals can be combined to model the interactions between variables, and different delay paths are introduced for each variable. However, with respect to time-division multiplexing, the time complexity of the solver is linear in terms of the number of variables being modeled, since spin generation occurs in series. Figure 5A shows a schematic block diagram of a time-division multiplexing architecture. With respect to the time-division architecture, each of the “spins” is generated in series and delayed by various path lengths so that the interactions between them can be carried out. This means that a single iteration must wait for all spins to be generated before it can compute the interactions between spins and pass this feedback to spin generation.

[0018]

[0018] Solvers implemented entirely within the analog domain use optical or electronic vector multipliers to model the "spin" interaction of the Ising system. The implementation of optical vector multipliers has the advantage of taking advantage of the speed of optical transmission, as noted above. [Overview of the project]

[0019]

[0019] Existing techniques for performing vector multiplication in the optical domain using optical signals include spatial light modulators (SLMs), ring resonators, and Mach-Zender interferometers (MZIs). The challenge in designing optical vector multipliers lies in maximizing the speed and efficiency of multiplication. Typically, optical signal multiplication is performed by applying an optical element to change the input value by a predetermined amount. This can be achieved, for example, by passing the input signal through a lossy element, and the intensity of the optical signal is reduced by a predetermined amount depending on the configuration of the optical element. Examples of optical elements used for this purpose include liquid crystal displays and ring resonators.

[0020]

[0020] Some optical vector multipliers represent the vector input elements with modulated optical signals of the same wavelength. The difficulty associated with this is that the resulting signal, which computes vector multiplication such as a set of signals by an array of lossy elements, is a single beam of light of a single wavelength. Since the light is of the same wavelength to detect the correct value of the weighted sum, a coherent sum of the weighted inputs must be performed. A spatial light modulator is used in this way, and as a result, the result of the vector multiplication is obtained by coherent sum after being corrected by the elements of the SLM. However, the difficulty associated with coherent sum is that the optical signals being added need to be phase-matched so that the electric field is correctly added. This is difficult to achieve at optical frequencies on the order of hundreds of THz in systems that may be configured to process hundreds of inputs.

[0021]

[0021] On the other hand, a ring resonator uses optical wavelength division multiplexing (WDS) to represent the input vector by a wavelength-division multiplexed optical signal containing the unique wavelength carriers of each element of the input vector to be multiplied. The ring resonator is placed next to the waveguide to couple only light of a specific wavelength. If the length of the outer circumference of the ring is equal to an integer wavelength that is the resonance condition, the optical signal in the waveguide is dropped into the ring and lost due to scattering. The level of light intensity is thought of as an analog data value, and multiplication is performed by a ring resonator, the loss rate of which can be controlled by injecting charge into the ring or by changing its temperature. However, a potential drawback of the ring resonator is that the signal containing the entire input vector passes through a series of ring resonators, which leads to losses during optical transmission.

[0022]

[0022] A Mach-Zender interferometer consists of two directional couplers (DCs) in which two input signals are equally divided into two output ports and two phase shifters (PSs) that modulate the input signals. The MZI can distribute the optical signals from each input port to the two output ports in any ratio by adjusting the phase shift so that it can be used to perform a 2x2 unitary transform. Similar to the case of a ring resonator, optical vector multiplication suffers from system losses that increase as the number of inputs to the system increases, and the losses increase linearly with the number of inputs because each input has to pass through more devices.

[0023]

[0023] In contrast, with SLM, each individual signal passes through the SLM's single modulator only once, which minimizes system loss so that the loss remains constant as the number of inputs increases. However, as noted above, existing SLMs are used with light sources of the same wavelength, which require coherent summation.

[0024]

[0024] Therefore, it would be desirable to provide an alternative form of apparatus for performing vector multiplication in the optical domain.

[0025]

[0025] In different fields of technology, wavelength-selective switching devices are currently used in telecommunications applications, typically to add or drop specific wavelengths from a signal at a particular transmitting node, and to ensure that the signal is flat across the entire transmitted spectrum. Wavelength-selective switches are typically used with a single input fiber on one side (containing signals of various wavelengths dispersed by a dispersive element to reflect the signal attenuated at various wavelengths based on each wavelength at various physical locations). This is coupled to a multi-output fiber on the other side for attenuated signals of various wavelengths. The device is bidirectional.

[0026]

[0026] Described herein is a wavelength-selective switch configured to perform optical vector multiplication on a set of input signals of various wavelengths. A spatial light modulator is used to apply a specific loss factor to each input signal at each different wavelength, and a diffracting element is used to combine the resulting weighted signals for detection in the photodetector into a single beam in order to calculate a weighted sum of the inputs. This benefits from the advantages of a spatial light modulator having minimal system loss since each signal passes through a single cell, and from the advantages of incoherent detection in the photodetector since all signals are of various wavelengths (within the photodetector's bandwidth).

[0027]

[0027] Optical elements such as miniature lens arrays and diffracting elements can be configured to more effectively collimate and induce signals, enable wavelength-selective switches to scale out to a larger number of input signals, and enable the use of wavelength-selective switches as vector multipliers in optical Ising solver architectures that model a large number of spin (typically hundreds or thousands of spins), for example. This offers advantages over typical SLM implementations of optical vector multipliers using lenses (which cannot be easily scaled to large inputs).

[0028]

[0028] A first aspect disclosed herein provides an apparatus for performing vector × vector multiplication in an optical domain. The apparatus includes a plurality of optical signal generators, each optical signal generator arranged to emit a beam of light having different carrier wavelengths modulated by different input signals that model each variable of a vector of variables; one or more sets of optical modulator elements, within each set, each optical modulator element in each set is arranged to receive a beam of light modulated by different input signals from the input signals and to apply corresponding weights from a weighting vector to generate a corresponding weighted optical signal; each optical sensor element for each set of the sets; and one or more optical combining elements arranged for each set of the sets to induce the weighted optical signal of that set onto the respective optical sensor element and thereby generate their respective outputs in the form of analog electronic signals that sum the weighted optical signals of each set.

[0029]

[0029] Another aspect disclosed herein provides a method for performing vector × vector multiplication in an optical domain, the method comprising: generating a plurality of beams of light having different carrier wavelengths, each modulated by a plurality of input signals, each modeling each variable of a vector of variables; receiving each beam of light in one or more sets of optical modulator elements; applying weights from a weighting vector to each beam of light by each optical modulator element to generate each weighted optical signal for each set of optical modulator elements; and inducing the weighted optical signals on each photosensor element by one or more optical combining elements, thereby generating each output in the form of an analog electronic signal that sums the weighted optical signals of each set. [Brief explanation of the drawing]

[0030]

[0030] Refer to the accompanying drawings for a better understanding of the present disclosure and to show how embodiments of the present disclosure may be carried out.

[0031] [Figure 1]

[0031] A schematic block diagram of an exemplary optical solver architecture for a quadratic unconstrained binary optimization problem is shown. [Figure 2]

[0032] A schematic block diagram of a single-channel hardware implementation of the optical solver architecture is shown. [Figure 3]

[0033] A schematic block diagram of the spin generation hardware is shown. [Figure 4]

[0034] A schematic block diagram of the signal conversion between the analog domain and the optical domain during solver operation is shown. [Figure 5A]

[0035] An example of a time-division multiplexing architecture is shown. [Figure 5B]

[0035] An example of a spatial partitioning multiplexing architecture is shown. [Figure 6]

[0036] This demonstrates the use of a direct detection method with an adapted DC term. [Figure 6A]

[0037] A schematic block diagram of direct detection with an offset term is shown. [Figure 6B]

[0037] A schematic block diagram of differential detection is shown. [Figure 7]

[0038] A schematic diagram illustrating the concept of optical vector multiplication is shown. [Figure 8]

[0039] This demonstrates the operation of a wavelength-selective switch for optical vector × vector multiplication. [Figure 9]

[0040] This demonstrates the operation of a modified wavelength-selective switch architecture for optical vector × matrix multiplication. [Modes for carrying out the invention]

[0032]

[0041] Figure 1 shows a schematic block diagram of an optical solver architecture configured to solve a combinatorial optimization problem. Note that in this specification, "solving" an optimization problem covers the possibility of finding an approximate solution. The following description will focus on problems that model the interaction of two variables (such as the Ising problem described above). However, note that higher-order PUBO problems (modeling the interaction between three or more variables) can be transformed into QUBO problems (despite the more variables), and the same optical hardware will be used to solve these problems. As described above, the goal of such problems is to find the assignment of variables that minimize a specific function unique to the problem. The function to be minimized in optimization may be referred to herein as "energy" because it reflects the total energy in this form in some physical systems, such as the ferromagnetic Ising model.

[0033]

[0042] General combinatorial optimization problems can be solved by first mapping the problem to a QUBO problem (which can then be mapped to an Ising problem). For many problems, known mappings to QUBO formulas exist. For other problems, the mapping may need to be derived. Mapping general NP-hard problems to QUBO or Ising formulas is itself a subject understood by those proficient in the field of mathematics. For example, problems expressed in PUBO form (e.g., formula Σ) ijk Q ijk v i v j v k A cubic unconstrained binary optimization problem having can be expressed as a QUBO problem by introducing additional variables and terms, and thus can be solved by the Ising solver disclosed herein. The solver disclosed herein provides a solution to the Ising problem, the solution can be used to solve any NP-hard problem, and a mapping to this problem can be found.

[0034]

[0043] In doing this, the problem is its total energy (i.e., -Σ) i,jJ ij σ i σ j ) is mapped to a physical system given by the Ising Hamiltonian (without assuming an external field). In order to map the given problem to the Ising system, the matrix J is the total energy -Σ i,j J ij ·σ i ·σ j Minimizing (i.e., Σ) i,j J ij ·σ i ·σ j It needs to be determined such that maximizing () is equivalent to optimizing the problem.

[0035]

[0044] Therefore, the Hamiltonian is, each with variable σ i , σ j Each subset and its corresponding weight J ij Multiple terms J are products of the following: ij ·σ i ·σ j It is the sum of (therefore, the first term is itself and weighted J 11 σ of one variable multiplied by and i It is a subset of and the second term is multiplied together with weighted J 12 (These are subsets σ1 and σ2 that are multiplied by the same factor.)

[0036]

[0045] As you can see, this sum is σ i By taking it to the left of the sum, it can be decomposed into a series of vector × vector (dot product) multiplications:

number

[0037]

[0046] In this final representation, the sum in each row is the variable σ for energy in the Hamiltonian. i This is an individual vector multiplication representing the contribution of each of the different variables. That is, vector multiplication (σ1J) 11 +σ2J 12 +...+σ N J1N ) is the contribution of σ1 to the energy direction, and (σ1J) 21 +σ2J 22 +...+σ N J 2N ) is the contribution of σ², and so on, the weighting J represents the interaction between variables (therefore, J 11 This is the interaction between σ1 and itself, and J 22 (σ is the interaction between σ1 and σ2). The weighting is set depending on the problem being modeled (for a given problem, some weights may be zero). As will be discussed in more detail shortly, in the system of Figure 1, the contribution of each variable is modeled by different hardware channels 102. In each channel 102, the contribution of each variable σ i This is modeled by each signal x (e.g., optical signal) generated by each signal generator 100. The signal x is shared between channels by a divider 106, and each vector multiplier 104 within each channel 100 performs the respective contribution (σ1J) of each variable modeled by each channel 100. i1 +σ2J i2 +...+σ N J iN To determine this, we perform vector-by-vector multiplication (VVM) on each vector.

[0038]

[0047] An exemplary application is the Traveling Salesperson Problem. As a simple example, imagine a salesperson needs to visit three cities: London, Edinburgh, and Cardiff. These can be modeled using the nine variables in the QUBO problem as follows: v1 represents London, the first city visited; v2 represents London, the second city visited; v3 represents London, the third city visited; v4 represents Edinburgh, the first city visited; v5 represents Edinburgh, the second city visited; v6 represents Edinburgh, the third city visited; v7 represents Cardiff, the first city visited; v8 represents Cardiff, the third city visited; and v9 represents Cardiff, the third city visited. (Matrix Q) ijThe elements represent penalties for traveling between cities in a corresponding pair. Therefore, Q 15 (London first, Edinburgh second) is the distance penalty from London to Edinburgh. Q 19 Note that some weightings, such as (London first, Cardiff third), are meaningless in this problem where the total distance is determined only by the distance between consecutive cities, and are therefore set to zero. Q 12 Or Q 13 Other weightings, such as (London first, then London second, or London first, then London third), can be set to large penalty values, imposing the constraint that each city can only be visited once. Next, the QUBO problem (Σ i Σ j Q ij v i v j The problem of minimizing the Hamiltonian term is the Ising problem (Hamiltonian term -Σ). i,j J ij σ i σ j The energy in the given state is converted to a solution that can be solved using the solver system shown in Figure 1.

[0039]

[0048] Another example is the molecular similarity problem, which aims to estimate the molecular similarity between two molecules. For example, this could be used to estimate the likelihood that one molecule is likely to block another molecule for use in a drug. Modeling molecular similarity as a QUBO problem is itself known in this technical domain.

[0040]

[0049] Update rules can be derived to adapt the signals generated by the system in a way that minimizes the Hamiltonian of the Ising system that models the problem. Possible update formulas for the Ising model can be written as follows:

number

[0041]

[0050] Here x iis the value of the modeling signal generated by the system to model the variable σ in the Ising model. This update formula is derived from the Hamiltonian of the Ising model. To derive the update formula, the update of each spin can be defined based on the expected effect of changing the value of the spin on the total energy. This can be used to derive the following expression for the update: i

Number

[0042]

[0051] Here, the inside of the above brackets can be evaluated as 2Σ j J ij (x j ). The update term can be multiplied by constants α and β to control the size of the update of each spin in each iteration so as to ensure that the system adapts in the direction of the minimum value as a whole. The ξ term in the above formula is Gaussian noise applied in each iteration to perturb the system so as to avoid "getting stuck" in a non-optimal solution. Finally, the cos 2 () term in Equation 1 can be derived by observing that the Taylor expansion of

Number

[0043]

[0052] As will be discussed in more detail shortly, as shown in FIG. 1, each modeling signal x that models each variable i is generated by a respective signal generator 100 (e.g., an optical signal generator) within each channel 102. The interaction between variables corresponding to the matrix J is modeled by the interaction logic 104.

[0044]

[0053] The above formula will be described in more detail later. Other formulas are possible. Whatever formula is used, the fundamental property of the update formula is that the update formula pushes or adapts the signal x i so that the physical system being modeled tends towards the minimum energy (i.e., the minimum value of the above Hamiltonian). This is the term βΣ i J ij x j [k] that represents the contribution of the signal to the energy of the entire system and whose sign determines the direction of the update. In other words, this term provides feedback to the signal generator 102 to adapt each modeling signal x i within each channel 102. The sign of this feedback causes an adaptation within each modeling signal (x) that drives the signal in a direction that reduces the total energy in the Hamiltonian of the system. The value of this feedback determines the degree of adaptation (arbitrarily attenuated by factors α and β with respect to the signal x).

[0045]

[0054] The solver determines a signal that directly represents the Ising variable σ i which is the QUBO variable v iIt should be noted that this is equivalent to finding the optimal mapping and can be transformed into different sets of variables in the form of the original problem. However, it is important to note that the mapping exists between a set of Ising variables (spins) that can be determined by the solver and a set of variables that optimize the original problem. In the following explanation, v i or σ i Note that either of these can be used to represent a binary variable modeled by the solver.

[0046]

[0055] Binary variable σ i An all-analog solver can be implemented that models the values ​​of as optical analog signals or electrical analog signals and updates each modeled variable using a combination of non-digital hardware components. This solver generates an initial set of signals representing a given assignment of variables and generates new signals in a series of iterative steps based on feedback signals computed using interaction logic implemented in analog electronic or optical hardware. Exemplary implementations of solver architectures for the Ising problem will be described in more detail later.

[0047]

[0056] There are many options for solver configurations that can be arranged in accordance with this disclosure, each configuration generating feedback signals that propel the signals generated over time to a set of signals that minimize the total energy of the "Ising" system (which can be mapped to the optimal assignment of variables in a given problem definition).

[0048]

[0057] This disclosure provides a novel architecture for solving combinatorial optimization problems that can be mapped to the Ising problem of N variables (sometimes called "spins"), where the variables of the problem are modeled by a set of N distinct hardware channels, which are iteratively updated based on feedback provided by signal interaction logic that models the interaction of the variables according to a given problem definition. This system occurs only within the optical and analog electronic domains, and the signal interaction logic can be modeled by either optical or analog electronic hardware. This will be further described with reference to Figure 1.

[0049]

[0058] Figure 1 shows an illustrative schematic block diagram of an analog solver for a combinatorial optimization problem. This architecture includes N channels 102, each channel i configured to compute a channel feedback signal according to a feedback equation derived for each channel, and the feedback for each channel tends to be a set of variables that minimize the “energy” function that defines the problem.

[0050]

[0059] The first channel 102 is configured to compute a modeling signal x1 corresponding to an Ising variable that takes either a positive or negative "spin" value, and the modeling variable x1 is updated based on feedback received at each iteration of the optimization. It should be noted that while the variable being modeled σ can be binary, the modeling signal x can take a soft value that can vary between two possible binary values ​​of the variable. The process for determining the contribution of each channel is described below. Note that each channel contains a hardware component that performs the same process to compute its respective contribution to the function.

[0051]

[0060] Each channel 102 includes a signal generator 100, a divider 106, and a signal interaction logic 104, each of which may include one or more hardware components. It should be noted that, as used herein, “logic” does not refer to digital logic, but rather to signal manipulation performed using analog or optical hardware. The signal generator 100 is σ i The optical modulator generates a modeled signal, and the measurable characteristics of the signal represent the binary values ​​of the variables. The signal can be an optical signal generated by a light source such as a laser. The optical modulator uses the variable σ i It can be used to modulate the characteristics of an optical signal in order to model it. A binary variable σ is encoded by the value of a characteristic such as amplitude. i Regarding this, a mapping between possible modulated characteristic values ​​(amplitude) and binary values ​​(e.g., 1 and -1) should be defined. For example, x i The amplitude lies within the range [-α, +α], where α is a constant, and positive amplitudes are mapped to the Ising variable σ=1, while negative amplitudes are mapped to the Ising variable σ i It is mapped to -1. Variable σ i The modulated signal that models the x (this is referred to as the "modeled signal" in this specification). i When a signal (which may be called) is generated, this signal can be transmitted to other channels using the same variable v as shown by the arrow in Figure 1. i The modeled signal encoding can be duplicated by applying a divider 106 to generate multiple instances of the modeled signal.

[0052]

[0061] The signal interaction logic 104 receives multiple modeling signals representing a vector of variables, and each signal is received from the divider 106 of its respective channel j. The interaction logic 104 receives the modeling signal x iThe vector × vector multiplier includes a vector × vector multiplier that synthesizes the vectors into a signal representing a weighted sum of the modeled variables, where the weights correspond to the elements of the matrix J that define the spin interaction in the Ising problem. There are various possible hardware configurations that can be used to perform vector × vector multiplication. One example disclosed herein is a wavelength selective switch (WSS), which will be described in more detail later. Optical vector × vector multiplication can be performed alternatively by spatial light modulators (SLMs), ring resonators, or Mach-Zehnder interferometers (MZIs), or by other known optical techniques including such techniques or any combination of other suitable optical components. As another alternative, vector × vector multiplication operations can also be performed in the analog electronic domain (i.e., using electrical signals), for example, by using memory resistors.

[0053]

[0062] Figure 1 shows separate interaction logics 104 for each channel, but it should be noted that these interaction logics do not necessarily include separate hardware components for calculating channel-specific signal interactions. In some embodiments, the system-wide interaction logic includes a global vector × matrix multiplier. In this case, a portion of the vector × matrix multiplier that performs vector × vector multiplication for a given channel corresponds to the interaction logic for that channel shown in Figure 1. For example, each interaction logic may correspond to a different row of a 2D spatial optical modulator, which will be discussed in more detail later with reference to the example in Figure 9. More generally, it should also be noted that the physical parts of the global vector × matrix multiplier that implement various individual interaction logic blocks 104 may or may not overlap with each other. On the other hand, in other embodiments, separate hardware components are configured to perform channel-specific vector × vector multiplication. The effect of both architectures is the same. Both of these alternative architectures will be discussed in more detail below in the context of wavelength-selective switching implementations of vector × vector (or vector × matrix) multipliers shown in Figures 8 and 9.

[0054]

[0063] The feedback signal is passed back to the signal generator 104 along the feedback path 108, and the signal generator 104 determines the new signal according to the system hardware. The updated signal may be generated, for example, by passing the feedback signal to a modulator to modulate an input signal from a light source, and detecting the resulting optical signal with a photodiode. Alternatively, in some embodiments, an analog electronic signal encoding the feedback signal may be generated using analog electronic components directly (e.g., by using a memory resistor). In any case, the system is designed so that, over time, it tends to settle into a stable state that maps to the optimal assignment of variables that minimizes the energy function of a given problem equation.

[0055]

[0064] Each channel updates its signal according to the same method described above until a stable state corresponding to a specific assignment to the variable value is reached for all signals. Any number of variables σ1,...,σ N The paired interaction can thus be modeled by setting up N channels and dividing each signal into N identical copies of the signal (which are sent to each channel).

[0056]

[0065] Figure 2 shows an example optical solver for the N-variable Ising problem implemented with optical hardware. The solver includes N channels 102, each channel i including hardware implementing a signal generator 100, a divider 106, and interaction logic 104 for generating signals representing the binary values ​​assigned to the variables i. For clarity, Figure 2 shows a schematic diagram of only a single channel 102, but this can be duplicated in each of the channels 102. Note that the modeled signal is output to all other channels by the divider 106 in Figure 2 and received from each of the other channels by the interaction logic 104.

[0057]

[0066] Each channel 102 updates the modeled signal x according to the feedback signal until the system settles into a stable set of states. iIt repeatedly generates (representing the optimal assignment of variables according to the optimization problem to be solved). As mentioned above, the signal update is given, for example, by the following update equation:

number

[0058]

[0067] Here x i [k] is the model signal in the Kth iteration, J ij α and β are multiplication constants, and ζ is a coefficient that defines the interaction between the i-th and j-th variables according to a given problem mapped to the Ising system, where α and β are multiplication constants. i [k] is the Gaussian noise term. The coefficients α and β are chosen to control the size of the update of each variable, and here a large α relative to β is used to signal the β term (i.e., β*ΣJ). ij x ij The signal is slowly moved in the direction given by [k]). This is important in systems of many variables because large updates in each step can prevent the whole system from converging to a favorable local optimum. Similarly, the noise term introduces disturbance to the signal in each step to ensure that the system does not "get stuck" to a local minimum, which is a poor approximation of the optimal set of variables. The above equation can be derived mathematically by applying known principles based on the Hamiltonian of the Ising model and using clever approximations. In particular, cos 2 The terms in parentheses approximate the optimal update that can be easily applied by using specific optical hardware, which will be described later. Next, the operation of the single-channel 102 will be described with reference to Figure 2.

[0059]

[0068] Variable σ modeled by a given channel iAn initial signal representing the initial binary value is generated by the spin generation hardware 300. Note that "spin" is used herein to refer to a signal representing a binary variable in the Ising system and should therefore not be confused with the quantum mechanical definition of spin. An exemplary implementation of the hardware components of the spin generation hardware 300 is described in further detail below with reference to Figure 3. The signal output by the spin generator is transmitted as an electrical signal to the divider 326, as indicated by the dashed arrow from the spin generation hardware 300, and the divider 326 transmits this signal over two different paths.

[0060]

[0069] It should be noted that in this embodiment, the spin generator 300 includes only a portion of the signal generator 100 in Figure 1. In the exemplary architecture of Figure 2, the signal generator 100 includes the spin generator 300, a light source 302, a modulator 304, a divider 326, an amplifier 324, and analog hardware 322 for summing electrical signals. As described above, the output of the signal generator 100 is the modeled signal x i That is the case.

[0061]

[0070] Along the first path, the signal is combined with the output of the light source 302, which is a laser at a specific wavelength, in modulator 304 to modulate the laser beam, thereby modeling the signal x as described above with reference to Figure 1. i The modulator 304 modulates the optical signal to encode an electrical signal that models a variable, and may use, for example, the amplitude of the optical signal, its phase, or a combination thereof. As described above, a mapping should exist between the measurable characteristics of the optical signal and the binary variable so that the detected optical signal can encode both positive and negative values. This can be done by using a coherent detection scheme that measures the phase and frequency information of the received signal as well as its intensity. If only the amplitude of the signal and its sign are of interest for detection, a form of direct detection (which may be referred to herein as "differential detection") may be used. This will be described in more detail below.

[0062]

[0071] Modulator 304 transmits the modeled signal to one-to-N splitter 306, which then transmits the same optical signal to the vector × vector multiplier 314 (VVM) in each of the N channels of the system. In the example in Figure 2, the vector × vector multiplier 313 is implemented as a wavelength-selective switch. However, in other embodiments, this can be implemented by a ring resonator, a spatial light modulator or Mach-Zehnder interferometer (MZI), or an analog electronic component. Note that in some embodiments, such as those employing WSS, the signals generated in each channel may be generated at different wavelengths (i.e., colors) to allow interaction of various signals within the vector by vector multiplication without causing interference between the N signals. The VVM 314 is a variable {σ1,...,σ N A set of input signals {x1,...,x} representing the vector N The} is configured to be multiplied by the corresponding subset of elements of matrix J. For a given channel i, the wavelength-selective switch is configured to multiply the vector × vector term of equation (1) (i.e., Σ) every k iterations. i J ij x j Calculate the signal representing [k], where x j [k] is the signal generated by the signal generation hardware for channel j. The operation of the wavelength-selective switch for calculating vector multiplication will be explained in more detail later.

[0063]

[0072] In some embodiments, the signal output by VVM314 remains within the optical domain, as shown by the non-dashed line in Figure 2, and is converted into an electrical signal by detection in a photodetector. In the shown embodiments, a direct detection method is used, and an adapted direct current (DC) term 312 is added to achieve differential detection by using analog hardware 310 configured to perform summation. Amplifier 316 multiplies the adapted summation by a constant β and outputs it to the feedback path 108. Equation 1

number

[0064]

[0073] Along the second path, signal i is a variable σ, which is given by the constant α shown in equation (1). i The signal representing the multiplication of is output to an amplifier that amplifies the electrical signal.

number

number

[0065]

[0074] An example of evaluating the update formula using spin generator 300 is described below with reference to Figure 3. This process involves generating updated signals for each channel, determining the interaction of the N signals, calculating a new feedback signal, and repeating this until the system stabilizes.

[0066]

[0075] Note that the multiple components working together in Figure 2 correspond to the general signal generator 100 described above with reference to Figure 1. In this implementation, the signal generator 100 includes all of the spin generation hardware 300, laser 302, analog adder hardware 322, divider 326, and modulator 304. Similarly, the interaction logic 104 described above with reference to Figure 1 includes both a vector × vector multiplier implemented within a wavelength-selective switch and analog hardware components for adding and amplifying the feedback signal. Other embodiments may further include hardware for performing operations on optical or analog signals (e.g., including a photodetector and modulator).

[0067]

[0076] Each channel i is implemented in hardware that computes updates to the signal for that channel in parallel. Updates continue until the system is stopped (e.g., after a predetermined stopping point in M ​​iterations). Alternatively, the signal may be measured periodically, and the system is stopped if no changes are observed between subsequent measurements. An approximate solution is found when the system stabilizes (i.e., a set of variables modeled by the generated signal remains constant from one iteration to the next). This stable set of signals can then be directly mapped to an assignment of N variables that approximates a solution to a given Ising problem.

[0068]

[0077] The exemplary embodiment shown in Figure 2 uses a spatial division multiplexing architecture (i.e., each variable is generated in separate hardware), where binary variables are encoded in signal amplitude, and the VVM is implemented by wavelength-selective switches within each of multiple parallel hardware channels. However, alternative embodiments may model the variables by using different measurable characteristics of the signal, such as phase or frequency. Alternative embodiments may also use other types of VVM, such as electronic VVMs implemented using ring resonators, Mach-Zehnder interferometers, or memory resistors. Time division can also be used instead of spatial division by using delay lines to synthesize the time-division multiplexed signals.

[0069]

[0078] Figure 3 shows a schematic block diagram of an exemplary spin-generating hardware component 300. A light source 400, such as a continuous-wave laser at a specific wavelength, is used to generate an optical signal that is passed to a spin-generating modulator 402 to generate spin. An electrical feedback signal based on the signal generated in the previous iteration is also received by the modulator 402 from the VVM 315 of the interaction logic 104. The modulator 402 modulates the optical signal from the light source 400 according to the electrical feedback signal. The modulator 402 may be a Mach-Zehnder modulator that divides the input signal so as to interfere with itself. The value corresponding to the feedback signal is set by the modulator in one of its arms, and the output of the modulator 402 is the in-phase component of the interfering electric field: in other words, when detected as light intensity in the photodetector 404, cos 2 The cos() function of equation (1), which becomes (), is applied to the feedback signal. Detection in the signal generating photodetector 404 converts the resulting signal back to the analog domain. With regard to the direct detection of light intensity using the photodetector 404, the signal is always positive and cos 2The range is "0, 1" given by the () function. The adapted DC term 406 (i.e., the -1 / 2 term in Equation 1), which represents the additional term in the above equation, can be added to the positive signal by converting the signal range to [-1 / 2, 1 / 2] in order to properly model the Ising variable. Next, the output signal is the modeled signal x that is input to the VVM of the other channel, as described above with reference to Figure 2. i It is passed to divider 306 to generate it.

[0070]

[0079] In each iteration of the exemplary solver shown in Figure 3, the signal is converted twice from the optical domain to the analog domain (and vice versa). As shown in Figure 3, the feedback signal is initially converted to an optical signal by the signal generator 300, which is then detected by a photodetector that converts it back to an analog signal. The modulator is used with the light source to convert the signal processed by the optical signal interaction logic from the analog domain to the optical domain, while the photodetector is used to convert the output signal of the interaction logic back from the optical domain to the analog domain.

[0071]

[0080] Figure 4 shows a schematic block diagram of the signal conversion between the optical domain and the analog domain of one channel in the exemplary solver described above and shown in Figure 2, which includes N hardware channels. The spin-generating component 300, described above with reference to Figure 3, outputs an electrical signal represented as "Signal 1" in Figure 4. In this exemplary solver, the signal interaction logic includes an optical vector × vector multiplier 314 (e.g., in the form of a wavelength-selective switch) that acts on the optical signal. However, as noted above, the interaction logic of a given channel may include part of the overall signal interaction logic that performs vector × matrix multiplication to generate vectors of feedback signals for multiple channels. An example of this architecture is described in more detail below with reference to Figure 9. The first analog-to-optical signal conversion 500 occurs after the signal is generated to pass the optical signal to the signal-to-signal interaction logic 502. The result of the vector × vector multiplication is evaluated by detection in a photodetector 308 that converts the signal to the optical domain, and further arithmetic operations are performed in the analog domain as shown in Figure 2.

[0072]

[0081] The signal / signal interaction logic 502 in Figure 4 includes both optical VVM calculations and conversion to an electrical feedback signal. The output electrical feedback signal is then passed through a second analog / optical signal converter 504, where the electrical feedback signal is converted back to an optical signal by a modulator. In Figures 3 and 4, this occurs within the spin generation hardware 300, where the spin generation light source 400 and modulator 402 convert the electrical feedback signal to an optical signal. The signal generation 506 in Figure 4 corresponds only to the detection of the signal generated by the signal generation hardware 300 (rather than the entire signal generation process described in Figure 3) which converts the signal from the optical domain to the analog domain.

[0073]

[0082] It should be noted that in the exemplary embodiments described above, the vector × vector multiplication operation of signal interaction logic 504 is performed in the optical domain (e.g., by a wavelength-selective switch, which will be described later). However, in other embodiments, signal interaction may be performed in the analog electronic domain. Similarly, in some embodiments, other arithmetic operations, such as signal addition, may be performed in the optical domain rather than the analog electronic domain. Therefore, the process shown in Figure 4 is specific to the particular hardware configuration used to implement the solver shown in Figure 2.

[0074]

[0083] As described above, the advantage of the architecture described herein is that it uses a “spatial division” multiplexing architecture, which means that a system of N variables is modeled by using separate hardware for each variable. In contrast, some state-of-the-art solvers use time division multiplexing architectures. Figure 5A shows an exemplary architecture using time division multiplexing. The time division multiplexing architecture uses a single set of signal generation hardware 510a for generating signals representing all the variables of the system and a single piece of hardware for implementing signal interaction logic. The signal generation hardware 512a generates signals at certain time intervals, and the interaction logic enables the interaction of time-divided signals by applying delays to the signals received at various times in the interaction hardware. Since the time complexity of the solver increases linearly with the number of variables being modeled, this architecture is slower for larger systems.

[0075]

[0084] In contrast, the spatial division multiplexing architecture shown in Figure 5B includes a separate signal generator 510b for each variable, and all signals interact in the signal interaction hardware 512b. Separate physical generation allows all signals to be generated simultaneously, so that the system can scale up to a large number of variables by simply adding more hardware while maintaining a quasi-constant time per iteration. For simplicity, the signal interaction logic hardware 512b in Figure 5B of the entire solver system is shown as a single block, but the interaction logic can alternatively be implemented to include separate hardware VVMs for each channel, as described above and shown in Figure 2.

[0076] Direct detection

[0085] As illustrated with reference to Figure 4, in some embodiments, the signal is converted between the optical domain and the analog domain during the solver's operation. For example, an electrical feedback signal representing Equation 1 may be converted to the optical domain by using a Mach-Zehnder modulator that applies the cos() function before evaluating the entire equation by detecting the electrical feedback signal in the photodetector. Direct detection of light intensity measures the square (which is positive only) of the signal. However, when dealing with signals that can take positive or negative values ​​(such as signals that model the Ising variable in this specification), the conversion between the analog electronic domain and the optical domain should preserve the sign information in the signal, or any conversion that restricts the signal to, for example, a positive value should be corrected by subsequent operations within that domain. The term "real" may be used herein to refer to an optical signal having values ​​along the real axis of the complex plane (i.e., a signal that can take positive or negative real values).

[0077]

[0086] One possible detection method that enables the detection of both positive and negative values ​​is coherent detection, which measures the amplitude and phase information of a received optical signal that may be either positive or negative. However, a drawback of coherent detection is that it is more complex to implement than direct detection of light intensity. Coherent detection methods often require digital signal processing. Some of the advantages of processing signals within the optical and analog electronic domains (such as the speed of signal transmission) are lost or reduced when the signal is converted back to the digital domain for coherent detection.

[0078]

[0087] An alternative detection method uses direct detection (i.e., detection of light intensity) that does not require the system complexity of coherent detection. Direct detection measures only positive signals within the analog electronic domain, and this signal can then be offset within the analog electronic domain by adding or subtracting adaptive terms to correct the signal range to allow for positive or negative values. This may be called "differential detection." A similar detection method is used in telecommunications to detect binary phase-shift keying signals that are real values.

[0079]

[0088] A schematic diagram of this direct detection method for detecting real-valued optical signals (such as the output of an optical vector multiplier) is shown in Figure 6. Next, this will be explained with respect to an exemplary application of the solver in Figure 2 described above. A real signal 700 that can take positive or negative values ​​(values ​​within the range [-1 / 2, 1 / 2]) (e.g., a modeled signal x generated in channel i by the spin generator 300 to represent Equation 1) i The input is converted to a first optical domain by at least one analog-to-optical converter (e.g., modulator 304). Optical vector-to-vector multiplication is performed on the modeled signals of the channel and the modeled signals received from other channels by multiplying the input vector by the weighting corresponding to the interaction of channel i and outputting the channel's optical signal representing the weighted sum of the input signals.

[0080]

[0089] This signal is converted to an analog signal by detection by the photodetector 308. However, the detected signal is limited to positive values ​​only, since the photodetector 404 measures light intensity that cannot have negative values. To compensate for this, the output signal of the VVM calculation is corrected to allow positive or negative values ​​by adding a DC offset term (shown as 312 in Figure 2). This DC offset term is specific to each spin and is evaluated and set during system initialization.

[0081]

[0090] This allows the solver to measure the positive and negative signals required by adjusting the signals within the analog domain. This differential detection method is simpler than coherent detection and can be easily implemented to convert signals directly from the optical domain to the analog electronic domain. However, with respect to the VVM output, it should be noted that if a given input signal has various wavelengths, "all the signal path lengths are matched." Incoherent summation of signals will be explained in more detail below in the context of wavelength-selective switching operations.

[0082]

[0091] While this differential detection method has been described above in relation to the current solver architecture, direct detection with an adaptive offset term can be used for any application where optical vector × vector multiplication operations that take real positive and negative values ​​can be performed. For example, this can be used in machine learning applications such as deep neural networks where the input vector can be multiplied by network weights. This differential detection method can be applied to applications by using various types of optical VVMs, such as spatial light modulators (SLMs), ring resonators, or wavelength-selective switches, which will be described in more detail below. This differential detection method has the advantage of allowing the calculation to be performed in the optical domain without requiring the complex implementation of coherent detection methods, providing a significant speed improvement over digital calculations, while allowing a desired range of real-valued signals to be modeled. Such a differential detection method can be implemented without requiring phase sensitivity of the system if various wavelengths are used for the input signal of the VVM (such as in the VVM of a wavelength-selective switch or ring resonator).

[0083]

[0092] Figure 6A is a schematic block diagram of a differential detection scheme in which a constant analog electronic DC term 712 is added to the signal detected by the photodetector. The optical signal is received by the photodetector 710, which converts the real optical signal 700 into an analog signal 704 that can only take positive values, as described above. A separate analog constant DC term 712 is subtracted from the positive analog signal by a differencer 714, which is a possible implementation of the subtractor 708 shown in Figure 6. The analog DC term 712 can be generated by using one or more analog electronic components or by using the optical signal, as will be described below with reference to Figure 6B. Analog differencers are well known in the art of electronics and are therefore not described further herein. The output of the analog differencer is the real analog signal 718 obtained by subtracting the constant DC term from the signal 704 that can only take positive values, and this is brought into a desired range that can take positive or negative values. As previously mentioned, each DC term is specific to the photodetector, and each DC term can be evaluated and set when the system is initialized. It should be noted that the DC term can be considered equivalent to a negative analog signal applied to a positive analog signal 704, or equivalent to a positive signal subtracted from a positive analog signal 704.

[0084]

[0093] Figure 6B is a schematic block diagram of an optical offset differential detection scheme, where any two optical signals 720a and 720b can be detected by a pair of photodetectors 722a and 722b, and the difference can be taken between electrical signals 724a and 724b generated by the respective detectors 722a and 722b using an analog differencer 726. This is a known detection configuration that can be used to implement the above-described differential detection method, where a real-valued signal (e.g., the output of an optical VVM) is encoded in the first optical signal 720a, and a constant value is encoded in the second offset optical signal 720b, which may be provided by a separate light source modulated by the constant value. Each of the signals can be converted into analog electrical signals 724a and 724b that take only positive values. These are combined in a differencer 726 that subtracts a constant offset analog signal 2 from an analog signal 1 obtained by detecting the real-valued signal to be evaluated. The effect of this differential detection method is the same as the differential detection in Figure 6A, in which case the DC offset term is obtained by detecting the constant optical signal 720b. However, with respect to this implementation of differential detection, instead of generating an analog DC offset signal by directly using analog electronic components, a second optical offset signal needs to be generated.

[0085]

[0094] In the embodiments described, it should be noted that "the solver models x and the corresponding feedback signal in the form of positive and negative 'spin' signals (e.g., -1 / 1) representing the Ising variable, as a way of solving the QUBO problem which can be easily mapped to the Ising problem." The sign of the feedback signal represents the direction in which the modeled signal x is driven to reduce the energy of the Hamiltonian. However, it is not ruled out that in other embodiments, a purely positive signal may be used. Instead, the matrix J may include positive and negative weightings. In such embodiments, the DC offsets 310, 320 are not necessarily required. For example, the QUBO variable 1 / 0 may be modeled directly. In this case, the positive signal generated by direct detection may not need to be corrected.

[0086] Wavelength-selective switching of optical VVMs

[0095] As described above, each channel may implement its own vector × vector multiplier as part of the interaction logic 104. Various possible vector × vector multiplier configurations can be used with the solver architecture disclosed herein. Several VVMs (such as spatial light modulators, ring resonators, and Mach-Zehnder interferometers) can be fully implemented in the optical domain. Other VVMs can be implemented in the analog electronic domain (for example, by using memory resistors to calculate the weighted sum of electrical signals).

[0087]

[0096] An example of an optical VVM (OVVM) disclosed herein for use in some embodiments of the solver architecture disclosed herein is a wavelength selective switch (WSS). WSS is used in telecommunications applications and allows signals at various wavelengths to be independently optimized to ensure that all signals are transmitted with the same power, as well as allowing signals at various wavelengths to be combined into a single optical fiber for additional or drop functions at the transmitting node (and vice versa).

[0088]

[0097] The implementation of WSS for optical vector multiplication is based on the fact that "WSS has the ability to emulate a product function by synthesizing various wavelengths into a single fiber and then attenuating (weighting) each individual wavelength and the addition function detected by at least one photodetector."

[0089]

[0098] Figure 7 is a schematic block diagram illustrating the principle of multiplying an optical signal by a constant coefficient (weighting). In the example in Figure 7, two separate optical signals are provided from light sources 802a and 802b. The power or intensity of these signals may be measured in a photodetector 806, which generates an electrical signal that depends on the intensity of the incident light. Thus, multiplication of the values ​​encoded by the optical signals may be performed by applying attenuators or loss-introducing components, 804a and 804b, each reducing the intensity of the respective optical signals by a configurable constant coefficient, which means that "the resulting analog signal detected in the photodetector or camera 806 is scaled by the loss coefficient of the applied attenuator (which can be interpreted as a "weighting" applied to the input signal)." If two separate optical signals share the same wavelength, their summation in a photodetector will be coherent (i.e., the two optical signals will be added in terms of electric field). On the other hand, if two separate optical signals have different wavelengths and the difference between them is much larger than the photodetector bandwidth, their summation in a photodetector will be incoherent (i.e., the two optical signals will be added in terms of power).

[0090]

[0099] Vector × matrix multiplication can be decomposed into a series of vector × vector products of the following form:

number

[0091]

[0100] Each element of the output vector o is the sum of the elements in the i-th row of the weight matrix W applied to the input vector y.

[0092]

[0101] The configuration in Figure 7 can be used to perform a weighted sum of optical vector × vector multiplication by applying attenuators 804a and 804b to a set of input signals representing the input vector, where the attenuators are set to correspond to the appropriate elements of the weight matrix. The sum of the weighted inputs is performed by synthesizing the signals in a camera or other detection system 806 capable of coherent or incoherent summing of optical signals. Coherent summing (required if the optical signals share the same wavelength) requires that all signals are precisely phase-matched to calculate the correct output signal, which is difficult at optical wavelengths. For incoherent summing, the photodetector requires that the input signals have the same path length (within the tolerance given by the bandwidth of a given detector). Incoherent summing by direct detection in a photodetector calculates the total power or intensity of the input optical signals. This will be discussed later in relation to incoherent detection in wavelength-selective switches, where each signal being added is of a different wavelength.

[0093]

[0102] Next, the operation of a wavelength-selective switch for performing vector × vector or vector × matrix multiplication based on the above principle will be explained with reference to Figure 8.

[0094]

[0103] The input vector v is a set of optical signals of various wavelengths 800 (for example, a set of modeled signals {x1...,x} received from N channels of the solver as shown in Figure 2 and described above). N It is represented by} (which may be). An input fiber 808 carrying a separate optical signal 800 of the input vector is shown in the lower right of Figure 8.

[0095]

[0104] Note: For the sake of brevity of explanation, only one channel 102 of the solver has its fibers 808, 818 shown in Figure 8. However, in some embodiments in which WSS is applied within such a solver, there may be a separate set of fibers 808, 818 for each channel 102. Each set of input fibers corresponds to an input from the divider 106 in a given channel 100. The output fibers 818 provide the output of their respective vector × vector multipliers (and thus perform the entire vector × matrix multiplication). In this case, various corresponding subsets of the elements of the SLM810 implement the interaction logic 104 of the various channels. In some embodiments, these elements may be implemented as various pixels at various positions on the same physical plate of the SLM810 (e.g., the same piece of glass or plastic).

[0096]

[0105] The corresponding elements of the weight matrix Q are implemented within a spatial light modulator (SLM) 810, which is, for example, a liquid crystal on silicon spatial light modulator (LCoS-SLM) that modulates each input optical signal 800 by specific coefficients, as described above. In this case, the signal is modulated by coefficients that depend on the input wavelength, and each column of the SLM 810 corresponds to a different incident wavelength. The input signal 808 is passed through a lens to ensure that each signal reaches the SLM at the correct horizontal position for its respective wavelength.

[0097]

[0106] The output signal of a given channel is obtained by detecting a modulated optical signal in a photodetector 820, which is then combined into a single beam 818 and detected by the photodetector 820. The combination of various optical signals, each having a different wavelength, into a single beam in the photodetector 820 can be called wavelength-division multiplexing (WDM). This is facilitated by the arrangement of one or more lenses 816 and / or dispersion elements 814 (diffractive elements such as prisms or diffraction gratings), while the SLM ensures independent weighting for each individual wavelength.

[0098]

[0107] The photodetector 820 performs incoherent summation of various constituent optical signals of different wavelengths. Incoherent detection requires that the difference in the frequencies of each signal being combined is far greater than the frequency bandwidth of the photodetector, meaning that the photodetector does not detect cross-terms from the interaction of the signals. Incoherent detection of signals of different wavelengths does not require the signals to be phase-matched. In contrast, using a VVM architecture employing input light sources of the same wavelength requires coherent summation to be performed in the detector, which imposes the difficult requirement that all signals be phase-matched.

[0099]

[0108] Similar architectures to the one shown in Figure 8 are known for constructing wavelength-selective switching devices for telecommunications applications, where this architecture is typically operated in the opposite direction, with a single optical fiber as the input and a set of optical signals of various wavelengths in various optical fibers as the output. In this scenario, the wavelength-selective switch is used not only to add or drop specific wavelengths at a particular transmitting node, but also to ensure that the signal is flat across the entire transmission spectrum.

[0100] Extended WS Architecture for Optical Vector × Matrix Multiplication

[0109] As described above, the solver for the Ising problem described herein can be implemented in one of two architectures. In the first architecture, as shown in Figure 2, the signal interaction logic 104 is implemented as a separate vector × matrix multiplier 314, such as a wavelength switch, which is operated as described above to multiply the input vector by a weighted vector given by a single row of the weight matrix J. The signals generated by each channel are induced by a one-to-N divider to a vector × vector multiplier for all the other channels.

[0101]

[0110] However, in the second architecture, a global vector-by-matrix multiplier (VMM) can be implemented, where each channel of the solver is a model signal x that forms the input vector. i The matrix is ​​provided to the VMM, and all matrices are implemented within this VMM. The solver architecture shown in Figure 1 corresponds to this architecture, where the interaction logic 104 for each channel is at least partially implemented by each subset of the elements (e.g., rows in the example shown) of the global vector × matrix multiplier (rather than by separate individual multipliers for each channel). In some embodiments, these elements may be incorporated into the same SLM plate (e.g., the same piece of glass or plastic) at various pixel locations.

[0102]

[0111] An exemplary WSS architecture is described below, which extends the WSS vector × vector multiplier architecture to perform vector × matrix operations. This architecture has the advantage of being able to process a much larger number of spins simultaneously than the vector × vector WSS described above.

[0103]

[0112] Figure 9 shows an exemplary wavelength-selective switch configuration for computing vector × matrix multiplication, which may be used to implement a second solver architecture. This wavelength-selective switch includes an input array 908 of a light source that generates a set of signals of various wavelengths, a miniature lens array 900, a modified SLM 902, a dispersion element 814 (e.g., a diffracting element), and an output array of optical signals detected in an array of photodetectors (not shown in Figure 9).

[0104]

[0113] In this exemplary solver architecture, to use a spatial optical modulator for vector × matrix multiplication, the vertical axis of the SLM needs to provide different weightings even for the same wavelength so that the full functionality of vector × matrix multiplication is realized. This is because, with respect to matrix multiplication, the input vector needs to be multiplied by each row of matrix Q to generate the full output vector. SLM908 is a modified version of the one shown in Figure 8, where the array of modulators is arranged in an array, and a loss reflecting the weighting of the matrix applied to the input is applied by each modulator (i.e., the rows of the modified SLM encode the weighting within the rows of matrix J). As described above, each channel computes an output that includes vector multiplication of the input signal by a single row of matrix J. Therefore, each input signal needs to be processed so that it is distributed vertically so that the input signal hits each row of SLM902 corresponding to a series of vector × vector multiplications.

[0105]

[0114] In an exemplary solver architecture with a global VMM, the single-input array 908 generates a modeled signal x in each channel. i This includes the following: This vector is passed through a small lens array 900 having a specific geometry that causes the beam to collimate horizontally to the SLM 902 corresponding to the wavelength of the signal, while dispersing the signal vertically. This allows more input signals of various wavelengths to be processed in a single SLM. Scaling to more wavelengths is possible by moving from a single lens as shown in Figure 8 to a small lens array as shown in Figure 9. The small lens array improves the collimation characteristics of beams in both directions.

[0106]

[0115] Please note that in the architecture of Figure 9, the paired N-divider 106 in Figure 2 is realized by vertical dispersion of the input signal across the entire row of the SLM, with each corresponding to a spin interaction term of a different channel.

[0107]

[0116] In contrast to the SLM described in Figure 8 with respect to the vector × vector multiplier, which does not require elements in the same “column” because they have various values ​​but requires various vertical positions, the SLM902 includes an array of 2D modulators, each of which applies its respective weighting to the received input signal. Each weighted signal at a particular wavelength, but modulated with different weights (i.e., each signal in the column of the SLM902), needs to strike and reflect off the dispersion element 814 at different vertical positions to ensure that the WDM signal synthesis occurs in the right-hand photodetector within the photodetector array 904. The dispersion element can be implemented as a diffraction element such as a diffraction grating or prism.

[0108]

[0117] In some embodiments, the output signal may be guided from element 814 through one or more lenses to guide the signal detected by using incoherent summation in a photodetector corresponding to the output vector element represented by the beam into the correct vertical height beam. For example, another small lens array may also be included at the edge of the system between the dispersion element 814 and multiple channels (possibly fibers).

[0109]

[0118] The photodetector array 904 is arranged as a set of photodetectors in a vertical array, and each composite signal is induced from a dispersive element 814 corresponding to the output signals of different channels.

[0110]

[0119] The solver using the vector × matrix multiplier architecture described above enables simultaneous processing of spin interactions across all channels by using a single hardware configuration as shown in Figure 9, along with the use of a small lens array for collimating the inputs. This can be further scaled to accommodate even more inputs by splitting each beam into multiple beams, which are then guided into a configuration of multiple SLM902s.

[0111]

[0120] On the other hand, optical vector multiplication has also been realized by many existing techniques such as optical wavelength division multiplexing, ring resonators, and spatial light modulators that do not use Mach-Zehnder interferometers. Such techniques are described in detail, for example, in K. Kitayama et al, “Novel frontier of photonics for data processing - Photonic accelerator”, APL Photonics 2019, https: / / doi.Org / 10.1063 / l.5108912, which is incorporated herein by reference in its entirety. Wavelength-selective switch implementations combine spatial modulation of SLMs with wavelength division multiplexing of ring resonators, but here the ring resonator implementation requires the input signal to pass through a series of ring resonators, while the SLM only requires each signal to pass through a single modulator (which is an advantage in terms of system loss). SLMVMM implementations do not use wavelength division multiplexing, but instead use a single light source and use coherent addition in the photodetector to calculate the weighted sum of each element of the output array. Wavelength-selective switches combine the advantages of both of these techniques.

[0112]

[0121] On the other hand, the above description of wavelength-selective switches refers to their implementation in solver architectures such as those described herein. However, vector × matrix multiplication has many applications, particularly in machine learning, for example, to apply neural network weights to input vectors. Wavelength-selective switches described herein can be used in such applications. Similarly, wavelength-selective switch VMM can be applied to other solver architectures, such as the time-division multiplexing architecture shown in Figure 5A.

[0113]

[0122] The techniques disclosed herein can be applied to a wide range of applications, and in particular, the solver implementations disclosed herein can be used to solve any NP-hard problem (for which a known transformation to the Ising formula exists). A well-known example of such a problem is the traveling salesman problem. It can also be used in relation to problems in other fields, for example, in determining molecular similarity, work has been done to find the transformation of the graphical representation of molecules to the QUBO formula in graph similarity problems. This work is described in Hernandez, Maritza, et al. “A quantum-inspired method for three-dimensional ligand-based virtual screening.” Journal of Chemical Information and Modeling 59.10(2019):4475-4485.

[0114]

[0123] It will be understood that the above embodiments are described as examples only. Other variations and applications of the disclosed technology may be obvious to those skilled in the art given the conceptual disclosures herein.

[0115]

[0124] More generally, according to one embodiment disclosed herein, an apparatus for performing vector × vector multiplication in the optical domain is provided. The apparatus comprises a plurality of optical signal generators, each arranged to emit a beam of light having a different carrier wavelength modulated by a different input signal that models each variable of a vector of variables; a. One or more sets of optical modulator elements, wherein within each set, each optical modulator element is arranged to apply a corresponding weight from a weighting vector to generate a respective weighted optical signal so as to receive a beam of light modulated by each different input signal among the input signals; b. Each set of the aforementioned optical sensor elements; and c. Each of the sets includes one or more optical combining elements arranged to generate their respective outputs in the form of an analog electronic signal that sums the weighted optical signals of each set, so as to guide the weighted optical signals of each set onto their respective photosensor elements.

[0116]

[0125] In some embodiments, one or more photosynthetic elements include one or both of a diffraction element and / or a miniature lens array.

[0117]

[0126] In some embodiments, each of the optical signal generators includes a laser, and the optical beam is a laser beam.

[0118]

[0127] In some embodiments, the apparatus is for performing vector × matrix multiplication and comprises a plurality of sets of optical modulator elements; the apparatus comprises one or more optical splitter elements arranged to split each of the beams of light so as to direct the respective optical signals to the corresponding optical modulator elements in each set, and each set of optical modulator elements models a different vector of weights from a weighting matrix.

[0119]

[0128] In some embodiments, the spatial light modulator element is incorporated within the same plate as the spatial light modulator.

[0120]

[0129] In some embodiments, the spatial light modulator elements are arranged in a 2D array.

[0121]

[0130] In some embodiments, each set of optical modulator elements is located within each row of a 2D array, and the various optical modulator elements within each set correspond to the various columns of the 2D array (and vice versa).

[0122]

[0131] In some embodiments, one or more optical splitter elements include a miniature lens array.

[0123]

[0132] In some embodiments, the device is configured to optimize a function comprising a weighted sum of multiple terms, each term comprising the product of corresponding subsets of variables from the vector of variables, each term being weighted by corresponding weights from a weighting matrix that models the interactions between the variables; the device is arranged within multiple channels, each channel comprising: one of each of the optical signal generators, one of each of the set of optical modulator elements, and one of each of the optical sensor elements; the output from each optical sensor element in each channel represents the respective contribution of the function of each variable to the Hamiltonian; each channel further includes a feedback path arranged to return feedback based on its respective output to its respective optical signal generator, each optical signal generator configured to adapt its respective input signal depending on its respective feedback signal, and the optical signal generator is configured to perform the adaptation such that the device tends to move toward a state in which the energy of the Hamiltonian is minimized.

[0124]

[0133] In some embodiments, the function includes the Ising problem.

[0125]

[0134] In some embodiments, the function includes the QUBO problem.

[0126]

[0135] In some embodiments, the feedback path is arranged to introduce noise components into each feedback signal before returning the feedback signal to each optical signal generator.

[0127]

[0136] In some embodiments, each set of optical modulator elements is arranged to perform vector × vector multiplication of each node in the artificial neural network, or the device is arranged to perform vector × matrix multiplication of layers in the artificial neural network.

[0128]

[0137] In some embodiments, each input signal is modulated into each beam of light by using amplitude modulation, and each photodetector element is arranged to generate its respective output signal by incoherent detection.

[0129]

[0138] Another aspect disclosed herein provides a method for performing vector × vector multiplication within an optical domain. This method includes generating multiple beams of light having different carrier wavelengths, each modulated by a separate input signal, each modeling a separate variable of a vector of variables, using a plurality of light sources; receiving each beam of light in one or more sets of optical modulator elements; and for each set of optical modulator elements: applying weights from a weighting vector to each beam of light using each optical modulator element to generate a separate weighted optical signal; and inducing the weighted optical signals onto separate photosensor elements using one or more optical combining elements, thereby generating each output in the form of an analog electronic signal that sums the weighted optical signals of each set.

[0130]

[0139] In some embodiments, the method may further include steps based on any of the system features disclosed herein.

Claims

1. An apparatus for performing vector × vector multiplication within an optical domain, wherein the apparatus is: Multiple optical signal generators, each optical signal generator arranged to emit a beam of light having a different carrier wavelength, modulated by a different input signal that models each variable of a vector of variables; One or more sets of optical modulator elements, wherein within each set, each optical modulator element is arranged to receive the beam of light modulated by a different corresponding input signal from among the input signals, and to apply a corresponding weight from a weighting vector to generate a corresponding weighted optical signal; Each of the aforementioned sets of photosensor elements for each set of the set; and Apparatus comprising, in each of the sets, one or more optical combining elements arranged to guide the weighted optical signals of the set onto the respective optical sensor elements, and thereby generate their respective outputs in the form of analog electronic signals that sum the weighted optical signals of the respective sets.

2. The one or more photosynthetic elements are Diffractive element, and / or Small lens array The apparatus according to claim 1, comprising one or both of the above.

3. The apparatus according to claim 1 or 2, wherein each of the optical signal generators includes a laser, and the optical beam is a laser beam.

4. An apparatus according to claim 1, 2, or 3 for performing vector × matrix multiplication, The apparatus includes a plurality of sets of optical modulator elements; The apparatus includes one or more optical splitter elements arranged to split each of the beams of light so as to guide the respective optical signals to the corresponding optical modulator elements within each set, wherein each set of optical modulator elements models different vectors of weights from a weighting matrix.

5. The apparatus according to claim 4, wherein the spatial light modulator element is incorporated into the same plate as the spatial light modulator.

6. The apparatus according to claim 5, wherein the spatial light modulator elements are arranged in a 2D array.

7. The apparatus according to claim 6, wherein each set of optical modulator elements is arranged in each row of the 2D array, and the various optical modulator elements within each set correspond to the various columns of the 2D array, and vice versa.

8. The apparatus according to any one of claims 4 to 7, wherein the one or more optical splitter elements include a miniature lens array.

9. An apparatus according to any one of claims 4 to 8, configured to optimize a function comprising a weighted sum of multiple terms, wherein each term comprises the product of corresponding subsets of variables from the vector of variables and is weighted by corresponding weights from a weighting matrix that models the interactions between the variables; the apparatus is arranged in a plurality of channels, each channel being: Each of the aforementioned optical signal generators, Each of the aforementioned sets of optical modulator elements, and Each of the aforementioned light sensor elements Including; The output from each of the optical sensor elements of each channel represents the respective contributions of the respective variables to the Hamiltonian of the function; Each channel further includes a feedback path arranged to return feedback based on the respective output to the respective optical signal generator, Each of the aforementioned optical signal generators is configured to adapt each of the aforementioned input signals depending on the respective feedback signals, The optical signal generator is configured to perform the adaptation such that the device tends to move toward a state in which the energy of the Hamiltonian is minimized.

10. The apparatus according to claim 9, wherein the function includes the Ising problem.

11. The apparatus according to claim 9, wherein the function includes the QUBO problem.

12. The apparatus according to any one of claims 9 to 11, wherein each feedback path is arranged to introduce noise components into the respective feedback signals before returning the feedback signals to the respective optical signal generators.

13. The apparatus according to any one of claims 1 to 8, wherein each set of optical modulator elements is arranged to perform vector × vector multiplication of each node in the artificial neural network, or the apparatus is arranged to perform vector × matrix multiplication of layers in the artificial neural network.

14. The apparatus according to any one of claims 1 to 13, wherein each of the aforementioned input signals is modulated into each beam of light by using amplitude modulation, and each photodetector element is arranged to generate its respective output signal by incoherent detection.

15. A method for performing vector × vector multiplication within an optical domain, The process of generating multiple light beams, each having a different carrier wavelength, using multiple light sources, each modulated by a different input signal that models each variable in a vector of variables; Receiving each beam of light in one or more sets of optical modulator elements; and Each set of optical modulator elements, Applying weights from a weighting vector to each beam of light by each optical modulator element to generate each weighted optical signal; and A method comprising inducing the weighted optical signals onto each of the optical sensor elements using one or more optical combining elements, thereby generating each output in the form of an analog electronic signal that sums the weighted optical signals of each set.