i-flow: High-dimensional Integration and Sampling with Normalizing Flows

Christina Gao,Joshua Isaacson,Claudius Krause
DOI: https://doi.org/10.1088/2632-2153/abab62
2020-08-18
Abstract:In many fields of science, high-dimensional integration is required. Numerical methods have been developed to evaluate these complex integrals. We introduce the code i-flow, a python package that performs high-dimensional numerical integration utilizing normalizing flows. Normalizing flows are machine-learned, bijective mappings between two distributions. i-flow can also be used to sample random points according to complicated distributions in high dimensions. We compare i-flow to other algorithms for high-dimensional numerical integration and show that i-flow outperforms them for high dimensional correlated integrals. The i-flow code is publicly available on gitlab at <a class="link-external link-https" href="https://gitlab.com/i-flow/i-flow" rel="external noopener nofollow">this https URL</a>.
Computational Physics,Machine Learning,High Energy Physics - Phenomenology
What problem does this paper attempt to address?
This paper attempts to address the challenges of high - dimensional integration in scientific research. Specifically, it introduces a Python package named i - flow, which utilizes the Normalizing Flows technique to perform high - dimensional numerical integration and is able to generate random points according to complex distributions. The paper mainly focuses on improving the efficiency and accuracy of high - dimensional correlated integration, especially the complex phase - space integration that needs to be processed in high - energy physics experiments. The authors demonstrate the superior performance of i - flow in handling high - dimensional correlated integration by comparing it with existing high - dimensional numerical integration algorithms such as VEGAS and Foam. ### Core problems of the paper 1. **Challenges of high - dimensional integration**: In many scientific fields, especially in high - energy physics, high - dimensional integration is a common requirement. Traditional numerical methods face problems of low efficiency and insufficient precision when dealing with high - dimensional integration, especially when there are non - trivial correlations among the integration variables. 2. **Application of Normalizing Flows**: Normalizing Flows is a machine - learning technique that can transform a simple distribution (such as a Gaussian distribution) into a more complex one. i - flow utilizes this technique to efficiently perform high - dimensional numerical integration and sampling. 3. **Performance comparison**: Through a series of test functions, the paper compares the performance of i - flow with other high - dimensional numerical integration algorithms (such as VEGAS and Foam), especially their performance in handling high - dimensional correlated integration. ### Main contributions 1. **Efficient high - dimensional integration**: i - flow can efficiently perform numerical integration in high - dimensional space, and is especially suitable for handling integrals with complex correlations. 2. **Flexible sampling ability**: i - flow can not only perform integration, but also generate random points according to complex distributions, which is very useful in high - energy physics simulations. 3. **Public implementation**: The i - flow code is publicly available and can be found on GitLab, facilitating use and extension by other researchers. ### Technical details - **Normalizing Flows**: Normalizing Flows is a reversible mapping that transforms the input distribution into the target distribution through a series of Coupling Layers. Each Coupling Layer contains a neural network for learning transformation parameters. - **Coupling Layers**: Coupling Layers divide the input variables into two parts, one part is directly passed, and the other part is transformed by the parameters generated by the neural network. This design simplifies the calculation of the Jacobian determinant, thereby improving the sampling efficiency. - **Loss function**: i - flow uses an f - divergence - based loss function to optimize the Normalizing Flows network, ensuring that the generated distribution is as close as possible to the target distribution. ### Test functions The paper uses six test functions to evaluate the performance of i - flow: 1. **n - dimensional Gaussian function**: Used to verify the basic integration ability. 2. **n - dimensional hump function**: Demonstrates the advantage of i - flow in learning the correlations among variables. 3. **Function of two circles**: Demonstrates the ability of i - flow to handle non - factorized behavior. 4. **Annular function**: Demonstrates the ability of i - flow to learn hard cuts. 5. **Scalar box integral in high - energy physics**: Demonstrates the application of i - flow in actual physical problems. 6. **Polynomial function**: Demonstrates the performance of i - flow in high - dimensional integration. Through these tests, the paper demonstrates the superior performance of i - flow in handling high - dimensional correlated integration, especially its application prospects in the field of high - energy physics.