¿Cuáles son las desventajas de las CNN?
Las CNN tienen desventajas, como un largo tiempo de entrenamiento, la necesidad de grandes conjuntos de datos etiquetados y la susceptibilidad al sobreajuste. La complejidad de la red también puede afectar el rendimiento. Sin embargo, las CNN siguen siendo una herramienta ampliamente utilizada y eficaz en la visión artificial, incluida la detección y segmentación de objetos, a pesar de las limitaciones en tareas que requieren conocimiento contextual como el procesamiento del lenguaje natural.
Las redes neuronales convolucionales tienen varias desventajas que pueden dificultar su uso en algunas aplicaciones de aprendizaje automático. Por ejemplo, el entrenamiento de las redes neuronales convolucionales puede llevar un tiempo, especialmente para grandes conjuntos de datos, porque las redes neuronales convolucionales son computacionalmente costosas. Además, crear la arquitectura de las redes neuronales convolucionales puede ser un desafío y requiere una comprensión profunda de las ideas fundamentales de las redes neuronales artificiales.
Otra desventaja es que las CNN necesitan muchos datos etiquetados para entrenar de manera efectiva. Esto puede ser una restricción seria en circunstancias con pocos datos disponibles. Las CNN tampoco siempre tienen éxito en tareas que requieren más conocimiento contextual, como el procesamiento del lenguaje natural (NLP), incluso si son bastante buenas en tareas de reconocimiento de imágenes.
El número y tipo de capas empleadas en el diseño de la CNN pueden afectar el rendimiento. Por ejemplo, agregar más capas podría mejorar la precisión pero aumentar la complejidad de la red y los costos computacionales al mismo tiempo. Las arquitecturas de CNN de aprendizaje profundo también son vulnerables al sobreajuste, que ocurre cuando una red se especializa demasiado en los datos de entrenamiento y tiene un rendimiento deficiente en nuevos datos no entrenados.
A pesar de estas desventajas, las CNN siguen siendo una herramienta ampliamente utilizada y muy efectiva para algoritmos de aprendizaje profundo y aprendizaje automático en el campo de las redes neuronales artificiales, incluida la segmentación, la detección de objetos y el reconocimiento de imágenes. Dicho esto, las CNN seguirán siendo un jugador clave en la visión por computadora.
¿Cuáles son las ventajas de las CNN?
Las CNN son preferidas en tareas de visión por computadora debido a sus ventajas, que incluyen invariancia a la traducción, compartición de parámetros, representaciones jerárquicas, resiliencia a cambios y entrenamiento de extremo a extremo.
Las redes neuronales convolucionales tienen varias ventajas, lo que las convierte en una opción atractiva para diversas tareas de visión por computadora. Una de sus principales ventajas es la invariancia a la traducción, una característica de las CNN que les permite reconocer objetos en una imagen independientemente de su posición. Las capas convolucionales se utilizan para lograr esto al aplicar filtros a toda la imagen de entrada para que la red pueda aprender características que son invariantes a la traducción.
El uso de la compartición de parámetros, en el que el mismo conjunto de parámetros se comparte en todas las áreas de la imagen de entrada, es otro beneficio de las CNN. Como resultado, la red tiene menos parámetros y puede generalizar mejor los nuevos datos, lo cual es crucial al trabajar con grandes conjuntos de datos.
Las CNN también pueden aprender representaciones jerárquicas de la imagen de entrada, con las capas superiores aprendiendo características más complicadas como piezas y formas de objetos, mientras que las capas inferiores aprenden elementos más simples como bordes y texturas. Para tareas desafiantes como la detección de objetos y la segmentación, este modelo jerárquico permite a la red aprender características a muchos niveles de abstracción.
Las CNN son adecuadas para aplicaciones del mundo real porque son resilientes a cambios en la iluminación, el color y pequeñas distorsiones en la imagen de entrada. Finalmente, las redes neuronales convolucionales se pueden entrenar de extremo a extremo, permitiendo que el descenso de gradiente optimice simultáneamente todos los parámetros de la red para un mejor rendimiento y una convergencia más rápida. El descenso de gradiente es un algoritmo de optimización utilizado para ajustar iterativamente los parámetros del modelo minimizando la función de pérdida en la dirección del gradiente negativo.
¿Cuáles son los tipos de redes neuronales convolucionales?
Existen varios tipos de redes neuronales convolucionales, incluidas las CNN tradicionales, las redes neuronales recurrentes, las redes completamente convolucionales y las redes de transformadores espaciales, entre otras.
CNN tradicionales
Las CNN tradicionales, también conocidas como CNN "vanilla", constan de una serie de capas convolucionales y de agrupamiento, seguidas de una o más capas completamente conectadas. Como se mencionó, cada capa convolucional en esta red ejecuta una serie de convoluciones con un conjunto de filtros enseñables para extraer características de la imagen de entrada.
La arquitectura Lenet-5, una de las primeras CNN efectivas para el reconocimiento de dígitos manuscritos, ilustra una CNN convencional. Tiene dos conjuntos de capas convolucionales y de agrupamiento que siguen a dos capas completamente conectadas. La eficiencia de las CNN en la identificación de imágenes fue probada por la arquitectura Lenet-5, que también las hizo más utilizadas en tareas de visión por computadora.
Redes neuronales recurrentes
Las redes neuronales recurrentes (RNN) son un tipo de red neuronal que puede procesar datos secuenciales manteniendo un seguimiento del contexto de entradas anteriores. Las redes neuronales recurrentes pueden manejar entradas de diferentes longitudes y producir salidas dependientes de las entradas anteriores, a diferencia de las redes neuronales típicas de alimentación hacia adelante, que solo procesan datos de entrada en un orden fijo.
Por ejemplo, las RNN pueden ser utilizadas en actividades de NLP como la generación de texto o la traducción de idiomas. Una red neuronal recurrente puede ser entrenada en pares de oraciones en dos idiomas diferentes para aprender a traducir entre los dos.

La RNN procesa oraciones una a la vez, produciendo una oración de salida dependiendo de la oración de entrada y la salida anterior en cada paso. La RNN puede producir traducciones correctas incluso para textos complejos ya que mantiene un seguimiento de las entradas y salidas pasadas.
Redes completamente convolucionales
Las redes completamente convolucionales (FCN) son un tipo de arquitectura de red neuronal comúnmente utilizada en tareas de visión por computadora como la segmentación de imágenes, la detección de objetos y la clasificación de imágenes. Las FCN pueden ser entrenadas de extremo a extremo utilizando retropropagación para categorizar o segmentar imágenes.
La retropropagación es un algoritmo de entrenamiento que calcula los gradientes de la función de pérdida con respecto a los pesos de una red neuronal. La capacidad de un modelo de aprendizaje automático para predecir la salida anticipada para una entrada dada se mide mediante una función de pérdida.
Las FCN se basan únicamente en capas convolucionales, ya que no tienen capas completamente conectadas, lo que las hace más adaptables y computacionalmente eficientes que las redes neuronales convolucionales convencionales. Un ejemplo de una FCN es una red que acepta una imagen de entrada y produce la ubicación y clasificación de objetos dentro de la imagen.
Red de transformadores espaciales
Una red de transformadores espaciales (STN) se utiliza en tareas de visión por computadora para mejorar la invariancia espacial de las características aprendidas por la red. La capacidad de una red neuronal para reconocer patrones u objetos en una imagen independientemente de su ubicación geográfica, orientación o escala se conoce como invariancia espacial.
Una red que aplica una transformación espacial aprendida a una imagen de entrada antes de procesarla más es un ejemplo de una STN. La transformación podría usarse para alinear objetos dentro de la imagen, corregir distorsiones de perspectiva o realizar otros cambios espaciales para mejorar el rendimiento de la red en una tarea específica.
Una transformación se refiere a cualquier operación que modifica una imagen de alguna manera, como rotar, escalar o recortar. La alineación se refiere al proceso de asegurar que los objetos dentro de una imagen estén centrados, orientados o posicionados de manera consistente y significativa.
Cuando los objetos en una imagen aparecen sesgados o deformados debido al ángulo o la distancia desde la que se tomó la imagen, ocurre la distorsión de perspectiva. Se pueden aplicar varias transformaciones matemáticas a la imagen, como transformaciones afines, para corregir la distorsión de perspectiva. Las transformaciones afines preservan líneas paralelas y proporciones de distancias entre puntos para corregir la distorsión de perspectiva u otros cambios espaciales en una imagen.
Los cambios espaciales se refieren a cualquier modificación de la estructura espacial de una imagen, como voltear, rotar o traducir la imagen. Estos cambios pueden aumentar los datos de entrenamiento o abordar desafíos específicos en la tarea, como variaciones en iluminación, contraste o fondo.
¿Cómo funcionan las redes neuronales convolucionales?
Las redes neuronales convolucionales funcionan extrayendo características de los datos de entrada a través de capas convolucionales y aprendiendo a clasificar los datos de entrada a través de capas completamente conectadas.
Los pasos involucrados en el funcionamiento de las redes neuronales convolucionales incluyen lo siguiente:
Capa de entrada: La capa de entrada — la primera capa en una CNN — toma datos en bruto como entrada, como una imagen o un video, y los envía a la siguiente capa para su procesamiento.
Capa convolucional: La extracción de características tiene lugar en la capa convolucional. Esta capa aplica una colección de filtros o núcleos para extraer características como bordes, esquinas y formas de los datos de entrada.
Capa ReLU: Para proporcionar no linealidad a la salida y mejorar el rendimiento de la red, una función de activación de unidad lineal rectificada (ReLU) se implementa frecuentemente después de cada capa convolucional. ReLU devuelve la entrada directamente si es positiva y devuelve cero si es negativa.
Capa de agrupamiento: Los mapas de características de la capa convolucional se forman con una capa de agrupamiento, que reduce su dimensionalidad. Max-pooling es una técnica comúnmente utilizada donde se toma el valor máximo en cada parche del mapa de características como salida.
Capa completamente conectada: La capa completamente conectada toma la salida aplanada de la capa de agrupamiento y aplica un conjunto de pesos para producir la salida final, que puede ser utilizada para tareas de clasificación o predicción.

Aquí hay una ilustración de cómo la CNN categorizaría imágenes de gatos y perros:
Paso 1: La capa de entrada recibe imágenes de un perro o gato de 3 canales (RGB) y otros datos de imagen en bruto. Un 3 canales (RGB) es un formato estándar utilizado para representar imágenes a color en redes neuronales, donde cada píxel es representado por tres valores que representan la intensidad de los canales de color rojo, verde y azul.
Paso 2: La capa convolucional aplica una serie de filtros a la imagen de entrada para extraer características como bordes, esquinas y formas.
Paso 3: La salida de la capa convolucional se vuelve no lineal debido a la capa ReLU.
Paso 4: Al tomar el valor máximo en cada parche del mapa de características, la capa de agrupamiento reduce la dimensionalidad de los mapas de características creados por la capa convolucional.
Paso 5: Muchas capas convolucionales y de agrupamiento se apilan para extraer características progresivamente complicadas de la imagen de entrada.
Paso 6: La capa aplanada convierte la salida de la capa anterior en un vector unidimensional o 1D (una secuencia de números dispuestos en una sola fila o columna, cada uno representando una característica o atributo). Luego, una capa completamente conectada recibe la salida aplanada de la última capa de agrupamiento y aplica un conjunto de pesos para producir la salida final, identificando si la imagen es de un gato o un perro.
La CNN se entrena utilizando un conjunto de imágenes etiquetadas, con los pesos de los filtros y las capas completamente conectadas ajustados durante el entrenamiento para minimizar el error entre las etiquetas predichas y las reales. Una vez entrenada, la red neuronal convolucional puede clasificar con precisión nuevas imágenes no vistas de gatos y perros.
¿Cuáles son las redes neuronales convolucionales en el aprendizaje profundo?
Las redes neuronales convolucionales se utilizan en tareas de visión por computadora, que emplean capas convolucionales para extraer características de los datos de entrada.
Las redes neuronales convolucionales (CNN) son una clase de redes neuronales profundas comúnmente utilizadas en tareas de visión por computadora como el reconocimiento de imágenes y videos, la detección de objetos y la segmentación de imágenes.
Las redes neuronales son modelos de aprendizaje automático que consisten en nodos interconectados que procesan información para tomar decisiones, mientras que las redes neuronales profundas tienen múltiples capas ocultas que les permiten aprender representaciones complejas para diversas tareas. Ambas imitan la estructura y función del cerebro humano. La visión por computadora es un campo de la inteligencia artificial (IA) que se centra en permitir que las máquinas interpreten y comprendan datos visuales del mundo.
Aunque el reconocimiento de imágenes y videos implica clasificar o reconocer objetos, escenas o acciones en fotos o videos, la detección de objetos implica localizar ciertas cosas dentro de una imagen o video. La segmentación de imágenes implica dividir una imagen en segmentos o regiones significativas para un análisis o manipulación adicional.

Las CNN utilizan varias capas convolucionales para extraer automáticamente características de los datos de entrada. Los datos de entrada se someten a filtros mediante las capas convolucionales, con los mapas de características producidos pasados a capas de procesamiento adicionales. Las capas convolucionales son los bloques de construcción de las CNN que realizan la operación de filtrado y extracción de características sobre los datos de entrada.
Filtrado es el proceso de convolucionar una imagen con un filtro para extraer características, mientras que la extracción de características es el proceso de identificar patrones o características relevantes de las imágenes convolucionadas.
Las capas de agrupamiento, que reducen la salida de las capas convolucionales para disminuir el costo computacional y aumentar la capacidad de la red para generalizar a nuevas entradas, se incluyen frecuentemente en las CNN además de las capas convolucionales. Otras capas típicas incluyen capas de normalización, que ayudan a reducir el sobreajuste y mejorar el rendimiento de la red, y capas completamente conectadas, que se utilizan para tareas de clasificación o predicción.
Muchas aplicaciones, como el reconocimiento facial, los automóviles autónomos, el análisis de imágenes médicas y el procesamiento del lenguaje natural (NLP), han utilizado extensivamente las CNN. También se han utilizado para lograr resultados de vanguardia en tareas de clasificación de imágenes, como el desafío ImageNet.
