El diseño de redes neuronales basado en capas evita la limitación de las neuronas artificiales individuales, que sólo pueden clasificar valores pertenecientes a clases linealmente separables, y permiten utilizarlas para clasificar cualquier conjunto de valores en distintas categorías o clases.
Clasificador Universal
Imaginemos un conjunto de valores que se quiere clasificar en dos clases distintas. Cada valor de dicho conjunto representado por un vector de dos dimensiones [x_1, x_2] . Y cada valor perteneciente única y exclusivamente a una de las dos posibles clases, 0 ó 1.
En la siguiente imagen se representa la distribución de valores y la clase asociada a cada valor. La valores de la clase 0 se representan con un cuadrado verde, y los de la clase 1 con un punto rojo.De forma intuitiva, es fácil observar que los puntos rojos se encuentran dentro de un círculo alrededor del eje de coordenadas. Es decir, la frontera de decisión es una circunferencia centrada en el origen.
Utilizando el modelo de red neuronal visto hasta ahora, se puede diseñar un sistema de clasificación aproximado utilizando varias fronteras de decisión que delimiten un área alrededor de los puntos rojos, de forma similar a como se resolvió el problema de la puerta lógica XOR.
Sistema de clasificación que puede implementarse con una red neuronal artificial de dos capas. La primera capa con una neurona por cada una de las fronteras de decisión. Y la segunda capa con un neurona que represente el área de intersección de todas las fronteras de decisión de la capa anterior.
Cada neurona de la primera capa clasificará los valores de entrada en base a una frontera de decisión que separará los valores en dos mitades. Pudiendo cada una de estas mitades contener tanto cuadrados verdes como círculos rojos, ya que las neuronas de esta capa no tratan de resolver el problema en su totalidad, sino detectar características concretas de los valores de entrada, como por ejemplo que se encuentran en una posición u otra respecto al eje de coordenadas.
La neurona de la última capa clasificará en base a las características detectadas por las cinco neuronas de la capa anterior. En cierto sentido actúa como una puerta AND de cinco entradas. Si se detectan las cinco características entonces clasificará el valor de entrada como perteneciente a la clase 1, es decir, como un punto rojo, y en caso contrario como perteneciente a la clase 0, es decir, como un cuadrado verde.
En la siguiente imagen se representa la intersección de las regiones determinadas por las fronteras de decisión. El número en cada área representa la cantidad de regiones que se solapan en dicha área. O dicho de otra forma, el número de características que cumplen los valores contenidos en dichas áreas.
Sólo los valores que se encuentran dentro del pentágono central reúnen las cinco características que deben cumplirse para ser clasificados como puntos rojos. Y como cada una de las cinco neuronas de la primera capa emite un valor 1 cuando se cumple una característica, entonces la neurona de la segunda capa sólo deberá excitarse si la suma de sus entradas es igual a 5. Siendo 5 por tanto su umbral de activación.
En este punto es interesante notar que si al umbral de activación de la última neurona se le asigna el valor 4 entonces la frontera de decisión de la segunda capa tendrá forma de pentáculo (estrella de cinco puntas). Lo que quiere decir que una red neuronal puede definir fronteras cóncavas, no sólo convexas.
Obvia decir que los pesos y umbrales de activación de las neuronas de la primera capa deben escogerse de forma que modelen las fronteras de decisión en función del conjunto concreto de valores en estudio.
Cuanto más complejo sea el contorno definido por una frontera, mayor deberá ser el número de neuronas requerido para poder ajustarse a dicho contorno con precisión.Una red neuronal puede incluso clasificar correctamente conjuntos de valores que se encuentren aislados.
Por ejemplo, para clasificar los valores de la imagen, que se encuentran en dos regiones triangulares separadas, se puede utilizar una red neuronal de dos capas. La primera capa con seis neuronas, tres por cada región triangular. Y la segunda capa con dos neuronas, de forma que una de ellas se active para los valores pertenecientes a una de las regiones triangulares, y la otra se active para los de la otra región.
Si se quiere una red con una única salida basta con añadir otra capa al final, con una neurona que se active si al menos una de las dos neuronas de la capa anterior se activa.
Otra forma de interpretar esta red es diciendo que las neuronas de la segunda capa realizan un AND contra las tres fronteras que definen cada una de las regiones triangulares, y que la neurona de la última capa realiza un OR sobre el resultado de las neuronas de la capa anterior.
En este ejemplo se ha omitido de forma intencionada algunas de las conexiones entre las neuronas de la primera y segunda capa. En la práctica todas las neuronas de una capa están conectadas a todas las neuronas de la siguiente capa. Se pueden considerar que existen, pero con peso 0, por lo que no aportan nada al cálculo del valor neto.
Redes neuronales como las anteriores pueden utilizarse para modelar el contorno de cualquier frontera de decisión, con cualquier grado de precisión, y en un espacio con cualquier número de dimensiones. En el límite, cuando el número de neuronas tiende a infinito, las fronteras de decisión se pueden ceñir alrededor de puntos individuales, ajustándose de forma extremadamente precisa a los mismos, característica que convierte a una red neuronal en un clasificador universal.
En la práctica las redes neuronales artificiales no pretenden representar de forma exacta los contornos que separan las clases. Es habitual que sólo sean una aproximación, ya que en los problemas reales de cierta complejidad no se dispone de todos los valores posibles para todas las clases. Además de que es conveniente dejar cierto margen, ya que no se impone ninguna limitación en los valores que se pueden introducir en una red neuronal. Nada impide que se alimente con un valor de entrada de 0.25 a una neurona que implementa una puerta lógica NOT. La neurona simplemente se limitará a calcular el valor neto para dicha entrada y decidirá si se encuentra a un lado u otro de su frontera de decisión.
Lo mismo ocurre con el ejemplo de la nube de puntos. Nada impide que se alimente a la red con un valor no utilizado para definir las fronteras de decisión.Esto implica que una red neuronal puede procesar valores de entrada nunca antes vistos, valores no utilizados originalmente en el proceso de diseño de las fronteras de decisión, y generar un valor de salida para dichas entradas nunca antes vistas, estimaciones o predicciones calculadas por semejanza con otros valores conocidos.