¿Por qué se necesitan varias épocas para el aprendizaje profundo?

Entrenar una red neuronal implica optimizar un gran conjunto de parámetros que son muy interdependientes. Debido a esto, puede tomar muchos ejemplos de entrenamiento etiquetados antes de que la red se asiente en un área del espacio de solución que está cerca de la solución óptima (o al menos, la solución óptima para esta ejecución de entrenamiento). Esto se ve exacerbado por la naturaleza estocástica del descenso de gradiente por lotes y la práctica común de comenzar con una gran tasa de aprendizaje y disminuirla lentamente (lo cual es común por una razón: es muy efectivo). En resumen, el algoritmo de optimización requiere mucha información.

Desafortunadamente, el tipo de datos neurales multidimensionales que requieren las redes es costoso de etiquetar y ocupa grandes cantidades de espacio de almacenamiento. Por lo tanto, aunque necesita alimentar muchos datos de su red, la cantidad de muestras disponibles es generalmente mucho menor que la cantidad de muestras que necesita para alcanzar un óptimo útil. Puede haber suficiente información en estas muestras de entrenamiento, pero el algoritmo de descenso de gradiente toma tiempo para extraerlo. Puede compensar el número limitado de muestras haciendo múltiples pases sobre los datos. Esto le dará tiempo al algoritmo para converger, sin requerir una cantidad poco práctica de datos.

Para resumir, el descenso de gradiente por lotes requiere más iteraciones para converger de lo que permitirá un paso sobre el conjunto de datos. ¡Espero que ayude!

1 época = 1 pase hacia adelante + 1 pase hacia atrás en el conjunto completo de ejemplos de entrenamiento.

1 iteración = 1 pasada hacia adelante + 1 pasada hacia atrás en un lote de datos.

Digamos que tiene 100 ejemplos y el tamaño del lote es 50, luego le tomará dos iteraciones para recorrer los ejemplos completos de capacitación.

Entonces aquí 1 época = 2 iteraciones.

Ahora, después de 1 época, es posible que no aprenda los mejores pesos. Puede definir los mejores pesos como los pesos que minimizan la función de pérdida y, por lo tanto, el requisito de múltiples pases (hacia adelante + hacia atrás) en los ejemplos de entrenamiento hasta que converja o no vea mucha ganancia en la minimización.

Los algoritmos de aprendizaje basados ​​en el gradiente decente son el algoritmo de aprendizaje más utilizado en el aprendizaje profundo ya que muestra mejores capacidades de aprendizaje.

Gradiente decente se puede explicar de la siguiente manera:

Un helicóptero dejó caer a una persona ciega al azar en algún lugar y su objetivo era encontrar el valle más bajo que pudiéramos alcanzar. Desde su posición actual, comprueba la pendiente de la tierra con un palo y sigue la pendiente para lograr su objetivo. Esta ubicación puede contener muchos valles, pero puede no ser el valle más bajo. A veces, la persona ciega puede quedar atrapada en un valle rodeado de montañas que no es el valle más bajo, ya que solo verifica la pendiente en su ubicación actual, por lo tanto, supone que este es el valle más bajo que pudo encontrar.

Razón por la cual múltiples épocas:

La mejor manera de resolver este problema es dejar caer a esta persona nuevamente al azar en otro lugar e intentar encontrar el valle más bajo más de una vez. Registre todo el valle más bajo y encuentre el más bajo entre ellos.

No, si tienes suficientes datos. Pero obtener una cantidad tan grande de datos de entrenamiento (etiquetados) es costoso. Una solución más simple es usar menos datos y usarlos varias veces. Los datos de entrenamiento deben ser representativos del espacio completo de posibilidades.

Porque el método más común para el entrenamiento en aprendizaje profundo es una forma de descenso gradual. Cada época encuentra la dirección aproximada que necesita ajustar cada parámetro, pero es solo aproximada. Si ajusta demasiado en una época, excederá el conjunto de parámetros que realmente está tratando de encontrar.

Porque los solucionadores no son perfectamente eficientes. Requiere varias veces el aprendizaje de una pieza de datos. Es un proceso, en lugar de calcular la solución directamente.

More Interesting

¿Cómo cambiará la IA los virus / malware informáticos?

¿Cuáles son los problemas más interesantes en los que OpenAI está trabajando?

¿Me puede sugerir un problema / proyecto de aprendizaje de robots de nivel principiante?

Si una IA creara una 'obra de arte', ¿podría considerarse como arte? ¿La computadora o la persona que programó la IA se consideraría como el 'artista'?

¿Es la inteligencia humana reducible al aprendizaje automático?

¿Cuál es el significado de Machine Learning en el espacio emergente de ChatBot?

¿Cómo hace Google "mejores conjeturas" en los resultados de búsqueda?

¿Cuáles son algunos videojuegos / sims con notable aparición de IA?

¿Qué conocimiento básico se debe tener antes de aprender el aprendizaje automático en India?

¿Cómo afecta la automatización de IA en la ingeniería aeroespacial?

¿Cuál es el mejor lenguaje para usar mientras aprende el aprendizaje automático por primera vez? Voy a tomar un curso sobre aprendizaje automático este trimestre y tengo la opción de elegir entre usar C, C ++, Java, Haskell, Lisp, Python o Matlab / Octave.

¿Cuáles fueron los 10 problemas principales en Machine Learning para 2016?

¿Cómo podemos usar la inteligencia artificial y el aprendizaje automático en circuitos electrónicos y EDA?

¿Cuáles son los cursos de requisitos previos para una maestría / doctorado en informática / inteligencia artificial?

Con un buen traductor automático, ¿debería lograrse el equilibrio mediante la primera ronda de inversión?