¿Cuáles son todas las diferencias entre el aprendizaje en línea y el aprendizaje fuera de línea con backpropagation?

En línea y fuera de línea hay diferentes técnicas para que una red neuronal aprenda después de que la retropropagación devuelva el error de propagación directa.

La palabra retropropagación a menudo se usa para todo el algoritmo de aprendizaje, pero técnicamente solo corresponde a calcular la derivada del error (propagando información a través de la red).

A continuación, debemos decidir cómo usarlo para descubrir un mejor conjunto de pesos que se generalizará.

  • ¿Cuánto actualizar (tasa de aprendizaje)?
  • ¿Cómo abordar el sobreajuste?
  • ¿Con qué frecuencia actualizar?

En ese último punto, podemos actualizar después de cada caso (en línea), para todos los casos después de una ejecución completa (fuera de línea o lote), o para un grupo de casos (mini lote).

Una buena referencia es el curso G Hinton Toronto (creo que en Coursera).

He visto “en línea” utilizado de muchas maneras diferentes con respecto a ML. Una definición típica es que en línea tiene que manejar la transmisión de datos, donde las cosas están sucediendo en tiempo real y el modelo tiene que poder adaptarse y aprender constantemente. A veces también implica que no puede almacenar los datos y que debe aprender de ellos y desecharlos después.

En línea, entrena en un conjunto de datos estáticos, donde tiene todos los datos a la mano y no espera obtener más datos.