En una red neuronal (sin saber si es específica para keras), ¿cuál es la diferencia entre el tamaño del lote y el entrenamiento del lote? ¿Cuándo necesitaría ambos?

El entrenamiento por lotes (o entrenamiento de mini lotes) es una técnica para mejorar el descenso de gradiente estocástico. El tamaño del lote es un parámetro de la técnica de entrenamiento por lotes.

El descenso de gradiente de mini lotes calcula el gradiente de los parámetros con respecto a un lote de ejemplos muestreados aleatoriamente. Esto se compara con el SGD de vainilla que calcula el gradiente con respecto a un solo ejemplo, o el descenso del gradiente de vainilla que calcula el gradiente con respecto a todos los ejemplos.

Para resumir:

  • Descenso de gradiente : descenso de gradiente de mini lotes cuando tamaño de lote = [matemática] n [/ matemática]. Variación más baja en las actualizaciones de errores, pero lenta.
  • Descenso de gradiente estocástico : descenso de gradiente de mini lotes cuando el tamaño de lote = 1. La mayor variación en las actualizaciones de errores, pero rápido.
  • Descenso de gradiente de mini lotes : para valores de tamaño de lote [matemática] k [/ matemática] en [matemática] 1 <k <n [/ matemática]. Un buen equilibrio entre la variación de actualización de errores y el tiempo de entrenamiento.

(Mini) entrenamiento por lotes es el proceso de entrenar su modelo en sus datos en fragmentos. Es más eficiente que entrenar el modelo una muestra a la vez. El tamaño del lote es el número de muestras que hay en cada fragmento durante el entrenamiento. No se puede tener uno sin el otro.