18 de abril de 2020

Capas de una red neuronal

Hola,
ésta es la tercera entrada sobre redes neuronales profundas, donde hablaré de cómo se contruye una red por capas, o layers en inglés. La siguiente figura muestra una red con un total de 4 capas.
 
Figura 7.1 de Krohn J (2019) Deep Learning Illustrated
La capa 1 es la capa de input o entrada. En este ejemplo tiene solamente 2 neuronas, X1 y X2. Esta  capa debe adaptarse a la dimensionalidad y el tipo de los datos que vayamos a utilizar como entrada de la red. En el ejemplo la capa de entrada sería adecuada para datos con dos dimensiones. La capa de input es especial porque no tiene una función de activación, simplemente recibe los datos y los pasa a la siguiente capa.

La capa 2 es la primera capa oculta y recibe la salida de la primera capa. En este ejemplo es una capa densa o completamente conectada, dado que sus tres neuronas (a1, a2 y a3) reciben la salida de todas las neuronas de entrada. Puedes mirar aquí un ejemplo de red no densa. Las capas ocultas normalmente son de neuronas ReLU.

La capa 3 es la segunda capa oculta del ejemplo y de nuevo es una capa densa, en este caso con dos neuronas solamente.

La capa 4 es la capa de salida o output y emite la respuesta final de la red para un determinado input. En este ejemplo solamente hay una neurona de salida, que es lo adecuado para un clasificador binario, donde solo hay dos estados posibles. Para este caso usaríamos una neurona sigmoidea.

Si vuelves a la figura verás que hay una flecha horizontal de izquierda a derecha que simboliza el flujo de información a través de las capas. En las redes neuronales este flujo va de input a output y en la terminología en inglés se llama forward propagation.

Algunos problemas implican clasificar los datos o instancias en más de dos clases. Para ellos usaríamos una capa de salida con varias neuronas de tipo softmax,  como las 3 neuronas de salida de la siguiente figura. La capa softmax primero computa la activación de las 3 neuronas de salida y después aplica la función softmax para calcular cuál de los 3 estados o clases representa mejor una instancia, tal como se explica en https://github.com/the-deep-learners/deep-learning-illustrated/blob/master/notebooks/softmax_demo.ipynb :

Figura 7.4 de Krohn J (2019) Deep Learning Illustrated

Finalmente, hay redes neuronales que no clasifican las instancias en categorías discretas. En cambio, producen valores reales a partir del input. Este tipo de redes se llaman redes neuronales de regresión, y las veremos en otras entrada.

Hasta la siguiente,
Bruno

Siguiente entrada: Propagación en una red neuronal



No hay comentarios:

Publicar un comentario