stringtranslate.com

Aprendizaje automático en línea

En informática , el aprendizaje automático en línea es un método de aprendizaje automático en el que los datos están disponibles en un orden secuencial y se utilizan para actualizar el mejor predictor de datos futuros en cada paso, a diferencia de las técnicas de aprendizaje por lotes que generan el mejor predictor mediante el aprendizaje. en todo el conjunto de datos de entrenamiento a la vez. El aprendizaje en línea es una técnica común utilizada en áreas de aprendizaje automático donde es computacionalmente inviable entrenar en todo el conjunto de datos, lo que requiere la necesidad de algoritmos fuera del núcleo . También se utiliza en situaciones en las que es necesario que el algoritmo se adapte dinámicamente a nuevos patrones en los datos, o cuando los datos en sí se generan en función del tiempo, por ejemplo, en la predicción del precio de las acciones . Los algoritmos de aprendizaje en línea pueden ser propensos a sufrir interferencias catastróficas , un problema que puede abordarse mediante enfoques de aprendizaje incremental .

Introducción

En el entorno del aprendizaje supervisado , se debe aprender una función de , que se considera como un espacio de entradas y un espacio de salidas, que predice bien en instancias extraídas de una distribución de probabilidad conjunta en . En realidad, el alumno nunca conoce la verdadera distribución entre instancias. En cambio, el alumno suele tener acceso a un conjunto de ejemplos de formación . En este entorno, la función de pérdida se proporciona como , de modo que mide la diferencia entre el valor previsto y el valor real . El objetivo ideal es seleccionar una función , donde haya un espacio de funciones llamado espacio de hipótesis, de modo que se minimice alguna noción de pérdida total. Dependiendo del tipo de modelo (estadístico o contradictorio), se pueden idear diferentes nociones de pérdida, que conducen a diferentes algoritmos de aprendizaje.

Vista estadística del aprendizaje en línea

En los modelos de aprendizaje estadístico, se supone que la muestra de entrenamiento se ha extraído de la distribución real y el objetivo es minimizar el "riesgo" esperado. Un paradigma común en esta situación es estimar una función mediante la minimización del riesgo empírico o la minimización del riesgo empírico regularizado ( generalmente regularización de Tikhonov ). La elección de la función de pérdida aquí da lugar a varios algoritmos de aprendizaje bien conocidos, como los mínimos cuadrados regularizados y las máquinas de vectores de soporte . Un modelo puramente en línea en esta categoría aprendería basándose solo en la nueva entrada , el mejor predictor actual y alguna información almacenada adicional (que generalmente se espera que tenga requisitos de almacenamiento independientes del tamaño de los datos de entrenamiento). Para muchas formulaciones, por ejemplo , métodos de kernel no lineales , el verdadero aprendizaje en línea no es posible, aunque se puede utilizar una forma de aprendizaje en línea híbrido con algoritmos recursivos donde se permite depender de todos los puntos de datos anteriores . En este caso, ya no se garantiza que los requisitos de espacio sean constantes, ya que requiere almacenar todos los puntos de datos anteriores, pero la solución puede tardar menos en calcularse con la adición de un nuevo punto de datos, en comparación con las técnicas de aprendizaje por lotes.

Una estrategia común para superar los problemas anteriores es aprender usando minilotes, que procesan un pequeño lote de puntos de datos a la vez; esto puede considerarse como aprendizaje pseudo-en línea para un número mucho menor que el número total de puntos de entrenamiento. Las técnicas de mini lotes se utilizan con el paso repetido de los datos de entrenamiento para obtener versiones optimizadas fuera del núcleo de los algoritmos de aprendizaje automático, por ejemplo, el descenso de gradiente estocástico . Cuando se combina con la retropropagación , este es actualmente el método de entrenamiento de facto para entrenar redes neuronales artificiales .

Ejemplo: mínimos cuadrados lineales

El ejemplo simple de mínimos cuadrados lineales se utiliza para explicar una variedad de ideas en el aprendizaje en línea. Las ideas son lo suficientemente generales como para aplicarlas a otras configuraciones, por ejemplo, con otras funciones de pérdida convexas.

Aprendizaje por lotes

Considere la configuración del aprendizaje supervisado como una función lineal a aprender: donde es un vector de entradas (puntos de datos) y es un vector de filtro lineal. El objetivo es calcular el vector de filtro . Para este fin, se utiliza una función de pérdida cuadrada para calcular el vector que minimiza la pérdida empírica donde

Sea la matriz de datos y es el vector columna de valores objetivo después de la llegada de los primeros puntos de datos. Suponiendo que la matriz de covarianza es invertible (de lo contrario, es preferible proceder de manera similar con la regularización de Tikhonov), la mejor solución al problema de mínimos cuadrados lineales viene dada por

Ahora, calcular la matriz de covarianza lleva tiempo , invertir la matriz lleva tiempo , mientras que el resto de la multiplicación lleva tiempo , dando un tiempo total de . Cuando hay un total de puntos en el conjunto de datos, para volver a calcular la solución después de la llegada de cada punto de datos , el enfoque ingenuo tendrá una complejidad total . Tenga en cuenta que al almacenar la matriz , actualizarla en cada paso solo necesita agregar , lo que lleva tiempo, lo que reduce el tiempo total , pero con un espacio de almacenamiento adicional de almacenar . [1]

Aprendizaje en línea: mínimos cuadrados recursivos

El algoritmo de mínimos cuadrados recursivo (RLS) considera una aproximación en línea al problema de mínimos cuadrados. Se puede demostrar que inicializando y , la solución del problema de mínimos cuadrados lineales dado en la sección anterior se puede calcular mediante la siguiente iteración: El algoritmo de iteración anterior se puede demostrar mediante inducción en . [2] La prueba también muestra que . También se puede considerar RLS en el contexto de filtros adaptativos (ver RLS ).

La complejidad de los pasos de este algoritmo es , que es un orden de magnitud más rápida que la complejidad del aprendizaje por lotes correspondiente. Los requisitos de almacenamiento en cada paso aquí son almacenar la matriz , que es constante en . Para el caso en que no sea invertible, considere la versión regularizada de la función de pérdida del problema . Entonces, es fácil demostrar que el mismo algoritmo funciona con , y las iteraciones proceden a dar . [1]

Descenso de gradiente estocástico

Cuando esto se reemplaza por o por , se convierte en el algoritmo de descenso de gradiente estocástico. En este caso, la complejidad de los pasos de este algoritmo se reduce a . Los requisitos de almacenamiento en cada paso son constantes en .

Sin embargo, el tamaño del paso debe elegirse cuidadosamente para resolver el problema de minimización del riesgo esperado, como se detalla anteriormente. Al elegir un tamaño de paso decreciente se puede demostrar la convergencia de la iteración promedio . Esta configuración es un caso especial de optimización estocástica , un problema bien conocido en optimización. [1]

Descenso de gradiente estocástico incremental

En la práctica, se pueden realizar múltiples pases de gradiente estocástico (también llamados ciclos o épocas) sobre los datos. El algoritmo así obtenido se llama método de gradiente incremental y corresponde a una iteración. La principal diferencia con el método de gradiente estocástico es que aquí se elige una secuencia para decidir qué punto de entrenamiento se visita en el -ésimo paso. Esta secuencia puede ser estocástica o determinista. Luego, el número de iteraciones se desacopla del número de puntos (cada punto se puede considerar más de una vez). Se puede demostrar que el método del gradiente incremental proporciona un minimizador del riesgo empírico. [3] Las técnicas incrementales pueden resultar ventajosas cuando se consideran funciones objetivas formadas por una suma de muchos términos, por ejemplo, un error empírico correspondiente a un conjunto de datos muy grande. [1]

Métodos del núcleo

Los núcleos se pueden utilizar para extender los algoritmos anteriores a modelos no paramétricos (o modelos donde los parámetros forman un espacio dimensional infinito). El procedimiento correspondiente ya no será realmente online y en su lugar implicará almacenar todos los puntos de datos, pero sigue siendo más rápido que el método de fuerza bruta. Esta discusión se restringe al caso de la pérdida cuadrada, aunque puede extenderse a cualquier pérdida convexa. Se puede demostrar mediante una inducción sencilla [1] que si es la matriz de datos y es la salida después de los pasos del algoritmo SGD , entonces, donde y la secuencia satisface la recursividad: y Observe que aquí solo está el kernel estándar en , y el predictor es de la forma


Ahora, si en su lugar se introduce un núcleo general y se deja que el predictor sea entonces la misma prueba también mostrará que el predictor que minimiza la pérdida de mínimos cuadrados se obtiene cambiando la recursividad anterior a La expresión anterior requiere almacenar todos los datos para actualizar . La complejidad de tiempo total para la recursividad al evaluar el -ésimo punto de datos es , donde es el costo de evaluar el núcleo en un solo par de puntos. [1] Por lo tanto, el uso del kernel ha permitido el movimiento desde un espacio de parámetros de dimensión finita a una característica de dimensión posiblemente infinita representada por un kernel al realizar en su lugar la recursividad en el espacio de parámetros , cuya dimensión es la misma que el tamaño de el conjunto de datos de entrenamiento. En general, esto es una consecuencia del teorema del representante . [1]

Optimización convexa en línea

La optimización convexa en línea (OCO) [4] es un marco general para la toma de decisiones que aprovecha la optimización convexa para permitir algoritmos eficientes. El marco es el del juego repetido de la siguiente manera:

Para

El objetivo es minimizar el arrepentimiento , o la diferencia entre la pérdida acumulada y la pérdida del mejor punto fijo en retrospectiva. Como ejemplo, consideremos el caso de la regresión lineal de mínimos cuadrados en línea. Aquí, los vectores de peso provienen del conjunto convexo y la naturaleza devuelve la función de pérdida convexa . Tenga en cuenta aquí que se envía implícitamente con .

Sin embargo, algunos problemas de predicción en línea no pueden encajar en el marco de OCO. Por ejemplo, en la clasificación en línea, el dominio de predicción y las funciones de pérdida no son convexos. En tales escenarios, se utilizan dos técnicas simples para la convexificación : aleatorización y funciones de pérdida sustituta. [ cita necesaria ]

Algunos algoritmos simples de optimización convexa en línea son:

Sigue al líder (FTL)

La regla de aprendizaje más sencilla que se puede probar es seleccionar (en el paso actual) la hipótesis que tenga la menor pérdida en todas las rondas anteriores. Este algoritmo se llama Seguir al líder y la ronda viene dada simplemente por: Por lo tanto, este método puede considerarse un algoritmo codicioso . Para el caso de optimización cuadrática en línea (donde la función de pérdida es ), se puede mostrar un límite de arrepentimiento que crece como . Sin embargo, no se pueden obtener límites similares para el algoritmo FTL para otras familias importantes de modelos como la optimización lineal en línea. Para hacerlo, se modifica FTL agregando regularización.

Sigue al líder regularizado (FTRL)

Esta es una modificación natural de FTL que se utiliza para estabilizar las soluciones FTL y obtener mejores límites de arrepentimiento. Se elige una función de regularización y se realiza el aprendizaje en la ronda t de la siguiente manera: Como ejemplo especial, considere el caso de optimización lineal en línea, es decir, donde la naturaleza devuelve funciones de pérdida de la forma . Además, deja . Supongamos que se elige la función de regularización para algún número positivo . Luego, se puede demostrar que la iteración que minimiza el arrepentimiento se convierte en. Tenga en cuenta que esto se puede reescribir como , que se ve exactamente como el descenso de gradiente en línea.

Si S es, en cambio, un subespacio convexo de , sería necesario proyectar S , lo que lleva a la regla de actualización modificada . Este algoritmo se conoce como proyección diferida, ya que el vector acumula los gradientes. También se conoce como algoritmo de promedio dual de Nesterov. En este escenario de funciones de pérdida lineal y regularización cuadrática, el arrepentimiento está limitado por y, por lo tanto, el arrepentimiento promedio llega a 0 , según se desee.

Descenso de subgradiente en línea (OSD)

Lo anterior resultó ser un verdadero arrepentimiento para las funciones de pérdida lineal . Para generalizar el algoritmo a cualquier función de pérdida convexa, el subgradiente de se utiliza como una aproximación lineal a near , lo que lleva al algoritmo de descenso de subgradiente en línea:

Inicializar parámetro

Para

Se puede utilizar el algoritmo OSD para derivar límites de arrepentimiento para la versión en línea de SVM para clasificación, que utiliza la pérdida de bisagra.

Otros algoritmos

Los algoritmos FTRL regularizados cuadráticamente conducen a algoritmos de gradiente proyectados de manera perezosa como se describe anteriormente. Para utilizar lo anterior para regularizadores y funciones convexas arbitrarias, se utiliza el descenso de espejos en línea . En retrospectiva, la regularización óptima se puede derivar para funciones de pérdida lineal, lo que conduce al algoritmo AdaGrad . Para la regularización euclidiana, se puede mostrar un límite de arrepentimiento de , que puede mejorarse aún más a a para funciones de pérdida fuertemente convexas y exp-cóncavas.

Aprendizaje continuo

El aprendizaje continuo significa mejorar constantemente el modelo aprendido mediante el procesamiento de flujos continuos de información. [5] Las capacidades de aprendizaje continuo son esenciales para los sistemas de software y los agentes autónomos que interactúan en un mundo real en constante cambio. Sin embargo, el aprendizaje continuo es un desafío para el aprendizaje automático y los modelos de redes neuronales, ya que la adquisición continua de información disponible de forma incremental a partir de distribuciones de datos no estacionarias generalmente conduce a un olvido catastrófico .

Interpretaciones del aprendizaje en línea.

El paradigma del aprendizaje en línea tiene diferentes interpretaciones según la elección del modelo de aprendizaje, cada una de las cuales tiene distintas implicaciones sobre la calidad predictiva de la secuencia de funciones . Para esta discusión se utiliza el algoritmo prototípico de descenso de gradiente estocástico. Como se señaló anteriormente, su recursividad está dada por

La primera interpretación considera el método de descenso de gradiente estocástico aplicado al problema de minimizar el riesgo esperado definido anteriormente. [6] De hecho, en el caso de un flujo infinito de datos, dado que se supone que los ejemplos se extraen iid de la distribución , la secuencia de gradientes de en la iteración anterior es una muestra iid de estimaciones estocásticas del gradiente esperado riesgo y, por lo tanto, se pueden aplicar resultados de complejidad para el método de descenso de gradiente estocástico para limitar la desviación , donde es el minimizador de . [7] Esta interpretación también es válida en el caso de un conjunto de entrenamiento finito; Aunque con múltiples pasadas por los datos los gradientes ya no son independientes, aún así se pueden obtener resultados de complejidad en casos especiales.

La segunda interpretación se aplica al caso de un conjunto de entrenamiento finito y considera el algoritmo SGD como una instancia del método de descenso de gradiente incremental. [3] En este caso, en cambio, se analiza el riesgo empírico: dado que los gradientes de en las iteraciones de descenso de gradiente incremental también son estimaciones estocásticas del gradiente de , esta interpretación también está relacionada con el método de descenso de gradiente estocástico, pero se aplica para minimizar el riesgo empírico frente al riesgo esperado. Dado que esta interpretación se refiere al riesgo empírico y no al riesgo esperado, se permiten múltiples pases a través de los datos y, de hecho, conducen a límites más estrictos en las desviaciones , donde está el minimizador de .

Implementaciones

Ver también

Paradigmas de aprendizaje

Algoritmos generales

Modelos de aprendizaje

Referencias

  1. ^ abcdefg L. Rosasco, T. Poggio, Aprendizaje automático: un enfoque de regularización, Notas de conferencias del MIT-9.520, manuscrito, diciembre de 2015. Capítulo 7: Aprendizaje en línea
  2. ^ Kushner, Harold J.; Yin, G. George (2003). Aproximación estocástica y algoritmos recursivos con aplicaciones (Segunda ed.). Nueva York: Springer. págs. 8-12. ISBN 978-0-387-21769-7.
  3. ^ ab Bertsekas, DP (2011). Métodos de gradiente incremental, subgradiente y proximal para la optimización convexa: una encuesta. Optimización para el aprendizaje automático, 85.
  4. ^ Hazán, Elad (2015). Introducción a la optimización convexa en línea (PDF) . Fundamentos y Tendencias en Optimización.
  5. ^ Parisi, alemán I.; Kemker, Ronald; Parte, José L.; Kanan, Christopher; Wermter, Stefan (2019). "Aprendizaje continuo durante toda la vida con redes neuronales: una revisión". Redes neuronales . 113 : 54–71. arXiv : 1802.07569 . doi :10.1016/j.neunet.2019.01.012. ISSN  0893-6080.
  6. ^ Bottou, León (1998). "Algoritmos online y aproximaciones estocásticas". Aprendizaje en línea y redes neuronales . Prensa de la Universidad de Cambridge. ISBN 978-0-521-65263-6.
  7. ^ Aplicaciones y algoritmos de aproximación estocástica , Harold J. Kushner y G. George Yin, Nueva York: Springer-Verlag, 1997. ISBN 0-387-94916-X ; 2ª ed., titulada Aproximación estocástica y algoritmos y aplicaciones recursivos , 2003, ISBN 0-387-00894-2 

enlaces externos