Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-9997

Investigate using both monotonicity and symmetry

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: meas_deblender
    • Labels:
      None

      Description

      In its current implementation, the NMF deblender using proximal operators cannot apply both the monotonicity and symmetry constraints on the same object. This is unfortunate, as the monotonic operator works quite well except that it can include non-symmetric features that are not present in the data, and the symmetric operator also works great except that it can steal flux from neighboring sources because it is not monotonic. It's worth investigating the possibility of projecting the constraints onto a joint space that will 1) Be more likely to converge and 2) allow both symmetry and monotonicity constraints (and perhaps others?) to increase the effectiveness of the new deblender.

        Attachments

          Activity

          Hide
          fred3m Fred Moolekamp added a comment -

          While there were no references that solved our exact problem, a single likelihood function f(x) with multiple linear constraints g_i(L_i x), I was able to combine the SDMM method of Combettes and Pesquet (2009) which solves a system with multiple linear constraints g_i(L_i x), the ADMM method of Parikh and Boyd (2013) for a likelihood function and a single linear constraint, and the method of augmented Lagrangians from Andreani et al. (2007) to extend the ADMM update algorithm to use multiple linear constraints.

          The result is a deblender than can combine an arbitrary number of linear constraints. See the Jupyter notebook for an example running the ADMM deblender with only monotonicity and the SDMM deblender using both monotonicity and symmetry.

          While it is possible to run part of the algorithm on multiple cores, that functionality is not yet being taken advantage of and will require work in a later ticket, if we want to implement multiprocessing before fully optimizing our code in C++.

          Show
          fred3m Fred Moolekamp added a comment - While there were no references that solved our exact problem, a single likelihood function f(x) with multiple linear constraints g_i(L_i x) , I was able to combine the SDMM method of Combettes and Pesquet (2009) which solves a system with multiple linear constraints g_i(L_i x) , the ADMM method of Parikh and Boyd (2013) for a likelihood function and a single linear constraint, and the method of augmented Lagrangians from Andreani et al. (2007) to extend the ADMM update algorithm to use multiple linear constraints. The result is a deblender than can combine an arbitrary number of linear constraints. See the Jupyter notebook for an example running the ADMM deblender with only monotonicity and the SDMM deblender using both monotonicity and symmetry. While it is possible to run part of the algorithm on multiple cores, that functionality is not yet being taken advantage of and will require work in a later ticket, if we want to implement multiprocessing before fully optimizing our code in C++.
          Hide
          pmelchior Peter Melchior added a comment -

          This generalization is correct and doesn't make more assumptions than the linearized ADMM itself. While that seems to be accepted in the literature, I recommend we check the conditions under which that assumption is valid.

          Show
          pmelchior Peter Melchior added a comment - This generalization is correct and doesn't make more assumptions than the linearized ADMM itself. While that seems to be accepted in the literature, I recommend we check the conditions under which that assumption is valid.

            People

            • Assignee:
              fred3m Fred Moolekamp
              Reporter:
              fred3m Fred Moolekamp
              Reviewers:
              Peter Melchior
              Watchers:
              Fred Moolekamp, Peter Melchior
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Summary Panel