Tipos de capas convolucionales
Los tipos de capas de red neuronal convolucional forman parte de los saberes fundamentales que un data scientist debe contar para llevar a cabo una arquitectura de redes neuronales convoluciones efectiva para su procesamiento de los macrodatos.
Por este motivo, en este post, te compartimos los tipos de capas de red neuronal convolucional, con el fin de que puedas conocerla y emplearlas en el análisis de los macrodatos.
Tipos de capas de red neuronal convolucional
A continuación, vamos a estudiar los tipos de capas de red neuronal convolucional más comunes:
Capa convolucional
En primer lugar, dentro de los tipos de capas de red neuronal convolucional se encuentran las capa de convolucion, que son las encargadas de aplicar la convolución a nuestras imágenes de entrada para encontrar los patrones que más tarde permitirán clasificarla.
Para ello, estas capas convolucionales se definen por:
- El número de filtros/kernels para aplicar a la imagen, es decir, el número de matrices por las que se van a convolucionar las imágenes de entrada.
- El tamaño de estos filtros. Para ello, debes contar con que el 99% de las veces son cuadrados de 3×3, 5×5, etc.
Aquí puedes ver el esquema general, en el que se observa cómo una imagen de entrada dada se convoluciona por cada filtro, y la salida son mapas de activación 2D. Lo que quiere decir que si la imagen de entrada es RGB, esta tendrá 3 canales.
Por lo tanto, convolucionaremos cada filtro por cada canal y, a continuación, sumaremos los resultados para reducir de 3 canales a 1 solo.
En la siguiente imagen puedes ver lo que te acabamos de explicar:
La entrada tiene 3 canales (R, G y B), lo que significa que nuestra imagen de entrada viene definida como 3 matrices bidimensionales, una para cada canal. Así que lo que hace la capa convolucional es aplicar la convolución por separado a cada canal; de esta manera se obtiene el resultado de cada canal, para luego sumarlos y obtener una única matriz convolucional 2D, que s llama mapa de activaciones.
En este ejemplo puedes verlo más en detalle.
Ahora imagina que nuestra capa tiene 4 filtros:
Además del número de filtros y el tamaño, las capas convolucionales tienen otro parámetro importante: el stride.
Fíjate en el cambio:
Por último, es importante que conozcas el concepto de receptive field para los tipos de capas de red neuronal convolucional:
En el caso de las capas convolucionales, las neuronas de la salida se hallan conectadas solo a una región local de la imagen de entrada. Así que, en este ejemplo, el campo receptivo es de 5x5x3, porque el kernel es de 5x5x3 (la imagen es RGB). Se puede entender como «lo que ve» la red.
Con las capas densas ocurre lo contrario: todas las neuronas se hayan conectadas con todos los elementos anteriores. Sin embargo, las neuronas siguen funcionando exactamente igual, solo que en la entrada «ven» la imagen completa, en vez de una región de la misma.
Por tanto, los parámetros que vamos a tener que ajustar en una capa convolucional dentro de los tipos de capas de red neuronal convolucional son: tamaño del kernel, stride y número de filtros.
Capas de pooling
Las capas de pooling se utilizan para ir reduciendo el tamaño de nuestros mapas de activaciones, ya que de otra forma no sería posible ejecutarlos en GPUs. Además, también ayuda a reducir el overfitting.
Los dos tipos de pooling más comunes son:
- max-pooling: este tipo de pooling calcula el máximo de los elementos.
- averag-pooling: este calcula la media de los elementos.
Hay que tener en cuenta que esto se realiza para cada mapa de activaciones de nuestro volumen, es decir, no interviene para nada la dimensión depth en los cálculos.
Veamos un ejemplo de un max-pooling con diferentes strides:
Capas de normalización
Las capas de normalización realizan operaciones sobre los mapas de activaciones. La más común de ellas es la de BatchNormalization.
Fully-connected o densas
Dentro de los tipos de capas de red neuronal convolucional, las capas densas se conocen como «las de siempre», debido a que son las más básicas y utilizadas.
Cómo instruirse más en Big Data
Ahora que conoces los principales tipos de capas de red neuronal convolucional, podrás optar por la más adecuada para tu procesamiento de los datos. Sin embargo, te animamos a seguir instruyéndote sobre el manejo del Big Data para convertirte en un experto..
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 uso de diferentes herramientas, sistemas y lenguajes. Al finalizar, en menos de nueve meses, serás capaz de reconocer las ventajas e inconvenientes de los distintos programas estudiados. ¡Echa un vistazo a nuestro temario e inscríbete ahora!