UBC Theses and Dissertations
Large-scale optimization algorithms for missing data completion and inverse problems Da Silva, Curt
Inverse problems are an important class of problems found in many areas of science and engineering. In these problems, one aims to estimate unknown parameters of a physical system through indirect multi-experiment measurements. Inverse problems arise in a number of fields including seismology, medical imaging, and astronomy, among others. An important aspect of inverse problems is the quality of the acquired data itself. Real-world data acquisition restrictions, such as time and budget constraints, often results in measured data with missing entries. Many inversion algorithms assume that the input data is fully sampled and relatively noise free and produce poor results when these assumptions are violated. Given the multidimensional nature of real-world data, we propose a new low-rank optimization method on the smooth manifold of Hierarchical Tucker tensors. Tensors that exhibit this low-rank structure can be recovered from solving this non-convex program in an efficient manner. We successfully interpolate realistically sized seismic data volumes using this approach. If our low-rank tensor is corrupted with non-Gaussian noise, the resulting optimization program can be formulated as a convex-composite problem. This class of problems involves minimizing a non-smooth but convex objective composed with a nonlinear smooth mapping. In this thesis, we develop a level set method for solving composite-convex problems and prove that the resulting subproblems converge linearly. We demonstrate that this method is competitive when applied to examples in noisy tensor completion, analysis-based compressed sensing, audio declipping, total-variation deblurring and denoising, and one-bit compressed sensing. With respect to solving the inverse problem itself, we introduce a new software design framework that manages the cognitive complexity of the various components involved. Our framework is modular by design, which enables us to easily integrate and replace components such as linear solvers, finite difference stencils, preconditioners, and parallelization schemes. As a result, a researcher using this framework can formulate her algorithms with respect to high-level components such as objective functions and hessian operators. We showcase the ease with which one can prototype such algorithms in a 2D test problem and, with little code modification, apply the same method to large-scale 3D problems.
Item Citations and Data
Attribution-NonCommercial-NoDerivatives 4.0 International