La redes neuronales artificiales (ANN) o, simplemente, redes neuronales, son un modelo computacional basado en el comportamiento observado en sus equivalentes biológicos. Están formadas por un conjunto de unidades de procesamiento denominadas neuronas artificiales, unidas unas con otras, que transforman los datos de entrada que llegan a ellas en otros datos de salida. La información que llega a la red neuronal la recorre mientras se transforma en cada neurona artificial atravesada, hasta alcanzar el final de la red, en el que se devuelve el valor resultante.
En su versión más sencilla, la neurona artificial funciona del siguiente modo:
La neurona recibe n datos de entrada (x1, x2, x3... xn) y calcula el peso ponderado de estos valores. Los pesos a aplicar son w1, w2, w3... wn, cifra a la que se suma un valor adicional w0 que recibe el nombre de bias. Todos los pesos y el valor de w0 son "aprendidos", es decir, se escogen durante el aprendizaje (entrenamiento) de la neurona. El resultado de la aplicación de esta función lineal es lo que en el gráfico anterior se muestra con la etiqueta a:
a = w0 + x1w1 + x2w2 + x3w3 + ... + xnwn
Al resultado obtenido se le aplica entonces una función g(x) a la que se denomina función de activación que, en general, será no lineal. Un ejemplo clásico es la función denominada "binary step", que devuelve 1 si la variable independiente es cero o mayor que cero, y devuelve 0 en caso contrario:
Este tipo de neuronas con función de activación de tipo "binary step" son las conocidas como perceptrones -creadas por Frank Rosenblatt en 1957-. Sin embargo, el hecho de que la salida de la función de activación sea la misma para cualquier valor por encima de 0 (o que sea la misma para cualquier valor por debajo de 0) supone notables dificultades a la hora de entrenar el modelo, por lo que hoy día se utilizan otras funciones de activación (sigmoide, ReLU...). En la siguiente sección veremos algunos ejemplos adicionales de funciones de activación.
Las neuronas -en una arquitectura clásica de red neuronal artificial- se agrupan en capas, cada una conteniendo un cierto número de neuronas. Por ejemplo:
En la imagen anterior podemos ver lo que se denomina un perceptrón multicapa (estructura clásica de un red neuronal) formado por 7 neuronas artificiales. 5 de ellas están agrupadas en una capa (capa de entrada) y las otras 2 en una capa de salida. La red neuronal se alimenta a partir de un conjunto de datos de 5 características (x1, x2... x5). Como puede verse, cada uno de los datos correspondientes a las cinco características alimenta una de las neuronas de la capa de entrada (que recibe ese nombre porque es la capa que está en contacto con los datos). A su vez, la salida de las neuronas de esta capa alimentan todas las neuronas de la siguiente capa que, en este caso, es la capa de salida (pues es la capa que devuelve el resultado obtenido por la red neuronal).
Otro ejemplo:
En este caso, además de la capa de entrada y de la capa de salida, hay una capa adicional. Todas las capas intermedias reciben el nombre de capas ocultas (hidden layers). La red neuronal mostrada en la imagen anterior tiene, por lo tanto, una capa oculta formada por dos neuronas artificiales.