Los hiperparámetros son variables que controlan diferentes aspectos del entrenamiento. Los siguientes son tres hiperparámetros comunes:
Por el contrario, los parámetros son las variables, como los pesos y el sesgo, que son parte del modelo en sí. En En otras palabras, los hiperparámetros son valores que tú controlas; los parámetros son valores que el modelo calcula durante el entrenamiento.
Tasa de aprendizaje
La tasa de aprendizaje es una número de punto flotante que establece, que influye en la rapidez con la que modelo convergente. Si la tasa de aprendizaje es demasiado baja, el modelo puede tardar mucho tiempo. para que converjan. Sin embargo, si la tasa de aprendizaje es muy alta, el modelo nunca convergen, sino que rebotan en torno a los pesos y sesgos que minimizan la pérdida de reputación y de talento. El objetivo es elegir una tasa de aprendizaje que no sea ni muy alta ni demasiado baja, de que el modelo converja rápidamente.
La tasa de aprendizaje determina la magnitud de los cambios que se realizarán en las ponderaciones y el sesgo en cada paso del proceso de descenso de gradientes. El modelo multiplica el gradiente por la tasa de aprendizaje para determinar los parámetros del modelo (peso y valores sesgados) para la próxima iteración. En el tercer paso del gradiente descenso, la "pequeña cantidad" se mueva en la dirección de la pendiente negativa se refiere a la tasa de aprendizaje.
La diferencia entre los parámetros del modelo anterior y los del modelo nuevo es proporcional a la pendiente de la función de pérdida. Por ejemplo, si la pendiente es grande, el modelo toma un gran paso. Si es pequeño, es un paso pequeño. Para ejemplo, si la magnitud del gradiente es 2.5 y la tasa de aprendizaje es 0.01, entonces el modelo cambiará el parámetro en 0.025.
La tasa de aprendizaje ideal ayuda al modelo a converger dentro de un número razonable de iteraciones. En la Figura 21, la curva de pérdida muestra el modelo de forma significativa durante las primeras 20 iteraciones antes de comenzar a converger:
Figura 21: Grafo de pérdidas en el que se muestra un modelo entrenado con una tasa de aprendizaje que converja rápidamente.
En cambio, una tasa de aprendizaje demasiado pequeña puede tardar demasiadas iteraciones converjan. En la Figura 22, la curva de pérdida muestra que el modelo realiza solo cambios menores. mejoras después de cada iteración:
Figura 22: Gráfico de pérdidas en el que se muestra un modelo entrenado con una tasa de aprendizaje pequeña.
Una tasa de aprendizaje demasiado grande nunca converge porque cada iteración hace que la pérdida rebote o aumente continuamente. En la Figura 23, la pérdida muestra que el modelo disminuye y, luego, aumenta la pérdida después de cada iteración y, en la Figura 24, la pérdida aumenta en iteraciones posteriores:
Figura 23: Grafo de pérdidas que muestra un modelo entrenado con una tasa de aprendizaje que demasiado grande, donde la curva de pérdida fluctúa libremente y sube y baja a medida que aumentan las iteraciones.
Figura 24: Grafo de pérdidas que muestra un modelo entrenado con una tasa de aprendizaje que demasiado grande, lo que hace que la curva de pérdida aumente drásticamente en iteraciones posteriores.
Ejercicio: Comprueba tus conocimientos
Tamaño del lote
El tamaño del lote es un hiperparámetro que se refiere a la cantidad de ejemplos que procesa el modelo antes de actualizar sus pesos y sesgos. Podrías pensar que el modelo debe calcular la pérdida para cada del conjunto de datos antes de actualizar las ponderaciones y el sesgo. Sin embargo, cuando un contiene cientos de miles o incluso millones de ejemplos, con el el lote completo no es práctico.
Dos técnicas comunes para obtener el gradiente correcto en promedio sin necesidad de echa un vistazo a cada ejemplo del conjunto de datos antes de actualizar las ponderaciones y el sesgo. descenso de gradientes estocástico y gradiente estocástico de minilote descenso:
Descenso de gradientes estocástico (SGD): Solo se usa el descenso de gradientes estocástico. un solo ejemplo (un tamaño de lote de uno) por iteración. Dado que se proporciona iteraciones, el SGD funciona, pero es muy ruidoso. “Ruido” se refiere a las variaciones durante entrenamiento que provoca que la pérdida aumente en lugar de disminuir durante una e iteración. el término "estocástico" indica que el único ejemplo compuesto por cada lote se elige al azar.
Observa en la siguiente imagen cómo la pérdida fluctúa ligeramente a medida que el modelo se actualizan sus ponderaciones y sesgos mediante el SGD, lo que puede generar ruido en la pérdida gráfico:
Figura 25: Modelo entrenado con descenso de gradientes estocástico (SGD) que muestra ruido en la curva de pérdida.
Ten en cuenta que el uso del descenso de gradientes estocástico puede producir ruido en toda la y no solo cerca de la convergencia.
Descenso de gradientes estocástico de minilote (SGD de minilote): Minilote el descenso de gradientes estocástico es un equilibrio entre el lote completo y el SGD. Para $ N $ cantidad de datos, el tamaño del lote puede ser cualquier número superior a 1 y menos de $ N $. El modelo elige los ejemplos incluidos en cada lote de forma aleatoria, promedia sus gradientes y actualiza los pesos y el sesgo una vez por iteración.
Determinar la cantidad de ejemplos para cada lote depende del conjunto de datos y los recursos de procesamiento disponibles. En general, los tamaños de lotes pequeños se comportan como SGD y tamaños de lote más grandes se comportan como un descenso de gradientes por lotes completo.
Figura 26: Modelo entrenado con SGD de minilotes.
Cuando entrenas un modelo, piensas que el ruido es un característica que debe eliminarse. Sin embargo, una cierta cantidad de ruido puede será algo bueno. En módulos posteriores, aprenderás cómo el ruido puede ayudar a un modelo generalizar mejor y encontrar la pesos óptimos y sesgos en una red.
Ciclos de entrenamiento
Durante el entrenamiento, un ciclo de entrenamiento significa que de datos procesó cada ejemplo en el conjunto de entrenamiento una vez. Por ejemplo, dado un conjunto de entrenamiento con 1,000 ejemplos y un tamaño de minilote de 100 ejemplos, tomará el modelo 10 iteraciones completar un ciclo de entrenamiento.
Por lo general, el entrenamiento requiere muchos ciclos de entrenamiento. Es decir, el sistema necesita procesar en cada ejemplo del conjunto de entrenamiento varias veces.
La cantidad de ciclos de entrenamiento es un hiperparámetro que estableces antes de que comience el modelo capacitación. En muchos casos, deberás experimentar con la cantidad de ciclos de entrenamiento que tarda para que el modelo converja. En general, cuantos más ciclos de entrenamiento se obtiene un mejor modelo, también lleva más tiempo entrenarlo.
Figura 27: Lotes completo o minilote.
La siguiente tabla describe cómo se relacionan el tamaño del lote y los ciclos de entrenamiento con la cantidad de veces que un modelo actualiza sus parámetros.
Tipo de lote | Cuándo se producen actualizaciones de ponderaciones y sesgos |
---|---|
Lote completo | Después de que el modelo observe todos los ejemplos en el conjunto de datos, Por ejemplo: si un conjunto de datos contiene 1,000 ejemplos y el modelo se entrena durante 20 ciclos de entrenamiento el modelo actualiza los pesos y el sesgo 20 veces, una vez por ciclo de entrenamiento. |
Descenso de gradientes estocástico | Después de que el modelo observa un solo ejemplo del conjunto de datos, Por ejemplo, si un conjunto de datos contiene 1,000 ejemplos y se entrena para 20 ciclos de entrenamiento, el modelo actualiza los pesos y los sesgos 20,000 veces. |
Descenso de gradientes estocástico de minilotes | Después de que el modelo observe los ejemplos de cada lote Por ejemplo: si un conjunto de datos contiene 1,000 ejemplos y el tamaño del lote es de 100. el modelo se entrena durante 20 ciclos de entrenamiento, actualiza los pesos y el sesgo 200 veces. |