Boson samplers and neural networks for data generation

By employing a boson sampler to generate correlated latent vectors for training artificial neural networks, the system addresses the challenge of replicating correlated features in datasets, resulting in higher-quality data generation.

JP2025534033APending Publication Date: 2025-10-09ORCA COMPUTING LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025521381
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-17
Filing Date
2023-10-11
Publication Date
2025-10-09

AI Technical Summary

Technical Problem

Existing data generation systems, particularly those using artificial neural networks, struggle to identify and replicate correlated features in generated datasets, leading to inconsistencies such as significantly different ears in generated human faces.

Method used

A system utilizing a boson sampler to generate integer sequences representing photodetector measurements, which are then processed to determine latent vectors that are used to train an artificial neural network, enabling the generation of datasets with improved correlations through quantum entanglement.

Benefits of technology

The use of boson samplers enhances the quality of generated datasets by incorporating highly correlated quantum latent spaces, improving the neural network's ability to learn and replicate correlated features.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025534033000001_ABST
    Figure 2025534033000001_ABST
Patent Text Reader

Abstract

A method for generating a dataset (e.g., an image) is provided. According to an example, the method includes controlling a boson sampler to produce one or more integer sequences, each of the one or more integer sequences representing measurements of one or more photodetectors of the boson sampler; determining one or more latent vectors from the one or more integer sequences; providing the one or more latent vectors to a trained artificial neural network (ANN) configured to convert the determined one or more latent vectors into a generated dataset; and outputting the generated dataset. A method for training the ANN is also provided. A system and a computer-readable storage medium are also described.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to methods and systems for generating datasets. More particularly, the present disclosure relates to methods and systems for generating datasets using an artificial neural network coupled to a boson sampler. [Background technology]

[0002] There has been growing interest worldwide in computer-aided data generation (e.g., image generation), and with the advent of artificial neural networks, many different data generation systems have been created. However, such data generation systems often face obstacles, such as an inability to identify correlated features in the dataset on which they are trained. For example, even when an artificial neural network is trained on a dataset of photographs of human faces to generate images, it often produces inconsistencies in the generated images, such as the two ears of the generated faces being significantly different from each other. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] Gulrajani et al., Improved Training of Wasserstein GANs, Advances in neural information processing systems, 30, 2017 [Non-patent document 2] Salimans et al., Improved Techniques For Training GANs, International conference on intelligent, secure, and dependable systems in distributed and closed environments, pages 127-138, Springer, 2017 Summary of the Invention [Means for solving the problem]

[0004] According to an aspect of the present disclosure, a system is provided. The system includes a boson sampler and a set of one or more processors. The set of one or more processors is configured to control the boson sampler to generate one or more integer sequences, each of the one or more integer sequences representing measurement results of one or more photodetectors of the boson sampler. The set of one or more processors is further configured to determine one or more latent vectors from the one or more integer sequences. The set of one or more processors is further configured to provide the determined one or more latent vectors to a trained artificial neural network (ANN) configured to convert the determined one or more latent vectors into a generated dataset (e.g., an image). The set of one or more processors is further configured to output the generated dataset. Advantageously, the system generates the dataset utilizing quantum correlation data.

[0005] The boson sampler may comprise a single-photon boson sampler. In other words, the boson sampler may generate a photon state comprising N single photons distributed across M electromagnetic radiation modes (N is less than or equal to M), provide the photon state to an interferometer / optical network, and measure the quantum superposition state output from the interferometer.

[0006] The boson sampler may comprise a Gaussian boson sampler. In other words, the boson sampler may generate a photon state, e.g., a squeezed coherent state, comprising M Gaussian modes, provide the photon state to an interferometer, and measure the quantum superposition state output from the interferometer.

[0007] The bosonic sampler may comprise a spatial-mode bosonic sampler. In other words, the bosonic sampler may generate a multi-mode photon state by creating photon / Gaussian states in each of a plurality of spatial modes, provide the photon states to a plurality of input ports of an interferometer, and measure the output from a plurality of output ports of the interferometer using a plurality of photodetectors.

[0008] The boson sampler may comprise a time-mode boson sampler. In other words, the boson sampler may generate a multi-mode photon state by creating photon / Gaussian states in each of multiple time modes, may interfere with the time modes, and may measure the output quantum superposition state using a single photodetector.

[0009] In some examples, the boson sampler may be a configurable boson sampler. In other words, the interferometer of the boson sampler may be adjustable / tunable. The one or more processors may be configured to configure the adjustable elements of the interferometer of the boson sampler according to a plurality of selected parameter values.

[0010] One or more photodetectors of the boson sampler may comprise a photon number-resolving detector. Thus, each integer in the integer sequence may represent the number of photons measured by the photodetector of the boson sampler. The photon number-resolving detector can capture correlations between the number of photons in different power modes.

[0011] One or more photodetectors of the Boson sampler may comprise a threshold detector configured to indicate the presence or absence of a photon in each output mode. Thus, each integer in the integer sequence may have a binary value. Each binary integer may represent the presence or absence of a photon in the corresponding measured output mode. Threshold detectors are often capable of operating at room temperature without space cooling, allowing for smaller system dimensions. Furthermore, for some image datasets, a correlated binary latent space may be optimal.

[0012] The system may be adapted to train an ANN to generate a dataset (e.g., an image). For example, the set of one or more processors may be further configured to control a boson sampler to produce a set of integer sequences, each representing a measurement result of one or more photodetectors of the boson sampler. The set of one or more processors may be further configured to determine a set of latent vectors from the set of integer sequences. The set of one or more processors may be further configured to use the determined latent vectors to train an artificial neural network (ANN) to transform the one or more latent vectors into a generated dataset (e.g., an image).

[0013] The set of one or more processors may comprise various heterogeneous processors. For example, the set of one or more processors may comprise a field programmable gate array (FPGA) configured to control the boson sampler or an application specific integrated circuit (ASIC) for controlling the boson sampler. The set of one or more processors may further comprise one or more processors, such as a graphics processing unit (GPU), for training / using the artificial neural network.

[0014] According to an aspect of the present disclosure, a method for generating a dataset (e.g., an image) is provided. The method comprises controlling a boson sampler to produce one or more integer sequences, each of the one or more integer sequences representing measurements of one or more photodetectors of the boson sampler. The method further comprises determining one or more latent vectors from the one or more integer sequences. The method further comprises providing the one or more latent vectors to a trained artificial neural network (ANN) configured to convert the determined one or more latent vectors into a generated dataset. The method further comprises outputting the generated dataset.

[0015] According to an aspect of the present disclosure, a method is provided. The method comprises controlling a boson sampler to generate a set of integer sequences, each representing a measurement result of one or more photodetectors of the boson sampler. The method further comprises determining a set of latent vectors (e.g., a "first" set of latent vectors) from the set of integer sequences. The method further comprises training an artificial neural network (ANN) to use the determined latent vectors to convert one or more latent vectors (e.g., a "second" set of one or more latent vectors) into a generated dataset (e.g., an image). Advantageously, the use of the boson sampler generates correlations (more specifically, quantum entanglement between the numbers of photons in the output modes of the photon states output from the boson sampler's interferometer). Thus, the latent space from which the latent vectors are sampled is rich in correlations, which improves the ability of the ANN to learn correlations in the dataset on which the ANN is trained.

[0016] The ANN may be trained in several different ways. According to some examples, training the ANN to transform one or more latent vectors (e.g., a “second” set of one or more latent vectors) into the generated dataset may comprise training a generative adversarial network (GAN). The GAN comprises an ANN and a second ANN known as a classifier or evaluator. Training the GAN may comprise training the ANN to generate an artificial dataset using the determined latent vectors and feedback from the second ANN; training the second ANN to classify a received dataset as an artificial dataset or a real dataset using the plurality of artificial datasets and the plurality of real datasets generated by the ANN and providing feedback to the ANN; and outputting the trained ANN configured to transform one or more latent vectors into the generated dataset.

[0017] Using the determined latent vectors, training the ANN to transform one or more latent vectors into a generated image may include providing different latent vectors to different layers of the neural network.

[0018] The ANN comprises a convolutional neural network.

[0019] The method for training an ANN or generating a data set may further comprise selecting a plurality of parameter values ​​to configure the interferometer of the boson sampler, and controlling the boson sampler accordingly may comprise controlling the configured boson sampler.

[0020] The set of integer sequences may comprise a set of binary strings. For example, a boson sampler may comprise one or more threshold detectors that detect the presence or absence of photons rather than the number of photons in each output mode and encode this information in the binary sequence.

[0021] Determining one or more latent vectors from the one or more integer sequences may comprise post-processing of the integer sequences, for example truncating the integer sequences.

[0022] According to an aspect of the present disclosure, a non-transitory computer-readable medium is provided. The computer-readable medium has stored thereon instructions that, when executed by one or more processors in communication with a boson sampler, cause the one or more processors to perform a method for training an artificial neural network as described herein. For example, the instructions, when executed, may cause the one or more processors to control the boson sampler to generate one or more integer sequences, each of the one or more integer sequences representing one or more photodetectors of the boson sampler; determine a set (e.g., a first set) of latent vectors from the one or more integer sequences; and use the set of latent vectors to train an artificial neural network (ANN) to transform the set (e.g., a second set) of latent vectors into a generated dataset.

[0023] According to an aspect of the present disclosure, a computer-readable medium is provided. The computer-readable medium has stored thereon instructions that, when executed by one or more processors in communication with a boson sampler, cause the one or more processors to perform a method for generating a dataset (e.g., an image) as described herein. For example, the instructions, when executed, may cause the one or more processors to control the boson sampler to generate one or more integer sequences, each representing a measurement result of one or more photodetectors of the boson sampler; determine one or more latent vectors from the one or more integer sequences; provide the one or more latent vectors to a trained artificial neural network (ANN) configured to convert the determined one or more latent vectors into a generated dataset (e.g., an image); and output the generated dataset.

[0024] Advantageously, the methods and systems described herein enable the generation of datasets using latent vectors taken from highly correlated quantum latent spaces, which can advantageously improve the quality of the generated datasets.

[0025] The computer program and / or code / instructions for implementing the methods as described herein may be provided to a device such as a computer on a computer-readable medium or computer program product. The computer-readable medium may comprise a non-transitory computer-readable medium. The computer-readable medium may be, for example, an electronic, magnetic, optical, infrared, electromagnetic, or semiconductor system or a propagation medium for data transmission, for example, for downloading code via the Internet. Alternatively, the computer-readable medium may take the form of a physical computer-readable medium, such as a semiconductor or solid-state memory, magnetic tape, removable computer diskette, random access memory (RAM), read-only memory (ROM), and a rigid magnetic disk, optical disc such as a CD-ROM, CD-RW, or DVD.

[0026] Many modifications and other embodiments of the present disclosure described herein will occur to those skilled in the art. Accordingly, it will be understood that the disclosure herein is not to be limited to the particular embodiments disclosed herein. Moreover, while the description provided herein provides example embodiments in the context of certain combinations of elements, steps, and / or functions, alternative embodiments may be provided without departing from the scope of the present disclosure.

[0027] Illustrative embodiments of the present disclosure will now be described, by way of example only, with reference to the accompanying drawings, in which: [Brief explanation of the drawings]

[0028] [Figure 1] FIG. 1 is a diagram of a trained artificial neural network according to an example. [Figure 2]FIG. 1 is a block diagram of a system according to an example. [Figure 3] FIG. 1 is a diagram of a boson sampler, according to an example. [Figure 4] FIG. 1 is a diagram of a boson sampler, according to an example. [Figure 5] 3 is a flowchart of a method suitable for implementation by the system of FIG. 2, according to an example. [Figure 6] FIG. 3 is a diagram of a generative adversarial network framework that may be utilized by the system of FIG. 2 in training an artificial neural network, according to an example. [Figure 7] 1 is a flowchart of a method for generating an image, according to an example. [Figure 8] FIG. 1 is a diagram of a trained artificial neural network according to an example. [Figure 9] 1 is a graph showing the results of an experiment carried out by the inventors. [Figure 10] 1 is a graph showing the results of an experiment carried out by the inventors. [Figure 11] This is a table. [Figure 12] 1A-1D are images generated by differently trained artificial neural networks in experiments carried out by the inventors. [Figure 13] This is a table. DETAILED DESCRIPTION OF THE INVENTION

[0029] Like reference numbers refer to like parts throughout the description and figures.

[0030] Embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that the present disclosure is not limited to these embodiments, and all modifications and / or equivalents or replacements thereto also fall within the scope of the present disclosure. The same or similar reference symbols may be used throughout this specification and drawings to refer to the same or similar elements.

[0031] As used herein, the terms "have," "may have," "include," or "may include" a feature (e.g., a number, function, operation, or component such as a part) indicate the presence of the feature and do not exclude the presence of other features. Throughout the description and claims of this specification, the words "comprise" and "contain" and variations thereof mean "including but not limited to," and they are not intended to (and do not) exclude other components, integers, or steps. Throughout the description and claims of this specification, the singular encompasses the plural unless the context requires otherwise. In particular, where the indefinite article is used, this specification is to be understood as contemplating the plural as well as the singular, unless the context requires otherwise.

[0032] As used herein, the terms "A or B," "at least one of A and / or B," or "one or more of A and / or B" may include all possible combinations of A and B. For example, "A or B," "at least one of A or B," or "at least one of A and B" may refer to all of: (1) including at least one A; (2) including at least one B; or (3) including at least one A and at least one B.

[0033] As used herein, the terms "first" and "second" may modify various components regardless of importance and do not limit the components. These terms are used only to distinguish one component from another. For example, reference to a first component and a second component may refer to different components relative to each other, regardless of the components' order of importance.

[0034] When an element (e.g., a first element) is referred to as being "coupled with" (physically, operatively, or communicatively) or "connected with" another element (e.g., a second element), it will be understood that it may be coupled "with" the other element either directly or through a third element. In contrast, when an element (e.g., a first element) is referred to as being "directly coupled with" or "directly connected with" another element (e.g., a second element), it will be understood that there are no intervening elements (e.g., a third element) between the element and the other element.

[0035] The terms used herein are provided only to describe some embodiments of the present disclosure, and not to limit the scope of other embodiments thereof. The singular forms "a," "an," and "the" should be understood to include plural references unless the context requires otherwise. All terms, including technical and scientific terms, used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiments of the present disclosure belong. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning consistent with their meaning in the context of the relevant art, and not in an idealized or overly conventional sense, unless expressly so defined herein.

[0036] As previously indicated, the present disclosure relates to methods and systems for generating output datasets using an artificial neural network coupled to a boson sampler. For simplicity, the following description refers to the specific example of generating images. However, this is for convenience only. The description herein is also applicable to generating other types of datasets, such as synthetic images, synthetic videos, synthetic 3D shapes, synthetic text, synthetic molecular configurations or formulas, and synthetic time series. Examples of synthetic time series include sound, financial time series, weather-related time series such as wind, clouds, or temperature, time series of energy production in a power system, or time series of sensor data (such as speed or acceleration in an automobile). Other output datasets may comprise synthetic graphs, such as social networks or transportation networks. The output dataset may also comprise conditional data, for example, images conditioned on text input or images conditioned on other images. An example of an image conditioned on another image is a high-resolution image conditioned on a low-resolution image. The output dataset may also comprise any combination of the above, such as integrated images or text captions. The terms "synthetic" and "artificial" are used interchangeably herein to refer to the generated output of a network.

[0037] In general, an artificial neural network (ANN) is a method of function approximation that loosely mimics an animal brain and comprises multiple nodes known as neurons, multiple connections between the nodes, and multiple weights and biases associated with the neurons and the interneuronal connections between them. Each neuron is configured to receive one or more inputs and provide those inputs as weighted arguments to a nonlinear transfer function that provides the neuron's output. The transfer function is sometimes known as an activation function. The weights of the activation function's inputs are defined by the weights and biases associated with that neuron and its connections. The activation function may be, for example, a sigmoid activation function, a tanh activation function, or a rectified linear (ReLU) activation function.

[0038] Neurons are typically arranged in layers, such as visible layers, including an input layer and an output layer, and hidden layers. The outputs of the neurons in the input layer and each hidden layer serve as inputs to one or more subsequent layers, which produce the network's output. Thus, an ANN takes multiple input values ​​and converts them into multiple output values / results.

[0039] Some ANNs may be used to generate synthetic data (sometimes called artificial data), and may be referred to herein as generative networks. The input values ​​received by a generative network may comprise values ​​randomly selected from some probability distribution, and the generative network may produce the synthetic data as output values ​​that mimic the dataset on which the ANN is trained. In generative network terminology, the examples of input values ​​may be referred to as latent vectors, and the probability distribution from which the latent vectors are selected may be referred to as the latent space.

[0040] Neural networks must be trained to perform a task correctly, and can be trained in many different ways. During the training process, the ANN learns (or is "trained") by processing data from a collection of representative examples according to a specified training routine and forming a probability-weighted distribution between the ANN's input and output values. For example, when training a generative network, synthetic data generated by the network may be compared in some way to representative examples from the training data, typically by using a cost function, and the weights and biases of the generative network may be iteratively updated according to a learning rule. Through successive adjustments, the artificial neural network produces synthetic data that increasingly resembles the target output data. After a sufficient number of these adjustments, training may be terminated based on some criterion. Once trained, the trained model (e.g., the neural network's trained weights and biases) may be stored for later use.

[0041] A diagram of a trained ANN 100 for generating an image according to one example is shown in FIG. 1. The trained generative network 100 comprises an input layer 102, a hidden layer 104, and an output layer 106. The input layer 102 comprises a first plurality of neurons 102-1 through 102-u, the hidden layer 104 comprises a second plurality of neurons 104-1 through 104-v, and the output layer 106 comprises a third plurality of neurons 106-1 through 106-w. While only a single hidden layer is shown in FIG. 1, those skilled in the art will understand that an ANN may have several hidden layers between the input layer 102 and the output layer 106. The number of neurons in each layer may be the same or different. Furthermore, those skilled in the art will understand that while every neuron in a layer is connected to every neuron in the next layer in the ANN 100, each neuron may be connected to fewer neurons in the next layer or to neurons in the same or previous layer. The activation function implemented by each neuron may be, for example, a sigmoid activation function, a tanh activation function, or a rectified linear (ReLU) activation function.

[0042] The trained generative network 100 is configured to receive as input a latent vector 108, denoted z in the figure. The latent vector z 108 is from a latent space derived from a boson sampler. Neurons 102-1 through 102-u in the input layer 102 each calculate the magnitude (z1 through z2) of the components of the latent vector z 108. u) as inputs, provides their magnitude as an argument to the neuron's activation function, and outputs the result to a neuron in the hidden layer 104. Neurons 104-1 to 104-v in the hidden layer 104 are each configured to receive inputs from the previous layer (in this example, the input layer 102), provide those inputs as weighted arguments to the neuron's activation function, and output the result to a neuron in the output layer 106. Neurons 106-1 to 106-w in the output layer are each configured to receive inputs from the previous layer (in this example, the hidden layer 104), provide those inputs as weighted arguments to the neuron's activation function, and output the result. Output values ​​y1 to y2 of neurons in the output layer 108 are w can be collectively interpreted as an image 110. For example, the output values ​​y1 to y w may comprise pixel values. In some examples, the image 110 may be a grayscale image, and each output value y of the output layer 106 j may correspond to each pixel of image 110. In some examples, image 110 may be a color image, and for example, each pixel of image 110 may be represented by three output values ​​of neural network 100, one for each of the pixel's red, green, and blue channels. Thus, ANN 100 is configured to receive latent vector z (108) as input and generate an artificial / synthetic image (110).

[0043] Those skilled in the art will appreciate that the neural network architecture of an ANN consistent with the disclosure herein may differ from that shown in Figure 1. For example, the ANN may comprise one or more convolutional layers, one or more max-pool and / or soft-max layers, and may include skip connections.

[0044] The ANN 100 may be trained by attempting to optimize a cost function that indicates the error between synthetic images generated by the ANN (which are examples of a synthetic dataset) and a training set of real images (which are examples of a real dataset). For example, training may comprise minimizing a cost function, such as a quadratic cost function, a cross-entropy cost function, a log-likelihood cost function, or the like. Minimization may be performed using backpropagation, e.g., by gradient descent, stochastic gradient descent, or variants thereof, and weights and biases within the neural network may be adjusted accordingly. Training may involve the use of additional techniques known to those skilled in the art, such as regularization. Mini-batch size, learning rate, number of epochs, and other hyperparameters may be selected and fine-tuned during training. The ANN 100 may be trained, for example, as part of a generative adversarial network.

[0045] As shown above, a generative network learns to transform samples from a latent space into a synthetic dataset, which in the above example represents images. A latent space is a virtual space containing points (defined by corresponding latent vectors z) that may represent images or other types of datasets. A trained generative network is an ANN that has been trained to transform points from the latent space (i.e., the latent vectors) into a dataset (e.g., images) that preferably resembles the dataset for which the ANN was trained.

[0046] Traditionally, each input value to a generative network follows a normalized Gaussian distribution (

[0047]

number

[0048] These latent spaces are independently selected from probability distributions such as a random distribution (often denoted as ∂ ...

[0049] A boson sampler is a non-universal quantum computer that relies on the interference of identical photons to generate its output. More specifically, a boson sampler comprises a network of optical components or elements (interferometers) in which identical photons interfere with each other. Because photons are quantum objects, the output of this network is described by a large quantum superposition of all possible outcomes. When a measurement is performed on the output of this network using one or more photon detectors, a single measurement result is realized from this superposition. If a photon number resolution (PNR) detector is used, each measurement result can be described by an array / string / sequence of integers indicating how many photons were found in each output mode of the output state. If a threshold detector is used, each measurement result can be described by an array / string / sequence of integers, e.g., a binary sequence, indicating whether a photon was present or absent in each output mode of the output state.

[0050] The photon superposition states output from the boson sampler interferometer can be used to generate highly correlated probability distributions. This is clearly illustrated by the famous Hong-Ou-Mandel effect. That is, when two identical single photons simultaneously enter a 50 / 50 beam splitter, one into each of the two input modes (input paths), interference causes the output modes (output paths) adopted by the photons to become entangled. The output state can be represented as a superposition of two configurations: one in which both photons are polarized into the first output mode, and one in which both photons are polarized into the second output mode. Interference eliminates other possible possibilities, such as each output path carrying a single photon. There is a 50% probability that the two photons will be found in a particular one of the output modes. Therefore, due to the quantum entanglement of the output modes, the measurement results are highly correlated.

[0051] Therefore, it is understood that the underlying probability distribution generated by a boson sampler has a complex structure, and simulating this sampling task is classically intractable: modern supercomputers cannot simulate boson sampler distributions generated from more than a few dozen modes.

[0052] 2 shows a block diagram of a heterogeneous image generation system 200 in which illustrative embodiments may be implemented. The heterogeneous system 200 includes both classical and quantum processing devices. As will be appreciated by those skilled in the art, architectures other than those shown in FIG. 2 may be used. For example, the system 200 may be distributed across multiple interconnected devices.

[0053] System 200 is an example of a special-purpose computing device in which computer-usable program code or instructions for implementing a process may be located. In this example, system 200 includes a communication fabric 202, which provides communication between a processor unit 204, a memory unit 206, an input / output unit 208, a communication module 210, a display 212, and a boson sampler 214.

[0054] The one or more processing units / processors 204, individually or collectively, are configured to execute instructions for software that may be loaded into memory 206. Depending on the specific implementation, the processor unit 204 may be a set of one or more processors or may be a multi-processor core. Additionally, the processor unit 204 may be implemented using one or more heterogeneous processor systems, such as one in which a main processor exists with secondary processors on a single chip. The one or more processing units 204 may comprise one or more central processing units (CPUs), one or more graphics processing units (GPUs), or any combination thereof. When a processor unit comprises multiple processors, the multiple processors may operate individually or collectively.

[0055] The one or more memory units 206 may comprise, for example, any hardware capable of temporarily and / or permanently storing information, such as data, program code, and / or other suitable information, in a functional form. The one or more memory units 206 may include, for example, random access memory or any other suitable volatile or non-volatile storage device. The one or more memory units 206 may include some form of persistent storage, such as a hard drive, flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination thereof. The medium used for persistent storage may be removable. For example, the one or more memory units 206 may include a removable hard drive.

[0056] Input / output unit 208 allows for the input and output of data with other devices that may be in communication with system 200. For example, input / output unit 208 may provide a connection for user input through a keyboard, a mouse, and / or other suitable device. Input / output unit 208 may provide output to, for example, a printer.

[0057] The communications module 210 enables communication with other data processing systems or devices. The communications module 210 may provide communications through the use of either or both physical and wireless communications links. For example, the communications module 210 may be configured to communicate with other data processing systems or devices via a wired local area network connection, via WiFi, or via a wide area network such as the Internet.

[0058] Instructions for applications and / or programs may be located in one or more memory units 206, which are in communication with one or more processor units 204 through communications fabric 202. The computer-executable instructions may reside in a functional form in persistent storage in memory units 206 and may be executed by processor units 204.

[0059] These instructions are sometimes referred to as program code, computer usable program code, or computer readable program code that may be read and executed by processor unit 204. The program code in different embodiments may be embodied in different physical or tangible computer readable media.

[0060] The memory unit 206 may further store data files, such as trained weights and biases for an artificial neural network (such as the ANN 100), as well as information regarding the configuration of the ANN, for use by one or more processor units.

[0061] The boson sampler 214 comprises a state generation unit 216 , a linear interferometer 218 , a state detection unit 220 , and a dedicated (classical) control unit 222 .

[0062] The state generation unit 216 generates an input multimode photon state |Ψ having a plurality of input modes. INThe input multimode photon state is a product state with a plurality of N non-vacuum optical inputs distributed across a plurality of M input modes (in other words, there is no quantum entanglement between the input modes).

[0063] In some examples, the state generation unit 216 generates an input multimode photon state |Ψ comprising N photons distributed across a plurality of M modes. IN When the number of photons N is less than or equal to the number of input modes M, and one photon is provided in each of the filled input modes (in this case the boson sampler may be called a single-photon boson sampler), then, without loss of generality, we can define the input state as

[0064]

number

[0065] It can be expressed as

[0066]

number

[0067] is the boson creation operator for the kth mode. Those skilled in the art will appreciate that the methods and systems described herein are also applicable when one or more input modes comprise more than one photon.

[0068] In another example, the state generation unit 216 generates an input multimode photon state |Ψ with Gaussian photon input in each of the N input modes. IN> (in which case the boson sampler may be referred to as a Gaussian boson sampler). For example, a single-mode squeezed state (SMSS), also known as a squeezed coherent state, may be the input to each input mode. The amount of squeezing in each input mode may be configured to meet certain criteria, e.g., to achieve a predetermined average number of photons. In some examples, training the ANN may include training the squeezing of each input state.

[0069] In some examples, the state generation unit generates an input multimode photon state |Ψ, which comprises a single photon in one mode and a squeezed coherent state in another mode. IN >.

[0070] The state generation unit 216 may include one or more light sources. For example, in a single-photon boson sampler, the state generation module 216 may include a nonlinear photonic material (such as periodically poled lithium niobate (PPLN) or potassium phosphate titanate (KTP)) configured to receive a pump beam from a pump laser and probabilistically generate pairs of entangled photons, and may further include a photodetector configured to detect the entangled pair of photons, thereby signaling the presence of the other photon of the pair. For example, in a Gaussian boson sampler, the state generation module 216 may include a PPLN waveguide configured to generate two entangled modes of light and a 50:50 beam splitter for interfering the two modes of light, thereby generating two independent single-mode squeezed Gaussian states.

[0071] Interferometer 218 comprises a plurality of optical elements arranged to interfere with the modes of an input multimode photon state, thereby transforming the input multimode photon state to produce an output multimode photon state. Interferometer 218 is configured to receive the input multimode photon state, transform the input multimode photon state into an output multimode photon state, and output the output multimode photon state to state detection unit 220. This transformation depends on the value {θ} of a set of parameters θ.

[0072] The interferometer 218 may be designed and fabricated in any suitable and desirable manner, depending, for example, on the mode of electromagnetic radiation to be converted by the interferometer 218. Thus, for example, when the electromagnetic radiation has a visible or infrared wavelength (e.g., between 400 nm and 700 nm or between 700 nm and 1600 nm), the optical path through the interferometer 218 may be implemented at least in part using optical fiber. In some examples, the interferometer 218 may be implemented with bulk optical materials. However, in other examples, the interferometer 218 may comprise an optical integrated circuit. In an optical integrated circuit, the optical path may be implemented, for example, with multiple etched waveguides and multiple coupling locations disposed in the optical integrated circuit. At each coupling location, a tunable element configured to control the coupling interaction between the waveguides may be disposed (e.g., an EOM phase shifter). The optical integrated circuit may be implemented with silicon nitride (Si3N4), thin-film lithium niobate, or any other suitable material.

[0073] Although a linear interferometer may be modeled as a unitary transformation, losses and other factors may mean that the transformation is not exactly unitary; for example, photons passing through a beam splitter may be lost due to absorption in the beam splitter or scattering by modes not measured by the device. Those skilled in the art will appreciate that the methods and systems described herein are also applicable in situations where the transformation is not exactly unitary. A unitary transformation is

[0074]

number

[0075] acts on the creation operator as

[0076]

number

[0077] is a unitary matrix. The interferometer 218 is defined by a set of parameters θ. One or more of the parameters θ may characterize single-mode operation. For example, the parameters may characterize a phase shift imparted by a phase shifter in a passive linear interferometer. One or more of the parameters θ may characterize multi-mode operation. For example, the parameters may characterize the transmission (or equivalently, reflection) coefficient of a reconfigurable beam splitter in a passive linear interferometer. If one or more values ​​{θ} of the parameters θ can be reconfigured, the bosonic sampler may be referred to as a reconfigurable bosonic sampler.

[0078] The unitary mapping is

[0079]

number

[0080] transforms the input state into an output state, which can be expressed as a superposition of various possible configurations of photons in the output mode as, where C is the configuration,

[0081]

number

[0082] is the number of bosons in the jth output mode in configuration C, and α Cis the probability amplitude associated with configuration C. By adjusting the parameter value {θ}, the probability amplitude associated with each configuration can be changed. Thus, measuring the number of photons in each output mode using one or more photon-number-resolving detectors can produce a measurement that can be expressed as a string of integers corresponding to configuration C. Running the boson sampler multiple times (N s By running the program (number of times), we can establish an empirical probability distribution for the boson configurations of the output states. With many samples, the probability p of obtaining a measurement corresponding to configuration C is C is generally p C =|α C | 2 It can be expected that the

[0083] The state detection unit 220 comprises one or more photodetectors configured to measure the output modes of the output multi-mode photon state and produce a measurement indicating whether a boson was present in each measured output mode. In some examples, the photodetectors may comprise photon number-resolved (PNR) detectors capable of determining how many photons were received. For example, the detectors may comprise superconducting nanowire detectors that generate an output signal strength proportional to the (discrete) number of photons that strike the detector. The PNR detector may comprise a transition edge sensor (TES). In other examples, the photodetectors may comprise threshold detectors, also known as on / off detectors. Threshold detectors cannot determine how many photons are received, but can determine the presence / absence of photons in an output mode.

[0084] The controller 222 is communicatively coupled to the processor unit 204, the state generation module 216, the interferometer 218, and the state detection unit 220. The controller 222 may be any suitable classical computing resource for controlling the operation of the boson sampler 214. Preferably, the controller 222 is implemented with a dedicated application-specific processing device. For example, the controller 222 may comprise an application-specific integrated circuit (ASIC) or an application-specific standard product (ASSP) or another domain-specific architecture (DSA). Alternatively, the controller 222 may be implemented with adaptive computing hardware (in other words, hardware comprising configurable hardware blocks / configurable logic blocks) configured to perform the required functions, for example, in a configured field-programmable gate array (FPGA).

[0085] Controller 222 is configured to receive instructions from processor unit 204 and return measurement result information to processor unit 204. More specifically, when instructed to do so by one or more processor units 204, controller 222 is configured to configure interferometer 218 according to a set of parameter values ​​{θ}, thereby controlling the transformation of input multimode photon states implemented by interferometer 218. For example, controller 222 may directly send control signals to adjust the reflectivity / transmission of a reconfigurable beam splitter or the phase imparted by a phase shifter. When instructed to do so by one or more processor units 204, controller 222 is further configured to generate one or more control signals to cause one or more single-photon sources to generate photons such that state generation unit 216 generates input multimode photon states. Controller 222 may optionally be capable of controlling which input multimode photon states are input to the bosonic sampler, for example, by generating one or more control signals to control the number of photons in each input mode. For example, in a photon boson sampler in which the state generation module comprises multiple single-photon sources, the controller may be capable of generating one or more control signals to cause a selected number of photons to be emitted at a particular time.

[0086] The controller 222 is further configured to receive a response from the condition detection unit 220. More specifically, the controller 222 is configured to receive measurements from the photodetectors of the condition detection unit 220. For example, the measurements may comprise an electrical signal from each photodetector at which a detection event occurs. In examples where the photodetectors are PNR detectors, the electrical signal may further indicate the number of photons received.

[0087] The controller 222 is further configured to communicate a response from the condition detection unit 220 to the one or more processor units 204 .

[0088] 2 , computer-readable instructions 226 are located in functional form on a selectively removable (e.g., non-transitory) computer-readable storage medium 224, which may be loaded or transferred to system 200 for execution by processor unit 204. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or any suitable combination thereof. More specific examples of computer-readable media include a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CDROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the context of this document, a computer-readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.

[0089] Alternatively, the computer readable instructions 226 may be transferred to the system 200 from the computer readable storage medium 224 through a communications link to the communications module 210 and / or through a connection to the input / output unit 208. The communications link and / or connection may be physical or wireless.

[0090] In some exemplary embodiments, computer-implementable instructions 226 may be downloaded over a network from a remote device to memory unit 206 for use with system 200. For example, computer-implementable instructions stored on a remote server may be downloaded from the server to system 200 over a network.

[0091] Those skilled in the art will understand that the architecture described above with respect to Figure 2 does not provide any constraints on the computing devices with which the methods described herein may be implemented. Instead, those skilled in the art will understand that other architectures may be applicable. For example, the computing device may include more or fewer components.

[0092] System 200 may be implemented in any of numerous ways. For example, system 200 may be provided as a number of hardware modules suitable for installation in a server / computer rack (e.g., a conventional 19-inch server rack). For example, processor unit 204, memory unit 206, input / output unit 208, and communication module 210 may be provided in a first rack-mounted hardware module, controller 222 may be implemented in a second rack-mounted hardware module and electrically coupled to the first hardware module, state generation unit 216 may be implemented in a third rack-mounted hardware module electrically coupled to controller 222, interferometer 216 may be implemented in a fourth rack-mounted hardware module electrically coupled to controller 222 and optically coupled to state generation unit 216, and the photodetector of state detection unit 220 may be provided in another hardware module electrically coupled to controller 222 and optically coupled to the interferometer module. In other examples, system 200 may be implemented using one or more separate devices communicatively coupled (at least in part) through a network, such as the Internet.

[0093] The boson sampler 214 of Figure 2 may comprise a spatial mode interferometer, such as the single-photon boson sampler 214a shown in Figure 3. In the boson sampler 214a of Figure 3, the mode of the input multimode photon state is a spatial mode, i.e., the state is defined by the number of photons in each of multiple spatially distinct paths. The boson sampler 218a may be implemented, at least in part, in an optical integrated circuit.

[0094] The state generation unit 216a of Figure 3 includes a plurality of single-photon sources 310 configured to generate single photons. One suitable photon source technology is spontaneous parametric down-conversion (SPDC). In SPDC, a nonlinear crystal is pumped with a laser, which emits stochastically entangled photons ("signal" and "idler"). A photodetector (not shown in Figure 3) is positioned to detect the presence of idler photons, which, due to entanglement, signal the presence of photons in the signal mode. Other photon sources, such as solid-state photon sources and quantum dots, can also be used.

[0095] The number of single-photon sources 310 is determined by the number of input multimode photon states |Ψ to take into account the fact that single photons can only be generated stochastically. IN 3 includes a multiplexer 320 for directing successfully generated single photons to N of the M input ports of interferometer 218a. In the example shown in FIG. 3, the number N of single photons is equal to the number M of input modes of interferometer 218a.

[0096] Interferometer 218a includes M input ports, M output ports, and a plurality of waveguides arranged to pass through interferometer 218a to connect the M input ports to the M output ports. The plurality of waveguides are arranged to provide a plurality of coupling locations between pairs of the plurality of waveguides. Interferometer 218a may be designed and fabricated in any suitable and desired manner, depending, for example, on the mode of electromagnetic radiation to be converted by the interferometer. Thus, for example, when the electromagnetic radiation has a visible or infrared wavelength (e.g., between 400 nm and 700 nm or between 700 nm and 1600 nm), the waveguides may comprise optical fibers. In some examples, the interferometer may be implemented in bulk optical materials. However, in other examples, the interferometer comprises an optical integrated circuit, with the plurality of waveguides and the plurality of coupling locations disposed within the optical integrated circuit. The integrated circuit may be implemented in silicon nitride (Si3N4), thin-film lithium niobate, or any other suitable material.

[0097] A reconfigurable beam splitter 330 is positioned at each of the coupling locations such that the two modes of electromagnetic radiation carried by the two respective waveguides at each coupling location can couple to each other with a reconfigurable reflection (transmission) coefficient, which is denoted in the diagram by θ.

[0098] A parameterized / reconfigurable beam splitter is understood to mean any adjustable element or device or adjustable collection of elements / devices capable of coupling two modes of electromagnetic radiation together with reconfigurable reflection / transmission coefficients and, optionally, with reconfigurable phase shift coefficients (not shown in FIG. 3 ). The parameterized beam splitter may be implemented in any suitable manner; for example, the parameterized beam splitter may comprise a Mach-Zehnder interferometer including a variable phase shifter in one internal path for controlling the effective beam splitter reflection coefficient of the Mach-Zehnder interferometer. The Mach-Zehnder interferometer may further comprise an external phase shifter in one external path of the Mach-Zehnder interferometer for controlling the relative phase of the two modes of action. For example, when interferometer 218a is implemented in an integrated circuit, the reconfigurable beamsplitter may comprise a first waveguide coupling region for coupling the electromagnetic radiation modes in each waveguide, an electro-optic phase shift element for adjusting the phase in one of the waveguides exiting the coupling region, and a second waveguide coupling region for recombining the two electromagnetic modes output from the first waveguide coupler. For example, when implemented in bulk optics, the reconfigurable beamsplitter may comprise two 50 / 50 beamsplitters and a phase shifter element disposed between them.

[0099] Interferometer 218a may further comprise reflective elements (e.g., mirrors) and other passive optical elements (not shown). Interferometer 218a thus couples single photons received at M input ports to multiple M output ports based on operations defined by a set of parameter values.

[0100] The interferometer 218a of Figure 3 is suitable for converting an input multimode photon state comprising M input spatial modes into an output multimode boson state comprising M output photon modes. Those skilled in the art will appreciate that other architectures of the interferometer 218a may be utilized. Of course, while the number of input and output modes is shown as M = 4, the interferometer 218a may be provided to operate with a greater number of spatial modes. Of course, the interferometer 218a may comprise any number of reconfigurable / parameterized elements in any configuration that leads to interference between the spatial modes.

[0101] The state detection unit 220a includes multiple photon number resolving (PNR) photodetectors 340, each positioned to receive every photon output from a corresponding output port of the interferometer 218a. The state detection unit 218a includes one PNR detector for each of the M output modes, so that the measurement results represent the number of photons measured in all output modes of the output multi-mode photon state. The PNR detectors may include nanowire photodetectors.

[0102] The controller 222a is coupled to each of the state detection unit 216a, the interferometer 218a, and the state detection unit 220a. The controller 222a is further communicatively coupled to one or more processor units 204. The controller 222a may receive a set of parameter values ​​from the processor unit 204 and may generate a control signal to configure the adjustable element 330 of the interferometer 218a according to the parameter values. For example, each reconfigurable beam splitter 330 may comprise a Mach-Zehnder interferometer comprising two 50 / 50 beam splitters and a phase shifter located in each of one or both of its internal optical paths. The phase shifters may be implemented using electro-optic modulators. The control signal may comprise an electric field to control the phase shift imparted by the internal phase shifter and, therefore, the coupling strength of the reconfigurable beam splitter. The controller 222a may further generate a control signal to cause the single-photon source 310 to begin generating single photons, for example, the control signal may cause a pump laser to pump light into the nonlinear material of the single-photon source 310. The controller 222a may further receive a signal from each of the PNR detectors 340 indicative of the number of photons detected at each of the PNR detectors 340. The controller 222a may then communicate the measurement results to the processor unit 204.

[0103] The boson sampler 214 of Figure 2 may comprise a time-mode interferometer, such as the single-photon boson sampler 214b shown in Figure 4. In the boson sampler 214b of Figure 4, the modes of the input multimode photon state are time modes, meaning that the state is defined by the number of photons in each of multiple time modes or time bins.

[0104] 4 includes a single-photon source 410 operable to produce a single photon in each of a plurality of time bins, such that each photon enters the time bin interferometer 218b separated from the next photon by a time length τ. As in the boson sampler 214a of FIG. 3, the state generation unit 216a may further include a single-photon source and a multiplexer to reliably ensure that a single photon is generated in each period τ.

[0105] Interferometer 216b includes a temporal mode coupling device. Specifically, in FIG. 4, the temporal mode coupling device includes a reconfigurable beam splitter 420 and a delay line 430. The delay line 430 is positioned to connect one input port of the reconfigurable beam splitter 420 with one output port of the reconfigurable beam splitter 420. The delay line may include, for example, an optical fiber. The delay line 430 has a length cτ, where c is the speed of light in the fiber. In this manner, a field of photons in one time mode can be at least partially coupled into the delay line 430 to interfere with photons in a next time mode on the parameterized beam splitter 420. The time bin interferometer may include additional optical components, including additional optical switches.

[0106] The controller 222b is configured to adjust the parameter values ​​(e.g., transmission) of the parameterized beam splitter 420 for each time interval. For example, for four input modes, the temporal mode coupling device may be used to implement the equivalent operation of three beam splitters defined by parameters θ, θ, and θ shown in FIG. 3. For example, the controller 222b may configure the reconfigurable beam splitter 420 to enter the delay line 430 when a first photon is emitted from the photon source 410. The controller 222b may then adjust the input state |Ψ INController 222b may configure reconfigurable beam splitter 420 using parameter value θ1 to cause interference between a first time mode and a second time mode (e.g., a first photon and a second photon) of θ1. Controller 222b may then configure reconfigurable beam splitter 420 using parameter value θ2 to cause interference between the second time mode and a third time mode when a third photon is emitted from photon source 410. Controller 222b may then configure reconfigurable beam splitter 420 using parameter value θ3 to cause interference between the third time mode and a fourth time mode when a fourth photon is emitted from photon source 410.

[0107] The state detection unit 220b includes a photon number resolving (PNR) photodetector 440 configured to detect the number of photons in each time mode.

[0108] Those skilled in the art will appreciate that the architecture of the temporal mode bosonic sampler 214b of Figure 4 may be varied in several ways. For example, the bosonic sampler 214b may include an additional reconfigurable beam splitter 420 and an additional delay line 430 to generate more complex interference between the temporal modes. Those skilled in the art will further appreciate that delay lines of different lengths may be used to vary which temporal modes interfere with each other.

[0109] Those skilled in the art will appreciate that the spatial-mode boson sampler of Figure 3 and the temporal-mode boson sampler of Figure 4 may further operate as Gaussian boson samplers with appropriate substitutions for state generation units 216a / 216b. Additionally, the PNR detectors of state detection modules 220a / 220b may be replaced with threshold detectors, in which case the measurement results output from the state detection units indicate the presence or absence of photons in each output mode, rather than the number of photons in the output mode.

[0110] Figure 5 shows a flowchart of a method 500 for implementation by a system comprising one or more (classical) processor units and a configurable boson sampler, such as system 200 of Figure 2. The method 500 is discussed with reference to system 200 of Figure 2, although one skilled in the art will appreciate that other system architectures may be utilized.

[0111] At 510, the method comprises selecting a parameter value {θ} of a set of parameters θ of a boson sampler.

[0112] Referring to FIG. 2 , in some examples, the processor unit 204 may receive an indication of the selected parameter value {θ} from a user input via the input / output unit 208 (e.g., via a user directly entering the selected parameter value on a keyboard coupled to the system 200) or via the communication module 210 (e.g., via the Internet). In other examples, the processor unit 204 may retrieve the selected parameter value {θ} from persistent memory in the memory unit 206. The processor may then communicate the selected parameter value to the controller 222 of the bosonic sampler 214. In some embodiments, the parameter value {θ} is selected such that the bosonic sampler creates an entangled quantum state. Additionally, the parameter value {θ} may be selected such that the statistical properties of the integer sequence from the bosonic sampler match the statistical properties of the output data generated by the ANN. This may lead to improved performance by the ANN, among other benefits. However, this is not required. Performance improvements are observed for boson samplers with random parameter values ​​{θ}, indicating that the statistics of integer sequences from boson samplers are generally useful without special concern for the parameter value {θ}.

[0113] At 520, the method comprises configuring a boson sampler according to the selected parameter value {θ}. At 530, the method comprises generating a set of integer sequences using the configured boson sampler. Those skilled in the art will appreciate that steps 520 and 530 may occur sequentially or substantially simultaneously, depending on the nature of the boson sampler.

[0114] Referring to FIG. 2 , in some examples, the bosonic sampler 214 may comprise a spatial-mode interferometer. Accordingly, the controller 222 may generate control signals to configure parameters of the interferometer 218 according to the selected parameter value {θ}. The controller 222 may then generate one or more control signals to cause the state generation unit 216 to generate an input multimode photon state and subsequently receive an indication of the detection of a photon at the photodetector of the state detection unit 220. In other examples, the bosonic sampler 214 may comprise a temporal-mode interferometer. Accordingly, the controller 222 may generate one or more control signals to cause the state generation unit 216 to generate an input multimode photon state and simultaneously generate one or more control signals to dynamically configure the interferometer 218 during the course of the input multimode photon state. The controller 222 may then receive measurement results from the photodetector of the state detection unit 220 indicating whether a photon was measured in each temporal mode of the output multimode photon state. The controller 222 may then interpret the number of photons detected in each output mode of the output multi-mode photon state as a sequence / string of integers and provide this integer sequence to one or more processors 204. For example, each integer in the integer sequence may correspond to the detected number of photons in each mode. By re-running the boson sampler 214 several times, the controller 222 may provide the set of integer sequences to the processor units 204.

[0115] In some examples, the state detection unit 220 may include one or more threshold detectors that are not capable of photon number resolution. In such situations, the generated integer sequence may include a binary string, with each element of the binary string indicating the presence or absence of a detected photon in an output mode of the output multi-mode photon state. For example, an element of the binary sequence may have a value of 1 if one or more photons are detected in the corresponding output mode, while the element of the binary sequence may have a value of 0 if no photons are detected in the corresponding output mode.

[0116] At 540, the method comprises determining a set of latent vectors from the set of integer sequences. Note that a single integer sequence output from the boson sampler may be used to determine a single latent vector.

[0117] 2, one or more processors 204 may determine a set of latent vectors from a set of integer sequences by performing one or more post-processing operations on the integer sequences. As an example, the processor unit 204 may truncate the received integer sequences to a size compatible with the design of the ANN to be trained. As an example, the processor unit 204 may add or remove an offset value from each element of the integer sequence to ensure that the sequence has a predetermined mean value (such as 0), which may be suitable for training some ANNs. As another example, the processor unit 204 may convert the integer sequence to a binary sequence, for example, by assigning a value of 1 to all non-zero elements of the integer sequence, or by assigning a value of 0 to all even numbers and a value of 1 to all odd numbers (or vice versa).

[0118] At 550, the method includes using the determined latent vectors to train an artificial neural network (ANN) to transform the one or more latent vectors into a generated image.

[0119] Referring to FIG. 2, the processor unit 204 may operate according to computer-readable instructions 226 loaded into the memory unit 206 to train the ANN / generative network in any of a number of suitable ways.

[0120] As an example, training an ANN to convert one or more latent vectors into generated images may comprise training a generative adversarial network (GAN). GANs are a type of generative modeling technique using deep learning methods, such as convolutional networks. GANs are a class of deep learning architectures in which two networks train simultaneously, with the first ANN focusing on data generation (known as the generator) and the second focusing on data classification (known as the classifier or evaluator). Referring to FIG. 6, the generative network 604 and the classifier network 610 "compete" with each other. The generative network 604 is trained on a training set 602 of latent vectors, each determined from an integer sequence generated by a boson sampler. The generative network 604 converts the latent vectors into corresponding artificial / synthetic / generated images 606. The discriminator network 610 receives either a real image from a training set of real images 608 or an artificial image from a set 606 generated by the generator 604 and must distinguish between the two (shown at 612 in the diagram). The generator 604 is trained to fool the discriminator 610. Feedback from the discriminator 610 is used to train the generator 604 until it achieves acceptable accuracy. Feedback from the discriminator network 610 is also used to train the generative network 604 based on whether it fools the discriminator 610. Formally, the game between the generator 604 and the discriminator 610 can be expressed as optimizing a minimax objective function.

[0121]

number

[0122] where P r (x) is the data distribution of the real image set x, and P z (z) is the distribution of the latent vector z produced using the boson sampler. The functions G(z) and D(x) refer to the outputs of the generative network 604 and the discriminative network 610, respectively.

[0123] Additional GAN ​​training techniques may be used to improve the quality of the images generated by the output generation network 604. Such techniques may include, for example, feature matching, minibatch discrimination, historical averaging, one-sided label smoothing, and virtual batch normalization.

[0124] As another example, training an ANN to transform one or more latent vectors into generated images may comprise training a conditional GAN ​​(cGAN), which is an extension of the GAN idea. In a cGAN, a generative model may be trained to generate new examples from an input domain, where random vectors from the latent space are fed / conditioned by some additional value, such as a class value, digit, etc. A discriminative model is also trained by being fed both real or fake input images and additional inputs.

[0125] As another example, training an ANN to convert one or more latent vectors into a generated image may comprise training a cycle-GAN. Cycle-GANs are an extension of the GAN concept. A cycle-GAN may comprise two generative networks and two discriminative networks. One generator may take a latent vector (derived from the boson sampler output) as an input image and an output image, and a second generator may take an image and generate a composite latent vector. The first discriminator may determine the plausibility of the composite image from the first generator, and the second discriminator may determine the plausibility of the composite latent vector from the second generative network. Additionally, the composite image from the first generator may be input to the second generator, and the composite latent vector from the second generator may be input to the first generator to promote cycle consistency; it is desirable that when an original latent vector is input to the first generator and a generated composite image is input to the second generator, the output from the second generator substantially matches the original latent vector. Therefore, cycle-GAN can be considered as two interrelated cGANs, each with a generator and a discriminator. A loss function is further used to update each cGAN based on cycle consistency. The cycle consistency loss compares the image input to the cycle-GAN with the generated output and updates the generative model at each training iteration.

[0126] As another example, training an ANN to transform one or more latent vectors into a generated image may comprise training a GAN known as a Wasserstein GAN. Wasserstein GANs are a further extension of the GAN idea. In a Wasserstein GAN (WGAN), the cost function to be minimized is

[0127]

number

[0128] where L is the set of 1-Lipschitz functions.

[0129] As another example, training a GAN may comprise training a Style-GAN, in which latent vectors are provided to a first ANN, and the output of the first ANN is provided as input at several layers of a second ANN (generative network).

[0130] At 560, the method comprises outputting the trained image segmentation model. In other words, at 560, the method comprises outputting details of the trained ANN for transforming the latent vectors into a synthetic image.

[0131] Referring again to FIG. 2 , the processor unit 204 may cause the features of the trained generative network, including the weights and biases for the neurons of the trained neural network, to be output / stored in a data structure in persistent storage in the memory unit 206 or communicated to a remote device via the communication module 210.

[0132] In the above discussion, training an ANN comprised training a form of GAN and outputting a trained generative network, but those skilled in the art will understand that training may be performed according to another prescribed learning routine.

[0133] Further, in the above discussion, the ANN 100 is trained to transform each latent vector into a corresponding composite image. In other examples, the ANN may be trained to transform one latent vector into a composite image using another latent vector. This is illustrated in FIG. 8. Like the ANN 100 of FIG. 1, the ANN 800 of FIG. 8 comprises an input layer 802 (comprising neurons 802-1 through 802-u), a hidden layer 804 (comprising neurons 804-1 through 804-v), and an output layer 806 (comprising neurons 806-1 through 806-w). Like the ANN 100 of FIG. 1, the input layer is configured to receive the magnitudes of the components of a first latent vector zA (808-1) as inputs, provide the inputs to an activation function, and output the outputs of the neurons to the next layer 804. The hidden layer 804 is configured to receive the output from the first layer 802. The hidden layer is further configured to receive a second latent vector zB (808-2). Thus, the hidden layer may receive outputs from the first layer 802 and the second latent vector 808-2, provide such data as weighted arguments to the activation functions of the hidden layer neurons, and output the neuron's output to the next layer 806. The neurons in the output layer 806 are similarly configured to receive outputs from the hidden layer neurons and the third latent vector zC 808-3, resulting in a neuron output that can be interpreted as an image 810. The latent vectors 808 may all be derived from the same boson sampler, but may be of different lengths from one another, for example, if the integer sequences produced by the boson sampler are truncated to different lengths. Those skilled in the art will understand that other neural network architectures utilizing multiple latent vectors output from a boson sampler may also be used.

[0134] Figure 7 shows a flowchart of a method 700 for generating an image. The method 700 is suitable for implementation by a system comprising one or more (classical) processor units and a configurable boson sampler, such as the system 200 of Figure 2. The method 700 will be discussed with reference to the system 200 of Figure 2, but those skilled in the art will understand that other system architectures may be utilized.

[0135] At 710, the method includes selecting parameter values ​​{θ} of a set of parameters θ of the boson sampler. The parameter values ​​{θ} may be set randomly (e.g., to produce random output data). The parameter values ​​{θ} may also be set according to a training procedure, where the parameter values ​​{θ} are set in such a way that the output data minimizes a cost function.

[0136] 2 , in some examples, processor 204 may receive an indication of the selected parameter value {θ} from user input via input / output unit 208 (e.g., via a user directly entering the selected parameter value into a keyboard coupled to system 200) or via communication module 210 (e.g., over the Internet). In other examples, processor 204 may retrieve the selected parameter value {θ} from persistent memory in memory unit 206. The processor may then communicate the selected parameter value to controller 222 of boson sampler 214. The selected parameter value may be the same parameter value used when training the ANN according to method 500.

[0137] At 720, method 700 comprises configuring a boson sampler according to the selected parameter values. At 730, the method comprises generating an integer sequence using the configured boson sampler. Steps 720 and 730 may occur sequentially or substantially simultaneously, depending on the nature of the boson sampler, for example, whether the boson sampler is a spatial-mode or a temporal-mode boson sampler.

[0138] Referring to FIG. 2 , the controller 222 may generate a control signal to configure the parameters of the interferometer 218 according to the selected parameter value {θ}. The controller 222 may further generate one or more control signals to cause the state generation unit 216 to generate an input multimode photon state and subsequently receive an indication of the number of photons detected at each PNR photodetector of the state detection unit 220. The controller 222 may then interpret the number of photons detected in each output mode of the output multimode photon state as a sequence / string of integers and provide this integer sequence to one or more processors 204. By re-running the boson sampler 214 several times, the controller 222 may provide multiple integer sequences to the processor(s). Among other advantages, the integer sequences produced by the boson sampler 214 may have statistical properties that cannot be reproduced by a classical computer. Additionally, the performance of a generative model such as a GAN can be affected by the statistical properties of its (e.g., random) input, and performance improves when the input has similar properties to the output data. Therefore, GANs that use boson sampler data as input may show improved performance on the dataset.

[0139] At 740, the method comprises determining one or more latent vectors from the one or more integer sequences, which may be done in much the same manner as described above in connection with method step 540 of method 500. At 750, the method comprises providing the determined one or more latent vectors to a trained artificial neural network configured to transform the one or more latent vectors into a synthetic image.

[0140] 2, the processor unit may, for example, extract the trained model from the memory unit 206 (e.g., as a data file including the trained weights and biases of the trained neural network) and generate the trained model accordingly. The determined latent vector or vectors may then be input into the trained generative model.

[0141] At 760, the method includes outputting the generated image.

[0142] Referring to FIG. 2, the processor 204 may, for example, cause the generated image to be shown on a visual display 212 or may output the image file to a remote device via the communications module 210.

[0143] The first experiment conducted by the inventors is described with reference to Figures 9, 10, and 11. In this experiment, the inventors trained Wasserstein generative adversarial networks with gradient penalty (WGAN-GP) to synthesize data using latent vectors from one of four different latent spaces. WGAN-GP is described in Gulrajani et al., Improved Training of Wasserstein GANs, Advances in neural information processing systems, 30, 2017. Once trained, the outputs of the trained GANs were compared.

[0144] The first latent space is a set of length 16 latent vectors drawn from independent Gaussian distributions (classical, continuous).

[0145]

number

[0146] In other words, the inputs of the first of the GANs were randomly selected from independent normal distributions.

[0147] The second latent space is a latent vector z∈{0,1} of length 16 taken from a (discrete) Bernoulli distribution. 16In other words, the input of the second GAN was a random, independent binary variable.

[0148] The third latent space comprised a latent vector of length 16 determined from the integer sequence output by a single-photon boson sampler. For such a short latent vector (16), the output of the boson sampler could be classically simulated. However, this small size allowed for a good comparison of the effects of different latent spaces. For larger boson samplers, e.g., those with tens of photons, it is known that the output states of the boson sampler cannot be adequately simulated classically.

[0149] The fourth latent space comprised latent vectors of length 16 determined from simulations of a boson sampler with distinguishable photons (a useful benchmark).

[0150] To investigate the effect of different latent spaces, GANs were first trained to reproduce a Bernoulli distribution and then a boson sampler distribution (the boson sampler distribution used in training was significantly different from the boson sampler used for the third latent space). The Bernoulli distribution is uniform and uncorrelated, while the boson sampler distribution is highly peaked and has a large correlation between channels. While all trained generative models (using different latent space vectors) were able to successfully learn to approximate the Bernoulli and boson sampler distributions, some differences become apparent when looking at the cumulative distributions (Figures 9 and 10) and distance to nearest integer (Figure 11).

[0151] Figures 9 and 10 show the cumulative probability of samples generated by a GAN model using different latent spaces when the data contains a Bernoulli distribution (Figure 9) and a boson sampler distribution (Figure 10). For example, in Figure 9, the 10,000 most common outcomes sampled from the original dataset accounted for approximately 20 percent of all outcomes. The curves in both Figures 9 and 10 are averaged over 12 runs. As is clear from the two figures, the cumulative distribution generated by a GAN is affected by the distribution of the latent space. The cumulative distribution of a uniform distribution, such as a Bernoulli, is linear (a slight deviation is observed in Figure 9 due to finite sampling), while the cumulative distribution of a nonuniform distribution is concave. In this case, the uniform latent space fits the uniform dataset better than the nonuniform quantum distribution. However, for the boson sampler dataset (Figure 10), the two nonuniform latent spaces fit the cumulative distribution better than the uniform latent space. These results show that the distribution of synthetic data produced by a trained GAN depends on the distribution of the latent space it is trained on; specifically, the use of quantum latent spaces allows GANs to produce distributions that differ from the other classical latent spaces investigated here.

[0152] The table in Figure 11 shows the average distance between numbers generated by the GAN and their nearest integers. More specifically, the table in Figure 11 shows the L1 distance between numbers generated by the GAN using different latent spaces (columns) and their nearest integers for different datasets (rows). Error bars correspond to the average uncertainty estimated over 12 runs. In this table, "NIP" stands for "non-identical photons" and refers to the latent space corresponding to the boson sampler output when distinguishable photons are used. Recall that the GAN generates continuous numbers, which become quasi-discrete only through training. As can be seen in Figure 11, the use of different latent spaces affects the GAN's ability to approximate the discrete nature of the data; for example, quantum latent spaces produce higher performance for quantum data. This indicates that the nature of the latent space affects the quality of the generated data and that quantum latent spaces may be more appropriate for some datasets.

[0153] A second experiment conducted by the inventors will now be described with reference to Figures 12 and 13. In this experiment, the inventors trained a Wasserstein Generative Adversarial Network with Gradient Penalty (WGAN-GP) to synthesize data using latent vectors from one of four different latent spaces. The generative network had a residual network (RESNET) architecture and was trained with over one million parameters.

[0154] The first latent space is a set of latent vectors of length 128 drawn from independent Gaussian distributions (classical, continuous).

[0155]

number

[0156] The second latent space was a latent vector z∈{0,1} of length 128 taken from a (discrete) Bernoulli distribution. 128 It was equipped with:

[0157] The third latent space comprised a latent vector of length 128 determined from the integer sequence output by the Gaussian boson sampler. More specifically, a Gaussian boson sampler with 216 modes (which cannot be efficiently simulated on a classical computer) was used to generate the integer sequence. The integer sequence, where each integer corresponds to the number of photons detected by the PNR detector, was then truncated to a length of 128.

[0158] The fourth latent space comprised length 128 binary latent vectors, also determined from the integer sequences output by the Gaussian boson sampler. More specifically, elements of these binary latent vectors had a value of 0 when the corresponding element of the corresponding integer sequence was 0, and a value of 1 when the corresponding element of the corresponding integer sequence was one or more.

[0159] The GAN was trained using the CIFAR-10 dataset. CIFAR-10 is a collection of images that can be used to train machine learning and computer vision algorithms. The CIFAR-10 dataset contains 60,000 32x32 color images in 10 different classes. The 10 classes represent airplanes, cars, birds, cats, deer, dogs, frogs, horses, ships, and trucks. There are 6,000 images in each class.

[0160] As shown in Figure 12, all trained models successfully generated images. To quantitatively evaluate the performance of the models, a measure known as the initiation score was calculated. Further details on how the initiation score for GANs is calculated can be found in Salimans et al., Improved Techniques For Training GANs, International conference on intelligent, secure, and dependable systems in distributed and closed environments, pages 127-138, Springer, 2017. The initiation scores for different trained models are shown in the table in Figure 13. The average uncertainty over five runs is estimated. As can be seen in the table, there are some significant differences between the models.

[0161] These results demonstrate that a system comprising a boson sampler and an artificial neural network can be used to generate images. Moreover, it has been shown that using a latent space derived by a boson sampler outperforms the standard choice of latent space, i.e., one formed by independent normal distributions, in image generation tasks.

[0162] As previously explained, the above description refers to generating images for convenience. The above description is applicable more generally to generating datasets, such as synthetic images, synthetic videos, synthetic 3D shapes, synthetic text, synthetic molecular configurations or formulas, and synthetic time series. For example, the training method described above with reference to FIG. 5 can be adapted to train an ANN to generate synthetic datasets other than synthetic images. For example, the method described above with reference to FIG. 7 can also be adapted to other generated (synthetic) datasets. For example, the block diagram of FIG. 2 can be used more generally to generate any type of dataset. Note that the architecture and node connections of the neural network can vary based on the desired type of output dataset. For example, to achieve advantages over image generation, a neural network structure such as a convolutional neural network can be adapted for images. However, if the output dataset is a graph, the neural network can be a graph neural network.

[0163] 2 is part of a cloud computing system in which boson computing is offered as a shared service to different users. For example, a cloud computing service provider operates boson sampler 214 and allows users to use boson sampler 214. For example, a user using a computing device generates control instructions and sends the control instructions to system 200.

[0164] As will be appreciated by those skilled in the art, variations on the methods and systems described herein are possible.

[0165] For example, in all of the examples described herein, the boson sampler was configurable. Those skilled in the art will understand that in some examples, the parameters of the interferometer may not be configurable, and instead, the boson sampler may only generate samples from a single distribution.

[0166] In other examples, those skilled in the art will understand that parameter values ​​of a configurable boson sampler can be optimized to better train the generative network. For example, training the generative network can comprise training parameters of the boson sampler.

[0167] As will be appreciated by one skilled in the art, the present disclosure may be embodied as a system, method, or computer program product. Accordingly, aspects may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, all of which may be generally referred to herein as a "circuit," "module," or "system." Furthermore, aspects may take the form of a computer program product embodied in any one or more computer-readable medium(s) having computer-usable program code embodied therein.

[0168] Aspects and embodiments are described herein with reference to flowchart diagrams and / or block diagrams of methods, apparatus (systems), and computer program products according to illustrative examples. It will be understood that each block of the flowchart diagrams and / or block diagrams, and combinations of blocks in the flowchart diagrams and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce machines, such that the instructions, executing via the processor of the computer or other programmable data processing apparatus, create means for performing the functions / acts specified in the blocks of the flowchart diagrams and / or block diagrams.

[0169] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order shown in the figures. For example, depending on the functionality involved, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or acts, or a combination of dedicated hardware and computer instructions.

[0170] Each feature disclosed in this specification (including any accompanying claims, summaries, or drawings), unless expressly stated otherwise, may be replaced by alternative features serving the same, equivalent, or similar purpose. Thus, unless expressly stated otherwise, each feature disclosed is only one example of a generic series of equivalent or similar features. The present disclosure is not limited to the details of any of the above-described embodiments. The present disclosure extends to every novel feature or every novel combination of features disclosed in this specification (including any accompanying claims, summaries, and drawings), or every novel step or every novel combination of steps of any method or process disclosed. The claims should not be construed as covering only the embodiments described above, but also encompass every embodiment falling within the scope of the claims. [Explanation of symbols]

[0171] 100 Generative Networks, ANNs, Neural Networks 102 Input Layer 104 Hidden Layer 106 Output Layer 108 Latent Vectors 110 images 200 systems 202 Communication Structure 204 Processor, processor unit, processing unit 206 Memory Unit 208 Input / Output Unit 210 Communication Module 212 Visual Displays 214 Boson Sampler 216 State Generation Unit 218 Interferometer 220 Status Detection Unit 222 Controller 224 Computer-readable storage medium 226 Computer Readable Instructions 310 Single Photon Source 320 Multiplexer 330 Reconfigurable Beam Splitter 340 PNR detector 410 Single Photon Source 420 Reconfigurable Beam Splitter 430 Delay Line 440 PNR photodetector 602 Training Set 604 Generative Networks, Generators 606 Composite Images 608 Real Images 610 Classification Network, Classifier 800 ANN 802 Input Layer 804 Hidden Layer 806 Output Layer 808 Latent Vectors 810 images

Claims

1. controlling a boson sampler to generate one or more integer sequences, each of the one or more integer sequences representing measurements of one or more photodetectors of the boson sampler; determining one or more latent vectors from the one or more sequences of integers; providing the determined one or more latent vectors to a trained artificial neural network (ANN) configured to transform the determined one or more latent vectors into a generated dataset; outputting the generated dataset; A method comprising:

2. controlling a boson sampler to generate a set of integer sequences, each integer sequence representing a measurement result of one or more photodetectors of the boson sampler; determining a set of latent vectors from said set of integer sequences; using the determined set of latent vectors to train an artificial neural network (ANN) to transform one or more latent vectors into a generated data set; A method comprising:

3. training the ANN to transform the set of latent vectors to the generated dataset comprises training a generative adversarial network (GAN), the GAN: the ANN; The second ANN and Equipped with training the GAN, training the ANN to generate an artificial data set using the determined set of latent vectors and feedback from the second ANN; training the second ANN to classify a received dataset as either an artificial dataset or a real dataset using the plurality of artificial datasets and the plurality of real datasets generated by the ANN and providing feedback to the first ANN; outputting the trained ANN configured to transform the one or more latent vectors into a generated dataset; The method of claim 2, comprising:

4. 3. The method of claim 2, wherein using the determined set of latent vectors to train the ANN to transform one or more latent vectors into the generated dataset comprises providing different latent vectors to different layers of the ANN.

5. 5. The method of claim 1, wherein the ANN comprises a convolutional neural network.

6. selecting a plurality of parameter values ​​to configure an interferometer of the boson sampler; 6. The method of claim 1, wherein controlling the boson sampler comprises controlling the configured boson sampler.

7. 7. The method of claim 1, wherein the set of integer sequences comprises a set of binary strings.

8. The method of claim 2 , wherein determining one or more latent vectors from the one or more integer sequences comprises truncating integer sequences of the set of integer sequences.

9. 9. The method of claim 1, wherein the generated dataset comprises an image dataset.

10. 10. A non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors communicatively coupled to a boson sampler, cause the method of any one of claims 1 to 9 to be performed.

11. Boson sampler and a set of one or more processors and wherein the set of one or more processors: controlling the boson sampler to generate one or more integer sequences, each of the one or more integer sequences representing a measurement result of a photodetector of the boson sampler; determining one or more latent vectors from the one or more sequences of integers; providing the determined one or more latent vectors to a trained artificial neural network (ANN) configured to transform the determined one or more latent vectors into a generated dataset; outputting the generated data set; The system is configured to:

12. said set of one or more processors controlling the boson sampler to generate a set of integer sequences, each integer sequence representing a measurement result of one or more photodetectors of the boson sampler; determining a set of latent vectors from said set of integer sequences; training the ANN to transform one or more latent vectors into the generated data set using the determined set of latent vectors; The system of claim 11 , configured to:

13. the boson sampler comprises a configurable interferometer, and the set of one or more processors:

13. The system of claim 11 or 12, configured to configure the interferometer of the bosonic sampler according to a plurality of selected parameter values.

14. 14. The system of claim 11, 12, or 13, wherein the one or more photodetectors of the boson sampler are one or more photon number resolving (PNR) detectors.

15. 15. The system of claim 14, wherein each integer in the sequence of integers represents a number of photons measured by a photodetector of the boson sampler.

16. 14. The system of claim 11, 12, or 13, wherein the photodetector is an on / off detector configured to indicate the presence and / or absence of photons.

17. 17. The system of claim 14 or 16, wherein the one or more integer sequences comprise a set of binary strings, each binary integer in the binary strings representing the presence or absence of a photon in an output mode measured by a photodetector of the boson sampler.

18. 18. The system of claim 11, wherein the boson sampler is a single-photon boson sampler.

19. 18. The system of claim 11, wherein the boson sampler is a Gaussian boson sampler.

20. 20. The system of claim 11, wherein a processor of the set of processors comprises a graphics processing unit (GPU).

21. 21. The system of claim 11, wherein the generated dataset comprises a generated image.