1uypbqqhoiszmjh Bbtbmga.png

¿Por qué, en un mundo donde la única constante es el cambio, necesitamos una Aprendizaje continuo Aproximación a los modelos de IA.

Imagen del autor generada en Midjourney

Imagina que tienes un pequeño robot diseñado para caminar por tu jardín y regar tus plantas. Al principio, dedicas unas semanas a recopilar datos para entrenar y probar el robot, lo que supone una inversión considerable de tiempo y recursos. El robot aprende a desplazarse por el jardín de forma eficiente cuando el suelo está cubierto de hierba y tierra desnuda.

Sin embargo, a medida que pasan las semanas, las flores comienzan a florecer y el aspecto del jardín cambia significativamente. El robot, entrenado con datos de una estación diferente, ahora no reconoce su entorno con precisión y tiene dificultades para completar sus tareas. Para solucionar esto, es necesario agregar nuevos ejemplos del jardín floreciente al modelo.

Tu primera idea es agregar nuevos ejemplos de datos al entrenamiento y volver a entrenar el modelo desde cero. Pero esto es costoso y no quieres hacerlo cada vez que cambia el entorno. Además, te acabas de dar cuenta de que no tienes todos los datos de entrenamiento históricos disponibles.

Ahora, considere simplemente ajustar el modelo con nuevas muestras, pero esto es riesgoso porque el modelo puede perder algunas de sus capacidades previamente aprendidas, lo que lleva a olvido catastrófico (una situación en la que el modelo pierde conocimientos y habilidades previamente adquiridos cuando aprende nueva información).

¿Entonces, hay una alternativa? ¡Sí, usar el aprendizaje continuo!

Por supuesto, el robot que riega las plantas de un jardín es sólo un ejemplo ilustrativo del problema. En las partes posteriores del texto verás aplicaciones más realistas.

Aprenda de forma adaptativa con el aprendizaje continuo (CL)

No es posible prever y prepararse para todos los posibles escenarios a los que se puede enfrentar un modelo en el futuro, por lo que en muchos casos, el entrenamiento adaptativo del modelo a medida que llegan nuevas muestras puede ser una buena opción.

En CL queremos encontrar un equilibrio entre la estabilidad de un modelo y su plasticidadLa estabilidad es la capacidad de un modelo para retener información previamente aprendida, y la plasticidad es su capacidad para adaptarse a nueva información a medida que se introducen nuevas tareas.

“(…) en el escenario de aprendizaje continuo, se requiere un modelo de aprendizaje para construir de manera incremental y actualizar dinámicamente las representaciones internas a medida que la distribución de tareas cambia dinámicamente a lo largo de su vida útil..” [2]

¿Pero cómo controlar la estabilidad y la plasticidad?

Los investigadores han identificado varias formas de construir modelos adaptativos. [3] Se han establecido las siguientes categorías:

  1. Enfoque basado en la regularización
  • En este enfoque agregamos un término de regularización que debería equilibrar los efectos de las tareas antiguas y nuevas en la estructura del modelo.
  • Por ejemplo, la regularización del peso. tiene como objetivo controlar la variación de los parámetros, añadiendo un término de penalización a la función de pérdida, que penaliza el cambio del parámetro teniendo en cuenta cuánto contribuyó a las tareas anteriores.

2. Enfoque basado en la repetición

  • Este grupo de métodos se centra en recuperar algunos de los datos históricos para que el modelo pueda seguir resolviendo tareas anteriores de forma fiable. Una de las limitaciones de este enfoque es que necesitamos acceder a los datos históricos, lo que no siempre es posible.
  • Por ejemplo, la repetición de la experiencia.donde conservamos y reproducimos una muestra de datos de entrenamiento antiguos. Al entrenar una nueva tarea, se agregan algunos ejemplos de tareas anteriores para exponer el modelo a una combinación de tipos de tareas antiguas y nuevas, lo que limita el olvido catastrófico.

3. Enfoque basado en la optimización

  • Aquí queremos manipular los métodos de optimización para mantener el rendimiento de todas las tareas, mientras reducimos los efectos del olvido catastrófico.
  • Por ejemplo, proyección de gradiente es un método en el que los gradientes calculados para nuevas tareas se proyectan de modo que no afecten a los gradientes anteriores.

4. Enfoque basado en la representación

  • Este grupo de métodos se centra en la obtención y el uso de representaciones de características robustas para evitar olvidos catastróficos.
  • Por ejemplo, el aprendizaje autosupervisadodonde un modelo puede aprender una representación robusta de los datos antes de ser entrenado en tareas específicas. La idea es aprender características de alta calidad que reflejen una buena generalización en diferentes tareas que un modelo puede encontrar en el futuro.

5. Enfoque basado en la arquitectura

  • Los métodos anteriores suponen un único modelo con un único espacio de parámetros, pero también hay una serie de técnicas en CL que explotan la arquitectura del modelo.
  • Por ejemplo, la asignación de parámetrosdonde, durante el entrenamiento, a cada nueva tarea se le asigna un subespacio dedicado en una red, lo que elimina el problema de la interferencia destructiva de parámetros. Sin embargo, si la red no es fija, su tamaño aumentará con la cantidad de nuevas tareas.

¿Y cómo evaluar el desempeño de los modelos CL?

El rendimiento básico de los modelos CL se puede medir desde varios ángulos [3]:

  • Evaluación general del desempeño: Rendimiento promedio en todas las tareas
  • Evaluación de la estabilidad de la memoria: Calcular la diferencia entre el rendimiento máximo para una tarea dada antes y su rendimiento actual después del entrenamiento continuo.
  • Evaluación de la plasticidad del aprendizaje: medir la diferencia entre el rendimiento del entrenamiento conjunto (si se entrena con todos los datos) y el rendimiento cuando se entrena utilizando CL

Entonces, ¿por qué no todos los investigadores de IA cambian al aprendizaje continuo de inmediato?

Si tiene acceso a los datos de entrenamiento históricos y no está preocupado por el costo computacional, puede parecer más fácil entrenar desde cero.

Una de las razones de esto es que la interpretabilidad de lo que sucede en el modelo durante el entrenamiento continuo aún es limitada. Si el entrenamiento desde cero da los mismos resultados o mejores que el entrenamiento continuo, entonces la gente puede preferir el enfoque más fácil, es decir, volver a entrenar desde cero, en lugar de dedicar tiempo a tratar de entender los problemas de rendimiento de los métodos CL.

Además, la investigación actual tiende a centrarse en la evaluación de modelos y marcos de trabajo, que pueden no reflejar bien los casos de uso reales que pueda tener la empresa. Como se menciona en [6]Hay muchos puntos de referencia incrementales sintéticos que no reflejan bien situaciones del mundo real donde hay una evolución natural de las tareas.

Por último, como se señala en [4]Muchos artículos sobre el tema de CL se centran en el almacenamiento en lugar de en los costos computacionales y, en realidad, almacenar datos históricos es mucho menos costoso y consume menos energía que volver a entrenar el modelo.

Si se prestara más atención a la inclusión de los costos computacionales y ambientales en el reentrenamiento de modelos, más personas podrían estar interesadas en mejorar el estado actual de la técnica en los métodos CL, ya que verían beneficios mensurables. Por ejemplo, como se menciona en [4]el reentrenamiento del modelo puede superar 10 000 días de GPU de formación para grandes modelos recientes.

¿Por qué deberíamos trabajar en la mejora de los modelos CL?

El aprendizaje continuo busca abordar uno de los obstáculos más difíciles de los modelos actuales de IA: el hecho de que la distribución de datos cambia con el tiempo. El reentrenamiento es costoso y requiere grandes cantidades de computación, lo que no es un enfoque muy sostenible desde una perspectiva económica y ambiental. Por lo tanto, en el futuro, los métodos de aprendizaje continuo bien desarrollados pueden permitir modelos que sean más accesibles y reutilizables para una comunidad más grande de personas.

Tal como se encontró y resumió en [4]Hay una lista de aplicaciones que inherentemente requieren o podrían beneficiarse de los métodos CL bien desarrollados:

  1. Edición de modelos
  • Edición selectiva de una parte propensa a errores de un modelo sin dañar otras partes del modelo. Las técnicas de aprendizaje continuo podrían ayudar a corregir continuamente los errores del modelo con un coste computacional mucho menor.

2. Personalización y especialización

  • A veces, los modelos de uso general deben adaptarse para que sean más personalizados para usuarios específicos. Con el aprendizaje continuo, podríamos actualizar solo un pequeño conjunto de parámetros sin introducir olvidos catastróficos en el modelo.

3. Aprendizaje en el dispositivo

  • Los dispositivos pequeños tienen memoria y recursos computacionales limitados, por lo que los métodos que puedan entrenar eficientemente el modelo en tiempo real a medida que llegan nuevos datos, sin tener que empezar desde cero, podrían ser útiles en esta área.

4. Reentrenamiento más rápido con inicio en caliente

  • Los modelos deben actualizarse cuando hay nuevas muestras disponibles o cuando la distribución cambia significativamente. Con el aprendizaje continuo, este proceso puede volverse más eficiente al actualizar solo las partes afectadas por las nuevas muestras, en lugar de volver a entrenar desde cero.

5. Aprendizaje por refuerzo

  • El aprendizaje por refuerzo implica que los agentes interactúen con un entorno que, a menudo, no es estacionario. Por lo tanto, los métodos y enfoques de aprendizaje continuo eficientes podrían ser potencialmente útiles para este caso de uso.

Aprende más

Como puedes ver, todavía hay Hay mucho margen de mejora en el área de los métodos de aprendizaje continuo.Si estás interesado puedes empezar con los materiales que aparecen a continuación:

  • Curso de introducción: [Continual Learning Course] Lección n.° 1: Introducción y motivación de ContinualAI en YouTube https://youtu.be/z9DDg2CJjeE?si=j57_qLNmpRWcmXtP
  • Documento sobre la motivación para el Aprendizaje Continuo: Aprendizaje continuo: aplicación y camino a seguir [4]
  • Documento sobre el estado del arte de las técnicas en Aprendizaje Continuo: Estudio integral del aprendizaje continuo: teoría, método y aplicación [3]

Si tiene alguna pregunta o comentario, no dude en compartirlo en la sección de comentarios.

¡Salud!

Imagen del autor generada en Midjourney

[1] Awasthi, A. y Sarawagi, S. (2019). Aprendizaje continuo con redes neuronales: una revisión. En Actas de la Conferencia internacional conjunta ACM India sobre ciencia de datos y gestión de datos (págs. 362-365). Association for Computing Machinery.

[2] Wiki de IA continua Introducción al aprendizaje continuo https://wiki.continualai.org/the-continualai-wiki/introducción-al-aprendizaje-continuo

[3] Wang, L., Zhang, X., Su, H. y Zhu, J. (2024). Un estudio exhaustivo del aprendizaje continuo: teoría, método y aplicación. Transacciones IEEE sobre análisis de patrones e inteligencia de máquinas, 46(8), 5362–5383.

[4] Eli Verwimp, Rahaf Aljundi, Shai Ben-David, Matthias Bethge, Andrea Cossu, Alexander Gepperth, Tyler L. Hayes, Eyke Hüllermeier, Christopher Kanan, Dhireesha Kudithipudi, Christoph H. Lampert, Martin Mundt, Razvan Pascanu, Adrian Popescu, Andreas S Tolias, Joost van de Weijer, Bing Liu, Vincenzo Lomonaco, Tinne Tuytelaars y Gido M. van de Ven. (2024). Aprendizaje continuo: aplicaciones y camino a seguir https://arxiv.org/abs/2311.11908

[5] Awasthi, A., y Sarawagi, S. (2019). Aprendizaje continuo con redes neuronales: una revisión. Actas de la Conferencia internacional conjunta de ACM India sobre ciencia de datos y gestión de datos (págs. 362–365). Asociación para Maquinaria Computacional.

[6] Saurabh Garg, Mehrdad Farajtabar, Hadi Pouransari, Raviteja Vemulapalli, Sachin Mehta, Oncel Tuzel, Vaishaal Shankar y Fartash Faghri. (2024). TiC-CLIP: Formación Continua de Modelos CLIP.