ift 6112 background: optimization · two classes of solvers •direct (explicit matrix) –dense:...

70
IFT 6112 BACKGROUND: OPTIMIZATION http://www-labs.iro.umontreal.ca/~bmpix/teaching/6112/2018/ Mikhail Bessmeltsev

Upload: others

Post on 19-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

IFT 6112BACKGROUND: OPTIMIZATION

http://www-labs.iro.umontreal.ca/~bmpix/teaching/6112/2018/

Mikhail Bessmeltsev

Page 2: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Motivation

Quick summary!Mostly for common ground: You may already know this material.

First half is important; remainder summarizes interesting recent tools.

Numerical problems are everywhere in geometric modeling!

Page 3: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Our Bias

Numerical analysis is a huge field.

Patterns, algorithms, & examples common in geometry.

Page 4: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Rough Plan

• Linear problems

• Unconstrained optimization

• Equality-constrained optimization

• Variational problems

Page 5: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Rough Plan

• Linear problems

• Unconstrained optimization

• Equality-constrained optimization

• Variational problems

Page 6: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Vector Spaces and Linear Operators

Page 7: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Abstract Example

Eigenvectors?

Page 8: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

In Finite Dimensions

Page 9: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Linear System of Equations

Simple “inverse problem”

Page 10: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Common Strategies

• Gaussian elimination– O(n3) time to solve Ax=b or to invert

• But: Inversion is unstable and slower!

• Never ever compute A-1 if you can avoid it.

Page 11: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Simple Example

Page 12: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Structure?

Page 13: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Linear Solver Considerations

• Never construct 𝑨−𝟏 explicitly(if you can avoid it)

• Added structure helpsSparsity, symmetry, positive definiteness, bandedness

Page 14: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Two Classes of Solvers

• Direct (explicit matrix)– Dense: Gaussian elimination/LU, QR for least-

squares– Sparse: Reordering (SuiteSparse, Eigen)

• Iterative (apply matrix repeatedly)– Positive definite: Conjugate gradients– Symmetric: MINRES, GMRES– Generic: LSQR

Page 15: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Very Common: Sparsity

Induced by the connectivity of the triangle mesh.

Iteration of CG has local effect⇒ Precondition!

Page 16: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

For IFT 6112

• No need to implement a linear solver

• If a matrix is sparse, your code should store it as a sparse matrix!

https://eigen.tuxfamily.org/dox/group__TutorialSparse.html

Page 17: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Optimization Terminology

Objective (“Energy Function”)

Page 18: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Optimization Terminology

Equality Constraints

Page 19: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Optimization Terminology

Inequality Constraints

Page 20: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Encapsulates Many Problems

Page 21: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Notions from Calculus

Gradienthttps://en.wikipedia.org/?title=Gradient

Page 22: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Notions from Calculus

Gradienthttps://en.wikipedia.org/?title=Gradient

Page 23: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Notions from Calculus

Jacobianhttps://en.wikipedia.org/wiki/Jacobian_matrix_and_determinant

Page 24: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Notions from Calculus

Hessianhttp://math.etsu.edu/multicalc/prealpha/Chap2/Chap2-5/10-3a-t3.gif

Page 25: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Optimization to Root-Finding

Critical point

(unconstrained)

Saddle point

Local min

Local max

Page 26: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Convex Functions

https://en.wikipedia.org/wiki/Convex_function

𝑓′′ 𝑥 > 0

Page 27: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Convex Functions

https://en.wikipedia.org/wiki/Convex_function

𝐻 𝑥 ≽0

Page 28: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Generic tools are often not too effective!

Page 29: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Generic Advice

Try the

simplest solver first.

Page 30: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Rough Plan

• Linear problems

• Unconstrained optimization

• Equality-constrained optimization

• Variational problems

Page 31: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Unconstrained optimization

min𝑥∈ℝ𝑛

𝑓(𝑥)

Trivial when 𝑓 𝑥 is linear

Easy when 𝑓(𝑥) is quadratic

Hard in case of generic non-linear.

Page 32: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Special Case: Least-Squares

Normal equations(better solvers for this case!)

Page 33: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Useful Document

http://www2.imm.dtu.dk/pubdb/views/edoc_download.php/3274/pdf/imm3274.pdf

The Matrix CookbookPetersen and Pedersen

Page 34: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Example: Mesh Embedding

G. Peyré, mesh processing course slides

Page 35: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Linear Solve for Embedding

• 𝒘𝒊𝒋 ≡ 𝟏: Tutte embedding• 𝒘𝒊𝒋 from mesh: Harmonic embedding

Assumption: 𝒘 symmetric.

Page 36: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Rough Plan

• Linear problems

• Unconstrained optimization

• Equality-constrained optimization

• Variational problems

Page 37: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Unconstrained Optimization

Unstructured.

Page 38: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Basic Algorithms

Gradient descent

Line search

Multiple optima!

Page 39: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Basic Algorithms

Accelerated gradient descent

Quadratic convergence on convex problems!(Nesterov 1983)

Page 40: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Basic Algorithms

Newton’s Method

1

2

3

Line search for stability

Page 41: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Basic Algorithms

Quasi-Newton: BFGS and friends

Hessian approximation

• (Often sparse) approximation from previous samples and gradients

• Inverse in closed form!

Page 42: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Example: Shape Interpolation

Fröhlich and Botsch. “Example-Driven Deformations Based on Discrete Shells.” CGF 2011.

Page 43: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Interpolation Pipeline

Roughly:

1. Linearly interpolate edge lengths and dihedral angles.

2. Nonlinear optimization for vertex positions.

Sum of squares: Gauss-Newton

Page 44: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Software

• Matlab: fminunc or minfunc• C++: libLBFGS, dlib, others

Typically provide functions for functionand gradient (and optionally, Hessian).

Try several!

Page 45: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Some Tricks

Regularization

Page 46: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Some Tricks

Multiscale/graduated optimization

Page 47: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Rough Plan

• Linear problems

• Unconstrained optimization

• Equality-constrained optimization

• Variational problems

Page 48: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Lagrange Multipliers: Idea

Page 49: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Lagrange Multipliers: Idea

- Decrease f: −𝛁𝒇- Violate constraint: ±𝛁𝒈

Page 50: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Lagrange Multipliers: Idea

Want:

Page 51: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Use of Lagrange Multipliers

Turns constrained optimization into

unconstrained root-finding.

Page 52: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Quadratic with Linear Equality

(assume A is symmetric and positive definite)

Page 53: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Many Options

• ReparameterizationEliminate constraints to reduce to unconstrained case

• Newton’s methodApproximation: quadratic function with linear constraint

• Penalty methodAugment objective with barrier term, e.g. 𝒇 𝒙 + 𝝆|𝒈 𝒙 |

Page 54: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Example: Symmetric Eigenvectors

Page 55: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Returning to Parameterization

What if 𝑽𝟎 = {}?

Page 56: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Nontriviality Constraint

Prevents trivial solution 𝒙 ≡ 𝟎.

Extract the smallest eigenvalue.

Page 57: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Back to Parameterization

Mullen et al. “Spectral Conformal Parameterization.” SGP 2008.

Easy fix

Page 58: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Basic Idea of Eigenalgorithms

Page 59: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Trust Region Methods

Example: Levenberg-Marquardt

Fix (or adjust) damping

parameter 𝝀 > 𝟎.

Page 60: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Example: Polycube Maps

Huang et al. “L1-Based Construction of Polycube Maps from Complex Shapes.” TOG 2014.

Align with coordinate axes

Preserve areaNote: Final method includes more terms!

Page 61: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Convex Optimization Tools

Try lightweight options

versus

Page 62: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Iteratively Reweighted Least Squares

Repeatedly solve linear systems

“Geometric median”

Page 63: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Alternating Projection

d can be aBregman

divergence

Page 64: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Augmented Lagrangians

Add constraint to objective

Does nothing when constraint is satisfied

Page 65: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Alternating DirectionMethod of Multipliers (ADMM)

https://web.stanford.edu/~boyd/papers/pdf/admm_slides.pdf

Page 66: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Frank-Wolfe

https://en.wikipedia.org/wiki/Frank%E2%80%93Wolfe_algorithm

Linearize objective, preserve constraints

Page 67: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Rough Plan

• Linear problems

• Unconstrained optimization

• Equality-constrained optimization

• Variational problems

Page 68: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Variational Calculus: Big Idea

Sometimes your unknowns

are not numbers!Can we use calculus to optimize anyway?

Page 69: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

On the Board

Page 70: IFT 6112 BACKGROUND: OPTIMIZATION · Two Classes of Solvers •Direct (explicit matrix) –Dense: Gaussian elimination/LU, QR for least- squares –Sparse: Reordering (SuiteSparse,

Gâteaux Derivative

Analog of derivative at u in ψ direction

Vanishes for all ψ at a critical point!