Padding
Stride
Redes convolucionales y su importancia
La importancia del computer vision
¿Qué herramientas usaremos para redes neuronales convolucionales?
¿Qué son las redes convolucionales?
Mi primera red neuronal convolucional
Creando nuestra primera red convolucional
Entrenando nuestra primera red convolucional
Manejo de imágenes
Consejos para el manejo de imágenes
Manejo de imágenes con Python
Fundamentos de redes neuronales convolucionales
Kernel en redes neuronales
El kernel en acción
Padding y Strides
Capa de pooling
Arquitectura de redes convolucionales
Quiz: Fundamentos de redes neuronales convolucionales
Resolviendo un problema de clasificación
Clasificación con redes neuronales convolucionales
Creación de red convolucional para clasificación
Entrenamiento de un modelo de clasificación con redes convolucionales
Optimización de red neuronal convolucional
Data augmentation
Aplicando data augmentation
Callbacks: early stopping y checkpoints
Batch normalization
Optimización de modelo de clasificación
Entrenamiento de nuestro modelo de clasificación optimizado
Quiz: Optimización de red neuronal convolucional
Resolviendo una competencia de Kaggle
Clasificando entre perros y gatos
Entrenamiento del modelo de clasificación de perros y gatos
Resumen y siguientes pasos
Siguientes pasos con redes neuronales convolucionales
Comparte tu proyecto de clasificación con redes convolucionales y certifícate
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Aportes 10
Preguntas 2
Padding
Stride
ESTE CURSO LO LLEVO DESPACIO, PERO ES INCREIBLE COMO ESTOY APRENDIENDO, MUCHISIMAS GRACIAS PROFE, GRACIAS PLATZI POR ESTOS CURSOS
Padding y Strides
Son dos tipos de hiper parámetros que pertenecen a las capas de convolución.
El kernel es considerado por muchos como el hiper-parámetro de referencia de la convolución ya que puede especificar qué tipo y tamaño de Kernel se va a manejar para hacer la convolución de la imagen.
Padding
Es un margen que se le agrega a la imagen para que al momento de realizar la operación de convolución la imagen resultante no reduzca su tamaño. Se utilizan 0 para que no altere las características de las imágenes original.
Stride
Es el tamaño del paso en cada convolución. Entre más grande sea el paso menor será la imagen resultante.
Como se implemente en la capa de convolución?
Si se selecciona same, entonces Keras automáticamente se encarga de todos los hiper-parámetros para que el padding sea lo suficientemente grande, tanto para que la imagen de entrada como la de salida sean exactamente las mismas y no se pierda ningún dato durante el proceso.
Si se selecciona “valid”, entonces no aplica el “padding”. Al momento de pasar el filtro tomara el primer hasta el último pixel original de la imagen pero esto resultara en una imagen más corta en ancho y largo.
Padding:
Si deseas obtener un mapa de características de salida con las mismas dimensiones espaciales que la entrada, puedes utilizar el relleno (padding). El relleno consiste en agregar un número adecuado de filas y columnas a cada lado del mapa de características de entrada para permitir que se ajusten ventanas de convolución centradas alrededor de cada casilla de entrada.
En las capas Conv2D, el relleno se configura mediante el argumento “padding”, que acepta dos valores: “valid”, que significa sin relleno (se utilizarán solo ubicaciones de ventanas válidas); y “same”, que significa “rellenar de manera que la salida tenga el mismo ancho y alto que la entrada”. El argumento de relleno se establece de forma predeterminada en “valid”.
Strides:
La distancia entre dos ventanas sucesivas es un parámetro de la convolución, llamado paso (stride), que por defecto es 1. Es posible tener convoluciones con pasos (strides) mayores que 1. Usar un paso de 2 significa que el ancho y la altura del mapa de características se reducen a la mitad (además de cualquier cambio inducido por los efectos de los bordes). Las convoluciones con pasos (strides) no se utilizan con frecuencia en la práctica, aunque pueden ser útiles para algunos tipos de modelos; es bueno estar familiarizado con el concepto.
Para reducir el tamaño de los mapas de características, en lugar de utilizar pasos (strides), tendemos a utilizar la operación de max-pooling.
Extraido de : Deep Learning with Python “Francois Chollet”
En este ejemplo no estamos usando padding exactamente, pero vale la pena ver el resultado.
Si en la imagen de la anterior clase utilizamos un kernel bastante grande, como este:
s = 205
kernel = np.zeros((s, s))
kernel[s-1][s//2] = 1
Podemos obtener varios resultados dependiendo de como definimos que rellene las filas de los límites.
Padding (Relleno)
Valid Padding (Relleno válido)
Same Padding (Relleno del mismo tamaño)
El relleno y los pasos afectan tanto el tamaño como la forma de la salida de la convolución. La fórmula general para calcular el tamaño de la salida de la convolución es:
Tamaño de salida = ((Tamaño de entrada - Tamaño del kernel + 2 * Relleno) / Pasos) + 1
Ajustar adecuadamente el relleno y los pasos es importante para controlar el tamaño y la resolución de la salida de la convolución y garantizar que la red neuronal pueda aprender representaciones útiles de los datos.
Carlos que genial, tus explicaciones!
Padding: es un margen que se le agrega a la imagen para que al momento de realizar la operación de convolución la imagen resultante no reduzca su tamaño. Se utilizan 0 para que no altere las características de las imágenes original.
Stride: Es el tamaño del paso en cada convolución. Entre mas grande sea el paso menor será la imagen resultante.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?