Las redes neu­ro­na­les co­n­vo­lu­cio­na­les (ConvNets, CNN) son redes neu­ro­na­les ar­ti­fi­cia­les cuyas capas (co­n­vo­lu­tio­nal layers) se aplican a los datos de entrada para extraer ca­ra­c­te­rí­s­ti­cas y, fi­na­l­me­n­te, ide­n­ti­fi­car un objeto. Esto convierte a las ConvNets en una parte im­po­r­ta­n­te del deep learning.

¿Qué son las co­n­vo­lu­tio­nal neural networks (CNN)?

Las co­n­vo­lu­tio­nal neural networks (en español: redes neu­ro­na­les co­n­vo­lu­cio­na­les) son tipos es­pe­cia­li­za­dos de redes neu­ro­na­les ar­ti­fi­cia­les muy efectivas para el pro­ce­sa­mie­n­to y análisis de datos visuales como imágenes y vídeos. Estas redes son im­po­r­ta­n­tes en el machine learning y, en pa­r­ti­cu­lar, en el deep learning.

Las ConvNets están formadas por capas de nodos que incluyen una capa de entrada, una o más capas ocultas y una capa de salida. Los nodos están in­te­r­co­ne­c­ta­dos y tienen una po­n­de­ra­ción co­rre­s­po­n­die­n­te y un valor umbral. Cuando la salida de un nodo supera el umbral es­pe­ci­fi­ca­do, se activa y envía datos a la siguiente capa de la red.

Existen di­fe­re­n­tes tipos de redes neu­ro­na­les que se utilizan para distintas apli­ca­cio­nes y tipos de datos. Por ejemplo, las redes neu­ro­na­les re­cu­rre­n­tes se usan co­mú­n­me­n­te para el pro­ce­sa­mie­n­to de lenguaje natural y el re­co­no­ci­mie­n­to de voz, mientras que las redes neu­ro­na­les co­n­vo­lu­cio­na­les (CNN) se utilizan más para tareas de cla­si­fi­ca­ción y visión por ordenador. Su capacidad para reconocer patrones complejos en los datos las convierte en una he­rra­mie­n­ta im­po­r­ta­n­te de la in­te­li­ge­n­cia ar­ti­fi­cial.

He­rra­mie­n­tas de IA
Saca el máximo partido a la in­te­li­ge­n­cia ar­ti­fi­cial
  • Crea tu página web en tiempo récord
  • Impulsa tu negocio gracias al marketing de IA
  • Ahorra tiempo y obtén mejores re­su­l­ta­dos

Es­tru­c­tu­ra y co­n­s­tru­c­ción de las redes neu­ro­na­les co­n­vo­lu­cio­na­les

Las ConvNets se di­fe­re­n­cias de otras redes neu­ro­na­les por su re­n­di­mie­n­to superior en el pro­ce­sa­mie­n­to de señales de imagen, voz o audio. Tienen tres tipos pri­n­ci­pa­les de capas, y con cada una, la CNN se vuelve más compleja e ide­n­ti­fi­ca, por ejemplo, partes más grandes de una imagen.

Co­m­pa­ti­bi­li­dad de una imagen con el algoritmo de las ConvNets

Las imágenes son re­co­no­ci­das por los or­de­na­do­res como co­m­bi­na­cio­nes de cifras, es decir, la cantidad de píxeles. Esto también se aplica al algoritmo CNN: una imagen en blanco y negro se re­pre­se­n­ta con la longitud m y la anchura n como una matriz 2D de tamaño mXn; en el caso de una imagen en color del mismo tamaño, se utiliza una matriz 3D. Cada celda en esta matriz contiene el valor de píxel co­rre­s­po­n­die­n­te y cada imagen se re­pre­se­n­ta mediante los valores de píxel re­s­pe­c­ti­vos en tres canales di­fe­re­n­tes, cada uno pe­r­te­ne­cie­n­te a un canal rojo, azul y verde.

A co­n­ti­nua­ción, se ide­n­ti­fi­can las ca­ra­c­te­rí­s­ti­cas más im­po­r­ta­n­tes de la imagen. Estas se extraen mediante un método conocido como co­n­vo­lu­ción. Se trata de una operación donde una función modifica (o pliega) la forma de otra función. Las co­n­vo­lu­cio­nes en las imágenes se utilizan ge­ne­ra­l­me­n­te por varias razones, como para enfocar, suavizar y mejorar. En la CNN, sin embargo, las co­n­vo­lu­cio­nes se utilizan para extraer ca­ra­c­te­rí­s­ti­cas de­s­ta­ca­das en las imágenes.

Para extraer ca­ra­c­te­rí­s­ti­cas im­po­r­ta­n­tes de una imagen, se utiliza un filtro o núcleo. Un filtro es una matriz que re­pre­se­n­ta la ca­ra­c­te­rí­s­ti­ca que extraer. Este filtro se superpone a la matriz de entrada y la matriz re­su­l­ta­n­te es una matriz bi­di­me­n­sio­nal que contiene la co­rre­la­ción de la imagen con respecto al filtro utilizado. La matriz de salida se denomina mapa de ca­ra­c­te­rí­s­ti­cas.

Ca­ra­c­te­rí­s­ti­cas de las di­fe­re­n­tes capas de co­n­vo­lu­ción

Durante el proceso de co­n­vo­lu­ción, el campo de entrada se convierte en un campo más pequeño, ma­n­te­nie­n­do la co­rre­la­ción especial entre los píxeles mediante la apli­ca­ción de filtros. A co­n­ti­nua­ción, se presentan los tres tipos pri­n­ci­pa­les de capas de co­n­vo­lu­ción:

  • Co­n­vo­lu­tio­nal layer: esta capa de co­n­vo­lu­ción es la primera capa de una red co­n­vo­lu­cio­nal. Utiliza filtros (pequeñas matrices de pesos) que se deslizan sobre la imagen para reconocer ca­ra­c­te­rí­s­ti­cas locales como bordes, esquinas y texturas. Cada filtro genera un mapa de ca­ra­c­te­rí­s­ti­cas que resalta patrones es­pe­cí­fi­cos. Otra capa de co­n­vo­lu­ción puede seguir a la primera, haciendo que la es­tru­c­tu­ra de la CNN sea je­rá­r­qui­ca, ya que las capas po­s­te­rio­res pueden ver los píxeles dentro de los campos re­ce­p­ti­vos de las capas an­te­rio­res.
  • Pooling layer: esta capa reduce el tamaño de los mapas de ca­ra­c­te­rí­s­ti­cas, re­su­mie­n­do áreas locales y de­s­ca­r­ta­n­do in­fo­r­ma­ción no relevante. Esto reduce la co­m­ple­ji­dad co­mpu­tacio­nal mientras mantiene la in­fo­r­ma­ción más im­po­r­ta­n­te.
  • Fully connected layer: esta capa conecta todas las neuronas entre sí, de forma similar a una red neuronal natural. Sirve para la cla­si­fi­ca­ción final y combina las ca­ra­c­te­rí­s­ti­cas extraídas en una decisión, hasta ide­n­ti­fi­car fi­na­l­me­n­te el objeto deseado.

Ilu­s­tra­ción del proceso de co­n­vo­lu­ción

Imagina que intentas de­te­r­mi­nar si una imagen contiene un rostro humano. Puedes imaginar el rostro como una suma de sus partes: tiene dos ojos, nariz, boca, dos orejas, etc. El proceso de co­n­vo­lu­ción sería el siguiente:

  1. Primera capa de co­n­vo­lu­ción: las primeras capas co­n­vo­lu­cio­na­les utilizan filtros para reconocer ca­ra­c­te­rí­s­ti­cas de los píxeles in­di­vi­dua­les. Un filtro podría reconocer un borde vertical que re­pre­se­n­ta el borde de un ojo. Como se mencionó an­te­rio­r­me­n­te, las ca­ra­c­te­rí­s­ti­cas locales forman patrones que se registran en un mapa de ca­ra­c­te­rí­s­ti­cas durante la co­n­vo­lu­ción. En este caso, un mapa de ca­ra­c­te­rí­s­ti­cas podría re­pre­se­n­tar los bordes de los ojos, la nariz y la boca.
  2. Capas de co­n­vo­lu­ción adi­cio­na­les: a las capas de co­n­vo­lu­ción iniciales pueden seguirles más capas de co­n­vo­lu­ción o capas de pooling. De esta manera, los patrones in­di­vi­dua­les se combinan gra­dua­l­me­n­te para formar una imagen de un rostro humano. Las si­guie­n­tes capas de co­n­vo­lu­ción combinan ca­ra­c­te­rí­s­ti­cas simples en patrones más complejos. Los bordes y las esquinas se combinan en formas que re­pre­se­n­tan ojos. Estas capas ven áreas más grandes de la imagen (campos re­ce­p­ti­vos) y reconocen es­tru­c­tu­ras co­m­pue­s­tas, llamadas je­ra­r­quías de ca­ra­c­te­rí­s­ti­cas dentro de las capas de co­n­vo­lu­ción. Una capa posterior podría reconocer que dos ojos y una boca en una di­s­po­si­ción pa­r­ti­cu­lar forman un rostro.
  3. Capas de pooling: estas reducen el tamaño de los mapas de ca­ra­c­te­rí­s­ti­cas y las abstraen aún más. Mantienen las ca­ra­c­te­rí­s­ti­cas ese­n­cia­les y reducen la cantidad de datos a procesar.
  4. Fully connected layer: fi­na­l­me­n­te, se forma la última capa del ConvNet, la fully connected layer. En este caso, pro­du­ci­ría la imagen de un rostro humano, que gracias a la co­n­vo­lu­ción se di­s­ti­n­gui­ría cla­ra­me­n­te de otro rostro.
Imagen: Diagrama de una red neuronal convolucional
Las ConvNets extraen au­to­má­ti­ca­me­n­te ca­ra­c­te­rí­s­ti­cas re­le­va­n­tes e ide­n­ti­fi­can objetos en imágenes

Además, técnicas como Dropout y la re­gu­la­ri­za­ción optimizan las redes evitando el so­bre­aju­s­te. Las funciones de ac­ti­va­ción como ReLU (Rectified Linear Unit) pro­po­r­cio­nan no li­nea­li­dad y ayudan a la red a reconocer patrones más complejos, ya que no todas las neuronas realizan los mismos cálculos. Además, la no­r­ma­li­za­ción por lotes es­ta­bi­li­za y acelera el en­tre­na­mie­n­to, pro­ce­sa­n­do los datos de manera más uniforme.

Áreas de apli­ca­ción de las redes neu­ro­na­les co­n­vo­lu­cio­na­les

Antes de que exi­s­tie­ran las CNN, se uti­li­za­ban métodos manuales y la­bo­rio­sos de ex­tra­c­ción de ca­ra­c­te­rí­s­ti­cas para ide­n­ti­fi­car objetos en imágenes. Las redes neu­ro­na­les co­n­vo­lu­cio­na­les ofrecen un enfoque más escalable para tareas de cla­si­fi­ca­ción de imágenes y re­co­no­ci­mie­n­to de objetos. Utilizan pri­n­ci­pios de álgebra lineal para reconocer patrones en una imagen (es­pe­cia­l­me­n­te la mu­l­ti­pli­ca­ción de matrices). Ac­tua­l­me­n­te, las CNN se utilizan en diversas apli­ca­cio­nes:

  • Re­co­no­ci­mie­n­to de imágenes y voz: re­co­no­ci­mie­n­to au­to­má­ti­co de objetos o personas en imágenes y vídeos, por ejemplo, para servicios de eti­que­ta­do de fotos en sma­r­t­pho­nes, sistemas de re­co­no­ci­mie­n­to facial o asi­s­te­n­tes de voz como Siri o Alexa.
  • Dia­g­nó­s­ti­co médico: análisis de imágenes médicas gracias al re­co­no­ci­mie­n­to de imágenes por IA para apoyar el dia­g­nó­s­ti­co, por ejemplo, en ra­dio­gra­fías, to­mo­gra­fías co­mpu­tari­za­das y re­so­na­n­cias ma­g­né­ti­cas.
  • Vehículos autónomos: re­co­no­ci­mie­n­to de ca­ra­c­te­rí­s­ti­cas de la carretera y ob­s­tácu­los, por ejemplo, para coches autónomos.
  • Redes sociales: las CNN se utilizan, por ejemplo, en relación con el text mining en estas pla­ta­fo­r­mas para moderar co­n­te­ni­dos au­to­má­ti­ca­me­n­te y crear pu­bli­ci­dad pe­r­so­na­li­za­da.
  • Marketing y comercio minorista: por ejemplo, búsqueda visual y co­lo­ca­ción de productos gracias al data mining.

Ventajas y de­s­ve­n­ta­jas de las redes neu­ro­na­les co­n­vo­lu­cio­na­les

Las CovNets pueden extraer au­to­má­ti­ca­me­n­te ca­ra­c­te­rí­s­ti­cas re­le­va­n­tes de los datos y lograr una alta precisión. Sin embargo, el en­tre­na­mie­n­to efectivo de las CNN requiere co­n­si­de­ra­bles recursos co­mpu­tacio­na­les, ya que necesitan grandes ca­n­ti­da­des de datos eti­que­ta­dos y potentes GPU para obtener buenos re­su­l­ta­dos.

Ventajas De­s­ve­n­ta­jas
Ex­tra­c­ción au­to­má­ti­ca de ca­ra­c­te­rí­s­ti­cas Alto coste co­mpu­tacio­nal
Alta precisión Necesidad de grandes conjuntos de datos
En resumen

Las CNN han re­vo­lu­cio­na­do el campo de la in­te­li­ge­n­cia ar­ti­fi­cial y ofrecen enormes ventajas en distintos ámbitos. De­sa­rro­llos futuros como mejoras en hardware, nuevos métodos de re­co­pi­la­ción de datos o ar­qui­te­c­tu­ras avanzadas como las redes de cápsulas podrían permitir una mayor op­ti­mi­za­ción e in­te­gra­ción en diversas te­c­no­lo­gías, lo que pe­r­mi­ti­ría un uso aún más amplio de las CNN.

Ir al menú principal