Problema del OR Exclusivo

        Una de las principales razones por la que las redes neuronales desaparecieron de la mayoría de los proyectos de investigación durante la década de los 70 y parte de los 80 fue que las redes conocidas hasta entonces, cuyo exponente máximo era el perceptrón (hoy en día perceptrón simple); no eran capaces de solucionar problemas no linealmente separables.

        Para problemas linealmente separables, existían soluciones algorítmicas tradicionales eficientes, luego no tenía sentido utilizar la tecnología neuronal.

        Para que nos hagamos una idea, un problema linealmente separable es aquél que puede dividirse en dos áreas claramente diferenciadas mediante una línea. Vale cualquier línea para separarlos, tan compleja como se desee.

        Por ejemplo, si el problema que queremos resolver es saber dadas dos entradas, cuál es el resultado de realizar la operación lógica OR entre ellas, podemos dividir el problema linealmente de forma sencilla:

        Sin embargo, si lo que quisiéramos es calcular el OR exclusivo de las entradas, no podemos separar linealmente el problema:

        Esta operación tan sencilla marca ya una barrera en las redes neuronales, que no se romperá hasta que en 1986 Rumelhart y McClelland diseñaran el perceptrón multicapa (o MLP, multilayer perceptron), revolucionando todo lo conocido hasta entonces en redes neuronales.

        El siguiente applet realiza mediante un perceptrón multicapa esta operación de OR Exclusivo. Aunque no es un ejemplo demasiado bueno de la potencia que podemos alcanzar con los MLP, sí que nos permite ver varias características básicas del mismo: curva de aprendizaje, resolución de problemas no linealmente separables, tipos de aprendizaje, error y aproximaciones, etc.


    ARQUITECTURA

    La arquitectura de este applet consta de 3 capas, cada una totalmente conectada con la siguiente:

    El botón cargar red nos permite crear una red ya entrenada con un error muy bajo, para comprobar la máxima eficiencia del perceptrón sin necesidad de entrenar la red.

 

    ENTRENAMIENTO

    Durante el entrenamiento, mostramos a la red el juego de ensayo, que es la tabla del XOR:

A

B

XOR

0

0

0

0

1

1

1

0

1

1

1

0

      El entrenamiento se realiza con retropropagación batch (se pasan los cuatro juego de ensayo antes de modificar los pesos). En el gráfico podemos observar el descenso del error cuadrático medio según aumentan las iteraciones.

       Podemos configurar: