Mod` eles convexes et algorithmes d’optimisation en imagerie.
Pierre Weiss.
April 21, 2011
III.1/ Th´eorie de la complexit´e en optimisation convexe.
Applications ` a l’imagerie.
Plan de la partie
1. El´ ements d’analyse convexe dans
Rn.
2. Quelques r´ esultats en th´ eorie de la complexit´ e.
3. Algorithmes efficaces optimaux dans le cas diff´ erentiable et
non diff´ erentiable.
Quelques r´ ef´ erences
1. T. Rockafellar Convex Analysis 1970.
2. B. Polyak Introduction to optimization, 1987.
3. D. Bertsekas Nonlinear Programming, 1999.
4. Y. Nesterov Introductory lectures on optimization, 2003.
5. A. Juditsky, cours en ligne optimisation, (ENSIMAG).
6. Bonnans, Gilbert, Lemar´ echal, Sagastiz` abal, Numerical
optimization, 2006.
Elements d’analyse convexe
Notations :
On travaille dans
Rn, n ∈
Navec :
•
Un produit scalaire h·, ·i. A moins que ce ne soit sp´ ecifi´ e, il correspond au produit scalaire usuel.
•
On munit l’espace d’une norme : kxk =
phx, xi.
Elements d’analyse convexe
Dans tout l’expos´ e, nous nous int´ eressons ` a des fonctions : f :
Rn→
R∪ {+∞}.
D´ efinition (domaine d’une fonction) :
dom(f ) := {x ∈
Rn, f (x) < +∞}.
On suppose syst´ ematiquement que dom(f ) 6= ∅.
Int´ erˆ et (l’un d’eux) :
x∈
inf
Rnf (x) = inf
x∈dom(f)
f (x)
Les probl` emes contraints s’´ ecrivent indiff´ eremment des
probl` emes non contraints.
Elements d’analyse convexe
D´ efinition (fonction convexe) : f est dite convexe si :
1. dom(f) est convexe.
2. f est convexe sur dom(f), ∀(x
1, x
2) ∈
Rn×
Rn, ∀α ∈ [0, 1], f(αx
1+ (1 − α)x
2) ≤ αf(x
1) + (1 − α)f (x
2).
Th´ eor` eme :
Toute fonction f convexe en dimension finie est continue sur
int(dom(f)).
Elements d’analyse convexe
D´ efinition (´ epigraphe) :
epi(f) = {(x, t) ∈ dom(f ) ×
R, t≥ f (x)}.
Th´ eor` eme :
f est convexe si et seulement si son ´ epigraphe est convexe.
(Sch´ ema ?)
Elements d’analyse convexe
Un probl` eme :
Bien qu’une fonction convexe soit continue sur int(dom(f )), elle peut avoir un comportement complexe sur le bord.
Exemple :
f (x, y) =
0 si x
2+ y
2< 1 φ(x, y) ≥ 0 si x
2+ y
2= 1 +∞ si x
2+ y
2> 1
Minimisation : On suppose g continue sur
R2et on veut trouver :
(x,y)∈
min
R2f (x, y) + g(x, y)
Si g n’atteint pas son minimum sur le disque, il n’y a pas
d’autre choix que d’explorer exhaustivement l’ensemble
{(x, y) ∈
R2, x
2+ y
2= 1} !
Elements d’analyse convexe
D´ efinition (fonction convexe ferm´ ee) :
Une fonction convexe est dite ferm´ ee ou semi-continue inf´ erieurement (s.c.i.) si epi(f ) est ferm´ e.
Exemples 1D :
Voir tableau...
Elements d’analyse convexe
D´ efinition (sous-diff´ erentiel) : Soit f :
Rn→
R∪ {+∞}
convexe s.c.i. Le sous-diff´ erentiel de f en x ∈ dom(f ) est d´ efini par :
∂f(x) = {η ∈
Rn, ∀y ∈
Rn, f (y) ≥ f (x) + hη, y − xi}.
Figure: Sous-diff´erentiel.
Elements d’analyse convexe
Propri´ et´ e 1 : Si f est diff´ erentiable en x
0, alors
∂f(x
0) = {∇f(x
0)}.
Propri´ et´ e 2 : Le sous-diff´ erentiel est non vide, convexe, ferm´ e sur int(dom(f )).
Mais il peut ˆ etre vide sur le bord du domaine.
Exemple :
f (x) = − √ x est convexe s.c.i. sur [0, +∞[.
Et on a lim
x→0+f
0(x) = −∞ et −∞ ∈ /
R!
Elements d’analyse convexe
On consid` ere le probl` eme :
Trouver x
∗∈ Arg min
x∈Rn
f (x) o` u f est convexe s.c.i.
Th´ eor` eme (fondamental) :
x
∗est minimiseur de f si et seulement si 0 ∈ ∂f(x
∗).
Une r` egle de calcul utile :
Soit g(x) = f (Ax) o` u A est un op´ erateur lin´ eaire, alors :
∂g(x) = A
∗∂f(Ax)
o` u A
∗est l’op´ erateur adjoint de A.
Algorithme : descente de sous-gradient (Polyak ∼ 1980)
Probl` eme :
Trouver x
∗∈ Arg min
x∈X
f (x)
•
f : X →
Rest convexe, s.c.i.
•
X est un ensemble convexe ferm´ e.
Algorithme :
1. Choisir x
0∈ X et une suite r´ eelle de pas (h
k)
k∈Ntelle que :
• hk≥0, ∀k∈N.
• limk→+∞hk = 0.
• P+∞
k=0hk = +∞.
2.
x
k+1= Π
X
x
k− h
kη(x
k) kη(x
k)k
, η(x
k) ∈ ∂f(x
k)
Algorithme : descente de sous-gradient (Polyak ∼ 1980)
R´ esultat :
Si f est L-Lipschitz sur B = {x ∈
Rn, kx
0− x
∗k ≤ R}, alors : f
k∗− f
∗≤ L R
2+
Pki=0
h
2k2
Pki=0
h
kEn particulier, si h
k=
√Rk+1
(optimal) : f
k− f
∗≤ LR
√ k + 1 avec : f
k∗= min(f(x
0), f (x
1), ...f(x
k)).
Ce taux est ajust´ e.
Algorithme : descente de sous-gradient
Note importante :
En supposant L = R = 1, et si on souhaite : f
k∗− f
∗≤ 10
−3Dans un sc´ enario au pire des cas, il faut 10
6it´ erations ! Conclusion :
•
Les descentes de sous-gradient avec pas d´ ecroissant ne doivent pas ˆ etre utilis´ ees en g´ en´ eral.
•
Elles peuvent pr´ esenter un int´ erˆ et pour coder rapidement des approximations grossi` eres des solutions avec des pas pr´ ecalcul´ es (10-20 it´ erations).
•
Note : les constantes L et R peuvent d´ ependre
implicitement de la dimension n !
Optimisation convexe non diff´ erentiable : complexit´ e
Soit M l’ensemble des m´ ethodes de sous-gradient de la forme : x
k+1∈ x
0+ vect(η(x
0), ..., η(x
k)), o` u η(x
i) ∈ ∂f(x
i).
Th´ eor` eme : Pour tout k ≤ n − 1, pour toute m´ ethode m ∈ M, il existe une fonction f :
Rn→
R•
convexe ferm´ ee.
•
L-Lipschitz sur une boule de rayon R autour d’un minimiseur x
∗.
telle que :
f(x
k) − f
∗≥ M R 1 + √
k + 1
Corollaire : Les m´ ethodes de sous-gradient avec pas en O
√1 k
sont optimales.
Optimisation convexe non diff´ erentiable : complexit´ e
Id´ ee :
La fonction f
k: x 7→ max
1≤i≤k
x(k) + 1
2 kxk
2est difficile ` a minimiser pour toutes les m´ ethodes de sous-gradient.
El´ ements de preuve :
La descente de sous-gradient avec x
0= 0, assure que : x
k∈
Rk,n:= {x ∈
Rn, x(i) = 0, ∀i > k}
(on ajoute qu’une coordonn´ ee ` a chaque it´ eration).
On a de plus :
x∈
min
Rk,nf (x) − f
∗≥ O
1
√ k
.
Optimisation convexe diff´ erentiable : complexit´ e
La classe des fonctions convexes non diff´ erentiables est trop vaste pour esp´ erer avoir des sch´ emas g´ en´ eriques efficaces.
Complexit´ e de la classe des fonctions convexes diff´ erentiables.
Soit C, la classe des fonctions f telles que :
•
f est convexe, diff´ erentiable.
•
∇f est L-Lipschitz (r´ egularit´ e indispensable).
Classe de m´ ethodes :
On consid` ere les m´ ethodes qui g´ en` erent des it´ er´ ees du type x
k+1∈ x
0+ vect(∇f (x
0), ..., ∇f(x
k)).
Exemples : descentes de gradient, gradient conjugu´ e.
Optimisation convexe diff´ erentiable : complexit´ e
Th´ eor` eme : Pour tout k ≤
n−12et x
0∈
Rnil existe une fonction f ∈ C telle que :
f (x
k) − f
∗≥ 3Lkx
0− x
∗k
232(k + 1)
2et
kx
k− x
∗k
2≥ 1
8 kx
0− x
∗k
2. Cons´ equence :
•
En g´ en´ eral, on ne peut rien dire sur la distance au minimiseur !
•
Les taux de convergence lin´ eaires (vus en cours)
(kx
k− x
∗k ≤ α
kkx
0− x
∗k, α < 1) sont hors de port´ ee en g´ en´ eral.
•
Le taux en O
k12
n’est pas si d´ ecourageant.
Optimisation convexe diff´ erentiable : complexit´ e
El´ ements de preuve : on exhibe la fonction la pire au monde :
f
k(x) = L
4 (hA
kx, xi − x(1)) o` u :
A
k=
2 −1 0 0 . . . 0
n−k,1−1 2 −1 0 . . . 0
n−k,10 −1 2 −1 . . . 0
n−k,1.. . .. . .. . .. . .. . .. . 0 0 0 . . . 2 0
n−k,10
k,n−k0
n−k,n−k
Probl` eme : Discr´ etisation d’un laplacien tronqu´ e en 1D : ce
n’est rien d’autre qu’une r´ egularisation H
1!
Optimisation convexe diff´ erentiable : complexit´ e
El´ ements de preuve : 1. On pose x
0= 0.
2. On remarque que ∇f (x
k) ∈
Rk,n. 3. D’o` u x
k∈
Rk,n.
4. Pour x ∈
Rk,n, on montre :
• f(x)−f∗≥OLkx
0−x∗k2 k2
et
• kx−x∗k2≥ 18kx0−x∗k2.
Optimisation convexe diff´ erentiable : descente de gradient
On consid` ere :
x∈
min
Rnf (x), o` u ∇f est L − Lipschitz.
Et la descente de gradient :
x
k+1= x
k− τ ∇f (x
k) Preuve de convergence :
On a ∀(x, y) ∈
Rn×
Rn(in´ egalit´ e boom boom !):
f (y) ≤ f (x) + h∇f(x), y − xi + L
2 ky − xk
2| {z }
ψ(y,x)
(1)
= f (x) + L 2 ky −
x − ∇f (x) L
k
2− k∇f (x)k
22L (2)
Optimisation convexe diff´ erentiable : descente de gradient
En posant :
x
k+1= arg min
x∈Rn
ψ(x, x
k) (3)
= x
k− ∇f (x
k)
L , (4)
on assure que :
f (x
k+1) ≤ f (x
k) − k∇f (x
k)k
22L .
On peut ensuite sommer ces in´ egalit´ es de k = 0 ` a N : f (x
N) − f (x
0) ≤ −
N
X
k=0
k∇f (x
k)k
22L (5)
≤ − N 2L min
1≤k≤N
k∇f (x
k)k
2(6)
Optimisation convexe diff´ erentiable : descente de gradient
On a donc :
1≤k≤N
min k∇f(x
k)k
2≤ 2L
N · (f (x
0) − f
∗)
En utilisant de plus la convexit´ e de f (in´ egalit´ e boom boom 2 !):
f(x
∗) ≥ f (x
k) + h∇f (x
k), x
k− x
∗i et donc :
f (x
k) − f (x
∗) ≤ k∇f (x
k)k · kx
k− x
∗k
Optimisation convexe diff´ erentiable : descente de gradient
R´ esultat de convergence (relaxation):
Si f a un gradient L-Lipschitz, la descente de gradient assure que :
1≤k≤N
min k∇f(x
k)k
2≤ 2L
N · (f (x
0) − f
∗) si de plus f est convexe :
f(x
k) − f
∗≤ O
Lkx
0− x
∗k
2k
Ce taux de convergence est ajust´ e.
La m´ ethode de gradient est sous-optimale !
Optimisation convexe diff´ erentiable : m´ ethodes optimales
M´ ethodes optimales : propos´ ees en 1983 par Y. Nesterov.
Id´ ee g´ en´ erale.
Les m´ ethodes d’optimisation ` a un pas ne permettent pas d’obtenir des taux de convergence optimaux ! Il faut aller au del` a des principes de relaxation.
⇒
•
Utiliser vect ({∇f (x
0), ∇f (x
1), ..., ∇f (x
k)}) pour calculer x
k+1.
•
Si f est convexe, ∇f apporte une information sur la topologie globale de f !
•
Imp´ eratif informatique : ne pas stocker tous les gradients.
Optimisation convexe diff´ erentiable : m´ ethodes optimales
Figure: Sous-diff´erentiel.
Optimisation convexe diff´ erentiable : m´ ethodes optimales
Ancˆ etres : les m´ ethodes “heavy-ball” (B. Polyak).
Descente de gradient oscillantes : ajouter de l’inertie ! R´ esoudre l’´ equation diff´ erentielle :
¨
x + a x ˙ + b∇f (x) = 0
(Solide soumis ` a une force de gravit´ e et de friction) Discr´ etisation :
−x
k+1+ 2x
k− x
k−1∆t + a (x
k+1− x
k)
∆t + b∇f (x
k) = 0 Soit encore :
x
k+1= x
k− a
k∇f(x
k) + b
k(x
k− x
k−1)
(Preuve dans le cas fortement convexe ` a venir...)
Optimisation convexe diff´ erentiable : m´ ethodes optimales
Id´ ee g´ en´ erale Outils :
•
Une suite minimisante (x
k).
•
Une suite de coefficients A
0= 0, A
k+1= A
k+ a
k, avec a
k> 0.
•
Une suite de fonctions (ψ
k) approchant A
kf de la forme : ψ
k(x) =
k
X
i=1
a
i(f (x
i) + h∇f (x
i), x − x
ii) + 1
2 kx − x
0k
2Optimisation convexe diff´ erentiable : m´ ethodes optimales
Maintenir les in´ egalit´ es :
A
kf (x
k) ≤ min
x∈Rnψ
k(x)
ψ
k(x) ≤ A
kf (x) +
12kx − x
0k
2∀x ∈
RnAinsi, en prenant x = x
∗, on obtient :
f (x
k) − f(x
∗) ≤ kx
∗− x
0k
2A
kLa rapidit´ e de croissance de (A
k) d´ etermine la rapidit´ e de convergence du sch´ ema.
Non trivial !
Optimisation convexe diff´ erentiable : m´ ethodes
optimales
Sch´ ema multi-pas [Nesterov 83].
•
In: Nombre d’ it´ erations N , point initial x
0∈
Rn.
•
Out: x
Nune estim´ ee de x
∗.
•
Init: Poser t
1= 1, y
1= x
0. Pour k allant de 0 ` a N :
•
Poser x
k= y
k−
∇f(yLk).
•
Calculer t
k+1=
1+√
1+4t2k
2
.
•
Poser y
k+1= x
k+
tk−1 tk+1
(x
k− x
k−1).
Sch´ ema multi-pas [Nesterov 83].
R´ esultat de convergence L’algorithme assure que :
f(x
k) − f (x
∗) ≤ L||x
0− x
∗||
2k
2C’est un taux de convergence optimal !
Distance au minimiseur.
Impossible d’obtenir des certificats sur la distance au minimiseur sous la seule hypoth` ese de convexit´ e.
D´ efinition (forte convexit´ e).
Une fonction f est dite fortement convexe si elle est convexe et qu’il existe µ > 0 tel que :
∀(x, y) ∈ dom(f )
2, ∀η ∈ ∂f (x), f (y) ≥ f (x)+hη, y−xi+ µ
2 ky−xk
2Distance au minimiseur. Une fonction fortement convexe admet un unique minimiseur x
∗et
f (x) ≥ f (x
∗) + µ
2 kx − x
∗k
2Proposition. Une fonction C
2est µ-fortement convexe ssi
λ
min(H
f(x)) ≥ µ, ∀x ∈ dom(f ).
Forte convexit´ e et conditionnement.
Propri´ et´ e. Soient f et g deux fonctions fortement convexes de param` etre µ
1≥ 0 et µ
2≥ 0, alors :
∀(α, β) ∈
R2+, x 7→ αf(x) + βg(x) est fortement convexe de module αµ
1+ βµ
2. G´ en´ eralisation du conditionnement.
Soit f (x) =
12kAx − bk
2Ainsi : ∇f (x) = A
∗(Ax − b).
•
Constante de Lipschitz du gradient L = λ
max(A
∗A).
•
Param` etre de forte convexit´ e µ = λ
min(A
∗A).
•
Le conditionnement du syst` eme lin´ eaire est : κ(A
∗A) = λ
maxλ
min= L
µ = κ(f).
Forte convexit´ e.
Quelques exemples de fonctions fortement convexes
•
f (x) =
12kx − x
0k
2(µ = 1).
•
f (x) = g(x) +
12kx − x
0k
2o` u g est convexe (µ = 1).
•
f (x) =
12kAx − bk
2, (µ = λ
min(A
∗A)).
• Adoit ˆetre de rang plein.
Notes :
• La notion peut-ˆetre ´etendue `a un cadre non hilbertien.
• Il peut ˆetre int´eressant de changer les m´etriques pour faire varier ces constantes (pr´econditionnement).
Convergence des m´ ethodes de gradient dans le cas fortement convexe.
Soit f une fonction µ-fortement convexe, ` a gradient L-Lipschitz et κ =
Lµ.
Th´ eor` eme 1 : La descente de gradient x
k+1= x
k−
µ+L2∇f (x
k) assure que :
kx
k− x
∗k ≤
κ − 1 κ + 1
k
kx
0− x
∗k.
(Arguments de point fixe).
Th´ eor` eme 2 : Les sch´ emas multi-pas avec une modification mineure du calcul des coefficients a
kassurent que :
kx
k− x
∗k ≤ √
κ − 1
√ κ + 1
kkx
0− x
∗k.
L’acc´ el´ eration est automatique pour les sch´ emas simples !
Preuve de convergence.
Descente de gradient (contraction).
On a :
kx − τ ∇f (x) − (y − τ ∇f (y))k
= k(I − τ ∇f )(x − y)k
≤ k
Z 1t=0
(I − τ ∇
2f (x + t(y − x)))(y − x)k
| {z }
f0(x)−f0(y)=Rx y f00(t)dt
≤ sup
z∈Rn
|||I − τ ∇
2f (z)||| · kx − yk
| {z }
T h.Ch.G.N.
Or
sp(I − τ ∇
2f (z)) = 1 − τ sp(∇
2f (z))
⇒ sup
z∈Rn
|||I − τ ∇
2f (z)||| = max(|1 − τ µ|, |1 − τ L|)
Preuve de convergence.
Descente de gradient.
En prenant
τ = min
τ
max(|1 − τ µ|, |1 − τ L|) = 2 µ + L , on obtient :
k(I − τ ∇f )(x − y)k ≤
κ − 1 κ + 1
kx − yk
Ainsi :
kx
k+1− x
∗k
= kx
k− τ ∇f(x
k) − (x
∗− τ ∇f(x
∗))k
≤
κ − 1 κ + 1
kx
k− x
∗k
Preuve de convergence sch´ ema acc´ el´ er´ e.
Id´ ee : ´ etudier kx
k+1− x
∗k
2+ kx
k− x
∗k
2
x
k+1− x
∗x
k− x
∗
=
x
k− α
k∇f(x
k) + β
k(x
k− x
k−1) − x
∗x
k− x
∗
=
(1 + β
k)I −β
kI
I 0
x
k− x
∗x
k−1− x
∗
− α
k
∇f(x
k) 0
≤ sup
z∈Rn
(1 + β
k)I − α
k∇
2f (z) −β
kI
I 0
·
x
k− x
∗x
k−1− x
∗
Puis on r´ esout :
α
min
k,βksup
z∈Rn
(1 + β
k)I − α
k∇
2f (z) −β
kI
I 0
(7)
Preuve de convergence sch´ ema acc´ el´ er´ e.
En posant :
β
k= max(|1 −
pα
kl|, |1 −
pα
kL|)
2, et
α
k= 4
( √ L + √
l)
2. On obtient :
sup
z∈Rn
(1 + β
k)I − α
k∇
2f(z) −β
kI
I 0
≤ √
κ − 1
√ κ + 1
.
Preuve de convergence sch´ ema acc´ el´ er´ e.
Conclusion cas fortement convexe :
•
Si κ >> 1, alors :
κ − 1 κ + 1
' 1 − 2 κ . √
κ − 1
√ κ + 1
' 1 − 2
√ κ .
•
Si κ >> 1, alors les taux polynomiaux ` a l’origine sont plus importants que les taux lin´ eaires asymptotiques.
•