IP Library Granted Patent US 11,636,309
Granted Patent B2
US 11,636,309 · App. 16/249,854 · Granted Apr 25, 2023

Systems and methods for modeling probability distributions

Inventors: Charles Kenneth Fisher (San Francisco, CA); Aaron Michael Smith (San Francisco, CA); Jonathan Ryan Walsh (El Cerrito, CA)
Assignee: Unlearn.AI, Inc.
G06N3/0445G06N3/0454G06N3/0472G06N3/088
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,636,309
App. No.
16/249,854
Granted
Apr 25, 2023
Kind
B2
Abstract

Systems and methods for modeling complex probability distributions are described. One embodiment includes a method for training a restricted Boltzmann machine (RBM), wherein the method includes generating, from a first set of visible values, a set of hidden values in a hidden layer of a RBM and generating a second set of visible values in a visible layer of the RBM based on the generated set of hidden values. The method includes computing a set of likelihood gradients based on the first set of visible values and the generated set of visible values, computing a set of adversarial gradients using an adversarial model based on at least one of the set of hidden values and the set of visible values, computing a set of compound gradients based on the set of likelihood gradients and the set of adversarial gradients, and updating the RBM based on the set of compound gradients.

Claims (49)

1. A method for generating a Deep Boltzmann Machine (DBM), wherein the method comprises:

generating values from a first restricted Boltzmann machine (RBM) comprising a visible layer and a hidden layer using a Markov chain Monte Carlo (MCMC) method by performing at least one iteration comprising:

generating, from a first set of visible values from the visible layer, a set of hidden values in the hidden layer of the first RBM; and

generating a second set of visible values in the visible layer of the first RBM based on the generated set of hidden values;

computing a set of likelihood gradients based on at least one of the first set of visible values and the generated second set of visible values;

computing, based on at least one of the set of hidden values and the second set of visible values, a set of adversarial gradients using an adversarial model, wherein the adversarial model includes an architecture and weights that are the same as that of the first RBM;

computing a set of compound gradients based on the set of likelihood gradients and the set of adversarial gradients;

updating the first RBM based on the set of compound gradients;

sampling the hidden layer from the first RBM;

stacking the visible layer and the hidden layer from the first RBM into a vector;

training a second RBM having a visible layer and a hidden layer, wherein the vector is the visible layer of the second RBM and the hidden layer of the second RBM is equivalent to a layer between the visible layer and the hidden layer of the first RBM; and

generating the DBM by copying weights from the first and second RBMs to the DBM, wherein the DBM comprises a visible layer and a plurality of hidden layers.

2. The method of claim 1 , wherein the visible layer of the first RBM comprises a composite layer composed of a plurality of sub-layers for different data types.

3. The method of claim 2 , wherein the plurality of sub-layers comprises at least one of a Bernoulli layer, an Ising layer, a one-hot layer, a von Mises-Fisher layer, a Gaussian layer, a ReLU layer, a clipped ReLU layer, a student-t layer, an ordinal layer, an exponential layer, and a composite layer.

4. The method of claim 1 further comprising:

receiving a phenotype vector for a patient;

using the first RBM to generate a time progression of a disease; and

treating the patient based on the generated time progression.

5. The method of claim 1 , wherein the visible layer of the first RBM and the hidden layer of the first RBM are for a first time instance, wherein the hidden layer of the first RBM is further connected to another hidden layer in the DBM that incorporates data from a different second time instance.

6. The method of claim 1 , wherein the visible layer of the first RBM is a composite layer comprising data for a plurality of different time instances.

7. The method of claim 1 , wherein computing the set of likelihood gradients comprises performing Gibbs sampling.

8. The method of claim 1 , wherein the set of compound gradients are weighted averages of the set of likelihood gradients and the set of adversarial gradients.

9. The method of claim 1 further comprising training the adversarial model by:

drawing data samples based on authentic data;

drawing fantasy samples based on values from the first RBM; and

training the adversarial model based on the adversarial model's ability to distinguish between the data samples and the fantasy samples.

10. The method of claim 9 , wherein training the adversarial model comprises measuring a probability that a particular sample is drawn from either the authentic data or the first RBM.

11. The method of claim 1 , wherein the adversarial model is one of a fully-connected classifier, a logistic regression model, a nearest neighbor classifier, and a random forest.

12. The method of claim 1 further comprising using the first RBM to generate a set of samples of a target population.

13. The method of claim 1 , wherein computing a set of likelihood gradients comprises computing a convex combination of a Monte Carlo estimate and a mean field estimate.

14. The method of claim 1 , wherein computing a set of likelihood gradients comprises:

initializing a plurality of samples;

initializing an inverse temperature for each sample of the plurality of samples; and

for each sample of the plurality of samples:

updating the inverse temperature by sampling from an autocorrelated Gamma distribution; and

updating the sample using Gibbs sampling.

15. A non-transitory machine readable medium containing processor instructions for generating a Deep Boltzmann Machine (DBM), wherein execution of the instructions by a processor causes the processor to perform a process that comprises:

generating values from a first restricted Boltzmann machine (RBM) comprising a visible layer and a hidden layer using a Markov chain Monte Carlo (MCMC) method by performing at least one iteration comprising:

generating, from a first set of visible values from the visible layer, a set of hidden values in the hidden layer of the first RBM; and

generating a second set of visible values in the visible layer of the first RBM based on the generated set of hidden values;

computing a set of likelihood gradients based on at least one of the first set of visible values and the generated second set of visible values;

computing, based on at least one of the set of hidden values and the second set of visible values, a set of adversarial gradients using an adversarial model, wherein the adversarial model includes an architecture and weights that are the same as that of the first RBM;

computing a set of compound gradients based on the set of likelihood gradients and the set of adversarial gradients;

updating the first RBM based on the set of compound gradients;

sampling the hidden layer from the first RBM;

stacking the visible layer and the hidden layer from the first RBM into a vector;

training a second RBM having a visible layer and a hidden layer, wherein the vector is the visible layer of the second RBM and the hidden layer of the second RBM is equivalent to a layer between the visible layer and the hidden layer of the first RBM; and

generating the DBM by copying weights from the first and second RBMs to the DBM, wherein the DBM comprises a visible layer and a plurality of hidden layers.

16. The non-transitory machine readable medium of claim 15 , wherein the visible layer of the first RBM comprises a composite layer composed of a plurality of sub-layers for different data types.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2019
From: FISHER, CHARLES KENNETH; SMITH, AARON MICHAEL; WALSH, JONATHAN RYAN
To: UNLEARN.AI, INC.
Reel/Frame 048095/0641 →
Continuity (3)
Provisional Application 62792648 · Jan 15, 2019
Provisional Application 62618440 · Jan 17, 2018
Related Publication 20190220733A1 · Jul 18, 2019
Cited By (1)
US 12,651,147