Época vs iteración al entrenar redes neuronales [cerrado]

Resuelto mohammad asked hace 13 años • 0 respuestas

¿Cuál es la diferencia entre época e iteración al entrenar un perceptrón multicapa?

mohammad avatar Jan 21 '11 04:01 mohammad
Aceptado

En la terminología de redes neuronales:

  • una época = un pase hacia adelante y un pase hacia atrás de todos los ejemplos de entrenamiento
  • tamaño del lote = el número de ejemplos de entrenamiento en un paso hacia adelante/hacia atrás. Cuanto mayor sea el tamaño del lote, más espacio de memoria necesitará.
  • número de iteraciones = número de pasadas, cada pasada utiliza [tamaño de lote] cantidad de ejemplos. Para ser claros, un pase = un pase hacia adelante + un pase hacia atrás (no contamos el pase hacia adelante y el pase hacia atrás como dos pases diferentes).

Por ejemplo: si tiene 1000 ejemplos de entrenamiento y el tamaño de su lote es 500, se necesitarán 2 iteraciones para completar 1 época.

Para su información: Compensación entre el tamaño del lote y el número de iteraciones para entrenar una red neuronal


El término "lote" es ambiguo: algunas personas lo usan para designar todo el conjunto de entrenamiento, y otras lo usan para referirse a la cantidad de ejemplos de entrenamiento en un pase hacia adelante/hacia atrás (como lo hice yo en esta respuesta). Para evitar esa ambigüedad y dejar claro que el lote corresponde al número de ejemplos de entrenamiento en un pase hacia adelante/hacia atrás, se puede utilizar el término mini-lote .

Franck Dernoncourt avatar Aug 05 '2015 21:08 Franck Dernoncourt

La época y la iteración describen cosas diferentes.


Época

Una época describe la cantidad de veces que el algoritmo ve el conjunto de datos completo . Entonces, cada vez que el algoritmo ve todas las muestras en el conjunto de datos, se completa una época.

Iteración

Una iteración describe la cantidad de veces que un lote de datos pasó por el algoritmo. En el caso de las redes neuronales, eso significa el paso hacia adelante y el paso hacia atrás . Entonces, cada vez que pasas un lote de datos a través de NN, completas una iteración .


Ejemplo

Un ejemplo podría aclararlo.

Supongamos que tiene un conjunto de datos de 10 ejemplos (o muestras). Tiene un tamaño de lote de 2 y ha especificado que desea que el algoritmo se ejecute durante 3 épocas.

Por lo tanto, en cada época, tienes 5 lotes (10/2 = 5). Cada lote pasa por el algoritmo, por lo tanto, tiene 5 iteraciones por época. Como ha especificado 3 épocas, tiene un total de 15 iteraciones (5*3 = 15) para el entrenamiento.

Khon Lieu avatar Jul 21 '2016 02:07 Khon Lieu