Neuronas de McCulloch y Pitts
Rubén Rodríguez Abril
Computación neuronal
En los años 30 del siglo XX, los trabajos de Alan Turing y Emil Post postularon la construcción de autómatas que fueran capaces de realizar cálculos y determinar la validez o la invalidez de un teorema de lógica de primer orden mediante la manipulación de símbolos. En el modelo de Turing, una máquina computadora leía uno a uno los símbolos escritos en cada una de las celdas de una cinta. Tras la lectura del símbolo, la máquina consultaba una tabla. Después sobrescribía otro símbolo (o no escribía nada), cambiaba de estado de máquina (configuración interna), y finalmente se desplazaba una celda a izquierda o derecha.
El modelo de autómatas propuesto por Turing y de Post sirvió de base teórica para el desarrollo de la computación en las décadas posteriores. Y ya en 1943 Konrad Zuse fue capaz de construir una computadora capaz de emular el comportamiento de una máquina de Turing. En la actualidad, la inmensa mayoría de los lenguajes de programación establecen paradigmas de computación en cuya virtud los programas y sus funciones toman una serie de variables de entrada, las manipulan algebraicamente, y devuelven un resultado.
Sin embargo, en el año 1943 Warren McCulloch y Walter Pitts propusieron un modelo de computación completamente diferente, que estaba inspirado en el funcionamiento de las neuronas biológicas. En este modelo, la validez o invalidez de un determinado teorema de lógica de primer orden era determinada, no por un autómata manipulador de símbolos, sino por una red de neuronas artificiales, que se excitaban las unas a las otras por medio de conexiones sinápticas.
Las neuronas de McCulloch y Pitts
En el modelo de McCulloch-Pitts, los canales de entrada de cada neurona se llaman dendritas y el único canal de salida recibe el nombre de axón. El axón de la neurona (que puede ramificarse) se conecta a su vez con las dendritas de otras neuronas a través de una sinapsis. Las conexiones sinápticas entre las neuronas pueden ser de dos clases: excitadoras, si contribuyen a la excitación de la neurona receptora, e inhibidoras, si coadyuvan a la inhibición de la misma.
Esquema de una neurona de McCulloch-Pitts, con dos dendritas y un axón.
Para determinar si se activa o no, la neurona procede a sumar el número de excitaciones e inhibiciones que recibe de otras neuronas. Si la conexión sináptica activada es excitadora, la neurona agrega un 1 a la suma. Si es inhibidora, resta dicha cantidad. Cuando la suma total (x) supera el umbral prefijado (U), la neurona se activa, y su salida toma el valor de uno. Matemáticamente, se aplica la función escalón de Heaviside al sumatorio de todas las excitaciones/inhibiciones recibidas por la neurona, tal y como se muestra en la imagen.
Modelo matemático
La descarga de la neurona depende de dos operaciones matemáticas que operan de forma consecutiva. La primera de ellas ya la hemos apuntado:
computa la suma total (x) de excitaciones/inhibiciones recibidas. La constante c_{i} toma el valor de 1 si la sinapsis es excitadora o -1 si la neurona es inhibidora, mientras que d_{i} es 1 o 0 dependiendo de si la dendrita (y por tanto la sinapsis) es activada o no por el axón de la neurona precedente. Por tanto, si se activa una dendrita activadora, se suma 1 a x. Si se trata de una dendrita inhibidora, se resta la misma cantidad.
La segunda de las ecuaciones
determina si la neurona se dispara o no. El booleano s es la salida, que puede tomar valor de 1 -activación- o 0 -ausencia de activación-. H es la función escalón de Heaviside, x es la suma de todas las excitaciones e inhibiciones recibidas por la neurona, y U es el umbral de activación. Entonces, si x es menor que U, el valor de H es 0. Si es igual o mayor que U, H toma el valor de 1 y se produce la activación de la neurona.
Neuronas de McCulloch y Pitts y puertas lógicas
Por medio de las neuronas de McCulloch y Pitts es posible construir cualquier puerta lógica de álgebra booleana. Por ejemplo, tal y como se muestra en la imagen, la puerta lógica AND (conjunción lógica) se configura por medio de una neurona con dos sinapsis excitadoras y un umbral de 2. Sólo cuando se activan ambas dendritas se alcanza el umbral y se produce la excitación de la neurona. La puerta OR (disyunción lógica) se construye del mismo modo, pero estableciendo un umbral de 1. La puerta NOT (negación) se configura como una neurona con una sinapsis inhibidora y un umbral de 0. Esta neurona se dispara siempre y cuando no reciba una señal inhibidora.
Neuronas que funcionan como puertas lógicas. Nótese como existen dendritas excitadoras y otras inhibidoras. El número de cada neurona representa su umbral de excitación. La neurona dispara cuando el valor de las sinapsis supera dicho umbral.
Dado que las puertas lógicas AND y NOT conforman un conjunto funcionalmente completo, es posible crear el resto de las tablas de verdad del álgebra de Boole a partir de una combinación de ambas.
De todo ello se deduce que en una red neuronal de McCulloch-Pitt es posible construir circuitos booleanos. Y que dicha red es capaz a su vez de de realizar operaciones de cálculo proposicional. A fin de cuentas, a cada conectivo lógico le corresponde una tabla de verdad.
Red de neuronas de McCulloch y Pitts
Cada red de neuronas se estructura como un grafo dirigido. Un grafo es una red de nodos, denominados vértices, unidos entre sí a través de líneas que toman el nombre de aristas. Las neuronas son los nodos de la red mientras que las aristas vienen representadas por sus axones (que pueden ramificarse). Si, adicionalmente, las líneas del grafo tienen componente direccional (como se muestra en la imagen) se dice que estamos ante un grafo dirigido. Tal es el caso de las redes del modelo McCulloch-Pitts, en las cuales la información fluye unidireccionalmente, desde las dendritas de la neurona hasta su axón, y desde este axón hacia las dendritas de otras células sin volver a la primera neurona.
La información y los estímulos exteriores penetran en la red neuronal a través de las denominadas neuronas aferentes periféricas, que son las que permiten la comunicación de la red con su entorno. Las dendritas de estas neuronas no reciben estimulación de otras neuronas, sino que son activadas directamente desde el exterior. Sus axones, por el contrario, sí se conectan sinápticamente con otras neuronas.
Orden de las redes
En una red acíclica, la información no puede retroceder dentro de la misma y se dirige desde las neuronas aferentes hasta las neuronas de salida. Y no puedan formarse bucles de ningún tipo. En este caso se dice que estamos ante una red de orden 0. Por el contrario, si la red es cíclica, en ella se forman circuitos de neuronas a través de los cuales la información puede circular indefinidamente. En este último caso, el orden de la red es diferente a 0, y viene indicado por el tamaño del mayor circuito de neuronas existente dentro de la misma.
La existencia de circuitos de neuronas dentro de la red dota a la misma de una suerte de memoria y de dimensión temporal, dado que la información puede circular por tiempo indeterminado dentro de cada bucle. En una red cíclica, la red toma decisiones teniendo en cuenta, no sólo la información que le están proporcionando en ese momento las neuronas aferentes, sino también sus estados anteriores.
Memoria y aprendizaje de la red
En las redes acíclicas, la actividad previa de la neurona artificial no afecta a su actividad eléctrica actual. Carecen, por tanto, de memoria. Y dado que las conexiones sinápticas de la red no se modifican a lo largo del tiempo, la red es incapaz de cambiar de pautas de comportamiento y no puede realizar tareas de aprendizaje.
En una puerta lógica OR (disyunción lógica) no es posible determinar cuál de las dos señales de entrada ha sido responsable de la excitación de la neurona. Por ello la inclusión de estas puertas OR dentro de los circuitos hace imposible reconstruir los estados y las aferencias anteriores a partir del estado presente. Esto provoca que la red tenga un conocimiento incompleto y defectuoso tanto del mundo exterior como de sus estados anteriores.
Para McCulloch y Pitts, que postulaban que las neuronas del cerebro funcionaban mediante un esquema binario (“todo o nada”), esto explicaría fenómenos psicológicos tales como la pérdida de memoria o la existencia testimonios contradictorios de un mismo suceso.
Como vemos, la introducción de componentes cíclicos dota a la red de capacidad de aprendizaje y de un mayor poder computacional, pero a costa de introducir elementos de indeterminación dentro de las mismas.
Comparación con la Máquina de Turing
En su trabajo, McCulloch y Pitts analizaron bajo qué supuestos sus redes neuronales pueden realizar tareas computacionales similares a los de una máquina de Turing. Llegaron a las siguientes conclusiones:
– Es posible construir una máquina de Turing si añadimos a cualquier red (cíclica o acíclica) una cinta infinita, y si conectamos las neuronas aferentes a los sensores que leen la cinta. Las neuronas de salida serían de dos tipos: motoras y escritoras. Las primeras provocarían el desplazamiento del sensor una celda a la izquierda o a la derecha. Las segundas se encargarían de determinar cuál es el signo a escribir en la misma.
– Una red cíclica puede calcular algunos de los números que puede calcular una máquina de Turing y puede a su vez ser simulada por ésta. El poder computacional de una red neuronal aumenta a medida que lo hace el orden de la misma.
Conclusión de las neuronas de McCulloch y Pitts
El desarrollo de las neuronas de McCulloch y Pitts fue el primer intento de analizar el poder computacional y el funcionamiento de una red neuronal, ya fuese natural o artificial. Aunque el objeto de su estudio era más bien ayudar a la comprensión del funcionamiento de la mente humana, su trabajo de 1943 fue seminal en el ámbito de la inteligencia artificial. En él no sólo se diseñó el primer modelo de neurona artificial. También se anticiparon fenómenos como las redes neuronales recurrentes, que analizaremos en otros artículos posteriores.
Lecturas Recomendadas
– McCulloch, W. S. y Pitts, W. H. (1943). A logical calculus of the immanent in nervous activity [Accedido el 16 de Octubre de 2021].