Locally-connected Layers de red convolucional es una de las capas no principales de las empleadas para este tipo de análisis. Dado que se consideran mucho más complicadas y específicas, no son tan utilizadas para el estudio Deep Learning de redes neuronales convolucionales.
Sin embargo, su precisión para el tipo de imágenes con las que trabaja es muy funcional por su especificidad, por ello, como buen data scientist debes contar con este tipo de saberes en caso de que sea una solución adecuada para tu procesamiento de los macrodatos.
Por esta razón, en este post, te compartimos qué es y cómo funciona Locally-connected Layers de red convolucional en el Deep Learning.
¿Cómo funciona una red neuronal convolucional?
En primera instancia, antes de entrar en materia con el tema de Locally-connected Layers de red convolucional, resulta necesario recordarte cómo funciona una red neuronal convolucional.
Las redes neuronales convolucionales son capaces de aprender en los diferentes niveles de abstracción de una imagen:
- En la primera capa, se diferencian formas simples, además de los colores o bordes.
- En la próxima capa, se pueden distinguir las mezclas de colores y bordes.
- Finalmente, en la última capa, se fija en la forma para conseguir averiguar qué es exactamente.
En efecto, estas redes fueron creadas, ya que en la mayoría de problemas de clasificación de imagen no es suficiente con crear un modelo de predicción basado en un perceptron multicapa. Para problemas de cierta dificultad, este tipo de arquitectura no ofrece una solución precisa. Por este motivo, se propusieron las redes neuronales convolucionales.
Así, dichas arquitecturas de red extraen la información relevante automáticamente de la imagen por medio de la operación convolución de manera local (en la práctica dicha operación es la correlación cruzada).
Así, estas redes funcionan de manera opuesta al procesamiento de imágenes clásico basado en un algoritmo definido por humanos, ya que se basan en los datos de entrenamiento. Por el contrario, la red neuronal convolucional extrae de manera automática las características que después serán utilizadas para la clasificación de objetos.
Locally-connected Layers de red convolucional
Ahora que ya sabes cómo funcionan las capas convolucionales, ya puedes comprender las Locally-connected Layers de red convolucional. Para ello, imagina que tenemos una imagen de entrada de 32×32 y que nuestra red tiene 5 capas convolucionales, cada una de ellas con 5 filtros de tamaño 3×3. Entonces, nuestra red aprenderá para cada capa 5 matrices de 3×3.
Esto se debe a que el filtro de Locally-connected Layers de red convolucional recorre la imagen y se basa en la asunción de que, si un determinado filtro es bueno para detectar algo en la posición (x, y) de la imagen, también debería ser bueno para la posición (x2, y2).
Esta asunción es válida casi siempre, porque normalmente no sabemos dónde van a estar nuestras características situadas en la imagen.
No obstante, si por ejemplo tuviésemos un dataset en donde aparecen caras centradas en la imagen, podríamos querer que los filtros de Locally-connected Layers de red convolucional fuesen diferentes para las zonas de los ojos que para las de la nariz o la boca.
Mira a continuación el ejemplo ilustrativo:
En este caso, si sabemos dónde van a estar localizadas nuestras características, tiene más sentido tener un filtro para cada zona.
Sin embargo, donde antes teníamos que aprender 5 filtros de 3×3 por capa, lo que nos da un total de 5·3·3=45 parámetros, ahora tendríamos que aprender: 32·32·5·3·3=46080 parámetros.
Fijaos qué diferencia, con lo cual, a no ser que sepamos dónde queremos buscar los patrones y que van a ser diferentes y siempre van a estar en la misma posición, merece la pena que usemos capas convolucionales en vez de localmente conectadas.
Por último, mirad la imagen a continuación: las capas que más parámetros tienen son las densas. En ellas, todas las neuronas se interconnectan con todas las de la siguiente capa.
En este post, te hemos presentado cómo funciona la Locally-connected Layers de red convolucional dentro del procesamiento de los macrodatos en Deep Learning. Sin embargo, dentro del mundo de los manejo del Big Data ¡todavía falta mucho más por aprender!
De manera que, para facilitarte este proceso de aprendizaje, desde KeepCoding te brindamos el Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning, por medio del que te formarás en el proceso de ingesta, clasificación, resguardo, procesamiento y presentación de los macrodatos gracias al uso de diferentes sistemas, herramientas y lenguajes. Al terminar, en tan solo nueve meses, serás capaz de reconocer las ventajas e inconvenientes de los distintos programas estudiados. ¡Échale un vistazo a nuestro temario y matricúlate ya!