No tienes acceso a esta clase

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

Ajuste de redes neuronales: Hiper parámetros

18/22
Recursos

Aportes 12

Preguntas 1

Ordenar por:

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

En cuanto a keras existen algo conocido como callbacks que son procesos que se aplican dentro del entrenamiento y mejoran estos hiperparametros, en el orden del video que conozca existen:

  • EarlyStopping
    Este detiene el entrenamiento al no ver mejora en una metrica como la perdidad, error, loss, val_loss, entre otras, cuenta con un parametro paciencia que permite ajustar a las epocas de no ver mejoria en el entrenamiento parara.

  • ModelCheckpoint
    Este callback guarda los pesos y estructura del modelo entrenado por cada epoca, tambien se puede configurar para que guarde solo si el modelo ha mejorado en la epoca actual.

  • ReduceLROnPlateau
    Tiene la funcion de monitorear una metrica de mejora configurada por el usuario y cuando no vea mejora reduce la taza de aprendizaje(Learning Rate) lo que le permite frenar el paso cada vez mas y encontrar el minimo local o global.

  • Tensorboard
    Es un dashboard con toda la informacion y metricas pertinentes configurada en uno o varios modelos, es un tablero superdinamico que permite comparar modelos y configuraciones.

Como un complemento a esta clase voy a inidicar según gurus del deep learning como Ian Goodfellow y Andrew NG cual es la jerarquia de hiperparametros, en otras palabra por donde se debe empezar a optimizar:

  1. Learning rate(tasa de aprendizaje)

  2. Optimizador o momentum

  3. Mini batch size

  4. Neuronas en cada capa

  5. Cantidad de layers

En lo referente a los epochs, no todo el mundo lo considera un hyperparametro debido a que si es muy bajo la red no aprende, si es muy alto se sobeajusta. Este aunque es un ajuste manual, depende de los cinco hyperparametros de arriba y siempre llega a un punto medio. Mientras que el ajuste de los otros depende netamente de la naturaleza del problema.

-Batch size = Es una porcion de nuestro set de datos de entrenamiento el cual se propagara por toda la red en una iteracion, si por ejemplo tenemos 1000 datos de training podemos usar un batch de 32 datos, entonces primero se propagan 32, luego otros 32 y asi.Ojo iteracion no es lo mismo que epoch.
-Epoch = Son las veces que todo nuestro set de datos pasan por nuestra red neuronal, por ejemplo una vez que nuestros 1000 datos pasaron o se propagaron por nuestra red eso se considera 1 epoch.
-Kernel_initializer = Son los pesos iniciales que usaremos, en keras el default kernel_initializer es glorot_uniform, el cual se vio en una anterior clase
-Optimizador = Es una forma de optimizar o acelerar el hallazgo de las derivadas parciales o gradientes en nuestra funcion de coste, el mas usado es Adam
-Funcion de activacion: Se eligen dependiendo si es un problema de clasificacion (Sigmoid, ReLu,Tanh,Heaviside,etc) o de regresion(Linear regression,Ridge Regression,Lasso Regression,Isotonic Regression,etc)
-Cantidad de capas y neuronas por capa:Se ajustan dependiendo de la complejidad de tu problema, pueden practicar eso un poco en el playground de TF, yo me di cuenta que no era necesarion poner tantas capas y tantas neuronas para que la red pueda hacer buenas clasificaciones.Aca el link:
https://playground.tensorflow.org/#activation=relu&batchSize=14&dataset=circle&regDataset=reg-plane&learningRate=0.03&regularizationRate=0&noise=50&networkShape=6,4,3,1&seed=0.17209&showTestData=false&discretize=true&percTrainData=50&x=true&y=true&xTimesY=true&xSquared=true&ySquared=true&cosX=false&sinX=true&cosY=false&sinY=true&collectStats=false&problem=classification&initZero=false&hideText=false

Este curso se pone cada vez mejor 😄

Saben donde está la presentacion del profe?

Optimización de hiperparámetros

No funciona el video !!!

Recomendación de neuronas por capa :)

- Inicializadores y epocas - Cuando el Training Error y el Testing Error empiezan a diferenciarse, se debe parar iteraciones pues empieza el sobreajuste

sigue sin funcionar el video… problemas

Funciones de activación y funciones de pérdida

Optimización de los hiperparámetros