Permítanme comenzar aclarando que la aplicación de la capacitación en línea en el aprendizaje automático a menudo se encuentra en diferentes dominios de los que usaríamos en la capacitación por lotes (o mini-lote).
La capacitación en línea es donde los datos se proporcionan de forma secuencial pero no completa, lo que significa que algunos de los datos se omiten. Si bien podemos tener razones teóricas para hacer esto, que yo sepa, la capacitación en línea es más común cuando el conjunto de datos es demasiado grande para ser manejado / calculado con todo de una vez. Como resultado, separamos los cálculos para manejar el tamaño de los datos. El término en línea, que yo sepa, proviene de algunas aplicaciones anteriores (y aún muy relevantes) en las que no “dividimos” los datos debido a restricciones técnicas (almacenamiento / complejidad computacional) sino porque los datos en su naturaleza se obtuvieron solo de forma secuencial e incompleta ( los datos del mercado de valores son un ejemplo muy común)
Por otro lado, la capacitación por lotes y mini lotes es cómo describimos los cálculos en los que es posible procesar el conjunto de datos por completo (de todos modos, en general). Se puede pensar que el mini-lote es la generalización del procesamiento por lotes de los datos donde está configurando el tamaño de su mini lote para que sea el tamaño del conjunto de datos. Tanto en mini-lotes como en lotes, está proporcionando una parte del conjunto de datos durante cada iteración (donde generalmente se calculan las pérdidas / gradientes y se produce la retropropagación). Cuando usamos el término “procesamiento por lotes”, generalmente estamos afirmando que esta porción es el 100% del conjunto de datos, mientras que en el minibatching podemos proporcionar el 10% (una heurística que es apropiada en algunos dominios) del conjunto de datos durante cada iteración.
- Análisis de sentimientos: ¿cuál es una manera simple de identificar palabras de sentimientos en una oración?
- ¿Qué tan diferente es el aprendizaje automático de las estadísticas?
- ¿Por qué el preentrenamiento no supervisado actúa como un regularizador en arquitecturas profundas?
- ¿Cómo puede alguien que es muy débil en matemáticas aprender el aprendizaje automático y el aprendizaje profundo?
- ¿El aprendizaje supervisado se usa más?
Un resultado de mi respuesta es que también debería abordar dos palabras a menudo confundidas en “iteración” y “época”. Una época se refiere a una pasada completa de los datos a través del sistema / algoritmo, mientras que una iteración se refiere a una pasada de datos después de la cual se calculan los gradientes / pérdidas y se produce la propagación hacia atrás. Cuando usamos el entrenamiento por lotes, estos términos son equivalentes, sin embargo, cuando usamos minibatches tendremos k iteraciones por época, donde k es la relación del tamaño del conjunto de datos al tamaño del minibatch (o el límite máximo de esta relación en la mayoría de los casos, pero esto es un simple tecnicismo).
Como resultado, no existe un proceso “óptimo” para la predicción, incluso con la “restricción” que ha dado en el conjunto de datos. Si está pronosticando futuros precios de acciones de, digamos, una acción (lo que yo diría que es un pequeño conjunto de datos y probablemente esté mejor servido, incluida la información inferencial obtenida de las tendencias en otras acciones similares (que podría elegir o definir manualmente mediante un esquema de métrica / clasificación de similitud como ejemplo)) querrá capacitación en línea por necesidad. Si puede hacer un pase completo sobre todos los datos, entonces generalmente no hay necesidad de capacitación en línea a menos que sea una base teórica para ello. En este caso, recomendaría usar el entrenamiento por lotes y ajustar un parámetro de tamaño de minibatch una vez que su modelo esté casi completo o usar un valor heurístico para el tamaño de minibatch que encuentre en los documentos de su tema (si existe y se nota en la publicación, ya que probablemente no valga la pena buscarlo demasiado extensamente inicialmente).
Finalmente, le recomendaré que se abstenga de usar los términos “pequeño” y “medio” para describir un conjunto de datos, ya que sin al menos un dominio de aprendizaje automático para proporcionar contexto, esto no tiene ningún sentido. Como alguien en PNL, puedo encontrar un conjunto de datos de unos pocos cientos de documentos para ser “de tamaño mediano” para algunas tareas pero para ser ridículamente “pequeño” para otras. Si tuviera que decir identificar cada token como una entrada (digamos 10k palabras por documento y 200 documentos), esto es solo 2 millones de entrada. Para alguien que dice en CV que está trabajando con ImageNet, que es aproximadamente 15 millones de imágenes, esto es una broma completa (y no olvidemos que las imágenes no son entradas para la mayoría de los algoritmos, pero los píxeles individuales sí lo son (o alguna combinación si se habla de cosas). como convolución, pero no nos dejemos atrapar por esto) y si decimos asumir que tenemos una imagen de 784 × 784 píxeles, esto es 784 ^ 2 * 15 millones de entradas ingenuamente, que son aproximadamente 10 mil millones).