Lecture 2: Optimisation, Géométrie inverse

Optimisation convexe

Minimum local $x^\ast$ de $f$:

si $∃𝒩(x^\ast); \; ∀x∈𝒩, f(x)> f(x^\ast)$

Th: Optimalité d’ordre 1

Si $x^\ast$ est un minimum local, alors $\nabla f^\ast = 0$

Th: Optimalité nécessaire ordre 2

Si $x^\ast$ est un minimum local, alors

  • $\nabla f^\ast = 0$
  • $\nabla^2 f^\ast ≥ 0$

Th: Optimalité suffisante ordre 2

Si

  • $\nabla f^\ast = 0$
  • $\nabla^2 f^\ast > 0$

alors $x^\ast$ est un minimum local

Descente de gradient

line 0
Δx = -f
α un pas
x -= α Δx
GOTO line 0

Newton à l’ordre 2

Taylor à l’ordre 2:

f(x + Δx) ≃ \underbrace{f(x) + Δx^T \nabla f + \frac 1 2 Δx^T \nabla^2 f Δx}_{≝ m_x(Δx)}
f = - ^2f Δx
line 1
Δx = - ^2f^{-1} Δx
x += Δx
GOTO line 1

Quasi-Newton

Δx = - B \nabla f

Si avec $B ⟶_{n ⟶ +∞} \nabla^2 f^{-1}$ (dans la direction du gradient), alors convergence super-linéaire.

BFGS

Très efficace, quand elle s’applique ⟶ règle d’update de $B$.

cf scipy.optimize.fmin_bfgs

Gauss-Newton

f(x) = \frac 1 2 \Vert r(x) \Vert^2 = \frac 1 2 r(x)^T r(x)

avec $r: ℝ^m ⟶ ℝ$

f = \frac 1 2 r^T r \\ \nabla f = \underbrace{\nabla r^T}_{\text{jacobien}} r\\ \nabla^2 f = \underbrace{\underbrace{\nabla^2 r}_{\text{tenseur}} r}_{\text{ = 0 }} + \nabla r^T \nabla r\\ Δx = - \underbrace{(\nabla r^T \nabla r)^{-1} \nabla r^T}_{= \nabla r^{\dagger} \text{ (pseudo-inverse)}} r

Levenberg-Marquardt

Δx^\ast = \min_{\Vert Δx \Vert ≤ ρ} m_x(Δx)

où $ρ$ est un rayon de confiance.

Ceci est équivalent à:

∀ρ, ∃λ; \; Δx^\ast = \min m_x(Δx) + λ Δx^2\\ = - (\nabla^2 f + \underbrace{λ I}_{\rlap{\text{régularisation de Tychonov}}})^{-1} \nabla f
Δx = α(\nabla^2 f + λ I)^{-1} \nabla f
Rayon de confiance:
r ≝ \frac{f(x)-f(x+Δx)}{f(x)-m_x(Δx)}
  • Si $r ≃ 1$ ⟶ accepte
  • Sinon $α ← α/10$

  • Si $α < 10^{-6}$: $λ ← 10 λ$

Variétés différentielles

  • $SE(3)$: déplacement rigide ≃ $SO(3) × ℝ^3$
r: \begin{cases} SE(3) ⟶ SO(3) \\ \underbrace{ℳ }_{\text{variété différentielle}}\mapsto 𝒩 \end{cases}

Problème:

on ne plus faire $\underbrace{x}{∈ ℝ^n} + \underbrace{Δx}{∈ℝ^n}$ ⟶ ici :

  • $\underbrace{R}{∈ ℝ^{3×3}} + \underbrace{ω}{∈ ℝ^n}$
  • $\underbrace{q}{\text{quaternion: en dim 4}} + \underbrace{ω}{\text{en dim 4}}$
\min_{Δx} f(x+ Δx) = \frac 1 2 \Vert d(x+Δx) - d(x) \Vert^2\\ \min_ω f(R \exp(ωx)) = \frac 1 2 \Vert \log R \exp(ωx) {R^\ast}^T \Vert

Géométrie inverse

\begin{pmatrix} q_1 \\ \vdots\\ q_n \end{pmatrix} = q ∈ Q ≝ Q_1 × ⋯ × Q_n
v_q ≃ \dot{q}

NB: $ω$ ne s’écrit pas comme une différentielle

K: q ∈ \underbrace{Q}_{\dim = 30}⟶ \underbrace{ {}^0 M_n}_{\rlap{\text{matrice de rotation+translation pour passer de la partie } 0 \text{ à } n}} = K(q) ∈ \overbrace{SE(3)}^{\dim = 6}
\min_{v_q} \Vert \log ({}^0 M_\ast^{-1} × {}^0 M_n(q \oplus v_q)) \Vert^2

  • {}^0 M_\ast^{-1} × {}^0 M_n = {}^\ast M_0 {}^0 \; M_n = {}^\ast M_n
  • $\oplus$ est l’opérateur d’intégration
  • $q \underbrace{\otimes}_{\text{op groupe}} \exp(v_q)$

Leave a Comment