Para entrenar un modelo, necesitamos una buena forma de reducir su pérdida. Un enfoque iterativo es un método muy usado para reducir la pérdida y es tan fácil y eficiente como bajar una colina.
Reducción de la pérdida
¿Cómo reducimos la pérdida?
- Los hiperparámetros son las opciones de configuración que se usan para ajustar la forma en que se entrena el modelo.
- La derivada de (y - y')2 con respecto a los pesos y sesgos nos indica cómo cambia la pérdida en un ejemplo determinado
- Es convexa y fácil de calcular.
- Damos pequeños pasos de forma reiterada para minimizar la pérdida.
- Los llamamos pasos de gradiente (pero en realidad son pasos de gradiente negativos).
- Esta estrategia se denomina descenso de gradientes.
Diagrama de bloques de descenso de gradientes
- Prueba el ejercicio descenso de gradientes.
- Cuando termines el ejercicio, presiona el botón de reproducción ▶ para continuar.
Inicialización de los pesos
- Para los problemas convexos, los pesos pueden comenzar en cualquier parte (por ejemplo, todos los 0)
- Son convexos; tienen la forma de un tazón.
- Solo un mínimo
Inicialización de los pesos
- Para los problemas convexos, los pesos pueden comenzar en cualquier parte (por ejemplo, todos los 0)
- Son convexos; tienen la forma de un tazón.
- Solo un mínimo
- Lo anterior no es cierto en el caso de las redes neuronales
- No son convexas: tienen la forma de una caja de huevos.
- Más de un mínimo
- Dependen en gran medida de los valores iniciales.
SGD y descenso de gradientes de minilote
- El gradiente se podría calcular sobre todo el conjunto de datos en cada paso, pero esto no es necesario.
- El cálculo del gradiente en pequeñas muestras de datos funciona bien.
- En cada paso, obtener una nueva muestra aleatoria
- Descenso de gradientes estocástico: Se toma un ejemplo por vez.
- Descenso de gradientes de minilote: Se usan lotes de 10 a 1,000.
- La pérdida y los gradientes se promedian en el lote.