English English French French Spanish Spanish German German
Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

Redes neuronales convolucionales (CNN): una introducción

Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Las redes neuronales convolucionales ofrecen una forma más escalable de tareas de reconocimiento de objetos y clasificación de imágenes.

Hay muchos avances en el mundo de la tecnología. inteligencia artificial y máquina de aprendizaje son algunos de los más comunes que puede escuchar con frecuencia.

Actualmente, estas tecnologías se utilizan en casi todos los campos, desde marketing, comercio electrónico y de desarrollo de software a la banca, las finanzas y la medicina.

AI y ML son campos amplios, y se están realizando esfuerzos para ampliar sus aplicaciones para resolver muchos problemas del mundo real. Es por eso que podrías ver muchas ramas dentro de estas tecnologías; ML es un subconjunto de AI en sí mismo.

Las redes neuronales convolucionales son una de las ramas de la IA que se está volviendo popular en estos días.

En este artículo, discutiré qué son las CNN, cómo funcionan y su utilidad en el mundo moderno.

¡Vamos a sumergirnos en!

What Is a Convolutional Neural Network?

Una red neuronal convolucional (ConvNet o CNN) es una red neuronal artificial (ANN) que utiliza aprendizaje profundo algoritmos para analizar imágenes, clasificar elementos visuales y realizar tareas de visión artificial.

Red neuronal convolucional

CNN aprovecha los principios del álgebra lineal, como la multiplicación de matrices, para detectar patrones en una imagen. Como estos procesos involucran cálculos complejos, requieren unidades de procesamiento gráfico (GPU) para entrenar los modelos.

En palabras simples, CNN usa algoritmos de aprendizaje profundo para tomar datos de entrada como imágenes y asignar importancia en forma de sesgos y pesos aprendibles a diferentes aspectos de esa imagen. De esta manera, CNN puede diferenciar entre imágenes o clasificarlas.

CNN’s: A Brief History

Dado que una red neuronal convolucional es una red neuronal artificial, es importante reiterar las redes neuronales.

En computación, una red neuronal es parte del aprendizaje automático (ML) que utiliza algoritmos de aprendizaje profundo. Es análogo a los patrones de conectividad que siguen las neuronas en el cerebro humano. Las redes neuronales artificiales también se inspiran en cómo se organiza la corteza visual.  

CNN: una breve historia

Por lo tanto, se utilizan diferentes tipos de redes neuronales o redes neuronales artificiales (ANN) para diferentes propósitos. Uno de ellos es la CNN utilizada para la detección y clasificación de imágenes, y más. Fue presentado por un investigador postdoctoral, Yann LeCun, en la década de 1980.

La primera versión de CNN: LeNet, que lleva el nombre de LeCun, era capaz de reconocer dígitos escritos a mano. Luego, se utilizó en servicios bancarios y postales para leer dígitos en cheques y códigos postales escritos en sobres.

Sin embargo, esta primera versión carecía de escala; por lo tanto, las CNN no se utilizaron mucho en inteligencia artificial y visión por computadora. Además, requería importantes recursos de computación y datos para trabajar de manera más eficiente para imágenes más grandes. 

Además, en 2012, AlexNet revisó el aprendizaje profundo que utiliza redes neuronales que constan de varias capas. Alrededor de este tiempo, la tecnología mejoró y se dispuso de grandes conjuntos de datos y grandes recursos informáticos para permitir la creación de CNN complejas capaces de realizar actividades de visión por computadora de manera eficiente.

Layers in a CNN

Entendamos las diferentes capas en una CNN. El aumento de capas en una CNN aumentará su complejidad y le permitirá detectar más aspectos o áreas de una imagen. Comenzando con una característica simple, se vuelve capaz de detectar características complejas como la forma del objeto y elementos más grandes hasta que finalmente puede detectar la imagen.

Capa convolucional

La primera capa de una CNN es la capa convolucional. Es el bloque de construcción principal de CNN donde ocurre la mayoría de los cálculos. Necesita menos componentes, como datos de entrada, un mapa de características y un filtro.

Capa convolucional

Una CNN también puede tener capas convolucionales adicionales. Esto hace que la estructura de las CNN sea jerárquica, ya que las capas posteriores pueden visualizar píxeles dentro de los campos receptivos de las capas anteriores. Luego, las capas convolucionales transforman la imagen dada en valores numéricos y permiten que la red comprenda y extraiga patrones valiosos.

Capas de agrupación

Las capas de agrupación se utilizan para reducir las dimensiones y se denominan reducción de resolución. Reduce los parámetros utilizados en la entrada. La operación de agrupación puede mover un filtro sobre la entrada completa como la capa convolucional pero carece de pesos. Aquí, el filtro aplica una función conjunta a los valores numéricos en el campo receptivo para llenar la matriz de resultados.

La agrupación tiene dos tipos:

  • Agrupación promedio: El valor promedio se calcula en el campo receptivo que el archivador barre sobre la entrada para transmitir a la matriz de salida.
  • Agrupación máxima: Elige el píxel de valor máximo y lo envía a la matriz de salida a medida que el filtro barre la entrada. La agrupación máxima se usa más que la agrupación promedio.

Aunque se pierden datos significativos en la agrupación, todavía ofrece muchos beneficios a CNN. Ayuda a reducir los riesgos de sobreajuste y la complejidad al mismo tiempo que mejora la eficiencia. También mejora la estabilidad de CNN.

Capa totalmente conectada (FC)

Capa totalmente conectada (FC)

Como sugiere el nombre, todos los nodos de una capa de salida están directamente conectados al nodo de la capa anterior en una capa totalmente conectada. Clasifica una imagen en función de las características extraídas a través de capas anteriores junto con sus filtros.

Además, las capas FC generalmente usan una función de activación softmax para clasificar las entradas correctamente en lugar de las funciones ReLu (como en el caso de las capas agrupadas y convolucionales). Esto ayuda a producir una probabilidad de 0 o 1.

How Do CNNs Work?

Una red neuronal convolucional consta de muchas capas, incluso cientos de ellas. Estas capas aprenden a identificar varias características de una imagen determinada.

Aunque las CNN son redes neuronales, su arquitectura difiere de una ANN regular.

¿Cómo funcionan las CNN?

Este último pasa una entrada a través de muchas capas ocultas para transformarlo, donde cada capa se crea con un conjunto de neuronas artificiales y está completamente conectada a cada neurona en la misma capa. Por fin, hay una capa totalmente conectada o la capa de salida para mostrar el resultado.

Por otro lado, CNN organiza las capas en tres dimensiones: ancho, profundidad y altura. Aquí, una capa de la neurona solo se conecta a las neuronas en una pequeña región en lugar de relacionarse con cada una de ellas en la siguiente capa. Finalmente, el resultado final está representado por un solo vector con una puntuación de probabilidad y tiene solo la dimensión de profundidad.

Ahora, puede preguntar qué es la "convolución" en una CNN.

Bueno, la convolución se refiere a una operación matemática para fusionar dos conjuntos de datos. En CNN, el concepto de convolución se aplica a los datos de entrada para generar un mapa de características filtrando la información.

Esto nos lleva a algunos de los conceptos y terminologías importantes que se utilizan en las CNN.

  • Filtrar: también conocido como detector de características o kernel, un filtro puede tener una cierta dimensión, como 3×3. Recorre una imagen de entrada para realizar la multiplicación de matrices para cada elemento para aplicar la convolución. La aplicación de filtros a cada imagen de entrenamiento en diferentes resoluciones más la salida de la imagen convolucionada funcionará como una entrada para la capa posterior.
  • Relleno: se usa para expandir una matriz de entrada a los bordes de la matriz mediante la inserción de píxeles falsos. Se hace para contrarrestar el hecho de que la convolución reduce el tamaño de la matriz. Por ejemplo, una matriz de 9×9 puede convertirse en una matriz de 3×3 después del filtrado.
  • Zancadas: Si desea obtener una salida más pequeña que su entrada, puede realizar una zancada. Permite saltar ciertas áreas mientras el filtro se desliza sobre la imagen. Al omitir dos o tres píxeles, puede producir una red más eficiente al reducir la resolución espacial.
  • Pesos y sesgos: Las CNN tienen pesos y sesgos en sus neuronas. Un modelo puede aprender esos valores mientras se entrena, y los valores siguen siendo los mismos en una capa determinada para todas las neuronas. Esto implica que cada neurona oculta detecta las mismas características en diferentes áreas de una imagen. Como resultado, la red se vuelve más tolerante al traducir objetos en una imagen dada.
  • ReLU: significa Unidad Lineal Rectificada (ReLu) y se utiliza para un entrenamiento más efectivo y rápido. Asigna valores negativos a 0 y mantiene valores positivos. También se denomina activación, ya que la red transporta solo las características de imagen activadas a la capa posterior.
  • Campo receptivo: En una red neuronal, cada neurona recibe información de diferentes ubicaciones de la capa anterior. Y en las capas convolucionales, cada neurona recibe información de un área restringida solo de la capa anterior, llamada campo receptivo de la neurona. En el caso de la capa FC, toda la capa anterior es el campo receptivo.

En las tareas de computación del mundo real, por lo general, la convolución se realiza en un Imagen en 3D que requiere un filtro 3D.

Volviendo a CNN, comprende diferentes partes o capas de nodos. Cada capa de nodo tiene un umbral y un peso y está conectada a otra. Al exceder el límite del umbral, los datos se envían a la siguiente capa de esta red.

Estas capas pueden realizar operaciones para cambiar los datos para aprender características relevantes. Además, estas operaciones repiten cientos de capas diferentes que siguen aprendiendo a detectar otras características de una imagen.

operaciones

Las partes de una CNN son:

  • Una capa de entrada: Aquí es donde se toma la entrada, como una imagen. Será un objeto 3D con una altura, anchura y profundidad definidas.
  • Una/múltiples capas ocultas o fase de extracción de características: estas capas pueden ser una capa convolucional, una capa de agrupación y una capa totalmente conectada.
  • Una capa de salida: Aquí, se mostrará el resultado.

Pasar la imagen a través de la capa de convolución se transforma en un mapa de características o mapa de activación. Después de convolucionar la entrada, las capas convolucionan la imagen y pasan el resultado a la capa siguiente.

La CNN realizará muchas convoluciones y técnicas de agrupación para detectar las características durante la fase de extracción de características. Por ejemplo, si ingresa la imagen de un gato, la CNN reconocerá sus cuatro patas, color, dos ojos, etc.

Luego, las capas completamente conectadas en una CNN actuarán como un clasificador sobre las características extraídas. Según lo que el algoritmo de aprendizaje profundo ha predicho sobre la imagen, las capas producirían el resultado.   

Advantages of CNNs

Ventajas de las CNN

Mayor precisión

Las CNN ofrecen mayor precisión que las redes neuronales regulares que no usan convolución. Las CNN son útiles, especialmente cuando la tarea implica una gran cantidad de datos, video y reconocimiento de imágenes, etc. Producen resultados y predicciones muy precisos; por lo tanto, su uso está aumentando en diferentes sectores. 

Eficiencia Computacional

Eficiencia Computacional

Las CNN ofrecen un nivel de eficiencia computacional más alto que otras redes neuronales regulares. Esto se debe al uso del proceso de convolución. También utilizan la reducción de dimensionalidad y el uso compartido de parámetros para hacer que los modelos sean más rápidos y fáciles de implementar. Estas técnicas también se pueden optimizar para que funcionen en diferentes dispositivos, ya sea su teléfono inteligente o computadora portátil. 

Extracción de características

CNN puede aprender fácilmente las características de una imagen sin necesidad de ingeniería manual. Puede aprovechar las CNN preentrenadas y administrar los pesos al proporcionarles datos cuando trabaje en una nueva tarea, y la CNN se adaptará a ella sin problemas. 

Applications of CNN

Las CNN se utilizan en diferentes industrias para muchos casos de uso. Algunas de las aplicaciones de la vida real de las CNN incluyen: 

Clasificación de imagen

Clasificación de imagen

Las CNN se utilizan ampliamente en la clasificación de imágenes. Estos pueden reconocer características valiosas e identificar objetos en una imagen determinada. Por lo tanto, se usa en sectores como el de la atención médica, particularmente en resonancias magnéticas. Además, esta tecnología se utiliza en el reconocimiento de dígitos escritos a mano, que se encuentra entre los primeros casos de uso de las CNN en visión artificial.

Detección de objetos

CNN puede detectar objetos en imágenes en tiempo real y también etiquetarlos y clasificarlos. Por lo tanto, esta técnica se usa ampliamente en vehículos automatizados. También permite que los hogares inteligentes y los peatones reconozcan la cara del propietario del vehículo. También se utiliza en sistemas de vigilancia impulsados ​​por IA para detectar y marcar objetos.

Detección de objetos

Coincidencia Audiovisual

La ayuda de CNN en el emparejamiento audiovisual ayuda a mejorar las plataformas de transmisión de videos como Netflix, YouTube, etc. También ayuda a satisfacer las solicitudes de los usuarios, como “canciones de amor de Elton John”. 

Reconocimiento de voz

Reconocimiento de voz

Además de las imágenes, las CNN son útiles en el procesamiento del lenguaje natural (NLP) y el reconocimiento de voz. Un ejemplo del mundo real de esto podría ser Google usando CNN en su reconocimiento de voz sistema. 

Reconstrucción de objetos

Las CNN se pueden utilizar en el Modelado 3D un objeto real en un entorno digital. También es posible que los modelos CNN creen un modelo facial en 3D utilizando una imagen. Además, CNN es útil para construir gemelos digitales en biotecnología, fabricación, biotecnología y arquitectura. 

El uso de CNN en diferentes sectores incluye:

  • Cuidado de la salud: La visión artificial se puede utilizar en radiología para ayudar a los médicos a detectar tumores cancerosos con mayor eficiencia en una persona. 
  • Agricultura: Las redes pueden utilizar imágenes de satélites artificiales como LSAT y aprovechar estos datos para clasificar las tierras fértiles. Esto también ayuda a predecir los niveles de fertilidad de la tierra y desarrollar una estrategia efectiva para maximizar el rendimiento. 
  • Márketing: Las aplicaciones de redes sociales pueden sugerir a una persona en una imagen publicada en el perfil de alguien. Esto te ayuda a etiquetar personas en tus álbumes de fotos. 
  • Retail: Las plataformas de comercio electrónico pueden usar la búsqueda visual para ayudar a las marcas a recomendar artículos relevantes que los clientes objetivo desean comprar. 
  • Automotor: CNN encuentra uso en automóviles para mejorar la seguridad de pasajeros y conductores. Lo hace con la ayuda de características como la detección de líneas de carril, detección de objetos, clasificación de imágenes, etc. Esto también ayuda a que el mundo de los autos sin conductor evolucione más.

Resources to Learn CNNs

Coursera:

Coursera tiene esto curso en CNN que usted puede considerar tomar. Este curso le enseñará cómo ha evolucionado la visión artificial a lo largo de los años y algunas aplicaciones de las CNN en el mundo moderno. 

Amazonas:

Puede leer estos libros y conferencias para obtener más información sobre CNN:

  • Redes Neuronales y Aprendizaje Profundo: Cubre modelos, algoritmos y la teoría del aprendizaje profundo y las redes neuronales. 
Vista previa Producto Clasificación Precio
Redes neuronales y aprendizaje profundo: un libro de texto Redes neuronales y aprendizaje profundo: un libro de texto Aún no hay calificaciones $50.49
  • Una guía de redes neuronales convolucionales para visión artificial: Este libro le enseñará las aplicaciones de las CNN y sus conceptos. 
  • Redes neuronales convolucionales prácticas con Tensorflow: Puede resolver varios problemas de visión por computadora usando Python y TensorFlow con la ayuda de este libro. 
  • Aprendizaje profundo aplicado avanzado: Este libro lo ayudará a comprender las CNN, el aprendizaje profundo y sus aplicaciones avanzadas, incluida la detección de objetos. 
Vista previa Producto Clasificación Precio
Aprendizaje profundo aplicado avanzado: redes neuronales convolucionales y detección de objetos Aprendizaje profundo aplicado avanzado: redes neuronales convolucionales y detección de objetos Aún no hay calificaciones $23.74
  • Redes Neuronales Convolucionales y Redes Neuronales Recurrentes: Este libro le enseñará sobre las CNN y las RNN y cómo construir estas redes. 

Conclusión

Las redes neuronales convolucionales son uno de los campos emergentes de la inteligencia artificial, máquina de aprendizajey aprendizaje profundo. Tiene diversas aplicaciones en el mundo actual en casi todos los sectores. En cuanto a su uso cada vez mayor, se espera que se expanda más y sea más útil para abordar problemas del mundo real. 

Gracias a nuestros patrocinadores
Más lecturas interesantes sobre el desarrollo
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Trata Intruder