Gradiente conjugado Riemanniano para optimización en la...

30
Gradiente conjugado Riemanniano para optimizaci on en la variedad de Stiefel Edgar Fuentes [email protected] Asesor: Dr. Oscar Dalmau 14 de marzo de 2018 EMNO 2018

Transcript of Gradiente conjugado Riemanniano para optimización en la...

Page 1: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Gradiente conjugado Riemanniano para

optimizacion en la variedad de Stiefel

Edgar Fuentes

[email protected]

Asesor: Dr. Oscar Dalmau

14 de marzo de 2018

EMNO 2018

Page 2: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Contenido

Motivacion

La variedad de Stiefel y su espacio tangente

Retraccion y transporte de vectores

Gradiente conjugado Riemanniano para optimizacion en St(n, p)

[Zhu17]

Conclusiones

1

Page 3: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Motivacion

Page 4: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

El problema y sus aplicaciones

• Consideramos el problema de optimizacion con restricciones

de ortogonalidad:

mınX∈Rn×p

F(X ), s. a. X>X = I , (1)

donde I es la matriz identidad y F(X ) : Rn×p → R es una

funcion diferenciable.

• Algunas aplicaciones comprenden el problema de eigenvalores

lineales [GVL12, Saa92], el problema de procrustes

ortogonales [GD04, EP99, Sch66], el problema de

diagonalizacion conjunta [JM02, TCA09], minimizacion

cuadratica heterogenea [BCR04], etc.

2

Page 5: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

¿Por que utilizar optimizacion en variedades?

• Si el conjunto factible es una variedad diferenciable se dice

que la optimizacion se hace sobre la variedad si todos los

iterados se mantienen factibles.

• Es util, por ejemplo, cuando la funcion de costo no esta

definida o tiene poco uso fuera de la region factible. Ademas,

si el algoritmo termina antes de alcanzar convergencia se tiene

una solucion factible.

• Los primeros esquemas consideraban descenso sobre

geodesicas [Gab82], sin embargo, se han modificado para

simplificar el computo, por ejemplo, usando operadores de

proyeccion [Man02] o sustituyendo la geodesica por cualquier

curva tangente a la direccion de busqueda [ADM+02].

3

Page 6: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

La variedad de Stiefel y su espacio

tangente

Page 7: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

La variedad de Stiefel

La variedad de Stiefel es el conjunto [AMS09]

St(n, p) := X ∈ Rn×p : XTX = Ip. (2)

• St(n, p) es una variedad diferenciable embebida en Rn×p

• dim(St(n, p)) = np − 12p(p + 1).

• St(n, p) es cerrado.

• St(n, p) es acotado: ‖xi‖ = 1, ∀X , i = 1, ..., p

• St(n, p) es compacto.

• Si p = 1, St(n, p) = X ∈ Rn : XTX = Ip = Sn−1

• Si p = n, St(n, p) = X ∈ Rn×n : XTX = In es el grupo

ortogonal On

4

Page 8: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Espacio tangente a la variedad de Stiefel

• El espacio tangente a X ∈ St(n,p) es

TXSt(n, p) = Z ∈ Rn×p : XTZ + ZTX = 0 (3)

= XΩ + X⊥K : ΩT = −Ω,K ∈ R(n−p)×p, (4)

donde X⊥ ∈ Rn×(n−p) es el complemento ortogonal de X .

• El espacio tangente TXSt(n,p) esta dotado con la metrica

〈Y ,Z 〉X = tr(Y>Z ). Ası, la proyeccion a TXSt(n,p) esta

dada por

ProjXZ = (I − XX>)Z + X skew(X>Z ) = Z − X sym(X>Z ).

(5)

5

Page 9: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Gradiente Riemanniano

• Dado un campo escalar F en (M, g), el gradiente de F en x

se define como el unico elemento de TxM que satisface

〈gradF(X ), ξ〉X = DF(X )[ξ], ∀ξ ∈ TxM. (6)

• La direccion de gradF(X ) es la direccion de maximo ascenso

de F en :

gradF(X )

‖gradF(X )‖= arg max

ξ∈TXM:‖ξX ‖=1DF(X )[ξ].

• Si G = ∂F(X )∂X es el gradiente de F(X ) en el espacio

Euclidiano entonces el gradiente Riemanniano es la proyeccion

de G a TXSt(n,p),

∇F(X ) = G − X sym(X>G ). (7)

6

Page 10: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Retraccion y transporte de vectores

Page 11: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Retraccion

Definicion

[AMS09]Una retraccion en una variedad M es un mapeo suave R del fibrado

tangente TM a M con las siguientes propiedades. Sea RX la restriccion de R

a TXM.

1. RX (0X ) = X .

2. Con la identificacion canonica T0XTXM ' TXM, RX satisface

DRX (0X ) = idTXM.

Figura 1: Imagen tomada de [AMS09]7

Page 12: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Ejemplos de retracciones en St(n, p)

• Retraccion basada en la descomposicion polar:

RX (ξ) = (X + ξ)(Ip + ξ>ξ)−1/2.

• Retraccion basada en la factorizacion QR:

RX (ξ) = qf(X + ξ).

• Retraccion basada en la transformacion de Cayley:

RX (ξ) = (I −Wξ)−1(I + Wξ)X ,

W>ξ = −Wξ.

• Ası, una iteracion en optimizacion Riemanniana tiene la forma

Xk+1 = RXk(αkξk).

8

Page 13: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Gradiente conjugado Riemanniano

• La ecuacion

ηk+1 = −∇F(Xk+1) + βk+1ηk

no tiene sentido en St(n, p) porque

∇F(Xk+1) ∈ TXk+1St(n,p) y ηk ∈ TXk

St(n,p).

• El gradiente conjugado Riemanniano considera un mapeo T ,

llamado transporte de vectores que lleva vectores de un

espacio tangente a otro (el transporte paralelo sobre

geodesicas es un transporte de vectores asociado a una

conexion afın).

• La ecuacion del gradiente conjugado Riemanniano esta dada

por

ηk+1 = −∇F(Xk+1) + βk+1Tαkηk (ηk)

9

Page 14: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Transporte de vectores por diferenciacion de retraccion

• Si R es una retraccion en M hay un transporte de vectores

definido como

Tηξ := DRX (η)[ξ] =d

dtRX (η + tξ)

∣∣∣t=0

Figura 2: Imagen tomada de [AMS09]

10

Page 15: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Condicion no-expansiva de Ring-Wirth [RW12]

• Para establecer convergencia global del gradiente conjugado

Riemanniano se debe imponer la condicion

〈Tαkηk (ηk), Tαkηk (ηk)〉RXk(αkηk ) ≤ 〈ηk , ηk〉Xk

.

• Ademas de considerar, por ejemplo, las condiciones fuertes deWolf en su version Riemanniana

F(RXk(αkηk)) ≤ F(Xk) + c1αk〈∇F(Xk), ηk〉Xk

,

|〈∇F(RXk(αkηk)),DRXk

(αkηk)[ηk ]〉RXk(αkηk )| ≤ c2|〈∇F(Xk), ηk〉Xk

|,

0 < c1 < c2 < 1.

11

Page 16: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Gradiente conjugado Riemanniano

para optimizacion en St(n, p)

[Zhu17]

Page 17: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Una curva en la variedad de Stiefel

• La retraccion basada en la Transformada de Cayley define la

siguiente curva en St(n,p):

RX (tη) = X (t) =(I − t

2Wη

)−1 (I +

t

2Wη

)X ,

con Wη = PXηX> − Xη>PX y PX = I − 1

2XX>.

• Para matices de rango bajo, Wen y Yin [WY13] propusieron la

descomposicion

Wηk = UkVTk = [PXk

ηk ,Xk ][XTk ;−ηTk PT

Xk],

y mediante la formula de Sherman-Morrison-Woodbury

generaron el siguiente esquema iterativo

Xk+1(αk) = Xk + αkUk

(I − αk

2V Tk Uk

)−1V Tk Xk

12

Page 18: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Transporte de vectores diferenciando la Retraccion de Cayley

• Considere(I − 1

2WZ −

t

2WY

)RX (Z + tY ) =

(I +

1

2WZ +

t

2WY

)X

• Diferenciando ambos lados tenemos

T Rαkηk

(ηk) =d

dtRXk

(αkηk + tηk)|t=0 =(I − αk

2Wηk

)−2WηkXk .

• Este transporte es no-expansivo [Zhu17] y, guardando V>k Xk ,

V>k Uk y(I − αk

2 V>k Uk

)−1V>k Xk , solo requiere 4np2 + O(p3)

flops.

13

Page 19: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Transporte de vectores diferenciando la Retraccion Exponencial

• Se considera la retraccion basada en la exponencial matricial

X (t) = RexpX (tZ ) = etWZX .

• Diferenciando se obtiene

d

dtRexpXk

(tηk)∣∣t=αk

= eαkWηkWηkXk .

• Se propone aproximar la exponencial matricial con la

aproximacion diagonal de Pade de primer orden para obtener

Tαkηk (ηk) =(I − αk

2Wηk

)−1 (I +

αk

2Wηk

)WηkXk = WηkXk+1.

• Este transporte es isometrico [Zhu17] y su calculo requiere

4np2 + O(p3) flops.

14

Page 20: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Gradiente conjugado no-monotono en St(n, p)

• El gradiente conjugado no-monotono de Dai [Dai02] considera

βDk+1 =‖∇f (xk+1)‖2

maxy>k ηk ,−∇f (xk)>ηk,

donde yk = ∇f (xk+1)−∇f (xk).

• La generalizacion hecha por Zhu [Zhu17] para el casoRiemanniano es

‖∇F(Xk+1)‖2

max〈∇F(Xk+1), Tαkηk(ηk)〉Xk+1

− 〈∇F(Xk), ηk〉Xk,−〈∇F(Xk), ηk〉Xk

15

Page 21: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Gradiente conjugado no-monotono en St(n, p)

Algorithm 1 Gradiente conjugado no-monotono en St(n, p)

Data: ε, δ, λ ∈ (0, 1), m ∈ N+, αmax > α0 > αmin > 0,

X0 ∈St(n, p), Z0 = −∇F(X0), k = 0.

1: while ‖∇F(Xk)‖Xk> ε do

2: if F(RXk(αkηk)) ≤ maxF(Xk), · · · ,F(Xk−mınm−1,k)+

δαk〈∇f (Xk), ηk〉Xkthen

3: Xk+1 = RXk(αkηk)

4: else

5: αk = λαk , ir a lınea 2.

6: end if

7: ηk+1 = −∇F(Xk+1) + βDk+1Tαkηk (ηk)

8: Escoger αk+1 ∈ [αmin, αmax] y hacer k ← k + 1

9: end while

16

Page 22: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Resultados para Linear eigenvalue problem

Algoritmo fval fact nrmg rnrmg itr nfe tiempo (s)

Alg1 -4.99e4 3.07e-16 6.38e-3 1.74e-6 236.8 415.3 0.89

Exp -4.99e4 3.38e-15 7.69e-3 5.95e-6 266.4 408.5 0.85

Cayley -4.99e4 3.15e-14 8.04e-3 6.19e-6 260.9 410.5 0.87

Tabla 1: f = −tr(X>AX ), X ∈St(1000, 5), A =diag(1:1000)

Algoritmo fval fact nrmg rnrmg itr nfe tiempo (s)

Alg1 -1.94e4 4.54e-16 2.76e-2 2.17e-6 112.3 192.5 0.38

Exp -1.94e4 3.66e-15 4.17e-2 9.33e-6 106.2 146.2 0.29

Cayley -1.94e4 4.03e-15 3.02e-2 6.77e-6 104.4 141.6 0.29

Tabla 2: f = −tr(X>AX ), X ∈St(1000, 5), A = M>M,

M =randn(1000)

17

Page 23: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Resultados para Orthogonal Procrustes Problem

Algoritmo fval fact nrmg rnrmg itr nfe tiempo (s)

Alg1 0.52 5.22e-14 4.19e-8 3.31e-9 9.6 12.7 1.42e-2

Exp 0.52 9.15-15 1.64e-6 3.68e-7 18 19 2.23e-2

Cayley 0.52 1.10e-15 6.15e-7 1.37e-7 19 20 2.37e-2

Tabla 3: f = ‖AX − B‖2F , X ∈St(1000, 5), A = I ,

B =ones(1000,5)/sqrt(1000)

Algoritmo fval fact nrmg rnrmg itr nfe tiempo (s)

Alg1 -4.17e4 1.10e-14 4.11e-2 2.31e-6 63 95.4 9.94e-2

Exp -4.17e4 1.72e-15 1.17e-6 1.84e-6 56.3 68 7.23e-2

Cayley -4.17e4 1.77e-14 1.30e-2 2.06e-6 55.4 66.7 7.24e-2

Tabla 4: f = ‖AX − B‖2F , X ∈St(1000, 5), A =randn(1000),

B=randn(1000,5)

18

Page 24: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Conclusiones

Page 25: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

Conclusiones

• Los transportes propuestos son atractivos dado que son

no-expansivos y se garantiza convergencia global para el

algoritmo propuesto.

• Utilizar otros transportes como el asociado a la retraccion

basada en factorizacion QR o la descomposicion polar,

introduce un riesgo de divergencia. Lo anterior representa una

desventaja ante los transportes propuestos.

• En general, la optimizacion sobre variedades requiere de

operadores de proyeccion y/o generar curvas sobre la variedad,

lo que resulta costoso. En este caso, se tiene una

implementacion muy eficiente cuando p n.

19

Page 26: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

References I

Roy L Adler, Jean-Pierre Dedieu, Joseph Y Margulies, Marco

Martens, and Mike Shub, Newton’s method on riemannian

manifolds and a geometric model for the human spine, IMA

Journal of Numerical Analysis 22 (2002), no. 3, 359–390.

P-A Absil, Robert Mahony, and Rodolphe Sepulchre,

Optimization algorithms on matrix manifolds, Princeton

University Press, 2009.

Janos Balogh, Tibor Csendes, and Tamas Rapcsak, Some

global optimization problems on stiefel manifolds, Journal of

Global Optimization 30 (2004), no. 1, 91–101.

20

Page 27: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

References II

Yuhong Dai, Nonmonotone conjugate gradient algorithm for

unconstrained optimization, Journal of Systems Science and

Complexity 15 (2002), no. 2, 139–145.

Lars Elden and Haesun Park, A procrustes problem on the

stiefel manifold, Numerische Mathematik 82 (1999), no. 4,

599–619.

Daniel Gabay, Minimizing a differentiable function over a

differential manifold, Journal of Optimization Theory and

Applications 37 (1982), no. 2, 177–219.

John C Gower and Garmt B Dijksterhuis, Procrustes problems,

vol. 30, Oxford University Press on Demand, 2004.

21

Page 28: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

References III

Gene H Golub and Charles F Van Loan, Matrix computations,

vol. 3, JHU Press, 2012.

Marcel Joho and Heinz Mathis, Joint diagonalization of

correlation matrices by using gradient methods with

application to blind signal separation, Sensor Array and

Multichannel Signal Processing Workshop Proceedings, 2002,

IEEE, 2002, pp. 273–277.

Jonathan H Manton, Optimization algorithms exploiting

unitary constraints, IEEE Transactions on Signal Processing

50 (2002), no. 3, 635–650.

22

Page 29: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

References IV

Wolfgang Ring and Benedikt Wirth, Optimization methods on

riemannian manifolds and their application to shape space,

SIAM Journal on Optimization 22 (2012), no. 2, 596–627.

Youcef Saad, Numerical methods for large eigenvalue

problems, Manchester University Press, 1992.

Peter H Schonemann, A generalized solution of the orthogonal

procrustes problem, Psychometrika 31 (1966), no. 1, 1–10.

Fabian J Theis, Thomas P Cason, and P-A Absil, Soft

dimension reduction for ica by joint diagonalization on the

stiefel manifold, International Conference on Independent

Component Analysis and Signal Separation, Springer, 2009,

pp. 354–361.

23

Page 30: Gradiente conjugado Riemanniano para optimización en la ...tikhonov.fciencias.unam.mx/emno2018/presentaciones/2018-jue-Edgar.pdf · El gradiente conjugado Riemanniano considera un

References V

Zaiwen Wen and Wotao Yin, A feasible method for

optimization with orthogonality constraints, Mathematical

Programming 142 (2013), no. 1-2, 397–434.

Xiaojing Zhu, A riemannian conjugate gradient method for

optimization on the stiefel manifold, Computational

Optimization and Applications 67 (2017), no. 1, 73–110.

24