WO2014055293A1 - Quantum processing of functional neural imaging data - Google Patents

Quantum processing of functional neural imaging data Download PDF

Info

Publication number
WO2014055293A1
WO2014055293A1 PCT/US2013/061459 US2013061459W WO2014055293A1 WO 2014055293 A1 WO2014055293 A1 WO 2014055293A1 US 2013061459 W US2013061459 W US 2013061459W WO 2014055293 A1 WO2014055293 A1 WO 2014055293A1
Authority
WO
WIPO (PCT)
Prior art keywords
values
objective function
dictionary
quantum processor
data
Prior art date
Application number
PCT/US2013/061459
Other languages
French (fr)
Inventor
Suzanne GILDERT
Original Assignee
D-Wave Systems Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by D-Wave Systems Inc. filed Critical D-Wave Systems Inc.
Publication of WO2014055293A1 publication Critical patent/WO2014055293A1/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/05Detecting, measuring or recording for diagnosis by means of electric currents or magnetic fields; Measuring using microwaves or radio waves 
    • A61B5/055Detecting, measuring or recording for diagnosis by means of electric currents or magnetic fields; Measuring using microwaves or radio waves  involving electronic [EMR] or nuclear [NMR] magnetic resonance, e.g. magnetic resonance imaging
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/369Electroencephalography [EEG]
    • A61B5/377Electroencephalography [EEG] using evoked responses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2576/00Medical imaging apparatus involving image processing or analysis
    • A61B2576/02Medical imaging apparatus involving image processing or analysis specially adapted for a particular organ or body part
    • A61B2576/026Medical imaging apparatus involving image processing or analysis specially adapted for a particular organ or body part for the brain
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7232Signal processing specially adapted for physiological signals or for diagnostic purposes involving compression of the physiological signal, e.g. to extend the signal recording period
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7271Specific aspects of physiological measurement analysis
    • A61B5/7282Event detection, e.g. detecting unique waveforms indicative of a medical condition
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems

Definitions

  • the present methods generally relate to analyzing functional neural imaging data using a quantum processor via a compressed sensing technique.
  • ElectroEncephaloGraphy is the monitoring of the oscillations of brain electric potentials as recorded from electrodes (perhaps about 20 to about 256) attached to a subject's scalp. The observed signals are transmitted to an EEG system including of amplifiers, filters, storage devices, processors, and outputs like a computer monitor. EEG data is indicative of human brain activity, for example, in response to some stimulus. EEG may refer to Electroencephalography, an Electroencephalogram (recording of data), Electroencephalographic data or the like.
  • Neural imaging of the brain includes functional Magnetic
  • fMRI Resonance Imaging
  • Compressed Sensing is a technique for efficiently acquiring measurements from a signal and reconstructing the signal even though the number of measurements is less than would be needed for exact reconstruction under Nyquist-Shannon criterion.
  • CS Compressed Sensing
  • a signal is said to be sparse if the signal is compressible, that is, the signal can be expressed in a manageable set of basis functions (also called, dictionary elements) and weights.
  • basis functions also called, dictionary elements
  • the sampling is at random and the number of samples is a bit more than the number of basis functions needed to describe the signal.
  • the weights and basis functions can be found using /1 - norm (also called 1 -norm) minimization.
  • a quadratic unconstrained binary optimization (“QUBO”) problem is a form of discrete optimization problem that involves finding a set of N binary variables ⁇ xi ⁇ that minimizes an objective function of the form:
  • Q is typically a real-valued upper triangular matrix that is characteristic of the particular problem instance being studied.
  • QUBO problems are known in the art and applications arise in many different fields, for example machine learning, pattern matching, economics and finance, and statistical mechanics, to name a few.
  • Superconducting qubits can be separated into several categories depending on the physical property used to encode infornnation. For example, they may be separated into charge, flux and phase devices. Charge devices store and manipulate information in the charge states of the device; flux devices store and manipulate information in a variable related to the magnetic flux through some part of the device; and phase devices store and manipulate information in a variable related to the difference in superconducting phase between two regions of the phase device.
  • superconducting flux qubits Many different forms of superconducting flux qubits have been implemented in the art, but all successful implementations generally include a superconducting loop (i.e., a "qubit loop") that is interrupted by at least one Josephson junction. Some embodiments implement multiple Josephson junctions connected either in series or in parallel (i.e., a compound Josephson junction) and some embodiments implement multiple superconducting loops.
  • a superconducting loop i.e., a "qubit loop”
  • Some embodiments implement multiple Josephson junctions connected either in series or in parallel (i.e., a compound Josephson junction) and some embodiments implement multiple superconducting loops.
  • a quantum processor may take the form of a superconducting quantum processor.
  • a superconducting quantum processor may include a number of qubits and associated local bias devices, for instance two or more superconducting qubits.
  • a superconducting quantum processor may also employ coupling devices (i.e., "couplers") providing communicative coupling between qubits. Further detail and embodiments of exemplary quantum processors that may be used in conjunction with the present methods are described in US Patent 7,533,068; US Patent 8,008,942; US Patent 8,195,596; US Patent 8,190,548; and US Patent 8,421 ,053.
  • Adiabatic quantum computation typically involves evolving a system from a known initial Hamiltonian (the Hamiltonian being an operator whose eigenvalues are the allowed energies of the system) to a final Hamiltonian (the Hamiltonian being an operator whose eigenvalues are the allowed energies of the system) to a final Hamiltonian (the Hamiltonian being an operator whose eigenvalues are the allowed energies of the system) to a final Hamiltonian (the Hamiltonian being an operator whose eigenvalues are the allowed energies of the system) to a final Hamiltonian (the Hamiltonian being an operator whose eigenvalues are the allowed energies of the system) to a final Hamiltonian (the Hamiltonian being an operator whose eigenvalues are the allowed energies of the system) to a final Hamiltonian (the Hamiltonian being an operator whose eigenvalues are the allowed energies of the system) to a final Hamiltonian (the Hamiltonian being an operator whose eigenvalues are the
  • H e ⁇ - s)H ⁇ sH f
  • H is the initial Hamiltonian
  • H f is the final Hamiltonian
  • H e is the evolution or instantaneous Hamiltonian
  • s is an evolution coefficient which controls the rate of evolution.
  • the system is typically initialized in a ground state of the initial Hamiltonian H, and the goal is to evolve the system in such a way that the system ends up in a ground state of the final Hamiltonian H f at the end of the evolution. If the evolution is too fast, then the system can be excited to a higher energy state, such as the first excited state.
  • an "adiabatic" evolution is considered to be an evolution that satisfies the adiabatic condition: i
  • 0> ⁇ Sg 2 (s) where s is the time derivative of s, g(s) is the difference in energy between the ground state and first excited state of the system (also referred to herein as the "gap size") as a function of s, and ⁇ is a coefficient much less than 1 .
  • the initial Hamiltonian H, and the final Hamiltonian Hf don't commute. That is, [Hi, H f ] ⁇ 0.
  • the process of changing the Hamiltonian in adiabatic quantum computing may be referred to as evolution.
  • the rate of change for example change of s, is slow enough that the system is always in the instantaneous ground state of the evolution Hamiltonian during the evolution, and transitions at anti-crossings (i.e., when the gap size is smallest) are avoided.
  • the example of a linear evolution schedule is given above. Other evolution schedules are possible including non-linear, parametric, and the like. Further details on adiabatic quantum computing systems, methods, and apparatus are described in, for example, US Patent 7,135,701 and US Patent 7,418,283.
  • Quantum annealing is a computation method that may be used to find a low-energy state, typically preferably the ground state, of a system.
  • quantum annealing may use quantum effects, such as quantum tunneling, to reach a global energy minimum more accurately and/or more quickly than classical annealing.
  • a hard problem such as a combinatorial optimization problem
  • quantum annealing may be encoded in the ground state of a system Hamiltonian (e.g., the Hamiltonian of an Ising spin glass) and therefore quantum annealing may be used to find the solution to such a hard problem.
  • Adiabatic quantum computation may be considered a special case of quantum annealing for which the system, ideally, begins and remains in its ground state throughout an adiabatic evolution.
  • quantum annealing methods may generally be implemented on an adiabatic quantum computer.
  • any reference to quantum annealing is intended to encompass adiabatic quantum computation unless the context requires otherwise.
  • Quantum annealing is an algorithm that uses quantum mechanics as a source of disorder during the annealing process.
  • the optimization problem is encoded in a Hamiltonian H P , and the algorithm introduces strong quantum fluctuations by adding a disordering Hamiltonian H D that does not commute with H P .
  • An example case is:
  • H E ⁇ A(t)H D + B(t)H P , where A(t) and B(t) are time dependent envelope functions.
  • A(t) changes from a large value to substantially zero during the evolution and H E may be thought of as an evolution Hamiltonian similar to H e described in the context of adiabatic quantum computation above.
  • the disorder is slowly removed by removing H D (i.e., reducing A(t)).
  • quantum annealing is similar to adiabatic quantum computation in that the system starts with an initial Hamiltonian and evolves through an evolution Hamiltonian to a final "problem" Hamiltonian H P whose ground state encodes a solution to the problem.
  • H P may encode an optimization problem and therefore H P may be diagonal in the subspace of the qubits that encode the solution, but the system does not necessarily stay in the ground state at all times.
  • the energy landscape of H P may be crafted so that its global minimum is the answer to the problem to be solved, and low-lying local minima are good approximations.
  • the gradual reduction of disordering Hamiltonian H D (i.e., reducing A(t)) in quantum annealing may follow a defined schedule known as an annealing schedule.
  • an annealing schedule known as an annealing schedule.
  • quantum annealing may be
  • a method of using a quantum processor to analyze functional magnetic resonance imaging (“fMRI”) data may be summarized as including collecting fMRI data via an fMRI system; transmitting the fMRI data from the fMRI system to a digital computer via a communicative link between the fMRI system and the digital computer; formulating an objective function based on the fMRI data via the digital computer, wherein the objective function includes at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized; interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data; and returning the value of the at least one parameter that is characteristic of the fMRI data.
  • fMRI functional magnetic resonance imaging
  • Interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data may include casting a set of weights in the objective as Boolean variables using the digital computer; setting a first set of values for a dictionary using the digital computer; optimizing the objective for a first set of values for the Boolean weights based on the first set of values for the dictionary, wherein optimizing the objective for a first set of values for the Boolean weights includes mapping the objective to a first quadratic unconstrained binary optimization ("QUBO") problem and using the quantum processor to at least approximately minimize the first QUBO problem; optimizing the objective for a second set of values for the dictionary based on the first set of values for the Boolean weights, wherein optimizing the objective for a second set of values for the dictionary includes using a non- quantum processor to update at least some of the values for the dictionary; optimizing the objective for a second set of values for the Boolean weights based
  • Interacting with the quantum processor, via the digital computer, to minimize the objective function may include solving a sparse least squares problem.
  • Interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data my include casting a set of weights in the objective as Boolean variables using the digital computer; setting a first set of values for the Boolean weights using the digital computer; optimizing the objective for a first set of values for a dictionary based on the first set of values for the Boolean weights, wherein optimizing the objective for a first set of values for a dictionary includes using a non-quantum processor to update at least some of the values for the dictionary; optimizing the objective for a second set of values for the Boolean weights based on the first set of values for the dictionary, wherein optimizing the objective for a second set of values for the Boolean weights includes mapping the objective to a first quadratic unconstrained binary optimization ("QUBO
  • the fMRI data may include voxel data and the at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized may be representative of a correlation between voxels in the voxel data.
  • Interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data may include interacting with the quantum processor, via the digital computer, to minimize the objective function and determine a correlation between voxels in the voxel data.
  • the method may further include introducing a stimulus while collecting the fMRI data via the fMRI system, where the at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized may be representative of a correlation in the fMRI data in response to the stimulus.
  • Interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data may include interacting with the quantum processor, via the digital computer, to minimize the objective function and determine a correlation in the fMRI data in response to the stimulus.
  • a system for acquiring and analyzing functional magnetic resonance imaging (“fMRI”) data may be summarized as including a fMRI system; a digital computing system; and a quantum processor; the fMRI system communicatively coupled with the digital computing system and the digital computing system communicatively coupled with the quantum processor.
  • fMRI functional magnetic resonance imaging
  • a computer readable storage medium comprising computer executable instructions that may be summarized as including instructions to receive functional neural imaging data.
  • An objective function based on the functional neural imaging data is formulated.
  • the objective function includes at least one variable parameter that adopts a value that is characteristic of the functional neural imaging data when the objective function is minimized.
  • the quantum processor minimizes the objective function and determines the value of the at least one parameter that is characteristic of the functional neural imaging data. Return the value of the at least one parameter that is
  • Figure 1 is a schematic diagram of a portion of a superconducting quantum processor designed for adiabatic quantum computation and/or quantum annealing to implement the present methods.
  • Figure 2 is a flow-diagram showing a method for minimizing an objective in accordance with the present methods.
  • Figure 3 is a flow-diagram showing a method for minimizing an objective in accordance with the present methods.
  • Figure 4 is a schematic diagram of an exemplary digital computing system including a digital processor that may be used to perform digital processing tasks described in the present methods.
  • Figure 5 is a flow-diagram showing a method for using a quantum processor to analyze electroencephalographic data in accordance with the present systems and methods.
  • FIG. 6 is an illustrative diagram of an electroencephalographic learning system in accordance with the present systems and methods.
  • Figure 7 is a flow-diagram showing a method for using a quantum processor to analyze functional magnetic resonance imaging data in
  • Figure 8 is a flow-diagram showing a method for using a quantum processor to analyze functional magnetic resonance imaging data in
  • Figure 9 is an illustrative diagram of a functional magnetic resonance imaging data acquisition and analysis system in accordance with the present systems and methods.
  • the various embodiments described herein provide techniques of using a quantum processor to use analyze and data from functional neural imaging.
  • Examples, of functional neural imaging include
  • Some embodiments include using compressed sensing techniques.
  • a set of measurements of a signal is made.
  • find an alternative representation of the measurement That is, find a set of basis functions and weights that together reconstruct or nearly reconstruct the signal in a manageable way - low number of functions and weights, easy compute set of functions and weights, and the like.
  • make use of the new representation of the signal to use the signal For example, aggregate the signal with other signals, compress the signal, distribute the signal, detect a like signal, filter the signal, establish a correlation between an element in the signal and an indication of a medical condition, and the like.
  • the various embodiments described herein provide methods of using a quantum processor to solve a computational problem by employing techniques of compressed sensing.
  • an objective that is normally minimized in compressed sensing techniques is re-cast as a quadratic unconstrained binary optimization ("QUBO") problem that is well-suited to be solved using a quantum processor, such as an adiabatic quantum processor and/or a processor designed to implement quantum annealing.
  • QUBO quadratic unconstrained binary optimization
  • An objective that is typically minimized in compressed sensing techniques is known as the "sparse least squares problem”.
  • the objective includes a sum of a loss term and a regularization term.
  • the loss term is designed with object to minimize difference between one representation of a signal and another representation of the function - for example, a sum over products of basis functions and weights.
  • the regularization term makes sure the objective function is not too complicated. Examples of in the regularization term include those that are a 1 -norm.
  • An example of an objective function, or simply objective, is:
  • the sparse least squares problem seeks a basis for a collection of N-dimensional real-valued signals ⁇ y
  • the regularization parameter is between 0 and 1 . This problem finds application in, for example, data compression, feature extraction in machine learning, dimensionality reduction for visualization, semantic hashing for fast information retrieval, and many other domains.
  • the matrix D has dimensions of N x K where each column represents a basis vector.
  • the K basis elements are sometimes called “atoms” and may be overcomplete.
  • Each weight w, is K x 1 .
  • the matrix D is referred to as a "dictionary" and the goal of the sparse least squares problem is to minimize the objective of equation 1 with respect to both w, and the basis vectors of the dictionary D.
  • the minimization is usually done in steps using block coordinate descent as the objective is convex in w and D individually, but not jointly.
  • at least part of the minimization may be mapped to a QUBO problem by restricting the weights w, to Boolean values of, for example, 0 or 1 .
  • An example of the objective then becomes:
  • Equation 2 The objective of equation 2 is to be minimized with respect to each Boolean-valued vector w, and the real-valued basis elements stored in D. In some instances, casting the weights w, as Boolean values realizes a kind of 0-norm sparsity penalty. For many problems, the 0-norm version of the problem is expected to be sparser than the 1 -norm variant. Historically, the 0- norm variation has been less studied as it can be more difficult to solve.
  • the Boolean objective given by equation 2 may be optimized by, for example, guessing initial values for the basis elements of the dictionary D, optimizing for the values of the Boolean weights w, that correspond to the initial guessed elements of D, then optimizing for the elements of D that correspond to the first optimized values of w,, then re-optimizing for the values of the Boolean weights w, that correspond to the first optimized dictionary D, and continuing this back-and-forth optimization procedure until some solution criteria are met or until the optimization converges.
  • the optimization procedure may begin, for example, by using guessed values for the Boolean weights w, and first optimizing for the dictionary D rather than first guessing values for the elements of D and optimizing for the Boolean weights w,.
  • the dictionary D may be continuous. In such instances, it may be impractical to optimize for D using a quantum processor.
  • the Boolean weights w may be discrete and well-suited to be optimized using a quantum processor.
  • the back-and-forth optimization procedure described above may be performed using both a quantum processor and a non-quantum processor (e.g., a digital processor or a classical analog processor), where the quantum processor is used to optimize (i.e., minimize) equation 2 for the Boolean weights w, corresponding to any given dictionary D and the non-quantum processor is used to optimize (i.e., minimize) equation 2 for the dictionary D corresponding to any given assignment of Boolean weights w,.
  • a quantum processor e.g., a digital processor or a classical analog processor
  • processor or a processor designed to implement quantum annealing.
  • the optimization objective determining d is:
  • 3 ⁇ 4 ⁇ « ⁇ 3 ⁇ 4 ⁇ $ may be used to find the solution with minimum norm
  • the sparsity penalty ⁇ may, for example, be set by partitioning the training data into a training group D tra i n and a testing group D tes t- On the training group Dtrain the dictionary D(A) may be learned at a given value of ⁇ . On the testing group the reconstruction error may be measured: crror(A)— mm y :i ----- Of A
  • error(A) may be estimated with more than this single fold.
  • the connectivity of the QUBO defined by equation 4 may be determined by D T D and in general may be fully connected. However, imposing additional structure can simplify the QUBO optimization. The present methods describe how to learn dictionaries respecting these additional constraints so that, for example, the resultant QUBO can be optimized on quantum processor hardware having qubit connectivity C n specified by an adjacency matrix A, where C n may not be fully connected.
  • mapping e.g., equation 4
  • the compression mechanism may be modified.
  • the weights w, in equations 2 and/or 4 may be optimized using a quantum processor, for example a quantum processor implementing adiabatic quantum computation and/or quantum annealing.
  • the dictionary D may be optimized using, for example, a non-quantum processor such as a classical digital processor or a classical analog processor.
  • the dictionary may be adapted while respecting the connectivity constraints of D T D.
  • a block coordinate descent may be applied starting from some initial dictionary D (0) satisfying the required orthogonality constraints.
  • an initial dictionary may be found when N > K.
  • a processor may be used to update the weights to w (1 ) ⁇ — w(D (0) ) (using, e.g., equation 4).
  • a quantum processor may be used to update the initial weights w (1 ) .
  • the present methods may accommodate any adjacency matrix A a, ⁇ ⁇ -
  • the dictionary interactions may be customized to suit any aspect of the problem or of the processor(s) being used to solve the problem.
  • the QUBO problems stemming from the dictionary interactions may be made particularly well-suited to be solved by a quantum processor by restricting the dictionary to match the connectivity of the quantum processor.
  • a non-quantum processor such as a digital processor or a classical analog processor may be used, for example, to update the dictionary to D (1 ) .
  • the update equations w (t+1 ) ⁇ — w(D (t) ) and D (t+1 ) ⁇ — D(w (t+1 ) ) may be iterated to convergence to a minimum of equation 2, such as a global minimum or a local minimum.
  • the QUBO minimizations for w(D) may be performed using a quantum processor implementing, for example, adiabatic quantum computation or quantum annealing.
  • the dictionary optimization problem may be addressed using a non-quantum processor because, for example, D may be continuous.
  • local search approaches may be implemented whereby a small subset of the dictionary is improved. If localModification(D) yields a locally improved dictionary, then the overall structure of the optimization is given in Algorithm. 1 :
  • the number of local modifications used between w updates is a parameter of the algorithm.
  • Such local search approaches may be broken down into a variety of localModification(D) modifications, including single-column modifications, two-column modifications, and more-than-two- column modifications.
  • This update rule may not be applicable when column 1 is never used, i.e., i ; In this case, it can be advantageous to try to set d (1 ) so that column 1 is more likely to be used at subsequent iterations. Note the reconstruction error at * " so that if a single bit is turned on one training example (i.e., so that 3 ⁇ 4? ; — - i) the training example most likely to utilize the new column is
  • Two columns d (1 ) and d (2) of D may, for example, be optimized simultaneously.
  • the optimization approach may branch depending on whether the columns are neighbors in A or non-neighbors.
  • the quadratic orthogonality constraint and the non-convex nature of the feasible set can make this problem difficult.
  • the KKT equations may be solved for the orthogonality constraint.
  • the Lagrangian is:
  • ⁇ ( ⁇ ) can be made singular by, for example, setting ⁇ to solve the equation for ⁇ ⁇ above, which may be done with the choice:
  • ⁇ ( ⁇ * ) can be made singular by setting 7 s ⁇ ⁇ V U J ⁇ ' W-- ⁇ tx j & ⁇ * — Knowing ⁇ * , the singular value decomposition:
  • T may then be determined as it was in the 2-column non- neighbor case.
  • Improved reconstruction may be obtained with larger numbers of dictionary atoms (i.e., larger K).
  • the input signals may be mapped to a space having dimension of at least K. This mapping may be linear and given as By.
  • the B minimization may be relatively straightforward because the objective is quadratic and the constraint is simple. Having learned all parameters, the reconstruction from a known w may be achieved by ⁇ r - i B ' ⁇ ) """ ] ⁇ * Dw ,
  • solving a QUBO problem may include an implementation of quantum annealing or adiabatic quantum computation.
  • An evolution Hamiltonian is proportional to the sum of a first term proportional to the problem Hamiltonian and a second term
  • H E ⁇ A(t)H D +B(t)H p
  • H P is the problem Hamiltonian
  • disordering Hamiltonian is H D
  • H E is the evolution or instantaneous Hamiltonian
  • A(t) and B(t) are examples of an evolution coefficient which controls the rate of evolution.
  • evolution coefficients vary from 0 to 1.
  • a time varying evolution coefficient is placed on the problem Hamiltonian.
  • a common disordering Hamiltonian is shown in equation 6:
  • N represents the number of qubits
  • is the Pauli x-matrix for the / th qubit
  • is the single qubit tunnel splitting induced in the I th qubit.
  • the ⁇ . terms are examples of "off-diagonal" terms.
  • the problem Hamiltonian includes first component proportional to a sum over diagonal single qubit terms and a second component proportional to diagonal multi-qubit terms.
  • the problem Hamiltonian may be of the form:
  • N represents the number of qubits
  • ⁇ . is the Pauli z-matrix for the / th qubit
  • h is the Pauli z-matrix for the / th qubit
  • Ji are dimensionless local fields coupled into each qubit
  • is some characteristic energy scale for H f .
  • the ⁇ . and ⁇ . ⁇ terms are examples of "diagonal” terms. The former is a single qubit term and the latter a two qubit term.
  • minimization problem is converted to a QUBO, and the QUBO is mapped directly to the problem Hamiltonian in the processor hardware.
  • Hamiltonians such as H D and H P in equations 6 and 7, respectively, may be physically realized in a variety of different ways. A particular example is realized by an implementation of superconducting qubits.
  • Figure 1 is a schematic diagram of a portion of a superconducting quantum processor 100 designed for quantum annealing and/or adiabatic quantum computing.
  • the portion of superconducting quantum processor 100 shown in Figure 1 includes two superconducting qubits 101 , 102 and a tunable ZZ-coupler 1 1 1 coupling information therebetween. While the portion of quantum processor 100 shown in Figure 1 includes only two qubits 101 , 102 and one coupler 1 1 1 , those of skill in the art will appreciate that quantum processor 100 may include any number of qubits and any number of coupling devices coupling information therebetween.
  • the portion of quantum processor 100 shown in Figure 1 may be implemented to physically realize quantum annealing by initializing the system with the Hamiltonian including a portion described by equation 6 and evolving the system to the Hamiltonian described by equation 7 in accordance with the evolution described by equation 5.
  • determining a low energy state, such as the ground state, of the Hamiltonian described by equation 7 may map directly to a QUBO problem, where the QUBO problem encodes a minimization problem such as the sparse least squares problem. This mapping between the QUBO and the problem Hamiltonian is achieved, at least in part, by the programmable assignments to the parameters in the Hamiltonian described by equation 7.
  • Quantum processor 100 includes a plurality of programming interfaces 121-125 that are used to configure and control the state of quantum processor 100.
  • Each of programming interfaces 121-125 may be realized by a respective inductive coupling structure, as illustrated, that communicates with a programming system (not shown).
  • a programming system may be separate from quantum processor 100, or it may be included locally (i.e., on-chip with quantum processor 100) as described in US Patent 7,876,248, and US Patent 8,035,540.
  • programming interfaces 121 and 124 may each be used to couple a flux signal into a respective compound Josephson junction 131 ,132 of qubits 101 and 102, thereby realizing the ⁇ , terms in the system Hamiltonian. This coupling provides the off-diagonal ⁇ terms of the Hamiltonian described by equation 6 and these flux signals are examples of "disordering signals.”
  • programming interfaces 122 and 123 may each be used to couple a flux signal into a respective qubit loop of qubits 101 and 102, thereby realizing the h t terms in the system Hamiltonian. This coupling provides the diagonal cf terms of equation 7.
  • programming interface 125 may be used to couple a flux signal into coupler 1 1 1 , thereby realizing the J, j terms in the system Hamiltonian. This coupling provides the diagonal (f ,(fj terms of equation 7. In Figure 1 , the contribution of each of programming interfaces 121-125 to the system
  • Hamiltonian is indicated in boxes 121 a-125a, respectively.
  • quantum processor is used to generally describe a collection of qubits (e.g., qubits 101 and 102) and couplers (e.g., coupler 1 1 1 ).
  • the qubits 101 and 102 and the couplers 1 1 1 are referred to as the "computational elements" of the quantum processor 100.
  • the term “programming subsystem” is used to generally describe the programming elements (e.g., programming interfaces 122, 123, and 125) included in a quantum processor (e.g., processor 100) and other associated control circuitry or instructions.
  • the programming elements of the operational subsystem may communicate with a programming system which may be separate from the quantum processor or included locally on the processor.
  • the term "evolution subsystem" is used to generally describe the evolution elements 121 , 124 used to evolve the computational elements of the quantum processor 100.
  • the evolution subsystem may include annealing signal lines and their corresponding interfaces (121 , 124) to the qubits (101 , 102).
  • the exemplary quantum processor described in Figure 1 may be used to minimize the QUBO problem of equation 4 to determine values for the Boolean weights w 1 for a given dictionary D°. Using the determined values for the Boolean weights w 1 , a non-quantum processor may then be used to optimize equation 2 for the dictionary D to produce a new dictionary D 1 .
  • the superscript on weight w or dictionary D denotes version of weight or dictionary.
  • Subscript denotes an enumerate weight or dictionary element.
  • the exemplary quantum processor described in Figure 1 may then be used to minimize the QUBO problem of equation 4 to determine values for the Boolean weights w 2 for the new dictionary D 1 , and a non-quantum processor may then use the new Boolean weights w 2 to optimize equation 2 to produce a new dictionary D 2 . This process may continue until some solution criterion is met, such as, convergence of the weights w, and/or dictionary D, end of specified run time, anomaly detected, and the like.
  • the various embodiments described herein provide methods for using a quantum processor to solve computational problems by employing techniques of compressed sensing.
  • these methods involve successively optimizing an objective (e.g., equation 2), where each successive optimization alternates between optimizing for a first parameter (e.g., a dictionary D) and a second parameter (e.g., Boolean weights w,).
  • a first parameter e.g., a dictionary D
  • a second parameter e.g., Boolean weights w,
  • Figure 2 is a flow-diagram showing a method 200 for minimizing the objective given in equation 1 .
  • Method 200 includes seven acts 201 -207, though those of skill in the art will appreciate that in alternative embodiments certain acts may be omitted and/or additional acts may be added. Those of skill in the art will appreciate that the illustrated order of the acts is shown for exemplary purposes only and may change in alterative embodiments.
  • the weights w, in the sparse least squares problem of equation 1 are re-cast as Boolean variables so that equation 1 is mapped to equation 2. Re-casting the weights w, as Boolean variables enables equation 1 to be mapped to a QUBO problem which is well-suited to be optimized using a quantum processor.
  • This mapping may be performed using, for example, a non-quantum processor, such as a digital processor.
  • initial values for the dictionary D in equation 2 are set.
  • the initial values for the dictionary D correspond to D°.
  • the initial values for the dictionary D° may, for example, be set randomly, or by guessing based on some knowledge or criteria.
  • equation 2 is optimized for the values of the Boolean weights w, that correspond to the initial values for the dictionary D 0 . This optimization produces initial values for the Boolean weights given by wi corresponding to the process w 1 ⁇ — w(D°) and may be achieved, for example, by using a quantum processor to minimize the QUBO problem given by equation 4.
  • equation 2 is optimized for the dictionary D that corresponds to the initial values for the Boolean weights w 1 .
  • This optimization produces a second set of values for the dictionary given by D 1 corresponding to the process D 1 ⁇ — D(w 1 ) and may be achieved, for example, by using a non- quantum processor to update the columns of the dictionary according to the procedures for single-column updates, two-column updates, and/or more-than- two-columns updates previously described.
  • equation 2 is optimized for the values of the Boolean weights w, that correspond to the second set of values for the dictionary D 1 .
  • This optimization produces a second set of values for the Boolean weights given by w 2 corresponding to the process w 2 ⁇ — w(D 1 ) and may be achieved, for example, by using a quantum processor to minimize the QUBO problem given by equation 4.
  • equation 2 is optimized for the dictionary D that corresponds to the second set of values for the Boolean weights w 2 .
  • This optimization produces a third set of values for the dictionary given by D 2 corresponding to the process D 2 ⁇ — D(w 2 ) and may be achieved, for example, by using a non-quantum processor to update the columns of the dictionary according to the procedures for single-column updates, two-column updates, and/or more-than-two-columns updates previously described.
  • equation 2 is successively optimized for the values of the Boolean weights w t+ i given each dictionary D* corresponding to the process w t+1 ⁇ — w(D') using, for example, a quantum processor to minimize equation 4; and for the dictionary D t+1 given each set of Boolean weights w t+1 corresponding to the process D t+1 ⁇ — D(w t+1 ) using, for example, a non-quantum processor to update the columns of the dictionary D t+1 .
  • This process may be continued until some solution criterion is met, for example, until at least one of the dictionary D or the set of values for the Boolean weights w, converges.
  • the optimization procedure effectively begins by setting initial values for the dictionary D° and using these values, at 203, to optimize for the values of the Boolean weights w 1 .
  • the optimization procedure may also begin by setting initial values for the Boolean weights wi and using these values to optimize for the dictionary D 1 .
  • Figure 3 is a flow-diagram of a method 300 for minimizing the objective given in equation 1 .
  • Method 300 includes seven acts 301-307, though those of skill in the art will appreciate that in alternative embodiments certain acts may be omitted and/or additional acts may be added. Those of skill in the art will appreciate that the illustrated order of the acts is shown for exemplary purposes only and may change in alterative embodiments.
  • Method 300 is substantially similar to method 200 from Figure 2, except that at 302 of method 300 initial values for the Boolean weights wi are set, whereas at 202 of method 200 initial values for the dictionary D° are set. At 302, the initial values for the Boolean weights w 1 may be set randomly, or by guessing based on some knowledge or criteria.
  • Method 300 then proceeds through acts 303-307 to successively optimize equation 2 for the dictionary D* based on the Boolean weights w t (using, e.g., a non-quantum processor to update the columns of the dictionary) according to the process D* ⁇ — D(w') and for the Boolean weights w t+1 based on the dictionary D* (using, e.g., a quantum processor to minimize the QUBO of equation 4) according to the process w t+1 ⁇ — w(D') until some solution criterion is met.
  • An exemplary solution criterion is the convergence of the at least one of the dictionary D and the Boolean weights w,.
  • a non-quantum processor is used to update at least some of the values for a dictionary in an objective, e.g., in a sparse least squares problem.
  • a quantum processor may be employed to update at least some of the values for a dictionary in an objective, e.g., in a sparse least squares problem.
  • the present methods may include employing a quantum processor to optimize an objective for an n th set of values for a dictionary based on an (n-1) th set of values for the Boolean weights (i.e., acts 204, 206, 207, 303, 305, and 307 may employ a quantum processor to optimize for the dictionary) by applying the systems and methods described in US Provisional Patent
  • a quantum processor may also be employed to optimize an objective (e.g., a non-QUBO formulation of an objective) for an n th set of values for the Boolean weights based on an (n-1 ) th set of values for the dictionary (i.e., acts 203, 205, 207, 304, 306, and 307 may employ a quantum processor to optimize for the Boolean weights) by applying the systems and methods taught in patent documents cited in this paragraph.
  • an objective e.g., a non-QUBO formulation of an objective
  • non-quantum processor is used to denote any form of processor or processing system that does not make direct use of quantum phenomena, such as superposition and/or entanglement, in the computation process.
  • non-quantum processor include classical digital microprocessors (e.g., Intel Pentium® processors such as Intel i7 quad core® processors, Intel Atom® processors, ARM Cortex® CPUs), field programmable gate arrays (FPGAs), Application Specific Integrated Circuits (ASICs) or graphical processor units (GPUs, e.g., Nvidia GPUs), and classical analog processors.
  • FIG. 4 illustrates an exemplary digital computing system 400 including a digital processor 406 that may be used to perform digital processing tasks described in the present methods.
  • a digital processor 406 that may be used to perform digital processing tasks described in the present methods.
  • the present methods can be practiced with other digital computing system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, personal computers ("PCs"), network PCs, mini-computers, mainframe computers, and the like.
  • the present methods can also be practiced in distributed computing environments, where tasks or modules are performed by remote processing devices, which are linked through a communications network.
  • program modules may be located in both local and remote memory storage devices.
  • Digital computing system 400 may include at least one processing unit 406 (i.e., digital processor), at least one system memory 408, and at least one system bus 410 that couples various system components, including system memory 408 to digital processor 406.
  • Digital computing system 400 will at times be referred to in the singular herein, but this is not intended to limit the application to a single digital computing system 400. For example, there may be more than one digital computing system 400 or other classical computing device involved throughout the present methods
  • Digital processor 406 may be any logic processing unit, such as one or more central processing units (“CPUs”), digital signal processors ("DSPs”), application-specific integrated circuits ("ASICs”), etc. Unless described otherwise, the construction and operation of the various blocks shown in Figure 4 are of conventional design. As a result, such blocks need not be described in further detail herein, as they will be understood by those skilled in the relevant art.
  • CPUs central processing units
  • DSPs digital signal processors
  • ASICs application-specific integrated circuits
  • System bus 410 can employ any known bus structures or architectures, including a memory bus with a memory controller, a peripheral bus, and a local bus.
  • System memory 408 may include read-only memory (“ROM”) and random access memory (“RAM”) (not shown).
  • ROM read-only memory
  • RAM random access memory
  • BIOS input/output system
  • BIOS basic routines that help transfer information between elements within digital computing system 400, such as during startup.
  • Non-volatile memory 414 may take a variety of forms, including: a hard disk drive for reading from and writing to a hard disk, an optical disk drive for reading from and writing to removable optical disks, and/or a magnetic disk drive for reading from and writing to magnetic disks.
  • the optical disk can be a CD-ROM or DVD, while the magnetic disk can be a magnetic floppy disk or diskette.
  • Non-volatile memory 414 may communicate with digital processor 406 via system bus 410 and may include appropriate interfaces or controllers 416 coupled between non-volatile memory 414 and system bus 410.
  • Nonvolatile memory 414 may serve as long-term storage for computer-readable instructions, data structures, program modules and other data for digital computing system 400.
  • digital computing system 400 has been described as employing hard disks, optical disks and/or magnetic disks, those skilled in the relevant art will appreciate that other types of non-volatile computer-readable media may be employed, such a magnetic cassettes, flash memory cards, Bernoulli cartridges, RAMs, ROMs, smart cards, etc.
  • system memory 408 may store an operating system 418, end user application interfaces 420, server applications 422, at least one solver module 424, and a translator module 428.
  • system memory 408 may store at least one quantum processor interface module 432. The operation and function of these modules are discussed in detail below.
  • System memory 408 may also include one or more networking applications 434, for example, a Web server application and/or Web client or browser application for permitting digital computing system 400 to exchange data with sources via the Internet, corporate Intranets, or other networks, as well as with other server applications executing on server computers.
  • networking applications 434 for example, a Web server application and/or Web client or browser application for permitting digital computing system 400 to exchange data with sources via the Internet, corporate Intranets, or other networks, as well as with other server applications executing on server computers.
  • Networking application 434 in the depicted embodiment may be markup language based, such as hypertext markup language (“HTML”), extensible hypertext markup language (“XHTML”), extensible markup language (“XML”) or wireless markup language (“WML”), and may operate with markup languages that use syntactically delimited characters added to the data of a document to represent the structure of the document.
  • HTML hypertext markup language
  • XHTML extensible hypertext markup language
  • XML extensible markup language
  • WML wireless markup language
  • Web server applications and Web client or browser applications are commercially available, such as those available from Mozilla and Microsoft.
  • operating system 418 and various applications/modules 420, 422, 424, 428, 432, 434 and other data can also be stored in nonvolatile memory 414.
  • Digital computing system 400 can operate in a networking environment using logical connections to at least one client computing system 436 and at least one database system 470. These logical connections may be formed using any means of digital communication, for example, through a network 438, such as a local area network ("LAN”) or a wide area network (“WAN”) including, for example, the Internet.
  • the networking environment may include wired or wireless enterprise-wide computer networks, intranets, extranets, and/or the Internet.
  • Other embodiments may include other types of communication networks such as telecommunications networks, cellular networks, paging networks, and other mobile networks.
  • the information sent or received via the logical connections may or may not be encrypted.
  • digital computing system 400 When used in a LAN networking environment, digital computing system 400 may be connected to the LAN through an adapter or network interface card (“NIC") 440 (communicatively linked to system bus 410). When used in a WAN networking environment, digital computing system 400 may include an interface and modem (not shown), or a device such as NIC 440, for establishing
  • Non-networked communications may additionally, or alternatively be employed.
  • program modules, application programs, data, or portions thereof can be stored outside of digital computing system 400.
  • program modules, application programs, data, or portions thereof can be stored outside of digital computing system 400.
  • Those skilled in the relevant art will recognize that the logical connections shown in Figure 4 are only some examples of establishing communications between computers, and other connections may also be used.
  • an end user application interface 420 may also be provided such that an operator can interact with digital computing system 400 through different user interfaces 448, including output devices, such as a monitor 442, and input devices, such as a keyboard 444 and a pointing device ⁇ e.g., mouse 446).
  • output devices such as a monitor 442
  • input devices such as a keyboard 444 and a pointing device ⁇ e.g., mouse 446.
  • Monitor 442 may be coupled to system bus 410 via a video interface, such as a video adapter (not shown).
  • Digital computing system 400 can also include other output devices, such as speakers, printers, etc.
  • Other input devices can also be used, including a microphone, joystick, scanner, etc.
  • These input devices may be coupled to digital processor 406 via a serial port interface that couples to system bus 410, a parallel port, a game port, a wireless interface, a universal serial bus (“USB”) interface, or via other interfaces.
  • serial port interface that couples to system bus 410, a parallel port, a game port, a wireless interface, a universal serial bus (“USB”) interface, or via other interfaces.
  • USB universal serial bus
  • NIC 440 may include appropriate hardware and/or software for interfacing with qubits (e.g., qubits 101 and 102 from Figure 1 ) and coupling devices (e.g., coupler 1 1 1 from Figure 1 ) in a quantum processor (e.g., quantum processor 100).
  • qubits e.g., qubits 101 and 102 from Figure 1
  • coupling devices e.g., coupler 1 1 1 from Figure 1
  • quantum processor e.g., quantum processor 100
  • different hardware may be used to facilitate communications between digital computing system 400 and a quantum processor.
  • Quantum processor interface module 432 of digital computing system 400 may include run-time instructions for coordinating the solution of computationally complex problems using a quantum processor (e.g., quantum processor 100). For instance, quantum processor interface module 432 may cause a quantum processor to begin solving a QUBO problem that is representative of, or equivalent to, part of a sparse least squares problem received by server application 422. This may include, e.g., setting initial coupling values and local bias values for couplers (e.g., 1 1 1 ) and qubits (e.g., 101 , 102), respectively.
  • couplers e.g., 1 1 1 1
  • qubits e.g., 101 , 102
  • Client computing system 436 may comprise any of a variety of computing devices communicatively coupled to digital computing system 400, and may include a client program 490 configured to properly format and send problems directly or indirectly to server application 422. Once digital computing system 400 has determined a solution, server application 422 may be configured to send information indicative of this solution back to client program 490.
  • the term "connectivity" is used to describe the maximum number of possible communicative coupling paths that are physically available (e.g., whether active or not) to communicably couple between individual qubits in a quantum processor without the use of intervening qubits.
  • a qubit with a connectivity of three is capable of communicably coupling to up to three other qubits without any intervening qubits.
  • communicative paths may be employed.
  • a quantum processor employing coupling devices between qubits this would mean a qubit having a connectivity of three is communicably coupleable via three coupling devices.
  • the number of qubits in a quantum processor limits the size of problems that may be solved and the connectivity between the qubits in a quantum processor limits the complexity of the problems that may be solved.
  • compressed sensing techniques may be used in applications directed towards data compression, such as image compression, audio compression, data file compression, and video
  • the y data set may represent a set of frames (e.g., pixel values, RGB values, etc.) from a video sequence.
  • yi may include the pixel values for a first frame of a video sequence
  • y2 may include the pixel values for a second frame of the video sequence, etc., up to y n , where the video sequence includes n frames.
  • EEG data collected via a neuroheadset such as for example, the Emotiv EEG neuroheadset of the Emotiv EPOC neuroheadset, available from the EMOTIV Website, may be cast as the y, data set (from equations 1 and 2) and analyzed using a quantum processor employing the compressed sensing techniques described herein.
  • y may include EEG data indicative of human brain activity, for example, in response to some stimulus.
  • the techniques for solving the sparse least squares problem as described throughout this specification may then be employed to, for example, extract features from the EEG data (e.g., dictionary values D and/or their corresponding weights w,) and effectively "learn" patterns in the EEG data and how these patterns correlate with certain stimuli.
  • classifiers may be developed and/or the quantum processor may be used to facilitate or otherwise enhance interactions between a user wearing an EEG neuroheadset and a digital computer.
  • a digital computer may be incorporated into a system, such as a
  • the present systems and methods provide techniques for determining, via a quantum processor, improved solutions to the sparse least squares problem that may enable enhanced thought-control over mechanical and/or robotic devices.
  • FIG. 5 is a flow-diagram showing a method 500 for using a quantum processor to analyze EEG data in accordance with the present systems and methods.
  • Method 500 includes five acts 501 -505, though those of skill in the art will appreciate that in alternative embodiments certain acts may be omitted and/or additional acts may be added. Those of skill in the art will appreciate that the illustrated order of the acts is shown for exemplary purposes only and may change in alterative embodiments.
  • EEG data is collected. As previously described, EEG data may be collected, for example, via a neuroheadset such as an Emotiv EPOC neuroheadset.
  • the EEG data are transmitted to a digital computer such as, for example, digital computing system 400 from Figure 4.
  • the at least one parameter may be indicative of a particular feature in the EEG data, such as a particular thought pattern or instruction set conveyed by a user wearing a neuroheadset.
  • the digital computer is used to formulate an objective function based on the EEG data, where the objective function includes at least one variable parameter that adopts a value that is characteristic of the EEG data when the objective function is minimized.
  • the objective function may include a sparse least squares objective (e.g., equation 1 or equation 2) and the at least one parameter may include a dictionary D, a component of a dictionary D, or a corresponding weighting w.
  • the digital computer is used to interact with a quantum processor (such as quantum processor 100 from Figure 1 ) to minimize the objective function and determine the value of the at least one parameter that is characteristic of the EEG data. Interacting with the quantum processor via the digital computer to minimize the objective function may, for example, employ the various techniques of compressed sensing described herein, including but not limited to methods 200 and/or 300 of Figures 2 and 3, respectively.
  • a quantum processor such as quantum processor 100 from Figure 1
  • the value of the at least one parameter that is characteristic of the EEG data may, for example, include a single dictionary element/vector or a complete dictionary of elements/vectors that facilitate extraction of meaningful information from the EEG data.
  • minimization of the sparse least squares objective in accordance with the present systems and methods may be used to learn a dictionary capable of extracting user-specified instructions from EEG data.
  • the dictionary may be returned at 505 of method 500, and subsequently used for some application.
  • the dictionary that is learned by employing a quantum processor to minimize the sparse least squares objective may be transmitted to any appropriate system, such as a mechanical system or a robotic system, to enable that system to extract user-specified instructions from EEG data.
  • the quantum processor has been employed to learn the dictionary, the dictionary itself may be transmitted and other systems may use the dictionary to directly interpret and respond to user-specified instructions without any further need to employ the quantum processor.
  • FIG. 6 is an illustrative diagram of an EEG learning system 600 in accordance with the present systems and methods.
  • EEG learning system 600 includes an EEG neuroheadset 602 (such as an Emotiv EPOC
  • neuroheadset in communication with a digital computer 603, where the digital computer 603 is also in communication with a quantum processor 604.
  • Neuroheadset 602 may be worn by a user 601 and used to extract EEG data from user 601 .
  • the EEG data may be transmitted to digital computer 603 by communicative link, including wireless, Bluetooth, USB, serial, or any other known means of communicative connection.
  • Digital computer 603 may, for example, be substantially similar to digital computer system 400 from Figure 4.
  • Digital computer 603 is communicatively coupled to quantum processor 604 via any known means of communicative connection.
  • Quantum processor 604 may, for example, be similar to quantum processor 100 from Figure 1 though preferably employs a larger number of qubits and corresponding coupling devices, such as tens, hundreds, or thousands of qubits and corresponding coupling devices.
  • fMRI resonance imaging
  • Figure 7 is a flow-diagram showing a method 700 for using a quantum processor to analyze fMRI data in accordance with the present systems and methods.
  • Method 700 is substantially similar to method 500 from Figure 5, except that method 700 is directed towards an analysis of fMRI data whereas method 500 is directed towards an analysis of EEG data. Both examples are described herein to exemplify the versatility of the present systems and methods and the diversity of applications for which the present systems and methods may be employed.
  • Method 700 includes five acts 701 - 705, though those of skill in the art will appreciate that in alternative
  • fMRI data is collected.
  • fMRI data may be collected, for example, via a functional magnetic resonance imaging system such as those employed in the art of medical imaging (e.g., fMRI systems sold by Avotec Inc., Invivo, etc.).
  • the fMRI data are transmitted to a digital computer such as, for example, digital computing system 400 from Figure 4.
  • the digital computer is used to formulate an objective function based on the fMRI data, where the objective function includes at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized.
  • the objective function may include a sparse least squares objective (e.g., equation 1 or equation 2) and the at least one parameter may include a dictionary D, a component of a dictionary D, or a corresponding weighting w.
  • the at least one parameter may be indicative of a particular feature in the fMRI data, such as a particular region of activity or uniform behavior in the fMRI data.
  • the digital computer is used to interact with a quantum processor (such as quantum processor 100 from Figure 1 ) to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data.
  • Interacting with the quantum processor via the digital computer to minimize the objective function may, for example, employ the various techniques of compressed sensing described herein, including but not limited to methods 200 and/or 300 of Figures 2 and 3, respectively.
  • the value of the at least one parameter that is characteristic of the fMRI data may, for example, include a single dictionary element/vector or a complete dictionary of elements/vectors that facilitate extraction of meaningful information from the fMRI data.
  • minimization of the sparse least squares objective in accordance with the present systems and methods may be used to learn a dictionary capable of extracting patterns from and/or otherwise identifying features in fMRI data.
  • the dictionary may be returned at 705 of method 700, and subsequently used for some application.
  • Method 700 provides a high-level example of how the present systems and methods may be applied in the analysis of fMRI data. As a more specific example, the present systems and methods may be applied to determine patterns and/or correlations in the evolution of voxel data measured via fMRI techniques.
  • a "voxel” is essentially a three-dimensional analogue of a pixel and is used to define a characteristic or characteristics of a component of a three-dimensional space.
  • a three-dimensional space, or volume may be divided via a three-dimensional grid into an arrangement of three-dimensional blocks called "voxels.”
  • voxels three-dimensional image data measured by a fMRI system may be represented and analyzed in the form of voxels.
  • fMRI voxel data are often grouped (e.g., to form "super voxels") in order to facilitate analysis and such groupings are traditionally based on the physical locations of voxels.
  • a large set of voxel data may be divided into subsets of spatial regions of the complete set.
  • This approach is useful in reducing the number of voxels to be analyzed (e.g., by focusing only a single group or a subset of groups) but carries the risk of missing key patterns and/or correlations between voxels in different groups.
  • fMRI voxel data from a brain scan is typically grouped into regions based on anatomical location in the brain, and a subsequent analysis based on such a grouping may miss patterns and/or correlations between voxels in disparate regions of the brain.
  • the systems and methods described herein may be advantageously employed in the analysis of fMRI voxel data to form voxel groups (or "super voxels") based on patterns and/or correlations in the voxel data.
  • the time evolution of each voxel in a fMRI scan may be analyzed by employing the quantum and digital processing techniques described herein to identify a group (or groups) of voxels that each evolve in a similar way (or otherwise appear correlated) in response to a stimulus.
  • Voxels that evolve in a similar way or otherwise appear correlated in response to a stimulus may be grouped to produce an improved, more representative mapping of any object scanned via fMRI compared to the location-based grouping described above.
  • the fMRI data may include voxel data and the at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized (act 703) may be representative of a correlation between voxels in the voxel data.
  • interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data may include interacting with the quantum processor, via the digital computer, to minimize the objective function and determine a correlation between voxels in the voxel data.
  • Figure 8 is a flow-diagram showing a method 800 for using a quantum processor to analyze fMRI data in accordance with the present systems and methods.
  • Method 800 includes three acts 801 -803, though those of skill in the art will appreciate that in alternative embodiments certain acts may be omitted and/or additional acts may be added. Those of skill in the art will appreciate that the illustrated order of the acts is shown for exemplary purposes only and may change in alterative embodiments.
  • fMRI data are collected while introducing a stimulus.
  • fMRI data may be collected, for example, via a functional magnetic resonance imaging system such as those employed in the art of medical imaging (e.g., fMRI systems sold by Avotec Inc., Invivo, etc.).
  • the fMRI system may be used to scan a human brain and the stimulus introduced may include, but is not limited to: a visual stimulus (e.g., an image or photograph, a video, etc.), an audio stimulus (e.g., a noise or sound, music, etc.), a physical stimulus, an olfactory stimulus, a taste stimulus, an emotional stimulus, a psychological stimulus, etc. Multiple stimuli may be introduced, either simultaneously or in series.
  • the fMRI data are transmitted to a digital computer such as, for example, digital computing system 400 from Figure 4.
  • the fMRI data may be analyzed using the quantum and digital processing techniques described herein to identify patterns and/or correlations between voxels in response to the stimulus (or stimuli).
  • Patterns and/or correlations in the voxel data may be used, for example, to define groupings between voxels (e.g., "super voxels") and/or to characterize the behavior of the object being scanned.
  • groups and/or correlations in the voxel data may be used to perform contextual brain mapping that may subsequently be used in several applications, including but not limited to: targeted advertising, thought-control over remote systems, automated dispensing of medication, suicide prediction, medical diagnosis, etc.
  • the identification of a grouping of voxels may allow significant simplification in the analysis of fMRI data, for example, by allowing voxels not contained within the grouping to be ignored in the analysis.
  • FIG. 9 is an illustrative diagram of fMRI data acquisition and analysis system 900 in accordance with the present systems and methods.
  • System 900 includes a fMRI system 901 (such as those used in the art of medical imaging) in communication with a digital computer 902, where the digital computer 902 is also in communication with a quantum processor 903.
  • fMRI system 901 may be used to scan any object, including a human and, more specifically, a human brain.
  • the fMRI data (e.g., voxel data) may be transmitted to digital computer 902 by communicative link, including wireless, Bluetooth, USB, serial, or any other known means of communicative connection.
  • Digital computer 902 may, for example, be substantially similar to digital computer system 400 from Figure 4.
  • Digital computer 902 is communicatively coupled to quantum processor 903 via any known means of communicative connection.
  • Quantum processor 903 may, for example, be similar to quantum processor 100 from Figure 1 though preferably employs a larger number of qubits and corresponding coupling devices, such as tens, hundreds, or thousands of qubits and corresponding coupling devices.
  • the terms “optimize” and “minimize” are often used.
  • an optimal value e.g., a minimal value
  • optimal values are used herein in a loose sense to denote a procedure where an optimal value (e.g., a minimal value) is sought, but are not intended to restrict the present methods to embodiments where only optimal (e.g., minimal) values are obtained.
  • optimal e.g., minimal

Abstract

Techniques for analyzing neural imaging data using a quantum processor. The techniques include methods to receive functional neural imaging data. An objective function based on the functional neural imaging data is formulated. The objective function includes at least one variable parameter that adopts a value that is characteristic of the functional neural imaging data when the objective function is minimized. The quantum processor minimizes the objective function and determines the value of the at least one parameter that is characteristic of the functional neural imaging data. Return the value of the at least one parameter that is characteristic of functional neural imaging data. The functional neural imaging data can be retrieved via a compressed sensing technique. The functional neural imaging data can include functional magnetic resonance imaging data or electroencephalographic data.

Description

QUANTUM PROCESSING OF FUNCTIONAL NEURAL IMAGING DATA
BACKGROUND
Field
The present methods generally relate to analyzing functional neural imaging data using a quantum processor via a compressed sensing technique.
ElectroEncephaloGraphy
ElectroEncephaloGraphy (EEG) is the monitoring of the oscillations of brain electric potentials as recorded from electrodes (perhaps about 20 to about 256) attached to a subject's scalp. The observed signals are transmitted to an EEG system including of amplifiers, filters, storage devices, processors, and outputs like a computer monitor. EEG data is indicative of human brain activity, for example, in response to some stimulus. EEG may refer to Electroencephalography, an Electroencephalogram (recording of data), Electroencephalographic data or the like.
Functional Magnetic Resonance Imaging
Neural imaging of the brain includes functional Magnetic
Resonance Imaging (fMRI). This technique extends magnetic resonance imaging and nuclear magnetic resonance technology to track activity in the brain under the assumption that increased blood flow to an area of the brain lags use of that part of the brain. Activity in the an area of the brain leads to a temporary change in the oxygen levels if in the blood stream. The technique images this activity by exploiting the differences in the physical properties of oxygen imbued blood and oxygen poor blood: deoxyhemoglobin is magnetic and oxyhemoglobin is paramagnetic. Compressed Sensing
Compressed Sensing (CS) is a technique for efficiently acquiring measurements from a signal and reconstructing the signal even though the number of measurements is less than would be needed for exact reconstruction under Nyquist-Shannon criterion. In CS the signals sparseness plus random sampling are exploited to create a good enough or even near perfect recreation. A signal is said to be sparse if the signal is compressible, that is, the signal can be expressed in a manageable set of basis functions (also called, dictionary elements) and weights. The sampling is at random and the number of samples is a bit more than the number of basis functions needed to describe the signal. The weights and basis functions can be found using /1 - norm (also called 1 -norm) minimization.
Quadratic Unconstrained Binary Optimization Problems
A quadratic unconstrained binary optimization ("QUBO") problem is a form of discrete optimization problem that involves finding a set of N binary variables {xi} that minimizes an objective function of the form:
Figure imgf000003_0001
where Q is typically a real-valued upper triangular matrix that is characteristic of the particular problem instance being studied. QUBO problems are known in the art and applications arise in many different fields, for example machine learning, pattern matching, economics and finance, and statistical mechanics, to name a few.
Superconducting Qubits
There are many different hardware and software approaches under consideration for use in quantum computers. One hardware approach employs integrated circuits formed of superconducting material, such as aluminum and/or niobium, to define superconducting qubits. Superconducting qubits can be separated into several categories depending on the physical property used to encode infornnation. For example, they may be separated into charge, flux and phase devices. Charge devices store and manipulate information in the charge states of the device; flux devices store and manipulate information in a variable related to the magnetic flux through some part of the device; and phase devices store and manipulate information in a variable related to the difference in superconducting phase between two regions of the phase device.
Many different forms of superconducting flux qubits have been implemented in the art, but all successful implementations generally include a superconducting loop (i.e., a "qubit loop") that is interrupted by at least one Josephson junction. Some embodiments implement multiple Josephson junctions connected either in series or in parallel (i.e., a compound Josephson junction) and some embodiments implement multiple superconducting loops.
Quantum Processor
A quantum processor may take the form of a superconducting quantum processor. A superconducting quantum processor may include a number of qubits and associated local bias devices, for instance two or more superconducting qubits. A superconducting quantum processor may also employ coupling devices (i.e., "couplers") providing communicative coupling between qubits. Further detail and embodiments of exemplary quantum processors that may be used in conjunction with the present methods are described in US Patent 7,533,068; US Patent 8,008,942; US Patent 8,195,596; US Patent 8,190,548; and US Patent 8,421 ,053.
Adiabatic Quantum Computation
Adiabatic quantum computation typically involves evolving a system from a known initial Hamiltonian (the Hamiltonian being an operator whose eigenvalues are the allowed energies of the system) to a final
Hamiltonian by gradually changing the Hamiltonian. A simple example of an adiabatic evolution is a linear interpolation between initial Hamiltonian and final Hamiltonian. An example is given by:
He = \ - s)H^ sHf where H, is the initial Hamiltonian, Hf is the final Hamiltonian, He is the evolution or instantaneous Hamiltonian, and s is an evolution coefficient which controls the rate of evolution. As the system evolves, the s coefficient s goes from 0 to 1 such that at the beginning (i.e., s = 0) the evolution
Hamiltonian He is equal to the initial Hamiltonian H, and at the end (i.e., s = 1 ) the evolution Hamiltonian He is equal to the final Hamiltonian Hf. Before the evolution begins, the system is typically initialized in a ground state of the initial Hamiltonian H, and the goal is to evolve the system in such a way that the system ends up in a ground state of the final Hamiltonian Hf at the end of the evolution. If the evolution is too fast, then the system can be excited to a higher energy state, such as the first excited state. In the present methods, systems and devices an "adiabatic" evolution is considered to be an evolution that satisfies the adiabatic condition: i | <l | <tf/e / <fc | 0> \= Sg2 (s) where s is the time derivative of s, g(s) is the difference in energy between the ground state and first excited state of the system (also referred to herein as the "gap size") as a function of s, and δ is a coefficient much less than 1 . Generally the initial Hamiltonian H, and the final Hamiltonian Hf don't commute. That is, [Hi, Hf]≠ 0.
The process of changing the Hamiltonian in adiabatic quantum computing may be referred to as evolution. The rate of change, for example change of s, is slow enough that the system is always in the instantaneous ground state of the evolution Hamiltonian during the evolution, and transitions at anti-crossings (i.e., when the gap size is smallest) are avoided. The example of a linear evolution schedule is given above. Other evolution schedules are possible including non-linear, parametric, and the like. Further details on adiabatic quantum computing systems, methods, and apparatus are described in, for example, US Patent 7,135,701 and US Patent 7,418,283.
Quantum Annealing
Quantum annealing is a computation method that may be used to find a low-energy state, typically preferably the ground state, of a system.
Somewhat similar in concept to classical annealing, the method relies on the underlying principle that natural systems tend towards lower energy states because lower energy states are more stable. However, while classical annealing uses classical thermal fluctuations to guide a system to its global energy minimum, quantum annealing may use quantum effects, such as quantum tunneling, to reach a global energy minimum more accurately and/or more quickly than classical annealing. It is known that the solution to a hard problem, such as a combinatorial optimization problem, may be encoded in the ground state of a system Hamiltonian (e.g., the Hamiltonian of an Ising spin glass) and therefore quantum annealing may be used to find the solution to such a hard problem. Adiabatic quantum computation may be considered a special case of quantum annealing for which the system, ideally, begins and remains in its ground state throughout an adiabatic evolution. Thus, those of skill in the art will appreciate that quantum annealing methods may generally be implemented on an adiabatic quantum computer. Throughout this specification and the appended claims, any reference to quantum annealing is intended to encompass adiabatic quantum computation unless the context requires otherwise.
Quantum annealing is an algorithm that uses quantum mechanics as a source of disorder during the annealing process. The optimization problem is encoded in a Hamiltonian HP, and the algorithm introduces strong quantum fluctuations by adding a disordering Hamiltonian HD that does not commute with HP. An example case is:
HE∞A(t)HD + B(t)HP , where A(t) and B(t) are time dependent envelope functions. For example, A(t) changes from a large value to substantially zero during the evolution and HE may be thought of as an evolution Hamiltonian similar to He described in the context of adiabatic quantum computation above. The disorder is slowly removed by removing HD (i.e., reducing A(t)). Thus, quantum annealing is similar to adiabatic quantum computation in that the system starts with an initial Hamiltonian and evolves through an evolution Hamiltonian to a final "problem" Hamiltonian HP whose ground state encodes a solution to the problem. If the evolution is slow enough, the system will typically settle in the global minimum (i.e., the exact solution), or in a local minimum close in energy to the exact solution. The performance of the computation may be assessed via the residual energy (difference from exact solution using the objective function) versus evolution time. The computation time is the time required to generate a residual energy below some acceptable threshold value. In quantum annealing, HP may encode an optimization problem and therefore HP may be diagonal in the subspace of the qubits that encode the solution, but the system does not necessarily stay in the ground state at all times. The energy landscape of HP may be crafted so that its global minimum is the answer to the problem to be solved, and low-lying local minima are good approximations.
The gradual reduction of disordering Hamiltonian HD (i.e., reducing A(t)) in quantum annealing may follow a defined schedule known as an annealing schedule. Unlike adiabatic quantum computation where the system begins and remains in its ground state throughout the evolution, in quantum annealing the system may not remain in its ground state throughout the entire annealing schedule. As such, quantum annealing may be
implemented as a heuristic technique, where low-energy states with energy near that of the ground state may provide approximate solutions to the problem. The removal of the disordering Hamiltonian HD may occur after the same Hamiltonian has been added. That, is turn it on and then off. BRIEF SUMMARY
A method of using a quantum processor to analyze functional magnetic resonance imaging ("fMRI") data may be summarized as including collecting fMRI data via an fMRI system; transmitting the fMRI data from the fMRI system to a digital computer via a communicative link between the fMRI system and the digital computer; formulating an objective function based on the fMRI data via the digital computer, wherein the objective function includes at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized; interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data; and returning the value of the at least one parameter that is characteristic of the fMRI data. Interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data may include casting a set of weights in the objective as Boolean variables using the digital computer; setting a first set of values for a dictionary using the digital computer; optimizing the objective for a first set of values for the Boolean weights based on the first set of values for the dictionary, wherein optimizing the objective for a first set of values for the Boolean weights includes mapping the objective to a first quadratic unconstrained binary optimization ("QUBO") problem and using the quantum processor to at least approximately minimize the first QUBO problem; optimizing the objective for a second set of values for the dictionary based on the first set of values for the Boolean weights, wherein optimizing the objective for a second set of values for the dictionary includes using a non- quantum processor to update at least some of the values for the dictionary; optimizing the objective for a second set of values for the Boolean weights based on the second set of values for the dictionary, wherein optimizing the objective for a second set of values for the Boolean weights includes mapping the objective to a second QUBO problem and using the quantum processor to at least approximately minimize the second QUBO problem; and optimizing the objective for a third set of values for the dictionary based on the second set of values for the Boolean weights, wherein optimizing the objective for a third set of values for the dictionary includes using the non-quantum processor to update at least some of the values for the dictionary. Interacting with the quantum processor, via the digital computer, to minimize the objective function may include solving a sparse least squares problem. Interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data my include casting a set of weights in the objective as Boolean variables using the digital computer; setting a first set of values for the Boolean weights using the digital computer; optimizing the objective for a first set of values for a dictionary based on the first set of values for the Boolean weights, wherein optimizing the objective for a first set of values for a dictionary includes using a non-quantum processor to update at least some of the values for the dictionary; optimizing the objective for a second set of values for the Boolean weights based on the first set of values for the dictionary, wherein optimizing the objective for a second set of values for the Boolean weights includes mapping the objective to a first quadratic unconstrained binary optimization ("QUBO") problem and using the quantum processor to at least approximately minimize the first QUBO problem; optimizing the objective for a second set of values for the dictionary based on the second set of values for the Boolean weights, wherein optimizing the objective for a second set of values for the dictionary includes using the non-quantum processor to update at least some of the values for the dictionary; and optimizing the objective for a third set of values for the Boolean weights based on the second set of values for the dictionary, wherein optimizing the objective for a third set of values for the Boolean weights includes mapping the objective to a second quadratic unconstrained binary optimization ("QUBO") problem and using a quantum processor to at least approximately minimize the second QUBO problem.
The fMRI data may include voxel data and the at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized may be representative of a correlation between voxels in the voxel data. Interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data may include interacting with the quantum processor, via the digital computer, to minimize the objective function and determine a correlation between voxels in the voxel data.
The method may further include introducing a stimulus while collecting the fMRI data via the fMRI system, where the at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized may be representative of a correlation in the fMRI data in response to the stimulus. Interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data may include interacting with the quantum processor, via the digital computer, to minimize the objective function and determine a correlation in the fMRI data in response to the stimulus.
A system for acquiring and analyzing functional magnetic resonance imaging ("fMRI") data may be summarized as including a fMRI system; a digital computing system; and a quantum processor; the fMRI system communicatively coupled with the digital computing system and the digital computing system communicatively coupled with the quantum processor.
A computer readable storage medium comprising computer executable instructions that may be summarized as including instructions to receive functional neural imaging data. An objective function based on the functional neural imaging data is formulated. The objective function includes at least one variable parameter that adopts a value that is characteristic of the functional neural imaging data when the objective function is minimized. The quantum processor minimizes the objective function and determines the value of the at least one parameter that is characteristic of the functional neural imaging data. Return the value of the at least one parameter that is
characteristic of functional neural imaging data. BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
In the drawings, identical reference numbers identify similar elements or acts. The sizes and relative positions of elements in the drawings are not necessarily drawn to scale. For example, the shapes of various elements and angles are not drawn to scale, and some of these elements are arbitrarily enlarged and positioned to improve drawing legibility. Further, the particular shapes of the elements as drawn are not intended to convey any information regarding the actual shape of the particular elements, and have been solely selected for ease of recognition in the drawings.
Figure 1 is a schematic diagram of a portion of a superconducting quantum processor designed for adiabatic quantum computation and/or quantum annealing to implement the present methods.
Figure 2 is a flow-diagram showing a method for minimizing an objective in accordance with the present methods.
Figure 3 is a flow-diagram showing a method for minimizing an objective in accordance with the present methods.
Figure 4 is a schematic diagram of an exemplary digital computing system including a digital processor that may be used to perform digital processing tasks described in the present methods.
Figure 5 is a flow-diagram showing a method for using a quantum processor to analyze electroencephalographic data in accordance with the present systems and methods.
Figure 6 is an illustrative diagram of an electroencephalographic learning system in accordance with the present systems and methods.
Figure 7 is a flow-diagram showing a method for using a quantum processor to analyze functional magnetic resonance imaging data in
accordance with the present systems and methods.
Figure 8 is a flow-diagram showing a method for using a quantum processor to analyze functional magnetic resonance imaging data in
accordance with the present systems and methods. Figure 9 is an illustrative diagram of a functional magnetic resonance imaging data acquisition and analysis system in accordance with the present systems and methods.
DETAILED DESCRIPTION
In the following description, some specific details are included to provide a thorough understanding of various disclosed embodiments. One skilled in the relevant art, however, will recognize that embodiments may be practiced without one or more of these specific details, or with other methods, components, materials, etc. In other instances, well-known structures associated with quantum processors, such as quantum devices, coupling devices, and control systems including microprocessors and drive circuitry have not been shown or described in detail to avoid unnecessarily obscuring descriptions of the embodiments of the present methods. Throughout this specification and the appended claims, the words "element" and "elements" are used to encompass, but are not limited to, all such structures, systems and devices associated with quantum processors, as well as their related
programmable parameters.
Unless the context requires otherwise, throughout the specification and claims which follow, the word "comprise" and variations thereof, such as, "comprises" and "comprising" are to be construed in an open, inclusive sense, that is as "including, but not limited to."
Reference throughout this specification to "one embodiment," or "an embodiment," or "another embodiment" means that a particular referent feature, structure, or characteristic described in connection with the
embodiment is included in at least one embodiment. Thus, the appearances of the phrases "in one embodiment," or "in an embodiment," or "another embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. It should be noted that, as used in this specification and the appended claims, the singular forms "a," "an," and "the" include plural referents unless the content clearly dictates otherwise. Thus, for example, reference to a problem-solving system including "a quantum processor" includes a single quantum processor, or two or more quantum processors. It should also be noted that the term "or" is generally employed in its sense including "and/or" unless the content clearly dictates otherwise.
The headings provided herein are for convenience only and do not interpret the scope or meaning of the embodiments.
The various embodiments described herein provide techniques of using a quantum processor to use analyze and data from functional neural imaging. Examples, of functional neural imaging include
electroencephalography and functional magnetic resonance imaging. Some embodiments include using compressed sensing techniques. In overview, a set of measurements of a signal is made. Next, find an alternative representation of the measurement. That is, find a set of basis functions and weights that together reconstruct or nearly reconstruct the signal in a manageable way - low number of functions and weights, easy compute set of functions and weights, and the like. Then make use of the new representation of the signal to use the signal. For example, aggregate the signal with other signals, compress the signal, distribute the signal, detect a like signal, filter the signal, establish a correlation between an element in the signal and an indication of a medical condition, and the like.
The various embodiments described herein provide methods of using a quantum processor to solve a computational problem by employing techniques of compressed sensing. For example, an objective that is normally minimized in compressed sensing techniques is re-cast as a quadratic unconstrained binary optimization ("QUBO") problem that is well-suited to be solved using a quantum processor, such as an adiabatic quantum processor and/or a processor designed to implement quantum annealing. An objective that is typically minimized in compressed sensing techniques is known as the "sparse least squares problem". The objective includes a sum of a loss term and a regularization term. The loss term is designed with object to minimize difference between one representation of a signal and another representation of the function - for example, a sum over products of basis functions and weights. Often this is in the 2-norm, that is minimize the energy of a system. The regularization term makes sure the objective function is not too complicated. Examples of in the regularization term include those that are a 1 -norm. An example of an objective function, or simply objective, is:
Figure imgf000014_0001
The sparse least squares problem seeks a basis for a collection of N-dimensional real-valued signals {y | 1 < i < S} in which any given y is expressible as a linear combination of few basis vectors. The regularization parameter is between 0 and 1 . This problem finds application in, for example, data compression, feature extraction in machine learning, dimensionality reduction for visualization, semantic hashing for fast information retrieval, and many other domains.
The matrix D has dimensions of N x K where each column represents a basis vector. The K basis elements are sometimes called "atoms" and may be overcomplete. Each weight w, is K x 1 . The matrix D is referred to as a "dictionary" and the goal of the sparse least squares problem is to minimize the objective of equation 1 with respect to both w, and the basis vectors of the dictionary D. The minimization is usually done in steps using block coordinate descent as the objective is convex in w and D individually, but not jointly. In accordance with the present methods, at least part of the minimization may be mapped to a QUBO problem by restricting the weights w, to Boolean values of, for example, 0 or 1 . An example of the objective then becomes:
Figure imgf000015_0001
The objective of equation 2 is to be minimized with respect to each Boolean-valued vector w, and the real-valued basis elements stored in D. In some instances, casting the weights w, as Boolean values realizes a kind of 0-norm sparsity penalty. For many problems, the 0-norm version of the problem is expected to be sparser than the 1 -norm variant. Historically, the 0- norm variation has been less studied as it can be more difficult to solve.
As previously described, a QUBO problem may typically be written in the form:
N
E(xl ,..., xN ) =∑QifxixJ t where the objective is to, for example, minimize E. In accordance with the present methods, the Boolean version of the sparse least squares problem given in equation 2 may be mapped to the QUBO problem given in equation 3 such that the Q term of the QUBO problem is given by DTD. More specifically, the Q elements of equation 3 (with i≠ j) may be given by (DTD)y = diTdj.
The Boolean objective given by equation 2 may be optimized by, for example, guessing initial values for the basis elements of the dictionary D, optimizing for the values of the Boolean weights w, that correspond to the initial guessed elements of D, then optimizing for the elements of D that correspond to the first optimized values of w,, then re-optimizing for the values of the Boolean weights w, that correspond to the first optimized dictionary D, and continuing this back-and-forth optimization procedure until some solution criteria are met or until the optimization converges. The optimization procedure may begin, for example, by using guessed values for the Boolean weights w, and first optimizing for the dictionary D rather than first guessing values for the elements of D and optimizing for the Boolean weights w,. In some instances, the dictionary D may be continuous. In such instances, it may be impractical to optimize for D using a quantum processor. Conversely, the Boolean weights w, may be discrete and well-suited to be optimized using a quantum processor. Thus, in accordance with the present methods, the back-and-forth optimization procedure described above may be performed using both a quantum processor and a non-quantum processor (e.g., a digital processor or a classical analog processor), where the quantum processor is used to optimize (i.e., minimize) equation 2 for the Boolean weights w, corresponding to any given dictionary D and the non-quantum processor is used to optimize (i.e., minimize) equation 2 for the dictionary D corresponding to any given assignment of Boolean weights w,.
For example, for a given D each w, (1 < i < S) can be optimized separately as a QUBO: ¾ (D) ..... «¾ mitij w D s Dwj · ·· (A t— 2D ! w¾) | iif : ;<;; (< H e {0. 11 for ail cooip-offiols «, and in accordance with the present methods, this optimization may be performed using a quantum processor, such as an adiabatic quantum
processor or a processor designed to implement quantum annealing.
The optimization over D for a given setting of w, may be accomplished using, e.g., a non-quantum processor as follows: write d = D(:) (i.e., stack the columns of D in a vector) so that Dw = (wT ® lN)d for any K x 1 vector w. The optimization objective determining d is:
Figure imgf000016_0001
which has minimum:
Figure imgf000016_0002
If there are fewer than K training examples then w*¾< ι may not have full rank. In such cases, the singular value decomposition of
¾ί«·¾ν$ may be used to find the solution with minimum norm ||d||2. The restriction to Boolean-valued weights w, may, for example, rule out the possibility of negative contributions of dictionary atoms. However, there may be no need to explicitly allow the weights to be negative as this may be accounted for in the dictionary learning. For example, doubling the number of w variables and writing y, = D(Wi+ - w,") with both Wi+ and wf being Boolean-valued simply doubles the size of the dictionary so that
= Dw where D |D —Df a d w^ ^ | iw ) i: (wj' |*
The sparsity penalty λ may, for example, be set by partitioning the training data into a training group Dtrain and a testing group Dtest- On the training group Dtrain the dictionary D(A) may be learned at a given value of λ. On the testing group the reconstruction error may be measured: crror(A)— mm y:i ----- Of A|w¾ ·
Thus, it can be advantageous to choose a λ that minimizes error(A). In practice, error(A) may be estimated with more than this single fold.
The connectivity of the QUBO defined by equation 4 may be determined by DTD and in general may be fully connected. However, imposing additional structure can simplify the QUBO optimization. The present methods describe how to learn dictionaries respecting these additional constraints so that, for example, the resultant QUBO can be optimized on quantum processor hardware having qubit connectivity Cn specified by an adjacency matrix A, where Cn may not be fully connected. As previously described, the Qy elements of the typical QUBO formulation (i.e., equation 3) may be given by (DTD)y = diTdj . In mapping (e.g., equation 4) to a quantum processor having incomplete connectivity Cn, a pair of uncoupled qubits i and j require d,Tdj = 0, or that d, and dj are orthogonal. Depending on the dimensionality of the input signal N and the number of dictionary elements K there may not be a way to define D so that DTD has Cn connectivity. In such cases, the compression mechanism may be modified.
However, assuming that N » K and that it is possible to construct a dictionary D for any connectivity Cn, the (a, a') element of DTD (which determines the connectivity between Boolean variables w,(a) and Wi(a')) is <d(a) , d(a )> where D = [d(1 ) ... d(K)] and d(a) and d(c° are columns of D. Thus, specifying a connectivity Cn for the K x K matrix DTD is equivalent to associating vectors with graphs of K vertices so that the vectors of unconnected vertices are orthogonal. Whether or not this can be done for a given graph structure G = (V, E) depends both on the connectivity E, and the dimensionality of the atoms d(a). In general, associating vectors with graphs of K vertices so that the vectors of unconnected vertices are orthogonal can be accomplished if the dimensionality of the vectors equals K = |V|. However, in accordance with the present methods, this may be improved by finding a representation in d > 1 dimensions where the minimum degree node has at least |V| - d neighbors. For example, a quantum processor architecture having a connectivity with minimum degree of 5 may need at least K - 5 dimensions.
As previously described, for a given dictionary D the weights w, in equations 2 and/or 4 may be optimized using a quantum processor, for example a quantum processor implementing adiabatic quantum computation and/or quantum annealing. On the other hand, for a given assignment of Boolean variable(s) w, the dictionary D may be optimized using, for example, a non-quantum processor such as a classical digital processor or a classical analog processor.
Assuming that N is sufficiently large, the dictionary may be adapted while respecting the connectivity constraints of DTD. A block coordinate descent may be applied starting from some initial dictionary D(0) satisfying the required orthogonality constraints. Using, for example, the Lovasz orthogonality construction (L. Lovasz, M. Saks, and A. Schrijver, 2000 "A correction: Orthogonal representations and connectivity of graphs" Linear Algebra Appl., Vol. 303, pp. 101-105), an initial dictionary may be found when N > K. From the starting dictionary D( ', a processor may be used to update the weights to w(1 ) <— w(D(0)) (using, e.g., equation 4). For example, a quantum processor may be used to update the initial weights w(1 ). Once the weights are updated for the starting dictionary D(0), a processor may be used to update the dictionary to D(1 ) <- D(w(1 )) where D = [d(1 ) ... d(K)], and:
s
D{w) ~ { yi --- Dw¾ |]| 4- λ{1, w¾) }
Figure imgf000019_0001
subject to ..4 ^ Q ^ (ci ' ' l1"* *?) ·.·■·■·■· 0.
In principle, the present methods may accommodate any adjacency matrix Aa, α·- The dictionary interactions may be customized to suit any aspect of the problem or of the processor(s) being used to solve the problem. Thus, in some applications it may be advantageous to deliberately craft the adjacency matrix Aa, α· so that the resulting QUBO problem has connectivity that matches that of the quantum processor, or at least connectivity that is amenable to being mapped to the quantum processor. In accordance with the present methods, the QUBO problems stemming from the dictionary interactions may be made particularly well-suited to be solved by a quantum processor by restricting the dictionary to match the connectivity of the quantum processor.
A non-quantum processor such as a digital processor or a classical analog processor may be used, for example, to update the dictionary to D(1 ). Following this procedure, the update equations w(t+1 ) <— w(D(t)) and D(t+1 ) <— D(w(t+1 )) may be iterated to convergence to a minimum of equation 2, such as a global minimum or a local minimum.
As previously described, the QUBO minimizations for w(D) may be performed using a quantum processor implementing, for example, adiabatic quantum computation or quantum annealing. The dictionary optimization problem, however, may be addressed using a non-quantum processor because, for example, D may be continuous. For example, local search approaches may be implemented whereby a small subset of the dictionary is improved. If localModification(D) yields a locally improved dictionary, then the overall structure of the optimization is given in Algorithm. 1 :
Algorithm 1 QUBO constrained dictionary leamisg
Req ire: training data - \ }
Ensure: a dictionary D with which each may be epresents, sparsely as yt Ow{ InUiftli e Di<i; . t - 0
while D not. converged do
update <■■■■ w(D'*-s) using a QUBO solver
D f : : <■■■■ O{t)
tor xtep<iMraModi1kati©ns d«
localMod^eationiD^ ** )
t r~ t + 1.
return D; i .
The number of local modifications used between w updates is a parameter of the algorithm. Thus, such local search approaches may be broken down into a variety of localModification(D) modifications, including single-column modifications, two-column modifications, and more-than-two- column modifications.
An exemplary procedure for single-column modifications is now described. Consider updating a single column (say column 1 ) and write
I) -~~ id Dj, ^(1) may |je jn orthogonal complement of those columns of D which are non-neighbors of node 1 and null spaces of D may refer to non- neighboring columns of D which must be orthogonal. Then, d(1 ) = N(1¥1 ) where the columns of N(1 ) define a basis for the null space of .13 . Thus, most generally i-^ ¾ To optimize all parameters, block coordinate descent may be applied. The {wj block coordinate minimizations may be carried out using QUBO minimization of equation 4 as before. To determine d(1 ) for a given D and {w,}, minimize for the reconstruction error
Figure imgf000020_0001
where
Figure imgf000021_0001
The minimization over t yields ** v u'! so that
This update rule may not be applicable when column 1 is never used, i.e., i ; In this case, it can be advantageous to try to set d(1 ) so that column 1 is more likely to be used at subsequent iterations. Note the reconstruction error at * " so that if a single bit is turned on one training example (i.e., so that ¾?;— - i) the training example most likely to utilize the new column is
i+ ····.·.·.· arg ma¾ ii INr1 ) ' fy.„- ----- lill. ,A/itKη,Λ ÷· „
* λ ■ - With this selection,
Figure imgf000021_0002
An exemplary procedure for a two-column modification is now described. Two columns d(1 ) and d(2) of D may, for example, be optimized simultaneously. The optimization approach may branch depending on whether the columns are neighbors in A or non-neighbors.
In instances where the columns d(1 ) and d(2) correspond to neighboring nodes so that there are no additional orthogonality constraints between d(1 ) and d H(2) D ::÷ !N *¼ . The optimal linear combinations may be obtained as:
Figure imgf000021_0003
with νπ.; .... (Nii} r<i) with Y{x) ,v > ,t(,a} y .....
- {N )V> with r∞ =∑ wf> {y< - D }t
> - :
5
T ' --- \ ' , ¾£;··■ > ' --- ^ ·· «.:¾> - . .v.v J ¾; .· '.
7~1 it S where r(1) and r(2) are weighted error residuals. The matrix coupling t(1)and t(2) may then be inverted as:
Figure imgf000022_0001
where
so that
Figure imgf000022_0002
In the case where " " , the matrix is singular and its pseudo-inverse may be used. If either of ¾? * ^ r ¾ί " are zero, the same counterfactual argument may be applied to set the column to minimize the reconstruction error of the example with the largest error.
In instances where the two columns d(1) and d(2) correspond to non-neighbors, it may be required that:
,1 ■■■ ,{·:-·
with: [{d(i) 5di2)> -0] Λ d e span(Nn})] Λ <ii2 € spsn(Ni2 )] .
The quadratic orthogonality constraint and the non-convex nature of the feasible set can make this problem difficult. To find a local minimum, the KKT equations may be solved for the orthogonality constraint. The Lagrangian is:
Figure imgf000023_0001
where μ is the Lagrange multiplier for the orthoganality constraint. The KKT conditions are
Figure imgf000023_0002
Definin
Figure imgf000023_0003
the KKT equations may be written as
0. where Μ(μ) - / + μΑ. Solutions to these equations may be found as follows.
If Μ(μ) is not singular, then it is unlikely that t = Μ"1(μ)ν satisfies the orthogonality constraint <Μ"1(μ)ν, ΑΜ"1(μ)ν> = 0. Thus, to solve the KKT equations, it may be necessary to set μ to make Μ(μ) singular so that t = Μ(μ)+ν + VT, where M+ is the Moore-Penrose inverse of M and V is a basis for the null space of Μ(μ). This way, there is likely to be sufficient freedom to set τ to maintain orthogonality. Note that Ι;ί* ν ¾ίϊ 1 '¾ makes Μ(μ) singular as:
Figure imgf000023_0004
with A = v*etA*N v¾: ^ : ^ j. |n some instances,
^ vw « -f- \ T where M ' {μ* )ν where V is a basis for the null space of A, The coefficients τ may be set by requiring that the last orthogonality equation be solved: r V AVr - 2vj*AV'r v, Avti« 0
J AV ^ (M( i*)V ···· ΊΥ)/μ* = -ΖΥ/μ', so that
Figure imgf000024_0001
(Vr 4 v )TI{Vr | v? , , ) ν^Μ.ί * )\> vTM' (X'jv (v, vfi*
This last equation may be solved by finding a vector r on the ellipsoid
r Xi ----- v . \μ + / ancj se ting T :::: " " ~~ . - Substituting in for t, it follows that t = (I VV ; - VV ! r.
An exemplary procedure for a more-than-two-column update is now described. This may be accomplished by, for example, extending the two- column update based on the KKT conditions to optimize for larger numbers of columns. As an example, consider the KKT equations for 3 columns
(variables), two of which neighbor a central variable. If the two neighbors of the central variable are not neighbors of each other, then a single multiplier may need to be introduced. In this case the KKT equations are:
Figure imgf000024_0002
0 where (2) denotes the central spin and (1 ) and (3) are the neighbors of (2) which are not neighbors of each other. In this case,
Figure imgf000024_0003
so that Μ(μ)ί = v and tTAt = 0, where — % ÷ · In this case, determining μ so that Μ(μ) is singular may be less straightforward. However, by defining:
Figure imgf000025_0001
it follows that: bu.7u. ÷ 72,3727
A A = (7.1.271,27- 2^ 2,2)1^^
Figure imgf000025_0002
Similarly, defining:
Γ - 771 L2 7i,3
Ύ2.1 77;2 7¾;3j
T
leads to A A ~ Μ{μ}} provided that:
,{'7 A i
Γ ! Γ .... 0
μ ,777)
Thus, Μ(μ) can be made singular by, for example, setting μ to solve the equation for ϊ Ϊ above, which may be done with the choice:
\½ < COS 7a; v 2< COS $^ V ¾i 3< COS 7¾
OT" sin 7;
Figure imgf000025_0003
0i2) w& xm i } where
777.2}
ma ·.·.·.··· C B (I? (2)
¾j 2}^;i3)
Given any choice for ¾ % ¾ satisfying the above two equations, Μ(μ*) can be made singular by setting 7s ·~ V UJ^' W--^ txj&^* — Knowing μ*, the singular value decomposition:
SV7 ^ A (fmm .which Y * ^ W¾VT) may be used to determine the null space and *; ¥i<s ' T where
ν * ™~ ^ 1. ·** )^. T may then be determined as it was in the 2-column non- neighbor case.
Newton's method may be used. Let ν(μ) be the function giving the eigenvalue of Μ(μ) nearest to 0 (this can be obtained with an iterative Lanczos method which may converge quickly given a good starting point. A good starting point is available, for example, using the eigenvector at a nearby μ obtained at the last Newton step). Solving ν(μ) = 0 using Newton's method can be accelerated by, for example, supplying the derivative δλν(μ) as <a, Aa> where a is the eigenvector corresponding to the eigenvalue nearest to 0.
Knowing μ* satisfying ν(μ*) = 0, a singular value decomposition of VSVT = Μ(μ*) may be performed to provide * ^ v»* + ^ T where *** = it* Tmay then be determined exactly as it was in the two-column update non-neighbors case described above.
Improved reconstruction may be obtained with larger numbers of dictionary atoms (i.e., larger K). In order to satisfy the orthogonality constraints when learning constrained dictionaries with N < K, the input signals may be mapped to a space having dimension of at least K. This mapping may be linear and given as By. The dictionary may then be learned to sparsely represent the mapped y by minimizing:
Figure imgf000026_0001
where the Frobenius norm of B may be fixed to prevent the solution of B = 0, D = 0, and {wj = 0. Block coordinate decent may be used to minimize the objective with respect to B, D and {wj. The B minimization may be relatively straightforward because the objective is quadratic and the constraint is simple. Having learned all parameters, the reconstruction from a known w may be achieved by < r - iB ' Β) """ ] Β * Dw,
In accordance with the present methods, solving a QUBO problem may include an implementation of quantum annealing or adiabatic quantum computation. An evolution Hamiltonian is proportional to the sum of a first term proportional to the problem Hamiltonian and a second term
proportional to the disordering Hamiltonian. As previously discussed, a typical evolution may be represented by equation 5:
HE∞A(t)HD +B(t)Hp where HP is the problem Hamiltonian, disordering Hamiltonian is HD, HE is the evolution or instantaneous Hamiltonian, and A(t) and B(t) are examples of an evolution coefficient which controls the rate of evolution. In general, evolution coefficients vary from 0 to 1. In some embodiments, a time varying evolution coefficient is placed on the problem Hamiltonian. A common disordering Hamiltonian is shown in equation 6:
1 N where N represents the number of qubits, σ is the Pauli x-matrix for the /th qubit and Δ,· is the single qubit tunnel splitting induced in the Ith qubit. Here, the σ. terms are examples of "off-diagonal" terms. A common problem
Hamiltonian includes first component proportional to a sum over diagonal single qubit terms and a second component proportional to diagonal multi-qubit terms. The problem Hamiltonian, for example, may be of the form:
Figure imgf000027_0001
where N represents the number of qubits, σ. is the Pauli z-matrix for the /th qubit, h, and Ji are dimensionless local fields coupled into each qubit, and ε is some characteristic energy scale for Hf. Here, the σ. and σ. σ terms are examples of "diagonal" terms. The former is a single qubit term and the latter a two qubit term. Throughout this specification and the appended claims, the terms "final Hamiltonian" and "problem Hamiltonian" are used
interchangeably. In various embodiments of the present methods, a
minimization problem is converted to a QUBO, and the QUBO is mapped directly to the problem Hamiltonian in the processor hardware. Hamiltonians such as HD and HP in equations 6 and 7, respectively, may be physically realized in a variety of different ways. A particular example is realized by an implementation of superconducting qubits.
Figure 1 is a schematic diagram of a portion of a superconducting quantum processor 100 designed for quantum annealing and/or adiabatic quantum computing. The portion of superconducting quantum processor 100 shown in Figure 1 includes two superconducting qubits 101 , 102 and a tunable ZZ-coupler 1 1 1 coupling information therebetween. While the portion of quantum processor 100 shown in Figure 1 includes only two qubits 101 , 102 and one coupler 1 1 1 , those of skill in the art will appreciate that quantum processor 100 may include any number of qubits and any number of coupling devices coupling information therebetween.
The portion of quantum processor 100 shown in Figure 1 may be implemented to physically realize quantum annealing by initializing the system with the Hamiltonian including a portion described by equation 6 and evolving the system to the Hamiltonian described by equation 7 in accordance with the evolution described by equation 5. In various embodiments of the present methods, determining a low energy state, such as the ground state, of the Hamiltonian described by equation 7 may map directly to a QUBO problem, where the QUBO problem encodes a minimization problem such as the sparse least squares problem. This mapping between the QUBO and the problem Hamiltonian is achieved, at least in part, by the programmable assignments to the parameters in the Hamiltonian described by equation 7. Evolving the quantum processor 100 to determine the ground state of the Hamiltonian described by equation 7 therefore solves the QUBO problem, which effectively solves the minimization problem. Quantum processor 100 includes a plurality of programming interfaces 121-125 that are used to configure and control the state of quantum processor 100. Each of programming interfaces 121-125 may be realized by a respective inductive coupling structure, as illustrated, that communicates with a programming system (not shown). Such a programming system may be separate from quantum processor 100, or it may be included locally (i.e., on-chip with quantum processor 100) as described in US Patent 7,876,248, and US Patent 8,035,540.
In the operation of quantum processor 100, programming interfaces 121 and 124 may each be used to couple a flux signal into a respective compound Josephson junction 131 ,132 of qubits 101 and 102, thereby realizing the Δ, terms in the system Hamiltonian. This coupling provides the off-diagonal < terms of the Hamiltonian described by equation 6 and these flux signals are examples of "disordering signals." Similarly, programming interfaces 122 and 123 may each be used to couple a flux signal into a respective qubit loop of qubits 101 and 102, thereby realizing the ht terms in the system Hamiltonian. This coupling provides the diagonal cf terms of equation 7. Furthermore, programming interface 125 may be used to couple a flux signal into coupler 1 1 1 , thereby realizing the J,j terms in the system Hamiltonian. This coupling provides the diagonal (f ,(fj terms of equation 7. In Figure 1 , the contribution of each of programming interfaces 121-125 to the system
Hamiltonian is indicated in boxes 121 a-125a, respectively.
Throughout this specification and the appended claims, the term "quantum processor" is used to generally describe a collection of qubits (e.g., qubits 101 and 102) and couplers (e.g., coupler 1 1 1 ). The qubits 101 and 102 and the couplers 1 1 1 are referred to as the "computational elements" of the quantum processor 100. In the context of a quantum processor, the term "programming subsystem" is used to generally describe the programming elements (e.g., programming interfaces 122, 123, and 125) included in a quantum processor (e.g., processor 100) and other associated control circuitry or instructions. As previously described, the programming elements of the operational subsystem may communicate with a programming system which may be separate from the quantum processor or included locally on the processor. Similarly, in the context of a quantum processor, the term "evolution subsystem" is used to generally describe the evolution elements 121 , 124 used to evolve the computational elements of the quantum processor 100. For example, the evolution subsystem may include annealing signal lines and their corresponding interfaces (121 , 124) to the qubits (101 , 102).
The exemplary quantum processor described in Figure 1 may be used to minimize the QUBO problem of equation 4 to determine values for the Boolean weights w1 for a given dictionary D°. Using the determined values for the Boolean weights w1 , a non-quantum processor may then be used to optimize equation 2 for the dictionary D to produce a new dictionary D1. As a notation the superscript on weight w or dictionary D denotes version of weight or dictionary. Subscript denotes an enumerate weight or dictionary element. The exemplary quantum processor described in Figure 1 may then be used to minimize the QUBO problem of equation 4 to determine values for the Boolean weights w2 for the new dictionary D1 , and a non-quantum processor may then use the new Boolean weights w2 to optimize equation 2 to produce a new dictionary D2. This process may continue until some solution criterion is met, such as, convergence of the weights w, and/or dictionary D, end of specified run time, anomaly detected, and the like.
The various embodiments described herein provide methods for using a quantum processor to solve computational problems by employing techniques of compressed sensing. In general, these methods involve successively optimizing an objective (e.g., equation 2), where each successive optimization alternates between optimizing for a first parameter (e.g., a dictionary D) and a second parameter (e.g., Boolean weights w,).
Figure 2 is a flow-diagram showing a method 200 for minimizing the objective given in equation 1 . Method 200 includes seven acts 201 -207, though those of skill in the art will appreciate that in alternative embodiments certain acts may be omitted and/or additional acts may be added. Those of skill in the art will appreciate that the illustrated order of the acts is shown for exemplary purposes only and may change in alterative embodiments. At 201 , the weights w, in the sparse least squares problem of equation 1 are re-cast as Boolean variables so that equation 1 is mapped to equation 2. Re-casting the weights w, as Boolean variables enables equation 1 to be mapped to a QUBO problem which is well-suited to be optimized using a quantum processor. This mapping may be performed using, for example, a non-quantum processor, such as a digital processor. At 202, initial values for the dictionary D in equation 2 are set. The initial values for the dictionary D correspond to D°. The initial values for the dictionary D° may, for example, be set randomly, or by guessing based on some knowledge or criteria. At 203, equation 2 is optimized for the values of the Boolean weights w, that correspond to the initial values for the dictionary D0. This optimization produces initial values for the Boolean weights given by wi corresponding to the process w1 <— w(D°) and may be achieved, for example, by using a quantum processor to minimize the QUBO problem given by equation 4. At 204, equation 2 is optimized for the dictionary D that corresponds to the initial values for the Boolean weights w1. This optimization produces a second set of values for the dictionary given by D1 corresponding to the process D1 <— D(w1) and may be achieved, for example, by using a non- quantum processor to update the columns of the dictionary according to the procedures for single-column updates, two-column updates, and/or more-than- two-columns updates previously described.
At 205, equation 2 is optimized for the values of the Boolean weights w, that correspond to the second set of values for the dictionary D1. This optimization produces a second set of values for the Boolean weights given by w2 corresponding to the process w2 <— w(D1) and may be achieved, for example, by using a quantum processor to minimize the QUBO problem given by equation 4. At 206, equation 2 is optimized for the dictionary D that corresponds to the second set of values for the Boolean weights w2. This optimization produces a third set of values for the dictionary given by D2 corresponding to the process D2 <— D(w2) and may be achieved, for example, by using a non-quantum processor to update the columns of the dictionary according to the procedures for single-column updates, two-column updates, and/or more-than-two-columns updates previously described.
At 207, the back-and-forth optimizations described in acts 203- 206 are repeated until some solution criterion is met. That is, equation 2 is successively optimized for the values of the Boolean weights wt+i given each dictionary D* corresponding to the process wt+1 <— w(D') using, for example, a quantum processor to minimize equation 4; and for the dictionary Dt+1 given each set of Boolean weights wt+1 corresponding to the process Dt+1 <— D(wt+1) using, for example, a non-quantum processor to update the columns of the dictionary Dt+1. This process may be continued until some solution criterion is met, for example, until at least one of the dictionary D or the set of values for the Boolean weights w, converges.
At 202 in method 200, the optimization procedure effectively begins by setting initial values for the dictionary D° and using these values, at 203, to optimize for the values of the Boolean weights w1. However, the optimization procedure may also begin by setting initial values for the Boolean weights wi and using these values to optimize for the dictionary D1.
Figure 3 is a flow-diagram of a method 300 for minimizing the objective given in equation 1 . Method 300 includes seven acts 301-307, though those of skill in the art will appreciate that in alternative embodiments certain acts may be omitted and/or additional acts may be added. Those of skill in the art will appreciate that the illustrated order of the acts is shown for exemplary purposes only and may change in alterative embodiments. Method 300 is substantially similar to method 200 from Figure 2, except that at 302 of method 300 initial values for the Boolean weights wi are set, whereas at 202 of method 200 initial values for the dictionary D° are set. At 302, the initial values for the Boolean weights w1 may be set randomly, or by guessing based on some knowledge or criteria. Method 300 then proceeds through acts 303-307 to successively optimize equation 2 for the dictionary D* based on the Boolean weights wt (using, e.g., a non-quantum processor to update the columns of the dictionary) according to the process D* <— D(w') and for the Boolean weights wt+1 based on the dictionary D* (using, e.g., a quantum processor to minimize the QUBO of equation 4) according to the process wt+1 <— w(D') until some solution criterion is met. An exemplary solution criterion is the convergence of the at least one of the dictionary D and the Boolean weights w,. Throughout this specification, various embodiments of the present methods are described in which a non-quantum processor is used to update at least some of the values for a dictionary in an objective, e.g., in a sparse least squares problem. However, in accordance with the present methods, a quantum processor may be employed to update at least some of the values for a dictionary in an objective, e.g., in a sparse least squares problem. For example, the present methods may include employing a quantum processor to optimize an objective for an nth set of values for a dictionary based on an (n-1)th set of values for the Boolean weights (i.e., acts 204, 206, 207, 303, 305, and 307 may employ a quantum processor to optimize for the dictionary) by applying the systems and methods described in US Provisional Patent
Application Serial No. 61 /505,044, filed July 6, 201 1 and entitled "Applications of Hardware Boltzmann Fits"; US Provisional Patent Application Serial No. 61 /515,742, filed August 5, 201 1 and entitled "Applications of Hardware
Boltzmann Fits"; US Provisional Patent Application Serial No. 61 /540,208, filed September 28, 201 1 and entitled "Applications of Hardware Boltzmann Fits"; US Provisional Patent Application Serial No. 61 /550,275, filed October 21 , 201 1 and entitled "Systems and Methods for Minimizing an Objective Function"; and US Provisional Patent Application Serial No. 61 /557,783, filed November 9, 201 1 and entitled "Systems and Methods for Minimizing an Objective Function"; and PCT Application Serial No. PCT/US2012/045843, filed July 6, 2012, WlPO Publication No. WO2013006836 A1 and entitled "Quantum processor based systems and methods that minimize an objective function". In accordance with the present methods, a quantum processor may also be employed to optimize an objective (e.g., a non-QUBO formulation of an objective) for an nth set of values for the Boolean weights based on an (n-1 )th set of values for the dictionary (i.e., acts 203, 205, 207, 304, 306, and 307 may employ a quantum processor to optimize for the Boolean weights) by applying the systems and methods taught in patent documents cited in this paragraph.
Throughout this specification and the appended claims, the term "non-quantum processor" is used to denote any form of processor or processing system that does not make direct use of quantum phenomena, such as superposition and/or entanglement, in the computation process. Examples of non-quantum processor include classical digital microprocessors (e.g., Intel Pentium® processors such as Intel i7 quad core® processors, Intel Atom® processors, ARM Cortex® CPUs), field programmable gate arrays (FPGAs), Application Specific Integrated Circuits (ASICs) or graphical processor units (GPUs, e.g., Nvidia GPUs), and classical analog processors.
Figure 4 illustrates an exemplary digital computing system 400 including a digital processor 406 that may be used to perform digital processing tasks described in the present methods. Those skilled in the relevant art will appreciate that the present methods can be practiced with other digital computing system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, personal computers ("PCs"), network PCs, mini-computers, mainframe computers, and the like. The present methods can also be practiced in distributed computing environments, where tasks or modules are performed by remote processing devices, which are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Digital computing system 400 may include at least one processing unit 406 (i.e., digital processor), at least one system memory 408, and at least one system bus 410 that couples various system components, including system memory 408 to digital processor 406. Digital computing system 400 will at times be referred to in the singular herein, but this is not intended to limit the application to a single digital computing system 400. For example, there may be more than one digital computing system 400 or other classical computing device involved throughout the present methods
Digital processor 406 may be any logic processing unit, such as one or more central processing units ("CPUs"), digital signal processors ("DSPs"), application-specific integrated circuits ("ASICs"), etc. Unless described otherwise, the construction and operation of the various blocks shown in Figure 4 are of conventional design. As a result, such blocks need not be described in further detail herein, as they will be understood by those skilled in the relevant art.
System bus 410 can employ any known bus structures or architectures, including a memory bus with a memory controller, a peripheral bus, and a local bus. System memory 408 may include read-only memory ("ROM") and random access memory ("RAM") (not shown). A basic
input/output system ("BIOS") 412, which can form part of the ROM, contains basic routines that help transfer information between elements within digital computing system 400, such as during startup.
Digital computing system 400 may also include non-volatile memory 414. Non-volatile memory 414 may take a variety of forms, including: a hard disk drive for reading from and writing to a hard disk, an optical disk drive for reading from and writing to removable optical disks, and/or a magnetic disk drive for reading from and writing to magnetic disks. The optical disk can be a CD-ROM or DVD, while the magnetic disk can be a magnetic floppy disk or diskette. Non-volatile memory 414 may communicate with digital processor 406 via system bus 410 and may include appropriate interfaces or controllers 416 coupled between non-volatile memory 414 and system bus 410. Nonvolatile memory 414 may serve as long-term storage for computer-readable instructions, data structures, program modules and other data for digital computing system 400. Although digital computing system 400 has been described as employing hard disks, optical disks and/or magnetic disks, those skilled in the relevant art will appreciate that other types of non-volatile computer-readable media may be employed, such a magnetic cassettes, flash memory cards, Bernoulli cartridges, RAMs, ROMs, smart cards, etc.
Various program modules, application programs and/or data can be stored in system memory 408. For example, system memory 408 may store an operating system 418, end user application interfaces 420, server applications 422, at least one solver module 424, and a translator module 428. In addition, system memory 408 may store at least one quantum processor interface module 432. The operation and function of these modules are discussed in detail below.
System memory 408 may also include one or more networking applications 434, for example, a Web server application and/or Web client or browser application for permitting digital computing system 400 to exchange data with sources via the Internet, corporate Intranets, or other networks, as well as with other server applications executing on server computers.
Networking application 434 in the depicted embodiment may be markup language based, such as hypertext markup language ("HTML"), extensible hypertext markup language ("XHTML"), extensible markup language ("XML") or wireless markup language ("WML"), and may operate with markup languages that use syntactically delimited characters added to the data of a document to represent the structure of the document. A number of Web server applications and Web client or browser applications are commercially available, such as those available from Mozilla and Microsoft.
While shown in Figure 4 as being stored in system memory 408, operating system 418 and various applications/modules 420, 422, 424, 428, 432, 434 and other data can also be stored in nonvolatile memory 414.
Digital computing system 400 can operate in a networking environment using logical connections to at least one client computing system 436 and at least one database system 470. These logical connections may be formed using any means of digital communication, for example, through a network 438, such as a local area network ("LAN") or a wide area network ("WAN") including, for example, the Internet. The networking environment may include wired or wireless enterprise-wide computer networks, intranets, extranets, and/or the Internet. Other embodiments may include other types of communication networks such as telecommunications networks, cellular networks, paging networks, and other mobile networks. The information sent or received via the logical connections may or may not be encrypted. When used in a LAN networking environment, digital computing system 400 may be connected to the LAN through an adapter or network interface card ("NIC") 440 (communicatively linked to system bus 410). When used in a WAN networking environment, digital computing system 400 may include an interface and modem (not shown), or a device such as NIC 440, for establishing
communications over the WAN. Non-networked communications may additionally, or alternatively be employed.
In a networked environment, program modules, application programs, data, or portions thereof can be stored outside of digital computing system 400. Those skilled in the relevant art will recognize that the logical connections shown in Figure 4 are only some examples of establishing communications between computers, and other connections may also be used.
While digital computing system 400 may generally operate automatically, an end user application interface 420 may also be provided such that an operator can interact with digital computing system 400 through different user interfaces 448, including output devices, such as a monitor 442, and input devices, such as a keyboard 444 and a pointing device {e.g., mouse 446).
Monitor 442 may be coupled to system bus 410 via a video interface, such as a video adapter (not shown). Digital computing system 400 can also include other output devices, such as speakers, printers, etc. Other input devices can also be used, including a microphone, joystick, scanner, etc. These input devices may be coupled to digital processor 406 via a serial port interface that couples to system bus 410, a parallel port, a game port, a wireless interface, a universal serial bus ("USB") interface, or via other interfaces.
NIC 440 may include appropriate hardware and/or software for interfacing with qubits (e.g., qubits 101 and 102 from Figure 1 ) and coupling devices (e.g., coupler 1 1 1 from Figure 1 ) in a quantum processor (e.g., quantum processor 100). In other embodiments, different hardware may be used to facilitate communications between digital computing system 400 and a quantum processor.
Quantum processor interface module 432 of digital computing system 400 may include run-time instructions for coordinating the solution of computationally complex problems using a quantum processor (e.g., quantum processor 100). For instance, quantum processor interface module 432 may cause a quantum processor to begin solving a QUBO problem that is representative of, or equivalent to, part of a sparse least squares problem received by server application 422. This may include, e.g., setting initial coupling values and local bias values for couplers (e.g., 1 1 1 ) and qubits (e.g., 101 , 102), respectively.
Client computing system 436 may comprise any of a variety of computing devices communicatively coupled to digital computing system 400, and may include a client program 490 configured to properly format and send problems directly or indirectly to server application 422. Once digital computing system 400 has determined a solution, server application 422 may be configured to send information indicative of this solution back to client program 490.
Throughout this specification, the term "connectivity" is used to describe the maximum number of possible communicative coupling paths that are physically available (e.g., whether active or not) to communicably couple between individual qubits in a quantum processor without the use of intervening qubits. For example, a qubit with a connectivity of three is capable of communicably coupling to up to three other qubits without any intervening qubits. In other words, there are communicative paths available to three other qubits, although in any particular application less than all of those
communicative paths may be employed. In a quantum processor employing coupling devices between qubits, this would mean a qubit having a connectivity of three is communicably coupleable via three coupling devices. Traditionally, the number of qubits in a quantum processor limits the size of problems that may be solved and the connectivity between the qubits in a quantum processor limits the complexity of the problems that may be solved.
The various embodiments of employing the techniques of compressed sensing in using a quantum processor to solve computational problems may be applied in a wide range of applications. For example, the minimization of equation 2 (being representative of equation 1 ) may be used to generate features in any learning problem, such as machine learning
applications including pattern recognition, image recognition, applications of artificial intelligence, software verification and validation, and the training of an artificial neural network. Furthermore, compressed sensing techniques may be used in applications directed towards data compression, such as image compression, audio compression, data file compression, and video
compression. Thus, the various embodiments described herein provide methods for employing a quantum processor in data compression.
For example, in an application of video compression, the y data set (introduced in equation 1 and used throughout this specification) may represent a set of frames (e.g., pixel values, RGB values, etc.) from a video sequence. In other words, yi may include the pixel values for a first frame of a video sequence, y2 may include the pixel values for a second frame of the video sequence, etc., up to yn, where the video sequence includes n frames. Once the corresponding dictionary elements are learned (e.g., via a quantum processor as described herein), the dictionary itself may be transmitted and transmission of the complete (and typically large) video data may be reduced to transmission of simple bits indicating which basis elements are to be active for each frame.
The techniques of using a quantum processor to perform compressed sensing as described herein may be employed using
electroencephalographic ("EEG") data. For example, EEG data collected via a neuroheadset, such as for example, the Emotiv EEG neuroheadset of the Emotiv EPOC neuroheadset, available from the EMOTIV Website, may be cast as the y, data set (from equations 1 and 2) and analyzed using a quantum processor employing the compressed sensing techniques described herein. Thus, y, may include EEG data indicative of human brain activity, for example, in response to some stimulus. The techniques for solving the sparse least squares problem as described throughout this specification may then be employed to, for example, extract features from the EEG data (e.g., dictionary values D and/or their corresponding weights w,) and effectively "learn" patterns in the EEG data and how these patterns correlate with certain stimuli. In this way, classifiers may be developed and/or the quantum processor may be used to facilitate or otherwise enhance interactions between a user wearing an EEG neuroheadset and a digital computer. A person of skill in the art will appreciate that a digital computer may be incorporated into a system, such as a
mechanical or robotic system, and as such the present systems and methods provide techniques for determining, via a quantum processor, improved solutions to the sparse least squares problem that may enable enhanced thought-control over mechanical and/or robotic devices.
Figure 5 is a flow-diagram showing a method 500 for using a quantum processor to analyze EEG data in accordance with the present systems and methods. Method 500 includes five acts 501 -505, though those of skill in the art will appreciate that in alternative embodiments certain acts may be omitted and/or additional acts may be added. Those of skill in the art will appreciate that the illustrated order of the acts is shown for exemplary purposes only and may change in alterative embodiments. At 501 , EEG data is collected. As previously described, EEG data may be collected, for example, via a neuroheadset such as an Emotiv EPOC neuroheadset. At 502, the EEG data are transmitted to a digital computer such as, for example, digital computing system 400 from Figure 4. The at least one parameter may be indicative of a particular feature in the EEG data, such as a particular thought pattern or instruction set conveyed by a user wearing a neuroheadset. At 503, the digital computer is used to formulate an objective function based on the EEG data, where the objective function includes at least one variable parameter that adopts a value that is characteristic of the EEG data when the objective function is minimized. For example, the objective function may include a sparse least squares objective (e.g., equation 1 or equation 2) and the at least one parameter may include a dictionary D, a component of a dictionary D, or a corresponding weighting w. At 504, the digital computer is used to interact with a quantum processor (such as quantum processor 100 from Figure 1 ) to minimize the objective function and determine the value of the at least one parameter that is characteristic of the EEG data. Interacting with the quantum processor via the digital computer to minimize the objective function may, for example, employ the various techniques of compressed sensing described herein, including but not limited to methods 200 and/or 300 of Figures 2 and 3, respectively. At 505, the value of the at least one parameter that is
characteristic of the EEG data is returned. The value of the at least one parameter that is characteristic of the EEG data may, for example, include a single dictionary element/vector or a complete dictionary of elements/vectors that facilitate extraction of meaningful information from the EEG data. For example, minimization of the sparse least squares objective in accordance with the present systems and methods may be used to learn a dictionary capable of extracting user-specified instructions from EEG data. The dictionary may be returned at 505 of method 500, and subsequently used for some application. For example, the dictionary that is learned by employing a quantum processor to minimize the sparse least squares objective may be transmitted to any appropriate system, such as a mechanical system or a robotic system, to enable that system to extract user-specified instructions from EEG data. Thus, once the quantum processor has been employed to learn the dictionary, the dictionary itself may be transmitted and other systems may use the dictionary to directly interpret and respond to user-specified instructions without any further need to employ the quantum processor.
Figure 6 is an illustrative diagram of an EEG learning system 600 in accordance with the present systems and methods. EEG learning system 600 includes an EEG neuroheadset 602 (such as an Emotiv EPOC
neuroheadset) in communication with a digital computer 603, where the digital computer 603 is also in communication with a quantum processor 604.
Neuroheadset 602 may be worn by a user 601 and used to extract EEG data from user 601 . The EEG data may be transmitted to digital computer 603 by communicative link, including wireless, Bluetooth, USB, serial, or any other known means of communicative connection. Digital computer 603 may, for example, be substantially similar to digital computer system 400 from Figure 4. Digital computer 603 is communicatively coupled to quantum processor 604 via any known means of communicative connection. Quantum processor 604 may, for example, be similar to quantum processor 100 from Figure 1 though preferably employs a larger number of qubits and corresponding coupling devices, such as tens, hundreds, or thousands of qubits and corresponding coupling devices.
The systems and methods for acquiring and analyzing EEG data described above (and illustrated in Figures 5 and 6) represent examples of employing a quantum processor to enhance an application of machine learning. In accordance with the present systems and methods, similar techniques may be employed using other forms of data, including functional magnetic
resonance imaging (fMRI) data.
Figure 7 is a flow-diagram showing a method 700 for using a quantum processor to analyze fMRI data in accordance with the present systems and methods. Method 700 is substantially similar to method 500 from Figure 5, except that method 700 is directed towards an analysis of fMRI data whereas method 500 is directed towards an analysis of EEG data. Both examples are described herein to exemplify the versatility of the present systems and methods and the diversity of applications for which the present systems and methods may be employed. Method 700 includes five acts 701 - 705, though those of skill in the art will appreciate that in alternative
embodiments certain acts may be omitted and/or additional acts may be added. Those of skill in the art will appreciate that the illustrated order of the acts is shown for exemplary purposes only and may change in alterative
embodiments. At 701 , fMRI data is collected. fMRI data may be collected, for example, via a functional magnetic resonance imaging system such as those employed in the art of medical imaging (e.g., fMRI systems sold by Avotec Inc., Invivo, etc.). At 702, the fMRI data are transmitted to a digital computer such as, for example, digital computing system 400 from Figure 4. At 703, the digital computer is used to formulate an objective function based on the fMRI data, where the objective function includes at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized. For example, the objective function may include a sparse least squares objective (e.g., equation 1 or equation 2) and the at least one parameter may include a dictionary D, a component of a dictionary D, or a corresponding weighting w. The at least one parameter may be indicative of a particular feature in the fMRI data, such as a particular region of activity or uniform behavior in the fMRI data. At 704, the digital computer is used to interact with a quantum processor (such as quantum processor 100 from Figure 1 ) to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data. Interacting with the quantum processor via the digital computer to minimize the objective function may, for example, employ the various techniques of compressed sensing described herein, including but not limited to methods 200 and/or 300 of Figures 2 and 3, respectively. At 705, the value of the at least one parameter that is
characteristic of the fMRI data is returned. The value of the at least one parameter that is characteristic of the fMRI data may, for example, include a single dictionary element/vector or a complete dictionary of elements/vectors that facilitate extraction of meaningful information from the fMRI data. For example, minimization of the sparse least squares objective in accordance with the present systems and methods may be used to learn a dictionary capable of extracting patterns from and/or otherwise identifying features in fMRI data. The dictionary may be returned at 705 of method 700, and subsequently used for some application.
Method 700 provides a high-level example of how the present systems and methods may be applied in the analysis of fMRI data. As a more specific example, the present systems and methods may be applied to determine patterns and/or correlations in the evolution of voxel data measured via fMRI techniques.
A "voxel" is essentially a three-dimensional analogue of a pixel and is used to define a characteristic or characteristics of a component of a three-dimensional space. A three-dimensional space, or volume, may be divided via a three-dimensional grid into an arrangement of three-dimensional blocks called "voxels." In the art of fMRI, three-dimensional image data measured by a fMRI system may be represented and analyzed in the form of voxels. fMRI voxel data are often grouped (e.g., to form "super voxels") in order to facilitate analysis and such groupings are traditionally based on the physical locations of voxels. For example, a large set of voxel data may be divided into subsets of spatial regions of the complete set. This approach is useful in reducing the number of voxels to be analyzed (e.g., by focusing only a single group or a subset of groups) but carries the risk of missing key patterns and/or correlations between voxels in different groups. For example, fMRI voxel data from a brain scan is typically grouped into regions based on anatomical location in the brain, and a subsequent analysis based on such a grouping may miss patterns and/or correlations between voxels in disparate regions of the brain.
The systems and methods described herein may be advantageously employed in the analysis of fMRI voxel data to form voxel groups (or "super voxels") based on patterns and/or correlations in the voxel data. For example, the time evolution of each voxel in a fMRI scan may be analyzed by employing the quantum and digital processing techniques described herein to identify a group (or groups) of voxels that each evolve in a similar way (or otherwise appear correlated) in response to a stimulus. Voxels that evolve in a similar way or otherwise appear correlated in response to a stimulus may be grouped to produce an improved, more representative mapping of any object scanned via fMRI compared to the location-based grouping described above.
For example, in method 700 the fMRI data (act 701 ) may include voxel data and the at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized (act 703) may be representative of a correlation between voxels in the voxel data. At 704, then, interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data may include interacting with the quantum processor, via the digital computer, to minimize the objective function and determine a correlation between voxels in the voxel data.
Figure 8 is a flow-diagram showing a method 800 for using a quantum processor to analyze fMRI data in accordance with the present systems and methods. Method 800 includes three acts 801 -803, though those of skill in the art will appreciate that in alternative embodiments certain acts may be omitted and/or additional acts may be added. Those of skill in the art will appreciate that the illustrated order of the acts is shown for exemplary purposes only and may change in alterative embodiments. At 801 , fMRI data are collected while introducing a stimulus. fMRI data may be collected, for example, via a functional magnetic resonance imaging system such as those employed in the art of medical imaging (e.g., fMRI systems sold by Avotec Inc., Invivo, etc.). The fMRI system may be used to scan a human brain and the stimulus introduced may include, but is not limited to: a visual stimulus (e.g., an image or photograph, a video, etc.), an audio stimulus (e.g., a noise or sound, music, etc.), a physical stimulus, an olfactory stimulus, a taste stimulus, an emotional stimulus, a psychological stimulus, etc. Multiple stimuli may be introduced, either simultaneously or in series. At 802, the fMRI data are transmitted to a digital computer such as, for example, digital computing system 400 from Figure 4. At 803, the fMRI data may be analyzed using the quantum and digital processing techniques described herein to identify patterns and/or correlations between voxels in response to the stimulus (or stimuli). Patterns and/or correlations in the voxel data may be used, for example, to define groupings between voxels (e.g., "super voxels") and/or to characterize the behavior of the object being scanned. For example, if the object being scanned is a human brain, then patterns and/or correlations in the voxel data (as identified via the compressed sensing and/or sparse least squares optimization techniques described herein) may be used to perform contextual brain mapping that may subsequently be used in several applications, including but not limited to: targeted advertising, thought-control over remote systems, automated dispensing of medication, suicide prediction, medical diagnosis, etc. In some applications, the identification of a grouping of voxels may allow significant simplification in the analysis of fMRI data, for example, by allowing voxels not contained within the grouping to be ignored in the analysis.
Both method 700 from Figure 7 and method 800 from Figure 8 may be carried out using an fMRI data acquisition and analysis system. Figure 9 is an illustrative diagram of fMRI data acquisition and analysis system 900 in accordance with the present systems and methods. System 900 includes a fMRI system 901 (such as those used in the art of medical imaging) in communication with a digital computer 902, where the digital computer 902 is also in communication with a quantum processor 903. fMRI system 901 may be used to scan any object, including a human and, more specifically, a human brain. The fMRI data (e.g., voxel data) may be transmitted to digital computer 902 by communicative link, including wireless, Bluetooth, USB, serial, or any other known means of communicative connection. Digital computer 902 may, for example, be substantially similar to digital computer system 400 from Figure 4. Digital computer 902 is communicatively coupled to quantum processor 903 via any known means of communicative connection. Quantum processor 903 may, for example, be similar to quantum processor 100 from Figure 1 though preferably employs a larger number of qubits and corresponding coupling devices, such as tens, hundreds, or thousands of qubits and corresponding coupling devices.Throughout this specification and the appended claims, the terms "optimize" and "minimize" are often used. These terms are used herein in a loose sense to denote a procedure where an optimal value (e.g., a minimal value) is sought, but are not intended to restrict the present methods to embodiments where only optimal (e.g., minimal) values are obtained. A person of skill in the art will appreciate that "optimizing" an objective is a process of attempting to determine an optimal value and may produce a sufficient and/or satisfactory value that is sub-optimal. Thus, the term "optimizing" where used in this specification and the appended claims should be construed as "seeking an at least approximately optimal value" and similarly "minimizing" should be construed as "seeking an at least approximately minimum value." The above description of illustrated embodiments, including what is described in the Abstract, is not intended to be exhaustive or to limit the embodiments to the precise forms disclosed. Although specific embodiments of and examples are described herein for illustrative purposes, various equivalent modifications can be made without departing from the spirit and scope of the disclosure, as will be recognized by those skilled in the relevant art. The teachings provided herein of the various embodiments can be applied to other methods of quantum computation, not necessarily the exemplary methods for quantum computation generally described above.
The various embodiments described above can be combined to provide further embodiments. US provisional patent application Serial No. 61/415,568 filed November 19, 2010; US patent application Serial No.
13/300,169 filed November 18, 201 1 ; US patent application Serial No.
61/708,514 filed October 1 , 2012; and US provisional patent application Serial No. 61/767,164 filed Febraury 20, 2013 are incorporated herein by reference, in their entireties. All of the U.S. patents, U.S. patent application publications, U.S. patent applications, foreign patents, foreign patent applications and non-patent publications referred to in this specification and/or listed in the Application Data Sheet are incorporated herein by reference, in their entirety. Aspects of the embodiments can be modified, if necessary, to employ systems, circuits and concepts of the various patents, applications and publications to provide yet further embodiments.
These and other changes can be made to the embodiments in light of the above-detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific
embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure.

Claims

1 . A method of using a quantum processor to analyze functional magnetic resonance imaging ("fMRI") data, the method comprising:
collecting fMRI data via an fMRI system;
transmitting the fMRI data from the fMRI system to a digital computer via a communicative link between the fMRI system and the digital computer;
formulating an objective function based on the fMRI data via the digital computer, wherein the objective function includes at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized;
interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data; and
returning the value of the at least one parameter that is
characteristic of the fMRI data.
2. The method of claim 1 wherein interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data comprises:
casting a set of weights in the objective function as Boolean variables using the digital computer;
setting a first set of values for a dictionary using the digital computer;
optimizing the objective function for a first set of values for the Boolean weights based on the first set of values for the dictionary, wherein optimizing the objective function for a first set of values for the Boolean weights includes mapping the objective function to a first quadratic unconstrained binary optimization ("QUBO") problem and using the quantum processor to at least approximately minimize the first QUBO problem;
optimizing the objective function for a second set of values for the dictionary based on the first set of values for the Boolean weights, wherein optimizing the objective function for a second set of values for the dictionary includes using a non-quantum processor to update at least some of the values for the dictionary;
optimizing the objective function for a second set of values for the Boolean weights based on the second set of values for the dictionary, wherein optimizing the objective function for a second set of values for the Boolean weights includes mapping the objective function to a second QUBO problem and using the quantum processor to at least approximately minimize the second QUBO problem; and
optimizing the objective function for a third set of values for the dictionary based on the second set of values for the Boolean weights, wherein optimizing the objective function for a third set of values for the dictionary includes using the non-quantum processor to update at least some of the values for the dictionary.
3. The method of claim 1 wherein interacting with the quantum processor, via the digital computer, to minimize the objective function includes solving a sparse least squares problem.
4. The method of claim 1 wherein interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data comprises:
casting a set of weights in the objective function as Boolean variables using the digital computer;
setting a first set of values for the Boolean weights using the digital computer; optimizing the objective function for a first set of values for a dictionary based on the first set of values for the Boolean weights, wherein optimizing the objective function for a first set of values for a dictionary includes using a non-quantum processor to update at least some of the values for the dictionary;
optimizing the objective function for a second set of values for the Boolean weights based on the first set of values for the dictionary, wherein optimizing the objective function for a second set of values for the Boolean weights includes mapping the objective function to a first quadratic
unconstrained binary optimization ("QUBO") problem and using the quantum processor to at least approximately minimize the first QUBO problem;
optimizing the objective function for a second set of values for the dictionary based on the second set of values for the Boolean weights, wherein optimizing the objective function for a second set of values for the dictionary includes using the non-quantum processor to update at least some of the values for the dictionary; and
optimizing the objective function for a third set of values for the Boolean weights based on the second set of values for the dictionary, wherein optimizing the objective function for a third set of values for the Boolean weights includes mapping the objective function to a second quadratic unconstrained binary optimization ("QUBO") problem and using a quantum processor to at least approximately minimize the second QUBO problem.
5. The method of claim 1 wherein the fMRI data includes voxel data and the at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized is representative of a correlation between voxels in the voxel data, and wherein interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data includes interacting with the quantum processor, via the digital computer, to minimize the objective function and determine a correlation between voxels in the voxel data.
6. The method of claim 1 , further comprising:
introducing a stimulus while collecting the fMRI data via the fMRI system, wherein the at least one variable parameter that adopts a value that is characteristic of the fMRI data when the objective function is minimized is representative of a correlation in the fMRI data in response to the stimulus, and wherein interacting with the quantum processor, via the digital computer, to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data includes interacting with the quantum processor, via the digital computer, to minimize the objective function and determine a correlation in the fMRI data in response to the stimulus.
7. A system for acquiring and analyzing functional magnetic resonance imaging ("fMRI") data, the system comprising:
a fMRI system;
a digital computing system; and
a quantum processor;
the fMRI system communicatively coupled with the digital computing system and the digital computing system communicatively coupled with the quantum processor.
8. A computer readable storage medium comprising computer executable instructions to:
receive functional neural imaging data;
formulate an objective function based on the functional neural imaging data, wherein the objective function includes at least one variable parameter that adopts a value that is characteristic of the functional neural imaging data when the objective function is minimized; interact with the quantum processor to minimize the objective function and determine the value of the at least one parameter that is characteristic of the functional neural imaging data; and
return the value of the at least one parameter that is characteristic of functional neural imaging data.
9. The computer readable storage medium of claim 8 wherein interacting with the quantum processor to minimize the objective function includes solving a sparse least squares problem.
10. The computer readable storage medium of claim 8 wherein the objective function includes:
a first term to minimize difference between a first representation of the functional neural imaging data and a second representation of the functional neural imaging data according to a 2-norm; and
a second term to minimize the complications in the objective function.
1 1 . The computer readable storage medium of claim 8 wherein the second term is governed by a norm selected from the group consisting of 0- norm and 1 -norm.
12. The computer readable storage medium of claim 8 wherein the instructions to interact with the quantum processor to minimize the objective function and determine the value of the at least one parameter that is characteristic of the functional neural imaging data further comprise instructions to:
cast a set of weights in the objective function as Boolean variables;
set a first set of values for a dictionary;
alternatively perform two optimization acts until a solution criterion is met: optimizing the objective function for a respective set of values for the Boolean weights based on a previous set of values for the dictionary, wherein optimizing the objective function for the respective set of values for the Boolean weights includes mapping the objective function to a respective quadratic unconstrained binary optimization ("QUBO") problem and using the quantum processor to at least approximately minimize the respective QUBO problem;
optimizing the objective function for a respective set of values for the dictionary based on the respective set of values for the Boolean weights, wherein optimizing the objective for the respective set of values for the dictionary includes using a non-quantum processor to update at least some of the values for the dictionary.
13. The computer readable storage medium of claim 12, wherein the first set of values for the dictionary is set at random.
14. The computer readable storage medium of claim 8 wherein the instructions to interact with the quantum processor to minimize the objective function and determine the value of the at least one parameter that is characteristic of the fMRI data further comprise instructions to:
cast a set of weights in the objective as Boolean variables;
set a first set of values for the Boolean weights;
alternatively perform two optimization acts until an solution criterion is met:
optimizing the objective for a respective set of values for a dictionary based on a previous set of values for the Boolean weights, wherein optimizing the objective for a respective set of values for a dictionary includes using a non-quantum processor to update at least some of the values for the dictionary;
optimizing the objective for a respective set of values for the Boolean weights based on the first set of values for the dictionary, wherein optimizing the objective for a second set of values for the Boolean weights includes mapping the objective to a respective quadratic unconstrained binary optimization ("QUBO") problem and using the quantum processor to at least approximately minimize the respective QUBO problem;
15. The computer readable storage medium of claim 8 wherein the functional neural imaging data is electroencephalographic ("EEG") data.
16. The computer readable storage medium of claim 15 further comprising instructions to:
collect electroencephalographic data via an EEG neuroheadset; transmit the EEG data from the EEG neuroheadset to a digital computer via a communicative link between the EEG neuroheadset and the digital computer;
17. The computer readable storage medium of claim 15 further comprising instructions to:
transmit the value of the at least one parameter that is characteristic of the EEG data to at least one device selected from the group consisting of: a mechanical device and a robotic device.
18. The computer readable storage medium of claim 8 wherein the functional neural imaging data is functional magnetic resonance imaging ("fMRI") data.
19. The computer readable storage medium of claim 17 further comprising instructions to:
collect fMRI data via an fMRI system; and
transmit the fMRI data from the fMRI system to the digital computer.
PCT/US2013/061459 2012-10-01 2013-09-24 Quantum processing of functional neural imaging data WO2014055293A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261708514P 2012-10-01 2012-10-01
US61/708,514 2012-10-01
US201361767164P 2013-02-20 2013-02-20
US61/767,164 2013-02-20

Publications (1)

Publication Number Publication Date
WO2014055293A1 true WO2014055293A1 (en) 2014-04-10

Family

ID=50435330

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/061459 WO2014055293A1 (en) 2012-10-01 2013-09-24 Quantum processing of functional neural imaging data

Country Status (1)

Country Link
WO (1) WO2014055293A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360295A (en) * 2014-11-04 2015-02-18 中国科学院深圳先进技术研究院 Magnetic resonance parallel imaging method and device based on dictionary learning
CN107332628A (en) * 2017-07-05 2017-11-07 哈尔滨理工大学 Computer coding method based on quantum entanglement and least square method
CN109410195A (en) * 2018-10-19 2019-03-01 泰山医学院 A kind of magnetic resonance imaging brain partition method and system
CN110477862A (en) * 2019-08-07 2019-11-22 王满 A kind of intelligent chip device and application method based on cardiac function dynamic monitoring and analysis
CN110477864A (en) * 2019-08-07 2019-11-22 王满 A kind of management service system and method based on cardiac function dynamic monitoring and analysis
CN110477863A (en) * 2019-08-07 2019-11-22 王满 A kind of intelligent algorithm model system and method based on cardiac function dynamic monitoring
EP3678066A1 (en) * 2019-01-02 2020-07-08 Siemens Healthcare GmbH Mr-scanner with embedded quantum computer
CN112587136A (en) * 2020-12-09 2021-04-02 北京意图科技有限公司 Taste sensory evaluation method and system
US20210271984A1 (en) * 2020-02-28 2021-09-02 Alibaba Group Holding Limited Regression modeling of sparse acyclic graphs in time series causal inference
US11295207B2 (en) 2014-12-05 2022-04-05 Microsoft Technology Licensing, Llc Quantum deep learning
WO2022179386A1 (en) * 2021-02-26 2022-09-01 山东英信计算机技术有限公司 Distributed quantum imaging method, apparatus and system, and computer-readable storage medium
US11487921B2 (en) * 2018-11-02 2022-11-01 Volkswagen Aktiengesellschaft System and method for finite elements-based design optimization with quantum annealing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006153461A (en) * 2004-11-25 2006-06-15 Hitachi Ltd Nuclear magnetic resonance measuring device
JP2008153928A (en) * 2006-12-18 2008-07-03 Toshiba Corp D/a converter and magnetic resonance imaging apparatus by the converter
US20090103795A1 (en) * 2007-10-23 2009-04-23 Mazaika Paul K Robust motion correction for functional magnetic resonance imaging
US20110210738A1 (en) * 2007-05-04 2011-09-01 Penanen Konstantin I Low field squid mri devices, components and methods
WO2011153521A2 (en) * 2010-06-04 2011-12-08 Mclean Hospital Corporation Multi-modal imaging of blood flow

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006153461A (en) * 2004-11-25 2006-06-15 Hitachi Ltd Nuclear magnetic resonance measuring device
JP2008153928A (en) * 2006-12-18 2008-07-03 Toshiba Corp D/a converter and magnetic resonance imaging apparatus by the converter
US20110210738A1 (en) * 2007-05-04 2011-09-01 Penanen Konstantin I Low field squid mri devices, components and methods
US20090103795A1 (en) * 2007-10-23 2009-04-23 Mazaika Paul K Robust motion correction for functional magnetic resonance imaging
WO2011153521A2 (en) * 2010-06-04 2011-12-08 Mclean Hospital Corporation Multi-modal imaging of blood flow

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360295A (en) * 2014-11-04 2015-02-18 中国科学院深圳先进技术研究院 Magnetic resonance parallel imaging method and device based on dictionary learning
US11295207B2 (en) 2014-12-05 2022-04-05 Microsoft Technology Licensing, Llc Quantum deep learning
CN107332628B (en) * 2017-07-05 2020-04-24 哈尔滨理工大学 Computer coding method based on quantum entanglement and least square method
CN107332628A (en) * 2017-07-05 2017-11-07 哈尔滨理工大学 Computer coding method based on quantum entanglement and least square method
CN109410195B (en) * 2018-10-19 2020-12-22 山东第一医科大学(山东省医学科学院) Magnetic resonance imaging brain partition method and system
CN109410195A (en) * 2018-10-19 2019-03-01 泰山医学院 A kind of magnetic resonance imaging brain partition method and system
US11487921B2 (en) * 2018-11-02 2022-11-01 Volkswagen Aktiengesellschaft System and method for finite elements-based design optimization with quantum annealing
EP3678066A1 (en) * 2019-01-02 2020-07-08 Siemens Healthcare GmbH Mr-scanner with embedded quantum computer
US11385308B2 (en) 2019-01-02 2022-07-12 Siemens Healthcare Gmbh Magnetic resonance scanner with embedded quantum computer
CN110477864B (en) * 2019-08-07 2022-06-28 王满 Management service system and method based on dynamic monitoring and analysis of cardiac function
CN110477862B (en) * 2019-08-07 2022-06-28 王满 Intelligent chip device based on dynamic monitoring and analysis of cardiac function and application method
CN110477863A (en) * 2019-08-07 2019-11-22 王满 A kind of intelligent algorithm model system and method based on cardiac function dynamic monitoring
CN110477862A (en) * 2019-08-07 2019-11-22 王满 A kind of intelligent chip device and application method based on cardiac function dynamic monitoring and analysis
CN110477864A (en) * 2019-08-07 2019-11-22 王满 A kind of management service system and method based on cardiac function dynamic monitoring and analysis
US20210271984A1 (en) * 2020-02-28 2021-09-02 Alibaba Group Holding Limited Regression modeling of sparse acyclic graphs in time series causal inference
US11694097B2 (en) * 2020-02-28 2023-07-04 Alibaba Group Holding Limited Regression modeling of sparse acyclic graphs in time series causal inference
CN112587136B (en) * 2020-12-09 2022-02-25 北京意图科技有限公司 Taste sensory evaluation method and system
CN112587136A (en) * 2020-12-09 2021-04-02 北京意图科技有限公司 Taste sensory evaluation method and system
WO2022179386A1 (en) * 2021-02-26 2022-09-01 山东英信计算机技术有限公司 Distributed quantum imaging method, apparatus and system, and computer-readable storage medium

Similar Documents

Publication Publication Date Title
WO2014055293A1 (en) Quantum processing of functional neural imaging data
US8977576B2 (en) Methods for solving computational problems using a quantum processor
JP6718994B2 (en) System and method for quantum processing of data
US10467543B2 (en) Quantum processor based systems and methods that minimize an objective function
US10318881B2 (en) Systems and methods for quantum processing of data
Dehuri et al. An improved swarm optimized functional link artificial neural network (ISO-FLANN) for classification
US9501747B2 (en) Systems and methods that formulate embeddings of problems for solving by a quantum processor
Hossain et al. Multiclass informative instance transfer learning framework for motor imagery-based brain-computer interface
Zahin et al. Sensor-based human activity recognition for smart healthcare: A semi-supervised machine learning
Wang et al. Mutual information inspired feature selection using kernel canonical correlation analysis
Liu et al. Adiabatic quantum computation applied to deep learning networks
Spathis et al. Self-supervised transfer learning of physiological representations from free-living wearable data
Pantazis et al. MEG source localization via deep learning
Kramer et al. Reconstructing nonlinear dynamical systems from multi-modal time series
Hernandez et al. Nonlinear evolution via spatially-dependent linear dynamics for electrophysiology and calcium data
Sujana et al. An efficient feature selection using parallel cuckoo search and naïve Bayes classifier
Nakra et al. Deep neural network with harmony search based optimal feature selection of EEG signals for motor imagery classification
Zeng et al. Conditional quantum circuit Born machine based on a hybrid quantum–classical​ framework
Said et al. Deep learning and low rank dictionary model for mhealth data classification
Jiang et al. Dynamic graph learning: A structure-driven approach
Rodrigues Exploring invariances of multivariate time series via Riemannian geometry: validation on EEG data
Hilal et al. Modelling of biosignal based decision making model for intracranial haemorrhage diagnosis in IoT environment
Castellini et al. Bayesian clustering of multivariate immunological data
Bhujang et al. Hybrid Deep Learning Based PDOA Model for Prediction of BCI Task Using EEG Signals
Nazarovs Statistical and Computational Strategies for Quantifying Uncertainty in Deep Probabilistic Models with Applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13843106

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13843106

Country of ref document: EP

Kind code of ref document: A1