MÉTODOS DE OPTIMIZACIÓN ESTOCÁSTICA DE SEGUNDO ORDEN CON APLICACIÓN A PROBLEMAS DE APRENDIZAJE AUTOMÁTICO

LUIS MANUEL ROMÁN GARCÍA

JOSÉ LUIS MORALES PÉREZ

ASESOR

SUSTENTANTE

2017

Contenido

  • Aprendizaje a gran escala
  • Métodos de optimización estocástica de primer orden
  • Métodos de optimización estocástica de segundo orden
    • Newton Truncado con Gradiente Conjugado
    • L-BFGS estocástico
  • Implementación y resultados
  • Conclusión y trabajo futuro

Aprendizaje a gran escala

Aprendizaje a gran escala

x
y
f(x)

Suponemos que existe una función f que relaciona dos fenómenos (variables) de interés y, x

No obstante, en la mayor parte de los casos, desconocemos la forma explícita de f y a lo más, contamos con un conjunto finito de observaciones que representan dicha relación.

Luego entonces, lo  más que podemos hacer es usar un modelo que aproxime a f utilizando la muestra finita.

\hat{f}_X(x)

Ahora bien, suponiendo un escenario de gran escala en donde el número de observaciones ronda en los miles de millones, utilizar el total de la muestra para entrenar nuestro modelo se vuelve prohibitivo. 

\hat{f}_{\hat{X}}(x)

Aprendizaje a gran escala

Planteamiento

De manera concreta, sean        

X=\{x_1, x_2, ...,x_n\};\quad x_i\in\mathbb{R}^m; \quad x_i\sim F_x

y

Y=\{y_1, y_2, ...,y_n\};\quad y_i\in\mathbb{N}

conjuntos de variables aleatorias 

Nuestra tarea consiste en encontrar, de manera eficiente, una hipótesis

h_{\theta}:S\subseteq X\rightarrow Y

de forma

c

tal que probablemente estime a

aproximadamente correcta.

independientes tales que 

\quad c: X\rightarrow Y

existe un concepto

.

Aprendizaje a gran escala

Error de generalización

Para concretizar la noción de lo que es una hipótesis que aproxima eficientemente a una función de manera probablemente aproximadamente correcta, es necesario definir bajo qué criterio se va a medir dicha correctud.

Dados

X, Y, c

y    ,

h

como se definieron anteriormente, definimos al error 

de generalización de 

h

como:  

R(h) = P_{X\sim F_x} \bigg\{h_\theta(x)\neq c(x)|x\in X\bigg\}=E\bigg(\mathbb{I}_{\{x\in X|h_\theta(x)\neq c(x)\}}\bigg)

Aprendizaje a gran escala

Error de empírico

Para concretizar la noción de lo que es una hipótesis que aproxima eficientemente a una función de manera probablemente aproximadamente correcta, es necesario definir bajo que criterio se va a medir dicha correctud.

Dados

X, Y, c

y    ,

h

como se definieron anteriormente, definimos al error 

empírico de 

h

como:  

\hat{R}_{S}(h) = \frac{1}{n}\sum_{i=1}^n\mathbb{I}_{\{h_\theta(x)\neq c(x)|x\in S\}}
\hat{R}_{S}(h) = \frac{1}{n}\sum_{i=1}^n \mathbb{L}(h)

Aprendizaje a gran escala

PAC-aprendible

Ahora bien, dados       

X=\{x_1, x_2, ..., x_n\};\quad x_i\in\mathbb{R}^m; \quad x_i\sim F_x

y

Y=\{y_1, y_2, ..., y_n\};\quad y_i\in\mathbb{N}

conjuntos de variables aleatorias 

tales que 

\exists\quad c: X\rightarrow Y
H = \bigg\{h|h_{S,\theta}:S\subseteq X\rightarrow Y\bigg\}

,

decimos que una familia de hipótesis

es PAC-aprendible si existe un algoritmo 

h^{*}\in H

que genera una  hipótesis 

\forall\quad \epsilon, \delta >0;\exists\quad n^*>0

tal que 

\forall\quad |S| > n^*

se cumple que:  

P\bigg\{R(h^*)\geq\epsilon\bigg\}<1 - \delta

Decimos que es eficientemente  PAC-aprendible si 

tiene una complejidad de orden polinomial en el tamaño de los datos.

L
L

Aprendizaje a gran escala

Dimensión-VC

Muy ligado al concepto de PAC-aprendible, está la noción de

dimensionalidad-VC de una familia de hipótesis                                        .

H = \bigg\{h|h_{S,\theta}:S\subseteq X\rightarrow Y\bigg\}

Esto nos dice qué tan flexible o expresiva es una familia de hipótesis.

Formalmente: 

La dimensión-VC de una familia de hipótesis      es el máximo entero 

tal que existe un conjunto     con dicha cardinalidad que puede ser clasificado correctamente por una hipótesis

bajo cualquier forma de etiquetar sus puntos.

h\in H
C
H
n

Aprendizaje a gran escala

Descomposición del error

De las definiciones anteriores, se desprenden dos factores fundamentales que determinan nuestra capacidad para aprender un concepto, a saber:

 

1. La dimensión-VC de la familia de hipótesis

 

2. El tamaño de la muestra

H = \bigg\{h|h_{S,\theta}:S\subseteq X\rightarrow Y\bigg\}
|S|

Aprendizaje a gran escala

Descomposición del error

Si denotamos con 

h^*

a la hipótesis que minimiza el error de generalización,

con

h^*_{H}

a la hipótesis que minimiza el error de generalización dada la familia

de hipótesis seleccionada y 

h^*_{H_{n}}

a la hipótesis que minimiza el error empírico

dada la familia de hipótesis seleccionada y dado el tamaño de la muestra disponible, tenemos que:

\mathbb{E}\bigg[\hat{R}_{S}(h^*_{H_{n}})-R(h^*)\bigg]=\mathbb{E}\bigg[\hat{R}_{S}(h^*_{H_{n}})-R(h^*_H)\bigg]+\mathbb{E}\bigg[R(h^*)-R(h^*_H)\bigg]
=Err_{est}+Err_{app}

Aprendizaje a gran escala

Descomposición del error

Si además, como es el caso de las aplicaciones de gran escala, el costo prohibitivo de usar el total de los datos que tenemos a nuestra disposición nos obliga a: 

1.- Correr el algoritmo    un número subóptimo de iteraciones

2.- Utilizar menos datos

Entonces tenemos una nueva hipótesis         y una nueva descomposición del error: 

\mathbb{E}\bigg[\hat{R}_{S}(h^*_{H_{n}})-R(h^*)\bigg]=\mathbb{E}\bigg[\hat{R}_{S}(h^*_{H_{n}})-R(h^*_H)\bigg]+\mathbb{E}\bigg[R(h^*)-R(h^*_H)\bigg] + \mathbb{E}\bigg[\hat{R}_{S}(h^*_{H_{n}})-\hat{R}_{S}(h^L_{H_{n}})\bigg]
=Err_{est}+Err_{app}+Err_{opt}
L
h^L_{H_n}

Aprendizaje a gran escala

Descomposición del error

De esta descomposición, son evidentes los distintos compromisos que uno debe hacer a la hora de construir una hipótesis que aproxime un concepto, a saber:

1.- Entre mayor sea la dimensión VC de la familia de hipótesis, el error de aproximación será menor, pero el error de estimación y el de optimización serán mayores.

2.- Entre mayor sea el tamaño de la muestra, menor será el error de estimación, pero mayor será el error de optimización. 

3.- Entre mejor sea el algoritmo de optimización, menor será el error de optimización sin afectar el resto de los errores. 

 

Optimización estocástica de primer orden

Optimización estocástica de primer orden

Planteamiento general

Siguiendo con la notación de la sección anterior, siendo 

c: X\rightarrow Y

el concepto que deseamos aproximar y 

H = \bigg\{h|h_{S,\theta}:S\subseteq X\rightarrow Y\bigg\}

una familia de hipótesis, nos enfocaremos en el problema de

encontrar            tal que minimize el error empírico:

\hat{R}_{S}(h) = \frac{1}{n}\sum_{i=1}^n \mathbb{L}(h)
h\in H

Optimización estocástica de primer orden

Planteamiento general

La forma en la cual obtendremos dicha             será a través de un

proceso iterativo sobre el espacio de parámetros    , que caracterizan a la

familia                                         , comenzando con un "buen" punto

inicial           . La iteración será de la forma: 

\Theta
H = \bigg\{h|h_{S,\theta}:S\subseteq X\rightarrow Y\bigg\}
\hat{R}_{S}(h) = \frac{1}{n}\sum_{i=1}^n \mathbb{L}(h)
h\in H
\theta_0\in \Theta
\theta_{k+1} = \theta_k - \alpha_k g(\hat{R}_{S}(h))

con

\alpha_k >0

,

Optimización estocástica de primer orden

Planteamiento general

La forma en la cual obtendremos dicha             será a través de un

proceso iterativo sobre el espacio de parámetros    , que caracterizan a la

familia                                         , comenzando con un "buen" punto

inicial           . La iteración será de la forma: 

\Theta
H = \bigg\{h|h_{S,\theta}:S\subseteq X\rightarrow Y\bigg\}
h\in H
\theta_0\in \Theta

con

g(\hat{R}_{S}(h)) = \left\{ \begin{array}{lll} \nabla_{\theta_i} \hat{R}_{i}(h_{\theta}) & = \nabla_{\theta_i}\mathbb{L}(h) & \quad 1 \leq i \leq n = |S|\\\\ \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta}) & = \frac{1}{k_g}\sum_{i=1}^{k_g} \nabla_{\theta_i} \mathbb{L}(h) & \quad 1 \leq |S_{k_g}| \leq n = |S| \\\\ H_{S_{k_h}} \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta}) & = \frac{1}{k_g}H_{S_{k_h}}\sum_{i=1}^{k_g} \nabla_{\theta_i} \mathbb{L}(h) & \quad 1 \leq |S_{k_h}|\leq |S_{k_g}| \leq |S| = n \end{array} \right.

Optimización estocástica de primer orden

Planteamiento general

La forma en la cual obtendremos dicha             será a través de un

proceso iterativo sobre el espacio de parámetros    , que caracterizan a la

familia                                         , comenzando con un "buen" punto

inicial           . La iteración será de la forma: 

\Theta
H = \bigg\{h|h_{S,\theta}:S\subseteq X\rightarrow Y\bigg\}
h\in H
\theta_0\in \Theta

con

g(\hat{R}_{S}(h)) = \left\{ \begin{array}{lll} \nabla_{\theta_i} \hat{R}_{i}(h_{\theta}) & = \nabla_{\theta_i}\mathbb{L}(h) & \quad 1 \leq i \leq n = |S|\\\\ \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta}) & = \frac{1}{k_g}\sum_{i=1}^{k_g} \nabla_{\theta_i} \mathbb{L}(h) & \quad 1 \leq |S_{k_g}| \leq n = |S| \\\\ H_{S_{k_h}} \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta}) & = \frac{1}{k_g}H_{S_{k_h}}\sum_{i=1}^{k_g} \nabla_{\theta_i} \mathbb{L}(h) & \quad 1 \leq |S_{k_h}|\leq |S_{k_g}| \leq |S| = n \end{array} \right.

Optimización estocástica de primer orden

Planteamiento general

Para estudiar el comportamiento general de este método, junto con algunas propiedades interesantes, es necesario establecer un par de supuestos. 

Los primeros servirán para caracterizar el comportamiento general de esta familia de métodos y los segundos, para caracterizar la tasa de convergencia en un escenario con una función de pérdida estrictamente convexa. 

Optimización estocástica de primer orden

Supuestos

1.- Continuidad Lipschitz del gradiente de la función objetivo

\hat{R}_{S}(h_{\theta})

i.e.                tal que 

\exists L\in\mathbb{R^+}
\|\nabla_\theta \hat{R}_{S}(h_{\theta_1})- \nabla_\theta \hat{R}_{S}(h_{\theta_2})\|_2 \leq L\|\theta_1-\theta_2\|_2; \forall \theta_1, \theta_2 \in \mathbb{R^m}

2.- Cotas para primer y segundo momento

       a.- Existen constantes                               tales que

\mu_G \geq \mu>0; \forall k \in \mathbb{N}
\nabla_\theta \hat{R}_{S}(h_{\theta_k})^T\mathbb{E}_{\theta_k}[g(\hat{R}_{S}(h_{\theta_k}))] \geq \mu\|\nabla_\theta \hat{R}_{S}(h_{\theta_k})\|_2^2
\|\mathbb{E}_{\theta_k}[g(\hat{R}_{S}(h_{\theta_k}))]\|_2 \leq \mu_G\|\nabla_\theta \hat{R}_{S}(h_{\theta_k})\|_2

Optimización estocástica de primer orden

Supuestos

1.- Continuidad Lipschitz del gradiente de la función objetivo

\hat{R}_{S}(h_{\theta})

i.e.                tal que 

\exists L\in\mathbb{R^+}
\|\nabla_\theta \hat{R}_{S}(h_{\theta_1})- \nabla_\theta \hat{R}_{S}(h_{\theta_2})\|_2 \leq L\|\theta_1-\theta_2\|_2; \forall \theta_1, \theta_2 \in \mathbb{R^m}

2.- Cotas para primer y segundo momento

       b.- Existen constantes                                       tales que

M \geq 0, M_V \geq 0; \forall k \in \mathbb{N}
\mathbb{V}_{\theta_k}[g(\hat{R}_{S}(h_{\theta_k}))] \leq M + M_V \|\nabla_\theta \hat{R}_{S}(h_{\theta_k})\|^2_2

Optimización estocástica de primer orden

Valor esperado de descenso

Bajo los supuestos 1, 2.a y 2.b, las iteraciones de gradiente estocástico satisfacen las siguientes desigualdades:

\mathbb{E}_{\theta_{k}}[\hat{R}_{S}(h_{\theta_{k+1}})] - \hat{R}_{S}(h_{\theta_{k}}) \leq -\mu\alpha_k\|\nabla_\theta \hat{R}_{S}(h_{\theta_k})\|^2_2 + \frac{1}{2}\alpha_k^2\mathbb{E}_{\theta_k}[\|g(\hat{R}_{S}(h_{\theta_k}))\|_2^2]
\leq -(\mu-\frac{1}{2}\alpha_kLM_G)\alpha_k\|\nabla_\theta \hat{R}_{S}(h_{\theta_k})\|^2_2 + \frac{1}{2}\alpha_k^2LM

Con 

M_G = M_V + \mu^2_G

Optimización estocástica de primer orden

Valor esperado de descenso

Bajo los supuestos 1, 2.a y 2.b, las iteraciones de gradiente estocástico satisfacen las siguientes desigualdades.

\mathbb{E}_{\theta_{k}}[\hat{R}_{S}(h_{\theta_{k+1}})] - \hat{R}_{S}(h_{\theta_{k}}) \leq -\mu\alpha_k\|\nabla_\theta \hat{R}_{S}(h_{\theta_k})\|^2_2 + \frac{1}{2}\alpha_k^2\mathbb{E}_{\theta_k}[\|g(\hat{R}_{S}(h_{\theta_k}))\|_2^2]
\leq -(\mu-\frac{1}{2}\alpha_kLM_G)\alpha_k\|\nabla_\theta \hat{R}_{S}(h_{\theta_k})\|^2_2 + \frac{1}{2}\alpha_k^2LM

Con 

M_G = M_V + \mu^2_G

Optimización estocástica de primer orden

Valor esperado de descenso

Bajo los supuestos 1, 2.a y 2.b, las iteraciones de gradiente estocástico satisfacen las siguientes desigualdades.

\mathbb{E}_{\theta_{k}}[\hat{R}_{S}(h_{\theta_{k+1}})] - \hat{R}_{S}(h_{\theta_{k}}) \leq -\mu\alpha_k\|\nabla_\theta \hat{R}_{S}(h_{\theta_k})\|^2_2 + \frac{1}{2}\alpha_k^2\mathbb{E}_{\theta_k}[\|g(\hat{R}_{S}(h_{\theta_k}))\|_2^2]
\leq -(\mu-\frac{1}{2}\alpha_kLM_G)\alpha_k\|\nabla_\theta \hat{R}_{S}(h_{\theta_k})\|^2_2 + \frac{1}{2}\alpha_k^2LM

Con 

M_G = M_V + \mu^2_G

Optimización estocástica de primer orden

Supuesto adicional

3.- Si agregamos el supuesto adicional de que              debe ser estrictamente convexa, es decir,                  tal que:

\hat{R}_{S}(h_{\hat{\theta}}) \geq \hat{R}_{S}(h_{\theta}) + \nabla \hat{R}_{S}(h_{\theta})^T(\hat{\theta}-\theta) + \frac{1}{2}c\|\hat{\theta}-\theta\|^2_2; \quad\forall \hat{\theta}, \theta \in \mathbb{R}^m
\hat{R}_{S}(h_{\theta})
\exists\quad c\in\mathbb{R}^+

Optimización estocástica de primer orden

Tasa de convergencia

Suponiendo 1, 2.a, 2.b y 3, tomando                constante tal que

\mathbb{E}[\hat{R}_{S}(h_{\theta_k})- \hat{R}_{S}(h_{\theta^*})] \leq \frac{\hat{\alpha}LM}{2c\mu} + (1-\hat{\alpha}c\mu)^{k-1}\Big(\hat{R}_{S}(h_{\theta_1})-\hat{R}_{S}(h_{\theta^*})-\frac{\hat{\alpha} LM}{2c\mu}\Big)
\alpha_k = \alpha^*
0 < \hat{\alpha}\leq\frac{\mu}{L M_G}

Entonces 

\forall k \in \mathbb{N}

Optimización estocástica de primer orden

Tasa de convergencia

Esta desigualdad es sumamente esclarecedora en cuanto a que muestra todos los factores que afectan la convergencia de este tipo de métodos. 

\mathbb{E}[\hat{R}_{S}(h_{\theta_k})- \hat{R}_{S}(h_{\theta^*})] \leq \frac{\hat{\alpha}LM}{2c\mu} + (1-\hat{\alpha}c\mu)^{k-1}\Big(\hat{R}_{S}(h_{\theta_1})-\hat{R}_{S}(h_{\theta^*})-\frac{\hat{\alpha} LM}{2c\mu}\Big)
\forall k \in \mathbb{N}
0 < \hat{\alpha}\leq\frac{\mu}{L M_G}

Optimización estocástica de primer orden

Tasa de convergencia

Esta desigualdad es sumamente esclarecedora en cuanto a que muestra todos los factores que afectan la convergencia de este tipo de métodos. 

\mathbb{E}[\hat{R}_{S}(h_{\theta_k})- \hat{R}_{S}(h_{\theta^*})] \leq \frac{\hat{\alpha}LM}{2c\mu} + (1-\hat{\alpha}c\mu)^{k-1}\Big(\hat{R}_{S}(h_{\theta_1})-\hat{R}_{S}(h_{\theta^*})-\frac{\hat{\alpha} LM}{2c\mu}\Big)
\forall k \in \mathbb{N}
0 < \hat{\alpha}\leq\frac{\mu}{L M_G}

Optimización estocástica de primer orden

Tasa de convergencia

Esta desigualdad es sumamente esclarecedora en cuanto a que muestra todos los factores que afectan la convergencia de este tipo de métodos. 

\mathbb{E}[\hat{R}_{S}(h_{\theta_k})- \hat{R}_{S}(h_{\theta^*})] \leq \frac{\hat{\alpha}LM}{2c\mu} + (1-\hat{\alpha}c\mu)^{k-1}\Big(\hat{R}_{S}(h_{\theta_1})-\hat{R}_{S}(h_{\theta^*})-\frac{\hat{\alpha} LM}{2c\mu}\Big)
\forall k \in \mathbb{N}
0 < \hat{\alpha}\leq\frac{\mu}{L M_G}

Optimización estocástica de primer orden

Tasa de convergencia

Esta desigualdad es sumamente esclarecedora en cuanto a que muestra todos los factores que afectan la convergencia de este tipo de métodos. 

\mathbb{E}[\hat{R}_{S}(h_{\theta_k})- \hat{R}_{S}(h_{\theta^*})] \leq \frac{\hat{\alpha}LM}{2c\mu} + (1-\hat{\alpha}c\mu)^{k-1}\Big(\hat{R}_{S}(h_{\theta_1})-\hat{R}_{S}(h_{\theta^*})-\frac{\hat{\alpha} LM}{2c\mu}\Big)
\forall k \in \mathbb{N}
0 < \hat{\alpha}\leq\frac{\mu}{L M_G}

Optimización estocástica de primer orden

Tasa de convergencia

Esta desigualdad es sumamente esclarecedora en cuanto a que muestra todos los factores que afectan la convergencia de este tipo de métodos. 

\mathbb{E}[\hat{R}_{S}(h_{\theta_k})- \hat{R}_{S}(h_{\theta^*})] \leq \frac{\hat{\alpha}LM}{2c\mu} + (1-\hat{\alpha}c\mu)^{k-1}\Big(\hat{R}_{S}(h_{\theta_1})-\hat{R}_{S}(h_{\theta^*})-\frac{\hat{\alpha} LM}{2c\mu}\Big)
\forall k \in \mathbb{N}
0 < \hat{\alpha}\leq\frac{\mu}{L M_G}

Con tal de solventar algunas de las limitantes de esta familia de métodos, es que utilizamos información de segundo orden. 

Optimización estocástica de segundo orden

Optimización estocástica de segundo orden

Planteamiento general

La forma en la cual obtendremos dicha             será a través de un

proceso iterativo sobre el espacio de parámetros    , que caracterizan a la

familia                                         , comenzando con un "buen" punto

inicial           . La iteración será de la forma: 

\Theta
H = \bigg\{h|h_{S,\theta}:S\subseteq X\rightarrow Y\bigg\}
h\in H
\theta_0\in \Theta

con

g(\hat{R}_{S}(h)) = \left\{ \begin{array}{lll} \nabla_{\theta_i} \hat{R}_{i}(h_{\theta}) & = \nabla_{\theta_i}\mathbb{L}(h) & \quad 1 \leq i \leq n = |S|\\\\ \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta}) & = \frac{1}{k_g}\sum_{i=1}^{k_g} \nabla_{\theta_i} \mathbb{L}(h) & \quad 1 \leq |S_{k_g}| \leq n = |S| \\\\ H_{S_{k_h}} \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta}) & = \frac{1}{k_g}H_{S_{k_h}}\sum_{i=1}^{k_g} \nabla_{\theta_i} \mathbb{L}(h) & \quad 1 \leq |S_{k_h}|\leq |S_{k_g}| \leq |S| = n \end{array} \right.

Optimización estocástica de segundo orden

Planteamiento general

La forma en la cual obtendremos dicha             será a través de un

proceso iterativo sobre el espacio de parámetros    , que caracterizan a la

familia                                         , comenzando con un "buen" punto

inicial           . La iteración será de la forma: 

\Theta
H = \bigg\{h|h_{S,\theta}:S\subseteq X\rightarrow Y\bigg\}
h\in H
\theta_0\in \Theta

con

g(\hat{R}_{S}(h)) = \left\{ \begin{array}{lll} \nabla_{\theta_i} \hat{R}_{i}(h_{\theta}) & = \nabla_{\theta_i}\mathbb{L}(h) & \quad 1 \leq i \leq n = |S|\\\\ \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta}) & = \frac{1}{k_g}\sum_{i=1}^{k_g} \nabla_{\theta_i} \mathbb{L}(h) & \quad 1 \leq |S_{k_g}| \leq n = |S| \\\\ H_{S_{k_h}} \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta}) & = \frac{1}{k_g}H_{S_{k_h}}\sum_{i=1}^{k_g} \nabla_{\theta_i} \mathbb{L}(h) & \quad 1 \leq |S_{k_h}|\leq |S_{k_g}| \leq |S| = n \end{array} \right.

Optimización estocástica de segundo orden

Supuestos generales

A lo largo de esta sección, supondremos lo siguiente:

2.1.- Acotamiento de los valores propios de la hessiana. Es decir,

supondremos que           es doblemente diferenciable y cumple que

               y                 con             ,                                              tal que:

\hat{R}_{S}(h)
\forall\beta\in\mathbb{R}^+
\forall S_\beta\subseteq X
|S_\beta| = \beta
\exists\quad\mu_\beta\geq\bar{\mu}> 0, \xi_\beta \geq\bar{\xi} > 0
\mu_\beta\mathbb{I}\preceq\nabla_{\theta\theta}^2\hat{R}_{S_{\beta}}(h_{\theta})\preceq \xi_\beta\mathbb{I};\quad \forall \theta\in \mathbb{R}^m

En donde

A\preceq B \Rightarrow B-A \in S_{++}^{n} \quad \forall A, B \in \mathbb{R}^{n\times n}

Optimización estocástica de segundo orden

Supuestos generales

A lo largo de esta sección, supondremos lo siguiente:

\hat{R}_{S}(h)
\forall\beta\in\mathbb{R}^+
\forall S_\beta\subseteq X
|S_\beta| = \beta
\mu_\beta\mathbb{I}\preceq\nabla_{\theta\theta}^2\hat{R}_{S_{\beta}}(h_{\theta})\preceq \xi_\beta\mathbb{I};\quad \forall \theta\in \mathbb{R}^m

El valor propio más pequeño y más grande de                 se denominarán       y     ,  respectivamente.

\nabla_{\theta\theta}^2\hat{R}_{S_{\beta}}(h_{\theta})
\mu
\xi
\exists\quad\mu_\beta\geq\bar{\mu}> 0, \xi_\beta \geq\bar{\xi} > 0

2.1.- Acotamiento de los valores propios de la hessiana. Es decir,

supondremos que           es doblemente diferenciable y cumple que

               y                 con             ,                                              tal que:

Optimización estocástica de segundo orden

Supuestos generales

A lo largo de esta sección, supondremos lo siguiente:

2.2.- Varianza acotada de los gradientes muestreados. Es decir,

tal que                 se cumple:

\forall X_g\subseteq X
\exists v\in \mathbb{R}^+
\textnormal{tr}(Cov(\nabla_{\theta}\hat{R}_{X_{g}}(h_{\theta}))) \leq v^2; \quad \forall \theta\in \mathbb{R}^m

Optimización estocástica de segundo orden

Supuestos generales

A lo largo de esta sección, supondremos lo siguiente:

2.3.- Continuidad Lipschitz de la Hessiana. Es decir,

tal que:

\exists M \in \mathbb{N}
\|\nabla_{\theta\theta}^2\hat{R}_{S}(h_{\theta})-\nabla_{\theta\theta}^2\hat{R}_{S}(h_{\hat{\theta}})\|_2 \leq M \|\theta - \hat{\theta}\|_2; \quad \forall \theta,\hat{\theta}\in \mathbb{R}^m

En donde

\|A\|_2 = \displaystyle\max_{\|x\|_2 = 1}\|Ax\|_2=\sqrt{\lambda_{max}}

Optimización estocástica de segundo orden

Supuestos generales

A lo largo de esta sección, supondremos lo siguiente:

2.4.- Varianza acotada de los componentes de la Hessiana. Es decir,

tal que:

\exists \sigma \in \mathbb{R}^+
\mathbb{E}\bigg[\|\nabla_{\theta\theta}^2\hat{R}_{i}(h_{\theta})-\nabla_{\theta\theta}^2\hat{R}_{S}(h_{\theta})\|_2 \bigg]\leq \sigma^2; \quad \forall \theta\in \mathbb{R}^m

Optimización estocástica de segundo orden

Supuestos generales

A lo largo de esta sección, supondremos lo siguiente:

2.5.- Segundo momento acotado de las iteraciones generadas por 

                                      .  Es decir,                      tal que: 

\exists \gamma \in \mathbb{R}^+
\mathbb{E}\bigg[\|\theta_k - \theta^*\|^2_2 \bigg]\leq \gamma \mathbb{E}^2\bigg[\|\theta_k - \theta^*\|_2 \bigg]
\theta_{k+1} = \theta_k - \alpha_k g(\hat{R}_{S}(h))

Newton estocástico truncado con gradiente conjugado

Optimización estocástica de segundo orden

Newton GC

Concretamente,                                                  con

\theta_{k+1} = \theta_k - \alpha_k H_{S_{k_h}} \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta})
H_{S_{k_h}} = \nabla_{\theta\theta}^2\hat{R}_{S_{k_h}}(h_{\theta})^{-1}

En este método, se utiliza una aproximación al paso de Newton como

dirección de descenso en cada iteración.  Es decir,        es una aproximación

a la inversa de la Hessiana.

H_{S_{k_h}}

Optimización estocástica de segundo orden

Newton GC

se obtiene por medio de iteraciones de gradiente conjugado.

\nabla_{\theta\theta}^2\hat{R}_{S_{k_h}}(h_{\theta})p_k = -\nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta})

A diferencia de newton convencional, la solución al sistema 

Optimización estocástica de segundo orden

Newton GC (A.1) 

Seleccionar        ,     y         con

\eta, \sigma\in(0,1)
max_{cg}
X_0, S_0 \neq \emptyset
|X_0| \geq |S_0|

Para 

k=0,1,...

1. Evaluar  

\nabla_{\theta} \hat{R}_{X_k}(h_{\theta_k}), \quad \hat{R}_{X_k}(h_{\theta_k})

2. Iterar GC      o hasta

max_{cg}
\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})p_k = -\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})
\|\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k}) + \nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k}) \|\leq\sigma\|\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})\|

3. Actualizar 

\theta_{k+1} = \theta_k + \alpha_k p_k

4. Seleccionar muestras        con

X_{k+1}, S_{k+1}
|X_{k+1}| \geq |S_{k+1}|

Optimización estocástica de segundo orden

Newton GC

Como puede observarse, este algoritmo tiene muchos metaparámetros que otorgan al usuario mucha flexibilidad: 

1.- Tamaño de las muestras

2.- Número de iteraciones de gradiente conjugado

 

X_{k}, S_{k}
max_{cg}

Con el trabajo pionero de Nocedal y Byrd (2011), se probó que bajo los supuestos 2.1 y 2.3 la secuencia generada                             cumple que

\theta_{k+1} = \theta_k + \alpha_k p_k
\displaystyle\lim_{k\rightarrow\infty}\|\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})\| = 0

3.- Iteraciones de gradiente estocástico y tamaño de muestra

Optimización estocástica de segundo orden

Newton GC

Como puede observarse, este algoritmo tiene muchos metaparámetros que otorgan al usuario mucha flexibilidad. 

1.- Tamaño de las muestras

2.- Número de iteraciones de gradiente conjugado

 

X_{k}, S_{k}
max_{cg}

3.- Iteraciones de gradiente estocástico y tamaño de muestra

Sin embargo, hasta antes del 2016, no existía un resultado que caracterizara la tasa de convergencia de este algoritmo ni los diferentes efectos que las posibles configuraciones de parámetros pudieran tener sobre la misma.

Optimización estocástica de segundo orden

Newton GC

En septiembre 28 2016, Nocedal y Byrd publicaron los siguientes dos teoremas que caracterizan la tasa de convergencia de algoritmos de esta forma: 

1.- Newton estocástico, convergencia esperada r-superlineal 

2.- Newton estocástico truncado con gradiente conjugado, convergencia lineal.

 

Optimización estocástica de segundo orden

Newton Estocástico

Suponiendo 2.1-2.5, sea          la secuencia generada por A.1; resolviendo el sistema                                              de manera exacta, entonces tenemos que si:

1.

\{\theta_{k}\}
\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})p_k = -\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})
|X_k|\geq |X_0|\eta_k^k;\quad |X_0|\geq\bigg(\frac{6v\gamma M}{\bar{\mu}^2}\bigg)^2; \quad \eta_k > \eta_{k-1}; \quad \eta_1 >1, \eta \rightarrow \infty

2.

|S_k|\geq|S_{k-1}|;\quad \displaystyle\lim_{k\rightarrow\infty}|S_k| = \infty; \quad |S_0| \geq \bigg(\frac{4\sigma}{\bar{\mu}}\bigg)^2

3.

\|\theta_0 - \theta^*\| \leq \frac{\bar{\mu}}{3\gamma M}

Entonces                                       tal que

\exists \{\tau_k\}^\infty_{k=0}; \quad \displaystyle\lim_{k\rightarrow\infty}\frac{\tau_{k+1}}{\tau_{k}}=0
\mathbb{E}\bigg[\|\theta_k - \theta^*\|\bigg]\leq \tau_k

Optimización estocástica de segundo orden

Newton Estocástico

\{\theta_{k}\}
\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})p_k = -\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})
|X_k|\geq |X_0|\eta_k^k;\quad |X_0|\geq\bigg(\frac{6v\gamma M}{\bar{\mu}^2}\bigg)^2; \quad \eta_k > \eta_{k-1}; \quad \eta_1 >1, \eta \rightarrow \infty

2.

|S_k|\geq|S_{k-1}|;\quad \displaystyle\lim_{k\rightarrow\infty}|S_k| = \infty; \quad |S_0| \geq \bigg( \frac{4\sigma}{\bar{\mu}}\bigg)^2

3.

\|\theta_0 - \theta^*\| \leq \frac{\bar{\mu}}{3\gamma M}

Entonces                                       tal que

\exists \{\tau_k\}^\infty_{k=0}; \quad \displaystyle\lim_{k\rightarrow\infty}\frac{\tau_{k+1}}{\tau_{k}}=0
\mathbb{E}\bigg[\|\theta_k - \theta^*\|\bigg]\leq \tau_k

Qué tan positiva definida es la Hessiana

Suponiendo 2.1-2.5, sea          la secuencia generada por A.1; resolviendo el sistema                                              de manera exacta, entonces tenemos que si:

1.

Optimización estocástica de segundo orden

Newton Estocástico

\{\theta_{k}\}
\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})p_k = -\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})
|X_k|\geq |X_0|\eta_k^k;\quad |X_0|\geq\bigg(\frac{6v\gamma M}{\bar{\mu}^2}\bigg)^2; \quad \eta_k > \eta_{k-1}; \quad \eta_1 >1, \eta \rightarrow \infty

2.

|S_k|\geq|S_{k-1}|;\quad \displaystyle\lim_{k\rightarrow\infty}|S_k| = \infty; \quad |S_0| \geq \bigg( \frac{4\sigma}{\bar{\mu}}\bigg)^2

3.

\|\theta_0 - \theta^*\| \leq \frac{\bar{\mu}}{3\gamma M}

Entonces                                       tal que

\exists \{\tau_k\}^\infty_{k=0}; \quad \displaystyle\lim_{k\rightarrow\infty}\frac{\tau_{k+1}}{\tau_{k}}=0
\mathbb{E}\bigg[\|\theta_k - \theta^*\|\bigg]\leq \tau_k

Qué tan laxa es la continuidad de la Hessiana

Suponiendo 2.1-2.5, sea          la secuencia generada por A.1; resolviendo el sistema                                              de manera exacta, entonces tenemos que si:

1.

Optimización estocástica de segundo orden

Newton Estocástico

\{\theta_{k}\}
\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})p_k = -\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})
|X_k|\geq |X_0|\eta_k^k;\quad |X_0|\geq\bigg(\frac{6v\gamma M}{\bar{\mu}^2}\bigg)^2; \quad \eta_k > \eta_{k-1}; \quad \eta_1 >1, \eta \rightarrow \infty

2.

|S_k|\geq|S_{k-1}|;\quad \displaystyle\lim_{k\rightarrow\infty}|S_k| = \infty; \quad |S_0| \geq \bigg( \frac{4\sigma}{\bar{\mu}}\bigg)^2

3.

\|\theta_0 - \theta^*\| \leq \frac{\bar{\mu}}{3\gamma M}

Entonces                                       tal que

\exists \{\tau_k\}^\infty_{k=0}; \quad \displaystyle\lim_{k\rightarrow\infty}\frac{\tau_{k+1}}{\tau_{k}}=0
\mathbb{E}\bigg[\|\theta_k - \theta^*\|\bigg]\leq \tau_k

Qué tanto ruido hay en las iteraciones (cota de segundo momento)

Suponiendo 2.1-2.5, sea          la secuencia generada por A.1; resolviendo el sistema                                              de manera exacta, entonces tenemos que si:

1.

Optimización estocástica de segundo orden

Newton Estocástico

\{\theta_{k}\}
\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})p_k = -\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})
|X_k|\geq |X_0|\eta_k^k;\quad |X_0|\geq\bigg(\frac{6v\gamma M}{\bar{\mu}^2}\bigg)^2; \quad \eta_k > \eta_{k-1}; \quad \eta_1 >1, \eta \rightarrow \infty

2.

|S_k|\geq|S_{k-1}|;\quad \displaystyle\lim_{k\rightarrow\infty}|S_k| = \infty; \quad |S_0| \geq \bigg( \frac{4\sigma}{\bar{\mu}}\bigg)^2

3.

\|\theta_0 - \theta^*\| \leq \frac{\bar{\mu}}{3\gamma M}

Entonces                                       tal que

\exists \{\tau_k\}^\infty_{k=0}; \quad \displaystyle\lim_{k\rightarrow\infty}\frac{\tau_{k+1}}{\tau_{k}}=0
\mathbb{E}\bigg[\|\theta_k - \theta^*\|\bigg]\leq \tau_k

Qué tanta varianza hay en las componentes de la Hessiana

Suponiendo 2.1-2.5, sea          la secuencia generada por A.1; resolviendo el sistema                                              de manera exacta, entonces tenemos que si:

1.

Optimización estocástica de segundo orden

Newton Estocástico

\{\theta_{k}\}
\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})p_k = -\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})
|X_k|\geq |X_0|\eta_k^k;\quad |X_0|\geq\bigg(\frac{6v\gamma M}{\bar{\mu}^2}\bigg)^2; \quad \eta_k > \eta_{k-1}; \quad \eta_1 >1, \eta \rightarrow \infty

2.

|S_k|\geq|S_{k-1}|;\quad \displaystyle\lim_{k\rightarrow\infty}|S_k| = \infty; \quad |S_0| \geq \bigg( \frac{4\sigma}{\bar{\mu}}\bigg)^2

3.

\|\theta_0 - \theta^*\| \leq \frac{\bar{\mu}}{3\gamma M}

Entonces                                       tal que

\exists \{\tau_k\}^\infty_{k=0}; \quad \displaystyle\lim_{k\rightarrow\infty}\frac{\tau_{k+1}}{\tau_{k}}=0
\mathbb{E}\bigg[\|\theta_k - \theta^*\|\bigg]\leq \tau_k

Qué tanta varianza hay en las componentes del gradiente

Suponiendo 2.1-2.5, sea          la secuencia generada por A.1; resolviendo el sistema                                              de manera exacta, entonces tenemos que si:

1.

Optimización estocástica de segundo orden

Newton Estocástico GC

Suponiendo 2.1-2.5, sea          la secuencia generada por A.1; resolviendo el sistema                                              con iteraciones de gradiente conjugado, entonces tenemos que si:

1.

\{\theta_{k}\}
\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})p_k = -\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})

2.  En cada iteración se realizan   iteraciones de GC con 

y

|S_k|=\beta\geq\frac{64\sigma^2}{\bar{\mu}^2}
r \geq \frac{\log\bigg(\frac{16\xi}{\mu_\beta}\sqrt{\delta(\beta)}\bigg)}{\log\Bigg(\frac{\sqrt{\delta(\beta)}+ 1}{\sqrt{\delta(\beta)} - 1}\Bigg)}
\delta(\beta)=\frac{\xi_\beta}{\mu_\beta}
r

3.

\|\theta_0 - \theta^*\|\leq\displaystyle\min\Bigg\{\frac{1}{4\frac{M}{2\mu_\beta}},\frac{1}{4\gamma\frac{M}{2\mu_\beta}}\Bigg\}

Entonces 

\mathbb{E}\bigg[\|\theta_{k+1} - \theta^*\|\bigg]\leq \frac{1}{2}\mathbb{E}\bigg[\|\theta_{k} - \theta^*\|\bigg]

Optimización estocástica de segundo orden

Newton Estocástico GC

Suponiendo 2.1-2.5, sea          la secuencia generada por A.1; resolviendo el sistema                                              con iteraciones de gradiente conjugado, entonces tenemos que si:

1.

\{\theta_{k}\}
\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})p_k = -\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})

2.  En cada iteración se realizan   iteraciones de GC con 

y

|S_k|=\beta\geq\frac{64\sigma^2}{\bar{\mu}^2}
r \geq \frac{\log\bigg(\frac{16\xi}{\mu_\beta}\sqrt{\delta(\beta)}\bigg)}{\log\Bigg(\frac{\sqrt{\delta(\beta)}+ 1}{\sqrt{\delta(\beta)} - 1}\Bigg)}
\delta(\beta)=\frac{\xi_\beta}{\mu_\beta}
r

3.

\|\theta_0 - \theta^*\|\leq\displaystyle\min\Bigg\{\frac{1}{4\frac{M}{2\mu_\beta}},\frac{1}{4\gamma\frac{M}{2\mu_\beta}}\Bigg\}

Entonces 

\mathbb{E}\bigg[\|\theta_{k+1} - \theta^*\|\bigg]\leq \frac{1}{2}\mathbb{E}\bigg[\|\theta_{k} - \theta^*\|\bigg]

Qué tanta varianza hay en las componentes de la Hessiana

Optimización estocástica de segundo orden

Newton Estocástico GC

Suponiendo 2.1-2.5, sea          la secuencia generada por A.1; resolviendo el sistema                                              con iteraciones de gradiente conjugado, entonces tenemos que si:

1.

\{\theta_{k}\}
\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})p_k = -\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})

2.  En cada iteración se realizan   iteraciones de GC con 

y

|S_k|=\beta\geq\frac{64\sigma^2}{\bar{\mu}^2}
r \geq \frac{\log\bigg(\frac{16\xi}{\mu_\beta}\sqrt{\delta(\beta)}\bigg)}{\log\Bigg(\frac{\sqrt{\delta(\beta)}+ 1}{\sqrt{\delta(\beta)} - 1}\Bigg)}
\delta(\beta)=\frac{\xi_\beta}{\mu_\beta}
r

3.

\|\theta_0 - \theta^*\|\leq\displaystyle\min\Bigg\{\frac{1}{4\frac{M}{2\mu_\beta}},\frac{1}{4\gamma\frac{M}{2\mu_\beta}}\Bigg\}

Entonces 

\mathbb{E}\bigg[\|\theta_{k+1} - \theta^*\|\bigg]\leq \frac{1}{2}\mathbb{E}\bigg[\|\theta_{k} - \theta^*\|\bigg]

Número de condición de la Hessiana

Optimización estocástica de segundo orden

Newton Estocástico GC

\|\theta_0 - \theta^*\|\leq\displaystyle\min\Bigg\{\frac{1}{4\frac{M}{2\mu_\beta}},\frac{1}{4\gamma\frac{M}{2\mu_\beta}}\Bigg\}

Como puede observarse, en ambas variantes de este método, hay una gran dependencia en cuanto a la distancia existente entre el punto incial y el óptimo:

1.- Newton estocástico

 

2.- Newton estocástico GC

\|\theta_0 - \theta^*\| \leq \frac{\bar{\mu}}{3\gamma M}

Posible solución: realizar iteraciones de descenso en gradiente estocástico hasta que algún proxy de estas condiciones se cumpla.

L-BFGS estocástico

Optimización estocástica de segundo orden

L-BFGS estocástico

En el método original, cada iteración tiene la forma:

 

\theta_{k+1} = \theta_k - \alpha_kH_k^{-1}\nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta});\quad H_k\in S_{++}^n

Este método es una variación del algoritmo BFGS en donde, en cada iteración, se utiliza la información obtenida en los últimos T periodos para obtener una dirección de descenso que toma en consideración información de curvatura.

Optimización estocástica de segundo orden

L-BFGS estocástico

En donde cada       se obtiene resolviendo el problema:

 

s_k = x_{k+1}-x_k

Este método es una variación del algoritmo BFGS en donde, en cada iteración, se utiliza la información obtenida en los últimos T periodos para obtener una dirección de descenso que toma en consideración información de curvatura.

H_k
H_{k+1} = \displaystyle\min_{H}\|H_k-H\|_{F};\quad s.a.\quad H y_k = s_k, \quad H=H^T
y_k = \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta_{k+1}}) - \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta_{k}})

Optimización estocástica de segundo orden

L-BFGS estocástico

Cuya solución está dada por: 

 

Este método es una variación del algoritmo BFGS en donde, en cada iteración, se utiliza la información obtenida en los últimos T periodos para obtener una dirección de descenso que toma en consideración información de curvatura.

H_{k+1} = (\mathbb{I} - \rho_k s_k y_k^T)H_k(\mathbb{I}-\rho_ky_ks_k^T) + \rho_ks_ks_k^T

Optimización estocástica de segundo orden

L-BFGS estocástico

Es necesario agregar una condición adicional sobre la ecuación de secante para garantizar que       pueda mapear a       sobre      .  Ésta es:

             

Este método es una variación del algoritmo BFGS en donde, en cada iteración, se utiliza la información obtenida en los últimos T periodos para obtener una dirección de descenso que toma en consideración información de curvatura.

H_k
s_k
y_k
s_k^Ty_k>0

Optimización estocástica de segundo orden

L-BFGS estocástico

Una desventaja de este método es que requiere almacenar la matriz 

para llevar a cabo la actualización del paso en cada iteración. Una solución muy ingeniosa utiliza la información de los últimos T pasos, haciendo uso de la siguiente recursión:

H_k
H_k = (V^T_{k-1}... V_{k-m}^T)H_k^0(V_{k-m}... V_{k-1})
+ \rho_{k-m} (V_{k-1}^T... V_{k-m+1})s_{k-m}s^T_{k-m}(V_{k-m+1}... V_{k-1})
+ \rho_{k-m+1} (V_{k-1}^T... V_{k-m+2})s_{k-m+1}s^T_{k-m+1}(V_{k-m+2}... V_{k-1})
+ ...
+ \rho_{k-1}s_{k-1}s^T_{k-1}
\rho_{k}=\frac{1}{y_k^Ts_k}
V_k = \mathbb{I} - \rho_ky_ks_k^T

Optimización estocástica de segundo orden

L-BFGS estocástico

La única cuestión que queda por resolver es qué matriz utilizar como        .

Lo que se utiliza convencionalmente en la práctica es: 

H^0_k
H^0_k=\frac{s_{k-1}^Ty_{k-1}}{y_{k-1}^Ty_{k-1}}\mathbb{I}

El problema con esta metodología es que       no posee información relevante sobre la curvatura de la función. En el escenario ideal

                              por lo que aproximaremos                   resolviendo el

sistema                             por medio de iteraciones de GC.

H^0_k
H_k^0 \approx \nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})^{-1}
r\gets H^0_kq
\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})r=q

Optimización estocástica de segundo orden

L-BFGS estocástico (A.2)

q = \nabla_{\theta} \hat{R}_{X_k}(h_{\theta_k})

Para

i=k-1, k-2, ..., k-t
\alpha_i\gets\rho_i s_i^Tq
q = q - \alpha_i y_i
\nabla_{\theta\theta}^2\hat{R}_{S_{k}}(h_{\theta_k})r=q

Obtener  aproximando la solución de            

r

Para

i=k-t, k-t+1, ..., k-1
\beta\gets\rho_i y_i^Tr
r = r + s_i(\alpha_i -\beta)

Regresar

r = H_k\nabla_{\theta} \hat{R}_{X_k}(h_{\theta_k})

Optimización estocástica de segundo orden

L-BFGS estocástico (A.3)

Seleccionar    ,     y         con

TOL
max_{cg}
X_0, S_0 \neq \emptyset
|X_0| \geq |S_0|

Mientras 

\|\nabla_{\theta} \hat{R}_{X_{k}}(h_{\theta_k})\| > TOL

1. Almacenar             y obtener

\nabla_{\theta} \hat{R}_{X_k}(h_{\theta_k}), \quad \theta_k

2. Actualizar         ,                  , 

\theta_{k+1} = \theta_k + \alpha_k p_k

3. Seleccionar muestras        con

X_{k+1}, S_{k+1}
|X_{k+1}| \geq |S_{k+1}|

0. Evaluar                y hacer

\nabla_{\theta} \hat{R}_{X_0}(h_{\theta_0}), \quad \hat{R}_{X_0}(h_{\theta_0})
p_0 = - \nabla_{\theta} \hat{R}_{X_k}(h_{\theta_k})
\alpha_k
s_k = x_{k+1}-x_k
y_k = \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta_{k+1}}) - \nabla_{\theta_{k_g}} \hat{R}_{S_{k_g}}(h_{\theta_{k}})

4. Obtener     con A.2

p_{k+1}

Optimización estocástica de segundo orden

L-BFGS estocástico (convergencia)

Nocedal y Byrd (2011) prueban que este método converge globalmente bajo 2.1 y 2.3 y Nocedal y Byrd (2015) prueban que la tasa de convergencia es r-lineal

Optimización estocástica de segundo orden

L-BFGS estocástico (convergencia r-líneal)

Bajo 2.1-2.5 y suponiendo que:

1.-

2.-

Entonces

 

 

\alpha^k = \frac{\beta}{k};\quad\beta>\frac{1}{2\mu_1\bar{\mu}}
\mu_1\mathbb{I}\preceq H_k\preceq \mu_2\mathbb{I};\quad 0 < \mu_1\leq\mu_2
\mathbb{E}\bigg[\hat{R}_{S}(h_{\theta_k})-\hat{R}_{S}(h_{\theta^*})\bigg]\leq\frac{1}{k}\displaystyle\max\bigg\{\frac{\xi\mu_2^2\beta^2\gamma^2}{2(2\mu_1\bar{\mu}\beta - 1)}, \hat{R}_{S}(h_{\theta_1})-\hat{R}_{S}(h_{\theta^*})\bigg\}

Implementación y resultados

Implementación y resultados

Ambos métodos se probaron y se compararon con su contraparte determinística L-BFGS en dos contextos:

 

1.- Determinístico

2.- No determinístico

Escenarios de prueba 

Implementación y resultados

Escenarios de prueba (Determinístico)

En este contexto, se buscó minimizar dos funciones:

 

1. 

 

 

f(w) = \displaystyle\sum_{j=0}^{100}(100-j)w_j^2

Implementación y resultados

Escenarios de prueba (Determinístico)

En este contexto, se buscó minimizar dos funciones:

 

2. 

 

 

f(w) = \displaystyle\sum_{j=0}^{100}(100-j)w_j^2 + e^{w_j}

Implementación y resultados

Escenarios de prueba (No determinístico)

Para probar la eficiencia de estos métodos en el contexto de aprendizaje automático, en esta sección, entrenaremos una regresión logística para aprender a clasificar señal de ruido en una base de datos generada con observaciones de choques de partículas en el Boson de Higgs. La base de datos consta de once millones de observaciones, de las cuales se muestrearon un millón para correr estos algoritmos en un ambiente no paralelizado. Del mismo modo, la base cuenta con  27 atributos que son propiedades cinemáticas medidas con detectores de partículas. La variable de interés es binaria y lo que se busca es identificar la señal (1) del ruido (0).

Implementación y resultados

Escenarios de prueba (No determinístico)

\hat{R}_{S}(h)= \sum_{i=1}^{|S|}\Bigg[y_i\log\bigg(\frac{1}{1+e^{-x_i^T\theta}}\bigg)+(1-y_i)\log\bigg(1 - \frac{1}{1+e^{-x_i^T\theta}}\bigg) + \eta\|\theta\|_2^2\Bigg]
= \sum_{i=1}^{|S|}\Bigg[-y_i\bigg(\log(1+e^{(-1^{y_i})x_i^T\theta})\bigg)+(1-y_i)\bigg(-\log(1+e^{(-1^{y_i})x_i^T\theta})\bigg) + \eta\|\theta\|_2^2\Bigg]

Con tal de usar una versión númericamente más estable que la lógistica convencional, se llevó a cabo la siguiente transformación:

Implementación y resultados

Escenarios de prueba (No determinístico)

La notación utilizada en los gráficos es la siguiente:

Conclusión y trabajo futuro

Optimización estocástica de segundo orden

Conclusiones

  • Número de iteraciones de gradiente conjugado. Idealmente, entre mayor sea el número de iteraciones permitidas, las direcciones de descenso serán mejores y, en consecuencia, se esperaría una mejor tasa de convergencia.

  • Número de iteraciones de gradiente estocástico. Entre mayor sea el número de iteraciones, se espera que el punto inicial que utiliza SNewton sea de mejor calidad y, por tanto, converja en menos iteraciones.

Optimización estocástica de segundo orden

Conclusiones

  • Tamaño de muestra de gradiente estocástico. Entre mayor sea, el gradiente estocástico podrá tomar direcciones de descenso más estables y llegar a un buen punto inicial más rápidamente.

  • Tamaño de muestra SNewton. Al igual que en el punto anterior, entre mayor sea el tamaño de muestra, se espera tener mejores direcciones y, por tanto mejor convergencia.

Optimización estocástica de segundo orden

Conclusiones

  • Memoria. Si bien es un factor diferenciador en cuanto a la velocidad de convergencia, no lo es tanto como el tamaño de muestra; esto sugiere utilizar menos memoria para hacer cada paso más eficiente.

  • Iteraciones de GC en SLM. No parece tener tanto impacto en la velocidad de convergencia del método; esto puede ser un indicador de que no es necesaria tanta precisión en la información de curvatura a la hora de aproximar H.

Optimización estocástica de segundo orden

Conclusiones

  • Los resultados teóricos, así como los experimentales, sugieren conveniente el uso de métodos que utilizan información sobre la curvatura de la función para el cálculo de direcciones de descenso en escenarios de gran escala.

Optimización estocástica de segundo orden

Trabajo futuro

  • Construcción de una heurística eficiente que permita determinar en qué momento es adecuado detener las iteraciones de gradiente estocástico y comenzar con los métodos de segundo orden.

  • Programar métodos en un ambiente altamente paralelo.

  • Aplicación de métodos a funciones más complejas, idealmente en el escenario de aprendizaje profundo.

Gracias

MÉTODOS DE OPTIMIZACIÓN ESTOCÁSTICA DE SEGUNDO ORDEN CON APLICACIÓN

By Luis Roman

MÉTODOS DE OPTIMIZACIÓN ESTOCÁSTICA DE SEGUNDO ORDEN CON APLICACIÓN

  • 1,192