El diseño de neurona artificial utilizado para modelar puertas lógicas representa un sistema de clasificación con dos categorías o clases. Si el valor neto de entrada iguala o supera el umbral de activación entonces la neurona clasifica el vector de entrada como perteneciente a la clase 1, y si no lo supera como perteneciente a la clase 0.
Interpretación Geométrica
Para entender mejor el funcionamiento de una neurona como sistema de clasificación es conveniente separar su mecanismo interno en dos partes. Por una parte la función de cálculo del valor neto de entrada, y por otra parte la función de activación.
La función de cálculo del valor neto define una combinación lineal (suma de productos de grado uno) que puede representarse gráficamente como una superficie formada por todos los puntos resultantes de evaluar dicha función:
z(X) = w_1 x_1 + w_2 x_2 + \ldots + w_n x_n
Y la función de activación define una frontera de decisión sobre dicha superficie, formada por todos los puntos que cumplen la siguiente condición:
w_1 x_1 + w_2 x_2 + \ldots + w_n x_n = T
O de forma implícita:
w_1 x_1 + w_2 x_2 + \ldots + w_n x_n - T = 0
En resumidas cuentas, lo que quiere decir todo esto es que si el valor neto es igual a T entonces el vector de entrada representa un punto que se encuentra sobre dicha frontera. En caso contrario un punto que se encuentra a un lado un otro de la misma.
En el caso más sencillo, con una única entrada x_1 , la expresión del valor neto se corresponde con la ecuación de una recta:
z(x_1) = w_1 x_1 , siendo w_1 la pendiente
Y la frontera de decisión está formada por un único punto sobre dicha recta:
w_1 x_1 = T
Esta interpretación permite visualizar el funcionamiento de la neurona de una forma más gráfica.En este caso la función de activación clasifica un vector de entrada en base a su correspondiente valor neto sobre la recta contra el umbral T . Los valores en la región amarilla están por encima del umbral, o sobre el mismo umbral, y se clasifican en la clase 1. Los valores que están por debajo del umbral están en la región verde y se clasifican en la clase 0.
Para una neurona con dos entradas la ecuación del valor neto es de la forma:
z(x_1, x_2) = w_1 x_1 + w_2 x_2
Y la frontera de decisión es el conjunto de puntos que cumplen:
w_1 x_1 + w_2 x_2 = T
Si para dos dimensiones la expresión del valor neto representaba una recta, para el caso de tres dimensiones representa un plano.
O de forma simplificada, con una vista cenital:En este caso, la función de activación clasifica los vectores de entrada en base a si sus valores netos sobre el plano están a un lado u otro de la recta que define la frontera de decisión. De igual forma que antes, los valores en la región amarilla se clasifican en la clase 1, y los que están en la región verde en la clase 0.
Para dos dimensiones la frontera de decisión es un punto sobre una recta, y para tres dimensiones una recta sobre un plano. O visto desde otro punto de vista, para dos dimensiones la frontera de decisión es la intersección de dos rectas, y para tres dimensiones es la intersección de dos planos.
A medida que aumenta el número de entradas aumenta el número de dimensiones. Pero desde el punto de vista matemático es indiferente, ya que la suma de varias combinaciones lineales da como resultado otra combinación lineal. El aumento de dimensiones lo único que hace es dificultar su representación de una forma visual. Para un número mayor de tres dimensiones las superficies son hiperplanos que no se pueden representar de una forma sencilla.
Clasificador Lineal
Armados con esta nueva visión del funcionamiento interno de una neurona artificial, se pueden reinterpretar de una manera más visual los diseños de neuronas que implementan puertas lógicas vistos anteriormente, y su funcionamiento como sistemas de clasificación. En la imagen de la izquierda está representada la superficie y frontera de decisión determinados por una combinación específica de pesos y umbral de activación que implementan una puerta lógica OR. En este caso la frontera de decisión es una recta que divide los valores netos sobre una superficie plana en dos clases. A un lado de dicha recta se encuentra el valor para el vector de entrada [0, 0], perteneciente a la clase 0, y al otro lado los valores para las entradas [0, 1], [1, 0] y [1, 1], pertenecientes a la clase 1.
De forma similar, en la imagen de la derecha está representada una puerta AND. A un lado de la frontera los valores para [0, 0], [0, 1] y [1, 0] pertenecientes a la clase 0, y al otro lado el valor [1, 1] perteneciente a la clase 1.
En el caso de una puerta NOT, por encima del umbral el valor para [0] perteneciente a la clase 1, y por debajo del umbral el valor para [1] perteneciente a la clase 0.
Por último, una puerta NAND es igual que la puerta AND, pero con las mitades intercambiadas. Lo que puede interpretarse diciendo que el plano de la puerta NAND tiene la misma pendiente que la puerta AND pero con signo contrario. Lo que es acorde a la intuición de que una puerta NAND es la negación de una puerta AND. Y lo mismo puede decirse para la puerta NOR con respecto a una puerta OR.
Un aspecto interesante de esta representación gráfica es que facilita entender porqué las combinaciones de valores de pesos y umbrales propuestos para modelar las puertas lógicas no son los únicos posibles. Existen otras combinaciones de valores que también son soluciones válidas. Por ejemplo, cualquiera de las siguientes fronteras de decisión representa una solución válida para modelar una puerta AND.
Aún así, a pesar de todas sus propiedades, las neuronas artificiales tienen una limitación importante que hay que tener en cuenta. Y es que una neurona sólo puede clasificar clases que sean linealmente separables. Es decir, que todos los valores netos para una clase deben ser menores que el umbral de activación, y todos los valores netos para la otra clase deben ser iguales o mayores que el umbral de activación. Lo que dicho de una forma un tanto burda quiere decir que se debe poder dibujar una línea recta que separe los valores de una clase a un lado de la recta, y los valores de la otra clase al otro lado.
En los ejemplos de las puertas lógicas anteriores siempre se puede trazar una línea recta que separa el conjunto de valores en dos clases. Pero desafortunadamente esto no se cumple para todos los casos, como el de la puerta lógica XOR.
Las entradas [0, 0] y [1,1] deben clasificarse como pertenecientes a la clase 0, y las entradas [0, 1] y [1, 0] a la clase 1, pero no existe ninguna forma de trazar una única línea recta que los separe dejando todos los puntos de una clase en un lado y todos los puntos de la otra clase en el otro lado. No son linealmente separables. Luego no se puede modelar una puerta XOR con una neurona artificial.