No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Entrenamiento, funciones de pérdida y optimizadores

9/24
Recursos

Aportes 5

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?


Para los que no comprendan aun bien que es el Stochastic Gradient Descent

El Stochastis Gradient Descent que es el optimizador que utilizamos aqui es uno de los optimizadores mas comunes, simplemente es hacer un Gradient Descent pero en vez de tomar todos los datos y hacer calculos a partir de ellos, tomamos pequenos lotes, es decir una muestra de los datos para hacer los calculos sobre esto, que nos ahorra mucho el tiempo de entrenamiento del modelo.


Si no entiendes que es el Gradient Descent

Nota: Gradient o gradiente es una forma de decirle a las derivadas parciales de una funcion, a la manera más simple, siempre que leas gradiente entiende muchas derivadas de una funcion.

💡 De manera simple es ir viendo como bajamos la funcion de error, por medio de ver que tan lejos estamos del numero optimo de error que buscamos, y vamos modificando por iteracion. El gradiente no es mas que derivar, ver si hay que subir o bajar el gradiente y entonces le restamos este gradiente al parametro actual.

Por que restamos? porque el gradiente calcula hacia donde va la funcion y para moverla al lado contrario con tal de llegar a 0. Es decir, si lo vemos como una brujula, el gradiente nos dice que vamos subiendo, cuando en realidad queremos bajar entonces por eso la resta.


Videos (En ingles) que puede funcionar entender a profundidad estos temas

Gradient Descent

Stochastic Gradien Descent

Creo que hay un error en la guía, el MAE es el error absoluto medio, no cuadrático
Con SGD, lo que pasa es que si pudieramos visualizar es que la "convergencia" hacia el minimo global se hace mas "saltarin" coin respecto al Gradient Descendent - el cual actualiza los pesos en toda el dataset de entrenamiento. Si SGD lo combinamos con el momentun (otro parametro del optimizador), lo que hace es que eventualmente en funciones de perdida con valles , el SGD + momentum , hace que "brinque" los minimos locales y siga buscando el minimo global
■ Resumen: La elección de la función de pérdida y el optimizador debe estar guiada por la naturaleza del problema, la arquitectura del modelo, la estabilidad y la convergencia deseada, y los recursos disponibles. Para la mayoría de los casos SGD funciona bien, pero dataset más complejos, precisarán de otras funciones. * Seleccionaremos una función de pérdida y el optimizador para el entrenamiento de modelo. La función de pérdida mide que tan equivocadas están las predicciones del modelo, ``y_pred`` en comparación con las etiquetas. * El optimizador le indica a los modelos como actualizar sus parámetros internos para reducir la pérdida. Para el siguiente ejemplo podremos usar el Error cuadrático medio, como la función de pérdida ``torch.nn-L1Loss`` para medir la diferencia absoluta entre dos puntos y tomar la media en todos los ejemplos. * Para el optimizador usaremos ``Stocastic Gradient Descent`` SGD como optimizador donde los parámetros serán el ``volume`` y el ``bias``, ``lr`` es la tasa de aprendizaje para que el optimizador actualice los pesos. (O cuales sean tus parámetros)
El descenso de gradiente estocástico (SGD) es como bajar una montaña a ciegas. En cada paso, sientes la pendiente justo debajo de ti y das un paso en esa dirección. Repites esto muchas veces hasta llegar al punto más bajo (o casi). Es rápido pero a veces puede no ser la ruta más directa.