Redes convolucionales y su importancia

1

La importancia del computer vision

2

驴Qu茅 herramientas usaremos para redes neuronales convolucionales?

3

驴Qu茅 son las redes convolucionales?

Mi primera red neuronal convolucional

4

Creando nuestra primera red convolucional

5

Entrenando nuestra primera red convolucional

Manejo de im谩genes

6

Consejos para el manejo de im谩genes

7

Manejo de im谩genes con Python

Fundamentos de redes neuronales convolucionales

8

Kernel en redes neuronales

9

El kernel en acci贸n

10

Padding y Strides

11

Capa de pooling

12

Arquitectura de redes convolucionales

Quiz: Fundamentos de redes neuronales convolucionales

Resolviendo un problema de clasificaci贸n

13

Clasificaci贸n con redes neuronales convolucionales

14

Creaci贸n de red convolucional para clasificaci贸n

15

Entrenamiento de un modelo de clasificaci贸n con redes convolucionales

Optimizaci贸n de red neuronal convolucional

16

Data augmentation

17

Aplicando data augmentation

18

Callbacks: early stopping y checkpoints

19

Batch normalization

20

Optimizaci贸n de modelo de clasificaci贸n

21

Entrenamiento de nuestro modelo de clasificaci贸n optimizado

Quiz: Optimizaci贸n de red neuronal convolucional

Resolviendo una competencia de Kaggle

22

Clasificando entre perros y gatos

23

Entrenamiento del modelo de clasificaci贸n de perros y gatos

Resumen y siguientes pasos

24

Siguientes pasos con redes neuronales convolucionales

25

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

Padding y Strides

10/25
Recursos

Aportes 7

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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?

  1. Invocas la capa de convoluci贸n que deseas utilizar
  2. Filters: cuantos Kernel鈥檚 voy a utilizar
  3. Kernel_size: el tama帽o de la matriz
  4. Strides: que se reciben como una tupla en la cual el primer par谩metro registra el movimiento hacia los lados y el segundo, su movimiento hacia arriba o hacia abajo
  5. Padding: recibe en un array dos valores 鈥渧alid鈥 y 鈥渟ame鈥.

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 鈥渧alid鈥, entonces no aplica el 鈥減adding鈥. 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.

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:
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 鈥減adding鈥, que acepta dos valores: 鈥渧alid鈥, que significa sin relleno (se utilizar谩n solo ubicaciones de ventanas v谩lidas); y 鈥渟ame鈥, que significa 鈥渞ellenar de manera que la salida tenga el mismo ancho y alto que la entrada鈥. El argumento de relleno se establece de forma predeterminada en 鈥渧alid鈥.

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 鈥淔rancois Chollet鈥

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.