Deep Learning · Inteligencia Artificial

Redes convolucionales (CNN)

Explicar cómo una red convolucional extrae características jerárquicas mediante convoluciones, pooling y campos receptivos, y por qué es adecuada para datos con estructura espacial.

Redes convolucionales

Pensar en parches, no en vectores En lugar de conectar cada píxel con cada neurona, una CNN desliza un filtro pequeño por la imagen. Ese peso compartido y local es lo que la hace eficiente y robusta a traslados.

Por qué no una capa densa

Tratar una imagen como vector ignora que píxeles vecinos están relacionados, y conecta millones de parámetros. La convolución respeta la topología y recorta drásticamente el coste con pesos compartidos.

La operación de convolución

Compartir pesos

El mismo filtro se aplica en todas las posiciones, así un borde detectado arriba sirve también abajo. Ese intercambio de pesos da invariancia traslacional y reduce la cantidad de parámetros.

Canales y profundidad

Las capas apilan muchos filtros a la vez; cada uno ve los canales de la capa anterior. El grosor del volumen de activaciones es el número de filtros, y crecer en profundidad enriquece las características.

Pooling

Reducir con max pooling o promedio achica los mapas, da tolerancia a pequeñas deformaciones y amplía el campo receptivo. Resumen sin tirar la información esencial de dónde estaba lo detectado.

Una rejilla grande de píxeles con un filtro resaltado deslizándose sobre ella y una flecha que apunta a un mapa de características más pequeño.
Un filtro pequeño recorre la imagen compartiendo sus pesos y produce un mapa que indica dónde aparece cada patrón.

Campo receptivo

Es la región de la imagen que influye en una neurona de una capa dada. Capas y pooling lo ensanchan: una neurona profunda «ve» un área enorme aunque cada filtro sea pequeño.

Jerarquía de características

Al apilar convoluciones, la red compone: de bordes a esquinas y texturas, de ahí a partes y por fin a objetos. Esa jerarquía emergente es el corazón del aprendizaje profundo en visión.

Del bloque a la clasificación

Tras las capas convolucionales, un aplanado y unas capas densas convierten el volumen de características en una probabilidad por clase. La CNN aprende los filtros; la parte final decide.

Errores frecuentes

Ejemplo resuelto: de píxeles a un dígito

Queremos que una CNN reconozca un dígito escrito a mano. Recorremos el flujo de una imagen hasta la decisión:

  1. Entrar el dígito como un mapa de píxeles con sus canales.
  2. Aplicar filtros que responden a bordes y trazos locales, generando mapas de activación.
  3. Reducir con pooling para ganar tolerancia a pequeños desplazamientos y ampliar el campo receptivo.
  4. Apilar más capas que componen trazos en partes y las partes en el dígito completo.
  5. Aplanar el volumen final y clasificar con una capa densa la probabilidad de cada dígito.

¿Para qué sirve en la realidad?

Las CNN son el caballo de batalla de la visión artificial: del reconocimiento de objetos a la lectura de matrículas o el diagnóstico por imagen, donde la estructura espacial de los datos es la clave que explotan.

La convolución reduce parámetros frente a una capa totalmente conectada principalmente porque:

El max pooling hace que la representación sea ligeramente tolerante a pequeñas traslaciones del patrón.

CNN

Patrón local que se desliza por la imagen
filtro
Reutilizar el mismo peso en todas las posiciones es compartir...
pesos
Reducir mapas dando tolerancia a traslaciones
pooling
Región de la imagen que influye en una neurona
campo receptivo
De bordes a objetos la CNN aprende una ... de características
jerarquia

Ordena el flujo de una CNN de clasificación desde la imagen hasta la decisión:

Entrada
Convolucion
Pooling
Salida

Red convolucional
Arquitectura, operaciones y uso de las CNN en visión.

Une cada pieza de la CNN con su papel.

Pensar en parches, no en vectores

# Redes convolucionales
## Convolución
### filtros locales
### pesos compartidos
## Pooling
### reduce mapas
### tolera traslaciones
## Profundidad
### campo receptivo mayor
### de bordes a objetos
## Salida
### aplanar
### clasificar

Qué son las CNN según IBM
Explicación de la arquitectura convolucional y sus usos en visión.

Tras un giro de 90 grados, tu clasificador de dígitos falla. Teniendo en cuenta el campo receptivo y el pooling, ¿qué le falta a la CNN y cómo lo compensarías en el entrenamiento?