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
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.
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.
Aprendizaje a gran escala
Planteamiento
De manera concreta, sean
y
conjuntos de variables aleatorias
Nuestra tarea consiste en encontrar, de manera eficiente, una hipótesis
de forma
tal que probablemente estime a
aproximadamente correcta.
independientes tales que
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
y ,
como se definieron anteriormente, definimos al error
de generalización de
como:
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
y ,
como se definieron anteriormente, definimos al error
empírico de
como:
Aprendizaje a gran escala
PAC-aprendible
Ahora bien, dados
y
conjuntos de variables aleatorias
tales que
,
decimos que una familia de hipótesis
es PAC-aprendible si existe un algoritmo
que genera una hipótesis
tal que
se cumple que:
Decimos que es eficientemente PAC-aprendible si
tiene una complejidad de orden polinomial en el tamaño de los datos.
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 .
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.
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
Aprendizaje a gran escala
Descomposición del error
Si denotamos con
a la hipótesis que minimiza el error de generalización,
con
a la hipótesis que minimiza el error de generalización dada la familia
de hipótesis seleccionada y
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:
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:
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
el concepto que deseamos aproximar y
una familia de hipótesis, nos enfocaremos en el problema de
encontrar tal que minimize el error empírico:
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:
con
,
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:
con
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:
con
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
i.e. tal que
2.- Cotas para primer y segundo momento
a.- Existen constantes tales que
Optimización estocástica de primer orden
Supuestos
1.- Continuidad Lipschitz del gradiente de la función objetivo
i.e. tal que
2.- Cotas para primer y segundo momento
b.- Existen constantes tales que
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:
Con
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.
Con
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.
Con
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:
Optimización estocástica de primer orden
Tasa de convergencia
Suponiendo 1, 2.a, 2.b y 3, tomando constante tal que
Entonces
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.
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.
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.
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.
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.
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:
con
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:
con
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:
En donde
Optimización estocástica de segundo orden
Supuestos generales
A lo largo de esta sección, supondremos lo siguiente:
El valor propio más pequeño y más grande de se denominarán y , respectivamente.
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:
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:
En donde
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:
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:
Newton estocástico truncado con gradiente conjugado
Optimización estocástica de segundo orden
Newton GC
Concretamente, con
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.
Optimización estocástica de segundo orden
Newton GC
se obtiene por medio de iteraciones de gradiente conjugado.
A diferencia de newton convencional, la solución al sistema
Optimización estocástica de segundo orden
Newton GC (A.1)
Seleccionar , y con
Para
1. Evaluar
2. Iterar GC o hasta
3. Actualizar
4. Seleccionar muestras con
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
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
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
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.
2.
3.
Entonces tal que
Optimización estocástica de segundo orden
Newton Estocástico
2.
3.
Entonces tal que
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
2.
3.
Entonces tal que
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
2.
3.
Entonces tal que
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
2.
3.
Entonces tal que
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
2.
3.
Entonces tal que
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.
2. En cada iteración se realizan iteraciones de GC con
y
3.
Entonces
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.
2. En cada iteración se realizan iteraciones de GC con
y
3.
Entonces
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.
2. En cada iteración se realizan iteraciones de GC con
y
3.
Entonces
Número de condición de la Hessiana
Optimización estocástica de segundo orden
Newton Estocástico GC
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
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:
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:
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
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.
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.
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:
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:
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.
Optimización estocástica de segundo orden
L-BFGS estocástico (A.2)
Para
Obtener aproximando la solución de
Para
Regresar
Optimización estocástica de segundo orden
L-BFGS estocástico (A.3)
Seleccionar , y con
Mientras
1. Almacenar y obtener
2. Actualizar , ,
3. Seleccionar muestras con
0. Evaluar y hacer
4. Obtener con A.2
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
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.
Implementación y resultados
Escenarios de prueba (Determinístico)
En este contexto, se buscó minimizar dos funciones:
2.
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)
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