en el método de regularización, el parámetro no es delta, es la letra griega lambda.
Fundamentos en la arquitectura de redes neuronales
La importancia de las redes neuronales en la actualidad
¿Que herramientas usaremos para redes neuronales?
¿Qué es deep learning?
Tu primera red neuronal con Keras
Entrenando el modelo de tu primera red neuronal
La neurona: una pequeña y poderosa herramienta
Arquitectura de una red neuronal
Funciones de activación
Funcion de pérdida (loss function)
Descenso del gradiente
Backpropagation
Playground - Tensorflow
Quiz: Fundamentos en la arquitectura de redes neuronales
Redes neuronales con Python
Dimensiones, tensores y reshape
Creando nuestra red neuronal usando numpy y matemáticas
Entrenamiento forward de la red neuronal
Aplicando backpropagation y descenso del gradiente
Entrenamiento y análisis de resultados de tu red neuronal
Quiz: Redes neuronales con Python
Manejo de redes neuronales con Keras
Data: train, validation, test
Resolviendo un problema de clasificacion binaria
Entrenamiento del modelo de clasificación binaria
Regularización - Dropout
Reduciendo el overfitting
Resolviendo un problema de clasificación múltiple
Entrenamiento del modelo de clasificación múltiple
Resolviendo un problema de regresión
Entrenamiento del modelo de regresión
Análisis de resultados del modelo de regresión
Cierre
¿Qué sigue por aprender de redes neuronales?
Comparte tu proyecto de tu primera red neuronal y certifícate
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 15
Preguntas 3
en el método de regularización, el parámetro no es delta, es la letra griega lambda.
El overfitting es el sobre ajuste de los datos o dicho de otro modo la memorización de los datos.
Se debe reducir la complejidad del modelo.
Con la regularización se penaliza a la función de coste, usando el valor de los pesos.
El dropout desconecta o apaga a un % de neuronas para en cada iteración. Esto es para evitar la dependencia entre neuronas.
Interesante, no conocía el dropout ni regularización.
La red conspira en mi contra. Nunca pensé en eso 😂
Una cosa que no me había quedado claro y que me ayudó a entender toda la explicación:
La función de costo es lo mismo que la función de pérdida 😄 El profesor usa los dos términos de forma indistinta porque ambos se refieren a las mismas funciones, tales como el error cuadrático medio, el binary crossentropy y el categorical crossentropy que nos permiten evaluar el error de las predicciones.
Overfitting es un problema que ocurre cuando el modelo se aprende de memoria los datos en lugar de aprender acerca del problema que se le presenta
Una red neuronal puede llegar a overfitting porque cada neurona se vuelve más especifica con los datos
Una de las formas más sencillas de reducir el overfitting es usando un modelo más pequeño.
Esto es si tenemos una red demasiado compleja con demasiados parámetros se apegará demasiado a estos datos haciendo overfitting
Y si tenemos una red demasiado sencilla llegaría a underfitting porque no lograría adaptarse al problema siendo tan pequeña
no existe receta de cocina para evitar el underfitting y el overfitting, ni para saber cuántas capas debería tener mi red ni cuantas neuronas debería tener cada capa, aun así, una técnica es empezar con un modelo muy pequeño y una vez cómo se comporta iterar
viene de un problema de hacer los datos más regulares
Occam’s Razor “When faced with two equally good hypothesis, always choose the simpler one.”
Reducir la complejidad del modelo, para hacer esto debemos reducir los pesos que arroja nuestra red al entrenar, la regularización se lograr con una fórmula matemática
en la cual la regularización castiga la función de perdida utilizando el valor absoluto del peso o el peso al cuadrado multiplicado por un delta
aquí siendo el valor decisivo lambda $\lambda$ que mientras mayor su valor mayor el efecto de la regularización sobre la función de perdida.
Otra técnica para reducir el overfitting es el Dropout
la universidad que planteo esto tuvo la idea haciendo fila en un banco y viendo que cada cierta cantidad de personas de la fila avanzaban los cajeros cambiaban de lugar internamente de forma aleatoria
Esto lo hacen para evitar que una persona que haga fila para ver un cajero reducir la posibilidad de atender alguien que conozca y que estén conspirando o tenga la intención de hacer algún fraude.
entonces pensaron que tal si mis redes neuronales están conspirando entre si con los valores de entrada, entonces qué tal si muevo mis valores de entrada para que la conspiración no sea tan alta
el dropout consiste durante cada una de las épocas apagar ciertas neuronas de forma aleatoria para reducir el exceso de exactitud que ocasiona el overfitting
Cuando me contó la historia del dropout tuve un momento “Eureka” hahahaha; este mundo de los parámetros es super genial. Antes de este curso, pensaba que existía un “manual” para la correcta configuración de una red neuronal, pero al parecer es ir iterando hasta conseguir el resultado que queremos
link keras Dropout : https://keras.io/api/layers/regularization_layers/dropout/
link keras regularizadores : https://keras.io/api/layers/regularizers/
Gracias. Ahora es mas claro, quizas la confusion radicaba en traducir del ingles. En ingles iteración (iteration) se define como el numero de bratches necesarios para completar un “epoch”. Siendo un bratch un subconjunto de los datos de entrenamiento. Aqui en el curso interación se define como epoch. Si estoy en algo incorrecto por favor dejenmelo saber.
Para los que quieran saber mas de la regularización L1 y L2:
Agrega la suma de los valores absolutos de los coeficientes a la función de pérdida.
Puede conducir a la selección de características, ya que algunos coeficientes pueden volverse exactamente cero.
Agrega la suma de los cuadrados de los valores de los coeficientes a la función de pérdida.
No conduce a la selección de características, pero tiende a reducir todos los coeficientes.
El dropout es una técnica específica para redes neuronales y se aplica durante el entrenamiento. Consiste en desactivar aleatoriamente un conjunto de unidades (neuronas) durante cada paso de entrenamiento. Esto impide que las neuronas se vuelvan dependientes unas de otras y
reduce la capacidad de memorización de patrones específicos en los datos de entrenamiento.
Desactivación Aleatoria
Aumento de la Robustez
Inferencia sin Dropout
La traducción más aceptada es la navaja de Ockham o principio de parsimonia (lex parsimoniae).
No se usa de forma tan común en ciencias de la computación, pero en física, química y biología sí.
Básicamente se resume en: no le busques tres pies al gato.
Geoffrey Hinton
Interesante como nació el concepto del dropout.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?