Arquitectura típica de una red neuronal convolucional

Autor: | Última modificación: 23 de agosto de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

Uno de los conocimientos base para el análisis de las redes profundas dentro del Deep Learning consiste en la arquitectura típica de una red neuronal convolucional utilizada para el procesamiento de los macrodatos.

Por esta razón, dentro del amplio campo del aprendizaje profundo, un data scientist debe contar con estas bases fundamentales. A continuación, en este post, te exponemos cómo es la arquitectura típica de una red neuronal convolucional.

Arquitectura típica de una red neuronal convolucional

Para saber sobre cómo es la arquitectura típica de una red neuronal convolucional vamos a ver qué son las redes neuronales convolucionales y cómo funcionan.

cnn_feat_class
cnn_intro

En estas imágenes podéis ver la arquitectura típica de una red neuronal convolucional.

Como entrada, tenemos la imagen que queremos clasificar, en este caso, de nuestro gato negro. Como ya sabéis, esto no es otra cosa que una matriz de Ancho x Alto x 3 (porque es RGB).

Después, empiezan los bloques convolucionales. Estos bloques están compuestos normalmente por:

  • Capas convolucionales, que ya hemos visto como funcionan.
  • Capas de pooling, que lo que hacen es diezmar el contenido de la salida de la capa convolucional.

Antes hemos visto cómo funciona la convolución: definimos un kernel o filtro que sirve para resaltar determinadas estructuras de la imagen. Y os estaréis preguntando: ¿cómo defino un filtro que me permita averiguar que la imagen de entrada tiene un gato negro?

Pues aquí está la magia de las CNNs. Nosotros no tenemos que definir ningún filtro, los aprende la red automáticamente gracias al backpopagation.

Por otra parte, ¿te das cuenta de que nuestra CNN tiene dos etapasfeature extractor y classifier? Esto se debe a que la red, primero, extrae unos determinados patrones haciendo uso de la primera etapa (base model), que son los que mejor le vienen al posterior clasificador (top model) para hacer su trabajo con la mayor precisión posible.

Arquitectura típica de una red neuronal convolucional 1
Arquitectura típica de una red neuronal convolucional 2

Así que al final, lo que tenemos es una red que aprende sola, con la que no hace falta que nos preocupemos de qué características escogemos para clasificar, ya que las elige por sí misma.

¿Y cómo va aprendiendo? De la misma forma que una red neuronal tradicional:

Arquitectura típica de una red neuronal convolucional 3

Convoluciones

Estas capas son las encargadas de aplicar la convolución a nuestras imágenes de entrada para encontrar los patrones que más tarde permitirán clasificarla.

Para ello, se define:

  1. El número de filtros/kernels a aplicar a la imagen: el número de matrices por las que se van a convolucionar las imágenes de entrada.
  2. El tamaño de estos filtros: 99% de las veces son cuadrados, de 3×3, 5×5, etc.

Aquí puedes ver el esquema general, en el que se ve como una imagen de entrada dada se convoluciona por cada filtro, y la salida son mapas de activación 2D. Esto quiere decir que, si la imagen de entrada es RGB, tendrá 3 canales. Por lo tanto, convolucionaremos cada filtro por cada canal y luego sumaremos los resultados para reducir de 3 canales a 1 solo.

conv_layer_1

Capas de pooling

Dentro de la arquitectura típica de una red neuronal convolucional se cuenta también con capas de pooling, que se utilizan para ir reduciendo el tamaño de nuestros mapas de activaciones, ya que de otra forma no sería posible ejecutarlos en GPUs. Además, también ayuda a reducir el overfitting.

Los dos tipos de pooling más comunes son:

  • max-pooling: calcula el máximo de los elementos.
  • averag-pooling: calcula la media de los elementos.

Hay que tener en cuenta que esto se realiza para cada mapa de activaciones de nuestro volumen, es decir, no interviene para nada la dimensión depth en los cálculos.

Veamos un ejemplo de un max-pooling con diferentes strides:

cnn_pooling

Aprende más del Big Data

En este post, te hemos explicado cómo es la arquitectura típica de una red neuronal convolucional, de forma que ahora puedes contar con este conocimiento dentro de tu procesamiento de los datos.

Ahora, con nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning podrás conseguir un gran conocimiento de los macrodatos y aprender sobre la implementación de los sistemas y herramientas más conocidos en este ámbito. Este bootcamp te preparará para el inmenso ecosistema de los macrodatos y cómo desarrollarlo con el fin de destacar el valor de la información. En definitiva, contarás con 11 módulos para instruirte, de forma teórica y práctica, sobre el mundo Big Data. ¡Apúntate ahora y continúa formándote!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Sabías que hay más de 5.000 vacantes para desarrolladores de Big Data sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!