System and method for machine learning architecture with adaptive importance sampling with normalizing flows
AssigneeRoyal Bank of Canada
InventorsZhexin LAI, Amir H. KHOSHAMAN, Marcus A. BRUBAKER
Life of this patent
Estimating the term…
Abstract
A system for computational estimation sampling from non-trivial probability distributions. The system comprises a processor, operating in conjunction with computer memory. The processor is configured to conduct importance sampling using normalizing flows where a base distribution has a set of parameters that can be adjusted to account for heavy-tailed distributions.
Claims20
A computer system for generating a Monte Carlo estimation value from a target distribution p(x) using a proposal distribution q(x) representative of a learned importance distribution to encourage computational efficiency of the generation of the Monte Carlo estimation value, the computer system comprising:
- one or more processors configured to:
- instantiate a proposal distribution model data object having a first set of parameters representative of adjustable features of the proposal distribution q(x);
- perform an iterative exploitation training stage for training the proposal distribution model data object, the iterative exploitation training stage including:
- iteratively obtaining one or more new sample observations from the proposal distribution q(x) using a normalizing flow model to represent the learned importance distribution, wherein the normalizing flow model is defined using a succession of bi-jective transformations conducted on a random variable z∈D having an base distribution pz(z) representative of a probability density function of the random variable z, the base distribution having a second set of parameters, including a degree of freedom parameter adapted for modelling tail-behavior of the target distribution p(x);
- for each new sample observation of the one or more new sample observations, iteratively determining a corresponding weight value based at least upon a ratio of the target distribution p(x) and the proposal distribution q(x) corresponding to the respective new sample observation;
- updating both the first set of parameters representative of adjustable features of the proposal distribution q(x) and the second set of parameters of the base distribution based on the one or more new sample observations such that the proposal distribution q(x) is updated for a next iteration of the exploitation training stage;
- recording the one or more new sample observations from the proposal distribution q(x) along with the corresponding weight values;
- and
- continuing to alternatively obtain new sample observations and update both the first set of parameters of the proposal distribution q(x) and the second set of parameters of the base distribution until a number of exploitation training steps are taken;
- and
- generate the Monte Carlo estimation value based at least on a sum of the recorded weight values applied to each of the recorded sample observations;
- and
- store the Monte Carlo estimation value as a data value in an output data structure.
A method for generating a Monte Carlo estimation value from a target distribution p(x) using a proposal distribution q(x) representative of a learned importance distribution to encourage computational efficiency of the generation of the Monte Carlo estimation value, the method comprising:
- instantiating a proposal distribution model data object having a first set of parameters representative of adjustable features of the proposal distribution q(x);
- performing an iterative exploitation training stage for training the proposal distribution model data object, the iterative exploitation training stage including:
- iteratively obtaining one or more new sample observations from the proposal distribution q(x) using a normalizing flow model to represent the learned importance distribution, wherein the normalizing flow model is defined using a succession of bi-jective transformations conducted on a random variable z∈D having an base distribution pz(Z) representative of a probability density function of the random variable z, the base distribution having a second set of parameters, including a degree of freedom parameter adapted for modelling tail-behavior of the target distribution p(x);
- for each new sample observation of the one or more new sample observations, iteratively determining a corresponding weight value based at least upon a ratio of the target distribution p(x) and the proposal distribution q(x) corresponding to the respective new sample observation;
- updating both the first set of parameters representative of adjustable features of the proposal distribution q(x) and the second set of parameters of the base distribution based on the one or more new sample observations such that the proposal distribution q(x) is updated for a next iteration of the exploitation training stage;
- recording the one or more new sample observations from the proposal distribution q(x) along with the corresponding weight values;
- and
- continuing to alternatively obtain new sample observations and update both the first set of parameters of the proposal distribution q(x) and the second set of parameters of the base distribution until a number of exploitation training steps are taken;
- and
- generating the Monte Carlo estimation value based at least on a sum of the recorded weight values applied to each of the recorded sample observations;
- and
- storing the Monte Carlo estimation value as a data value in an output data structure.
A non-transitory computer readable medium storing machine interpretable instructions which when executed by one or more processors, cause the one or more processors to perform a method for generating a Monte Carlo estimation value from a target distribution p(x) using a proposal distribution q(x) representative of a learned importance distribution to encourage computational efficiency of the generation of the Monte Carlo estimation value, the method comprising:
- instantiating a proposal distribution model data object having a first set of parameters representative of adjustable features of the proposal distribution q(x);
- performing an iterative exploitation training stage for training the proposal distribution model data object, the iterative exploitation training stage including:
- iteratively obtaining one or more new sample observations from the proposal distribution q(x) using a normalizing flow model to represent the learned importance distribution, wherein the normalizing flow model is defined using a succession of bi-jective transformations conducted on a random variable z∈D having an base distribution pz (Z) representative of a probability density function of the random variable z, the base distribution having a second set of parameters, including a degree of freedom parameter adapted for modelling tail-behavior of the target distribution p(x);
- for each new sample observation of the one or more new sample observations, iteratively determining a corresponding weight value based at least upon a ratio of the target distribution p(x) and the proposal distribution q(x) corresponding to the respective new sample observation;
- updating both the first set of parameters representative of adjustable features of the proposal distribution q(x) and the second set of parameters of the base distribution based on the one or more new sample observations such that the proposal distribution q(x) is updated for a next iteration of the exploitation training stage;
- recording the one or more new sample observations from the proposal distribution q(x) along with the corresponding weight values;
- and
- continuing to alternatively obtain new sample observations and update both the first set of parameters of the proposal distribution q(x) and the second set of parameters of the base distribution until a number of exploitation training steps are taken;
- and
- generating the Monte Carlo estimation value based at least on a sum of the recorded weight values applied to each of the recorded sample observations;
- and
- storing the Monte Carlo estimation value as a data value in an output data structure.
Dependencies are inferred from the claim text.