IP Library Granted Patent US 11,157,817
Granted Patent B2
US 11,157,817 · App. 15/753,666 · Granted Oct 26, 2021

Discrete variational auto-encoder systems and methods for machine learning using adiabatic quantum computers

Inventor: Jason Rolfe (Vancouver, CA)
Assignee: D-WAVE SYSTEMS INC.
G06N3/086G06N3/0445G06N3/0454G06N3/0472G06N3/08G06N3/084G06N3/088G06N10/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,157,817
App. No.
15/753,666
Granted
Oct 26, 2021
Kind
B2
Abstract

A computational system can include digital circuitry and analog circuitry, for instance a digital processor and a quantum processor. The quantum processor can operate as a sample generator providing samples. Samples can be employed by the digital processing in implementing various machine learning techniques. For example, the computational system can perform unsupervised learning over an input space, for example via a discrete variational auto-encoder, and attempting to maximize the log-likelihood of an observed dataset. Maximizing the log-likelihood of the observed dataset can include generating a hierarchical approximating posterior.

Claims (92)

1. A method for unsupervised learning over an input space comprising discrete or continuous variables, and at least a subset of a training dataset of samples of the respective variables, to attempt to identify the value of at least one parameter that increases the log-likelihood of the at least a subset of a training dataset with respect to a model, the model expressible as a function of the at least one parameter, the method executed by circuitry including at least one processor and comprising;

forming a first latent space comprising a plurality of random variables, the plurality of random variables comprising one or more discrete random variables;

forming a second latent space comprising the first latent space and a set of supplementary continuous random variables;

forming a first transforming distribution comprising a conditional distribution over the set of supplementary continuous random variables, conditioned on the one or more discrete random variables of the first latent space;

forming an encoding distribution comprising an approximating posterior distribution over the first latent space, conditioned on the input space;

forming a prior distribution over the first latent space;

forming a decoding distribution comprising a conditional distribution over the input space conditioned on the set of supplementary continuous random variables;

determining an ordered set of conditional cumulative distribution functions of the supplementary continuous random variables, each cumulative distribution function comprising functions of a full distribution of at least one of the one or more discrete random variables of the first latent space;

determining an inversion of the ordered set of conditional cumulative distribution functions of the supplementary continuous random variables;

constructing a first stochastic approximation to a lower bound on the log-likelihood of the at least a subset of a training dataset;

constructing a second stochastic approximation to a gradient of the lower bound on the log-likelihood of the at least a subset of a training dataset; and

increasing the lower bound on the log-likelihood of the at least a subset of a training dataset based at least in part on the gradient of the lower bound on the log-likelihood of the at least a subset of a training dataset.

2. The method of 1 wherein increasing the lower bound on the log-likelihood of the at least a subset of a training dataset based at least in part on the gradient of the lower bound on the log-likelihood of the at least a subset of a training dataset includes increasing the lower bound on the log-likelihood of the at least a subset of a training dataset using a method of gradient descent.

3. The method of 2 wherein increasing the lower bound on the log-likelihood of the at least a subset of a training dataset using a method of gradient descent includes attempting to maximize the lower bound on the log-likelihood of the at least a subset of a training dataset using a method of gradient descent.

4. The method of claim 1 wherein constructing a first stochastic approximation to the lower bound of the log-likelihood of the at least a subset of a training dataset includes:

decomposing the first stochastic approximation to the lower bound into at least a first part comprising negative KL-divergence between the approximating posterior and the prior distribution over the first latent space, and a second part comprising an expectation, or at least a stochastic approximation to an expectation, with respect to the approximating posterior over the second latent space of the conditional log-likelihood of the at least a subset of a training dataset under the decoding distribution.

5. The method of claim 1 wherein constructing a second stochastic approximation to the gradient of the lower bound includes:

determining the gradient of the second part of the first stochastic approximation by backpropagation;

approximating the gradient of the first part of the first stochastic approximation with respect to one or more parameters of the prior distribution over the first latent space using samples from the prior distribution; and

determining a gradient of the first part of the first stochastic approximation with respect to parameters of the encoding distribution by backpropagation.

6. The method of claim 1 wherein a logarithm of the prior distribution is, to within a constant, a problem Hamiltonian of a quantum processor.

7. The method of claim 1 , further comprising:

generating samples or causing samples to be generated by a quantum processor; and

determining an expectation with respect to the prior distribution from the samples.

8. The method of claim 7 wherein generating samples or causing samples to be generated by at least one quantum processor includes:

operating the at least one quantum processor as a sample generator to provide the samples from a probability distribution, wherein a shape of the probability distribution depends on a configuration of a number of programmable parameters for the at least one quantum processor, and wherein operating the at least one quantum processor as a sample generator comprises:

programming the at least one quantum processor with a configuration of the number of programmable parameters for the at least one quantum processor, wherein the configuration of a number of programmable parameters corresponds to the probability distribution over the plurality of qubits of the at least one quantum processor;

evolving the quantum processor; and

reading out states for the qubits in plurality of qubits of the at least one quantum processor, wherein the states for the qubits in the plurality of qubits correspond to a sample from the probability distribution.

9. The method of claim 1 , further comprising:

at least one of generating, or at least approximating, samples or causing samples to be generated, or least approximated, by a restricted Boltzmann machine; and

determining the expectation with respect to the prior distribution from the samples.

10. The method of claim 1 , wherein the set of supplementary continuous random variables comprises a plurality of continuous variables, and each one of the plurality of continuous variables is conditioned on a different respective one of the plurality of random variables.

11. The method of claim 1 , further comprising:

forming a second transforming distribution, wherein the input space comprises a plurality of input variables, and the second transforming distribution is conditioned on one or more of the plurality of input variables and at least one of the one or more discrete random variables.

12. A computational system, comprising:

at least one processor; and,

cause the at least one processor to:

form a first latent space comprising a plurality of random variables, the plurality of random variables comprising one or more discrete random variables;

form a second latent space comprising the first latent space and a set of supplementary continuous random variables;

form a first transforming distribution comprising a conditional distribution over the set of supplementary continuous random variables, conditioned on the one or more discrete random variables of the first latent space;

form an encoding distribution comprising an approximating posterior distribution over the first latent space, conditioned on the input space;

form a prior distribution over the first latent space;

form a decoding distribution comprising a conditional distribution over the input space conditioned on the set of supplementary continuous random variables;

determine an ordered set of conditional cumulative distribution functions of the supplementary continuous random variables, each cumulative distribution function comprising functions of a full distribution of at least one of the one or more discrete random variables of the first latent space;

determine an inversion of the ordered set of conditional cumulative distribution functions of the supplementary continuous random variables;

construct a first stochastic approximation to a lower bound on the log-likelihood of the at least a subset of a training dataset;

construct a second stochastic approximation to a gradient of the lower bound on the log-likelihood of the at least a subset of a training dataset; and

increase the lower bound on the log-likelihood of the at least a subset of a training dataset based at least in part on the gradient of the lower bound on the log-likelihood of the at least a subset of a training dataset.

13. A method for unsupervised learning by a computational system, the method executable by circuitry including at least one processor and comprising:

forming a model, the model comprising one or more model parameters;

initializing the model parameters;

receiving a training dataset comprising a plurality of subsets of the training dataset;

testing to determine if a stopping criterion has been met;

in response to determining the stopping criterion has not been met:

fetching a mini-batch comprising one of the plurality of subsets of the training dataset, the mini-batch comprising input data;

performing propagation through an encoder that computes an approximating posterior distribution over a discrete space;

sampling from the approximating posterior distribution over a set of continuous random variables via a sampler;

performing propagation through a decoder that computes an auto-encoded distribution over the input data;

performing backpropagation through the decoder of a log-likelihood of the input data with respect to the auto-encoded distribution over the input data;

performing backpropagation through the sampler that samples from the approximating posterior distribution over the set of continuous random variables to generate an auto-encoded gradient;

determining a first gradient of a KL-divergence, with respect to the approximating posterior, between the approximating posterior distribution and a true prior distribution over the discrete space;

performing backpropagation through the encoder of a sum of the auto-encoding gradient and the first gradient of the KL-divergence with respect to the approximating posterior;

determining a second gradient of a KL-divergence, with respect to parameters of the true prior distribution, between the approximating posterior and the true prior distribution over the discrete space;

determining at least one of a gradient or at least a stochastic approximation of a gradient, of a bound on the log-likelihood of the input data;

updating the model parameters based at least in part on the determined at least one of the gradient or at least a stochastic approximation of the gradient, of the bound on the log-likelihood of the input data.

14. The method of claim 13 , further comprising:

receiving at least a subset of a validation dataset, wherein testing to determine if a stopping criterion has been met includes determining a measure of validation loss on the at least a subset of a validation dataset computed on two or more successive passes, and testing to determine if the measure of validation loss meets a predetermined criterion.

15. The method of claim 14 wherein determining a second gradient of a KL-divergence, with respect to parameters of the true prior distribution, between the approximating posterior and the true prior distribution over the discrete space includes determining a second gradient of a KL-divergence, with respect to parameters of the true prior distribution, between the approximating posterior and the true prior distribution over the discrete space by generating samples or causing samples to be generated by a quantum processor.

16. The method of operation of claim 15 wherein generating samples or causing samples to be generated by a quantum processor includes:

operating the at least one quantum processor as a sample generator to provide the samples from a probability distribution, wherein a shape of the probability distribution depends on a configuration of a number of programmable parameters for the at least one quantum processor, and wherein operating the at least one quantum processor as a sample generator comprises:

programming the at least one quantum processor with a configuration of the number of programmable parameters for the at least one quantum processor, wherein the configuration of a number of programmable parameters corresponds to the probability distribution over the plurality of qubits of the at least one quantum processor;

evolving the at least one quantum processor; and

reading out states for the qubits in plurality of qubits of the at least one quantum processor, wherein the states for the qubits in the plurality of qubits correspond to a sample from the probability distribution.

17. The method for unsupervised learning of claim 13 , further comprising:

dividing the discrete space into a first plurality of disjoint groups; and

dividing the set of supplementary continuous random variables into a second plurality of disjoint groups,

wherein performing propagation through an encoder that computes an approximating posterior over a discrete space includes:

determining a processing sequence for the first and the second plurality of disjoint groups; and

for each of the first plurality of disjoint groups in an order determined by the processing sequence, performing propagation through an encoder that computes an approximating posterior, the approximating posterior conditioned on at least one of the previous ones in the processing sequence of the second plurality of disjoint groups and at least one of the plurality of input variables.

18. The method of claim 17 , wherein:

dividing the discrete space into a first plurality of disjoint groups includes dividing the discrete space into a first plurality of disjoint groups by random assignment of discrete variables in the discrete space.

19. The method of claim 17 , wherein:

dividing the discrete space into a first plurality of disjoint groups includes dividing the discrete space into a first plurality of disjoint groups to generate even-sized groups in the first plurality of disjoint groups.

20. The method of claim 17 , further comprising:

receiving at least a subset of a validation dataset, wherein testing to determine if a stopping criterion has been met includes determining a measure of validation loss on the at least a subset of a validation dataset computed on two or more successive passes, and testing to determine if the measure of validation loss meets a predetermined criterion.

21. The method of claim 17 wherein determining a second gradient of a KL-divergence, with respect to parameters of the true prior distribution, between the approximating posterior and the true prior distribution over the discrete space includes determining a second gradient of a KL-divergence, with respect to parameters of the true prior distribution, between the approximating posterior and the true prior distribution over the discrete space by generating samples or causing samples to be generated by a quantum processor.

22. The method of claim 21 wherein generating samples or causing samples to be generated by a quantum processor includes:

operating the at least one quantum processor as a sample generator to provide the samples from a probability distribution, wherein a shape of the probability distribution depends on a configuration of a number of programmable parameters for the analog processor, and wherein operating the at least one quantum processor as a sample generator comprises:

programming the at least one quantum processor with a configuration of the number of programmable parameters for the at least one quantum processor, wherein the configuration of a number of programmable parameters corresponds to the probability distribution over the plurality of qubits of the at least one quantum processor,

evolving the at least one quantum processor, and

reading out states for the qubits in plurality of qubits of the at least one quantum processor, wherein the states for the qubits in the plurality of qubits correspond to a sample from the probability distribution.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2025
From: PSPIB UNITAS INVESTMENTS II INC.
To: D-WAVE SYSTEMS INC.; 1372934 B.C. LTD.
Reel/Frame 070470/0098 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 14, 2023
From: D-WAVE SYSTEMS INC.; 1372934 B.C. LTD.
To: PSPIB UNITAS INVESTMENTS II INC., AS COLLATERAL AGENT
Reel/Frame 063340/0888 →
RELEASE OF SECURITY INTEREST Recorded Sep 20, 2022
From: PSPIB UNITAS INVESTMENTS II INC., IN ITS CAPACITY AS COLLATERAL AGENT
To: D-WAVE SYSTEMS INC.
Reel/Frame 061493/0694 →
SECURITY INTEREST Recorded Mar 3, 2022
From: D-WAVE SYSTEMS INC.
To: PSPIB UNITAS INVESTMENTS II INC.
Reel/Frame 059317/0871 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY DATA PREVIOUSLY RECORDED AT REEL: 057240 FRAME: 0227. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Sep 16, 2021
From: DWSI HOLDINGS INC.
To: D-WAVE SYSTEMS INC.
Reel/Frame 057526/0600 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR (REMOVE COMMA) PREVIOUSLY RECORDED ON REEL 057250 FRAME 0257. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Sep 16, 2021
From: D-WAVE SYSTEMS INC.; DWSI HOLDINGS INC.
To: DWSI HOLDINGS INC.
Reel/Frame 057526/0527 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR AND ASSIGNEE PREVIOUSLY RECORDED AT REEL: 057248 FRAME: 0293. ASSIGNOR(S) HEREBY CONFIRMS THE CONTINUATION. Recorded Sep 16, 2021
From: D-WAVE SYSTEMS INC.
To: D-WAVE SYSTEMS INC.
Reel/Frame 057526/0832 →
CHANGE OF NAME Recorded Aug 20, 2021
From: DWSI HOLDINGS INC.
To: D-WAVE SYSTEMS, INC.
Reel/Frame 057240/0227 →
MERGER AND CHANGE OF NAME Recorded Aug 20, 2021
From: D-WAVE SYSTEMS, INC.; DWSI HOLDINGS INC.; DWSI HOLDINGS INC.
To: DWSI HOLDINGS INC.
Reel/Frame 057250/0257 →
CONTINUATION Recorded Aug 20, 2021
From: D-WAVE SYSTEMS, INC.
To: D-WAVE SYSTEMS, INC.
Reel/Frame 057248/0293 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2021
From: ROLFE, JASON
To: D-WAVE SYSTEMS INC.
Reel/Frame 056212/0606 →
Continuity (4)
Provisional Application 62206974 · Aug 19, 2015
Provisional Application 62268321 · Dec 16, 2015
Provisional Application 62307929 · Mar 14, 2016
Related Publication 20180247200A1 · Aug 30, 2018
Cited By (7)
US 12,198,051 US 12,223,294 US 12,229,632 US 12,299,593 US 12,373,383 US 12,524,496 US 12,694,323