¿Cómo funcionan las redes neuronales convolucionales?

Las redes neuronales convolucionales funcionan como filtros locales que se pueden aprender.

El mejor ejemplo es probablemente su aplicación a la visión por computadora. El primer paso en el análisis de imágenes a menudo es realizar un filtrado local de la imagen, por ejemplo, para mejorar los bordes de la imagen.

Para ello, tome la vecindad de cada píxel y convolúzcalo con una determinada máscara (conjunto de pesos). Básicamente se calcula una combinación lineal de esos píxeles. Por ejemplo, si tiene un peso positivo en el píxel central y pesos negativos en los píxeles circundantes, calcula la diferencia entre el píxel central y el circundante, lo que le brinda un tipo de detector de bordes tosco.

Ahora puede poner ese filtro a mano o aprender el filtro correcto a través de una red neuronal convolucional. Si consideramos el caso más simple, tiene una capa de entrada que representa todos los píxeles de su imagen, mientras que la capa de salida representa las respuestas del filtro. Cada nodo en la capa de salida está conectado a un píxel y su vecindario en la capa de entrada. Hasta aquí todo bien. Lo que hace que las redes neuronales convolucionales sean especiales es que los pesos se comparten, es decir, son los mismos para diferentes píxeles en la imagen (pero diferentes con respecto a la posición con respecto al píxel central). De esa manera, aprende con eficacia un filtro, que también resulta adecuado para el problema que está tratando de aprender.

CNN es el método más popular y efectivo para el reconocimiento de objetos, y es un tipo especializado de red neuronal para procesar datos que tiene una topología similar a una cuadrícula conocida. La red emplea una operación matemática llamada convolución que le permite extraer un conjunto de características de la imagen de entrada.

La arquitectura principal es la misma que una red neuronal “regular”, que consta de múltiples capas apiladas de neuronas interconectadas (para una muy buena revisión sobre el tema, vea la serie “Comprender la red neuronal” de Giles Strong). La principal diferencia aquí es que las entradas son imágenes caracterizadas por una estructura tridimensional: altura, ancho e intensidad de píxeles. Las primeras capas de la estructura aprenden a reconocer patrones simples como líneas, bordes o esquinas en la imagen de entrada; las capas intermedias pueden reconocer patrones más complejos, como un ojo o una nariz; eventualmente, las capas posteriores ubican y reconocen los objetos principales en la imagen, como un rostro humano o un perro.

Para más información y aplicaciones, vea mi publicación aquí:

CNN’s y Neutrinos

Las redes neuronales pueden hacer predicciones al aprender la relación entre las características de sus datos y alguna respuesta observada (por ejemplo, cuál es el mejor momento para ir al supermercado para evitar largas colas).

En las redes neuronales (CNN) convolucionales (filtrado y codificación por transformación), cada capa de red actúa como un filtro de detección de la presencia de características o patrones específicos presentes en los datos originales. Las primeras capas en una CNN detectan características (grandes) que pueden reconocerse e interpretarse de manera relativamente fácil. Las capas posteriores detectan características cada vez más (más pequeñas) que son más abstractas (y generalmente están presentes en muchas de las características más grandes detectadas por las capas anteriores). La última capa de la CNN es capaz de hacer una clasificación ultra específica al combinar todas las características específicas detectadas por las capas anteriores en los datos de entrada.

En los últimos años, las redes neuronales de convolución profunda han logrado un rendimiento sin precedentes en el campo de la clasificación de imágenes y el reconocimiento de rostros y ubicaciones, por ejemplo. Estas redes utilizan muchas capas extendidas de neuronas (unidades de aprendizaje) para construir de forma autónoma representaciones cada vez más abstractas, muy locales y detalladas de una imagen.

Cada capa de red actúa como un filtro para la presencia de características o patrones específicos presentes en la imagen original. Para la detección mediante dicho filtro, es irrelevante dónde exactamente en la imagen original está presente esta característica o patrón específico: los filtros están especialmente diseñados para detectar si la imagen contiene o no tales características. El filtro se desplaza varias veces y se aplica en diferentes posiciones de la imagen hasta que se haya cubierto toda la imagen en detalle (el filtro puede corregir, si es necesario, por ejemplo, para escala, traslación, ángulo de rotación, color, transformación, opacidad, desenfoque, desviaciones de características específicas presentes en la imagen original).

Debido al éxito de las CNN en el campo de la clasificación de imágenes, en muchas áreas diferentes donde se aplican redes neuronales convolucionales para resolver problemas ultra complejos, a menudo los datos de entrada se traducen primero en datos de imágenes.

Espero que esto se aclare un poco, si está interesado en leer en términos sencillos sobre cómo funcionan las redes neuronales convolucionales de aprendizaje profundo para AlphaGo (el programa Google DeepMind AI que juega Go superior): vea mi blog: Parte 2: AlphaGo bajo una lupa (El partido histórico de aprendizaje profundo AlphaGo vs. Lee Sedol) REVISADO

More Interesting

¿Cómo se puede mejorar Google News?

¿Por qué mi modelo de regresión produce valores negativos para SalePrice en los datos de prueba?

¿Por qué un niño de 6 años puede realizar tareas de reconocimiento de objetos mejor que una red neuronal distribuida a gran escala con decenas de miles de núcleos de CPU, pero incluso un cerebro adulto no puede competir con un procesador anticuado cuando se trata de cálculos de procedimientos? ¿Qué falta en nuestro procesador?

¿Cómo debería abordar el problema de segmentar el césped de una imagen?

¿Por qué no es una práctica estándar publicar pesos de modelos entrenados junto con el código fuente para trabajos de investigación de aprendizaje profundo?

¿Cuándo debo usar la agrupación antes de ejecutar un modelo de regresión logística?

¿Cuáles son los métodos de implementación con calidad de producción para los modelos de aprendizaje automático?

¿Cómo se mejora y mejora la técnica de aprendizaje automático mientras nadie sabe exactamente cómo funciona?

Como principiante en el procesamiento del lenguaje natural, ¿desde dónde debo comenzar?

¿Por qué en cualquier máquina eléctrica la corriente aumenta cuando aumenta la carga de esa máquina?

¿Pueden los algoritmos de aprendizaje automático de análisis de datos reemplazar el trabajo realizado por los científicos de datos?

Cómo construir un sistema de aprendizaje automático para la revisión automática de código

¿Cuáles son los mejores materiales de física estadística para redes neuronales profundas?

¿Qué computadora portátil debo obtener para aprender el aprendizaje automático, usando SAS, R, MATLAB, Python, etc.?

Cómo probar la idoneidad de diferentes funciones del núcleo en un proceso gaussiano (GP) en el modelado de una función