El Perceptrón de Rosenblatt

Rubén Rodríguez Abril

Las neuronas de McCulloch-Pitts inspiraron la creación de dispositivos de redes formados por varias de estas neuronas. El Perceptrón sería la primera de estas redes con capacidad de aprendizaje mediante la progresiva modificación de sus parámetros. Veremos además los límites de este dispositivo y cómo han influido en el desarrollo del Deep Learning actual.

Desarrollo del Perceptrón

A finales de la década de los años 50, el desarrollo de las ciencias de la computación avanzaba a buen ritmo: los nuevos ordenadores que se estaban construyendo a ambos lados del Atlántico habían adoptado definitivamente sistemas de cómputo basados en la aritmética binaria y en los laboratorios Bell se había inventado el transistor, que pronto iba a reemplazar a las válvulas de vacío como componente básico de los circuitos de los procesadores.

En este escenario el psicólogo Frank J. Rosenblatt propuso en el año 1958 el desarrollo de un autómata eléctrico cuyo funcionamiento, sobre bases radicalmente diferentes a la de los modelos computacionales de entonces. El funcionamiento de la nueva máquina se inspiraría más bien en el funcionamiento del cerebro y de los sistemas neuronales biológicos antes que en el de los ordenadores construidos hasta entonces.

Características del Perceptrón

Los principios básicos del perceptrón son los siguientes: 

-Los elementos básicos del perceptrón serían pequeños circuitos electrónicos, denominados unidades, cuyo funcionamiento sería muy parecido al de una neurona del modelo de McCulloch-Pitts, aunque con las salvedades que señalaremos más adelante. Estas unidades se estructurarían en una red en capas.

– El objetivo de la nueva máquina no sería la manipulación de variables o de símbolos sino el reconocimiento de patrones de activación neuronal

– Los datos de entrada de la máquina no serían proporcionados por un operador humano, sino que se obtendrían directamente desde el mundo físico exterior por medio de sensores. Un agente especializado en la percepción de patrones en el plano óptico tomaría el nombre de fotoperceptrón. Y aquellos encargados de detectar patrones en señales acústicas, eléctricas o de radio, tomarían los nombres de fonoperceptrón, electroperceptrón o radioperceptrón respectivamente.

-El perceptrón sería capaz de aprender. El aprendizaje consistiría en una modificación progresiva del comportamiento de la red, con el objetivo de que a patrones parecidos les corresponda una respuesta parecida.

– La tarea de reconocimiento del perceptrón no se realizaría con una precisión total, sino que siempre existiría un cierto margen de error estadístico.

Estructura y Funcionamiento del Perceptrón

El trabajo de Rosenblatt proponía la construcción de un fotoperceptrón estructurado en de tres capas diferentes, la capa S, la capa A y la capa R, todas ellas interconectadas de la manera en que ahora detallaremos:

Capa Sensorial

La primera de las capas se conoce como sensorial o capa S, compuesta de células fotovoltaicas que conectadas a las células de la capa A. Cada célula (“unidad-S”) puede estar conectada con decenas de unidades de la capa A. Las conexiones, al igual que las sinapsis del modelo de McColluch-Pitt pueden ser de dos tipos: excitadoras o inhibidoras.

Capa de Asociación

La capa siguiente es la de asociación o capa A. Compuesta por neuronas del modelo de McCulloch-Pitt, esta sección del perceptrón se encarga de procesar los patrones visuales que le son transmitidos por la capa sensorial. Cada célula (“unidad-A”) recibe estímulos de células de la capa anterior a través de sus conexiones sinápticas.

La unidad-A suma todos los estímulos recibidos (cada estímulo excitador le corresponde un valor de 1, y a cada inhibidor un valor de -1). Si la suma total de estímulos sobrepasa un determinado umbral, la célula se dispara y transmite su impulso sináptico a una o varias células de la capa siguiente, la capa R. A diferencia de las neuronas de McCulloch-Pitts, la intensidad de la respuesta no es siempre la misma. La repetida excitación de una neurona de la capa A hace aumentar la intensidad (variable Vde su pulso sináptico, su salida. Veremos más tarde como esta propiedad es la clave del Perceptrón.

Capa de Resultados

La tercera y última de las capas es de resultados o capa R . Cada célula (“unidad-R”) de esta capa reconoce un determinado patrón visual (círculos, cuadrados, triángulos, etc…). Todas las células de la capa R están unidas entre sí a través de un circuito en cuya virtud la unidad que alcance una mayor excitación anula a todas las demás a través de un mecanismo de retroalimentación recíproca. Esto garantiza que sólo pueda activarse una única unidad-R cada vez.

Las unidades-R son neuronas de McCulloch-Pitts cuyo funcionamiento se basa en los siguientes principios:

 – El conjunto de unidades-A que tienen conexiones sinápticas excitadoras con una determinada célula de la capa R recibe el nombre de “conjunto-A” de dicha unidad-R.

 – Cada vez que una unidad-R se excita, el circuitaje del perceptrón inhibe los conjuntos-A de todas las demás unidades-R, impidiendo su excitación, y por tanto, el reforzamiento de su respuesta.

 – Siempre que una neurona de la capa A se excita, su intensidad sináptica se refuerza, y aumenta su capacidad de excitar a las células de la capa siguiente. Para que una unidad-A se active es necesario no sólo que las sinapsis de entrada (procedentes de la capa sensorial S) proporcionen una excitación total superior al umbral de la neurona, sino que además no haya una inhibición por parte de las unidades-R rivales.

Esquema visual de las tres capas del Perceptrón de Rosenblatt.

Las conexiones excitadoras son de color azul. Las inhibidoras, de fucsia. Nótese como las Unidades R inhiben tanto al conjunto-A de la otra célula R como a la propia célula R rival.

Ejemplo de funcionamiento del Perceptrón

A modo de ejemplo, un Perceptrón de tres células-R puede ser entrenado para reconocer triángulos del modo siguiente:

En primer lugar, hacemos pasar diferentes figuras por delante de la capa sensorial S. Diferentes formas provocarán diferentes patrones de excitación. La lectura de los píxeles es transmitida por sinapsis a las células de la capa de asociación o capa A. Cada una de las unidades-A responde singularmente ante cada cierto patrón de excitación: por ejemplo, un triángulo colocado en la parte superior de la pantalla activaría una serie de neuronas sensoriales que excitarían a la unidad-A con las que esté conectada. Esta unidad-A transmitirán su impulso a la capa de resultados o capa R.

Inicialmente, dado que el perceptrón aún no ha experimentado ningún tipo de aprendizaje, las unidades-R se activan aleatoriamente ante cada estímulo. Pongamos que en diez pruebas con triángulos, la primera unidad-R se activa 4 veces, y la segunda y la tercera 3 veces cada una. Dado que la primera unidad-R se ha activado ligeramente más veces que las otras, las neuronas de su conjunto-A se reforzarán en mayor medida que las otras. Como consecuencia de ello, a medida que va pasando el tiempo, será cada vez mayor la proporción de triángulos que provoque la excitación de la primera unidad-R. La activación de esa célula indicará que la máquina ha detectado un triángulo.

Análisis Matemático de las unidades

En principio, el funcionamiento de las células A y R es similar al de las neuronas del modelo de McCulloch-Pitts, pero con la siguiente salvedad: la intensidad sináptica V de las células A pueden variar a lo largo del tiempo, e intensificarse en proporción al número de veces que hayan sido disparadas en el pasado. Como consecuencia de ello, los impulsos sinápticos que llegan a las neuronas R desde la capa A son desiguales.

Neurona de McCulloch-Pitts

Sumatorio de los pesos sinápticos

x = \sum c_{i}d_{i}

Función de activación

s = H(x  –  U)

Unidad-A del Perceptrón

Sumatorio de los pesos sinápticos

x = \sum c_{i}d_{i}

Función de activación

con la variable Intensidad:

s = VH(x  –  U)
Unidad-A del Perceptrón de Rosenblatt con un parámetro de salida Intensidad (V).
Sinapsis con variable intensidad

Donde x es la suma de los estímulos que recibe la neurona desde la capa S, mientras que c_{i} indica si la sinapsis es excitadora (valor 1) o inhibidora (valor -1), y d_{i} si el axón de la célula-S está transmitiendo un impulso (valor 1) o no (valor 0). H es la función de Heaviside, U es el umbral, s la señal de salida, y por último V es la intensidad del pulso sináptico de la neurona (siempre es 1 en el modelo de McCulloch-Pitt y variable en el modelo de Rosenblatt).

Pesos Sinápticos

Matemáticamente, obtendríamos el mismo efecto atribuyendo a todas las células-A la misma intensidad sináptica, pero haciendo variar el peso de las conexiones sinápticas de cada célula R. Así, tendríamos:

Unidad-R con pesos sinápticos

Sumatorio de los pesos sinápticos con pesos variables:

x = \sum w_{i}d_{i}

Función de activación

s = H(x  –  U)

Esta primera de las ecuaciones, w_{i} representa el peso de la sinapsis, que es variable, a diferencia de lo que sucede en el modelo de McCulloch-Pitts, donde su valor siempre ha de ser 1 o -1.

Unidad-A del Perceptrón alternativo con un parámetro para cada entrada de peso sináptico (w).
Sinapsis con peso sináptico

En el modelo original de Rosenblatt, la neurona emisora A variaba su excitación por medio de la variable Intensidad. En modelos posteriores esto fue sustituido por pesos sinápticos variables w_{i} en la neurona receptora R (que puede verse en la imagen).

La neurona como función lineal

Si sólo existieran dos únicas conexiones sinápticas (w_{1} y w_{2}), la neurona se dispararía cada vez que la suma de estímulos (w_{1}d_{1} + w_{2}d_{2}) fuese mayor que el umbral U. La ecuación resultante w_{1}d_{1} + w_{2}d_{2}  –  U = 0 parte el plano de coordenadas en dos. En la imagen de abajo vemos que el semiplano gris corresponde a estados de reposo de la neurona. El blanco, a estados de activación. Tal y como se ve en el diagrama, si solo se activa la segunda sinapsis (0,1) o ambas (1,1), la neurona no responde. Solo se excita si se activa exclusivamente la primera de las sinapsis (1,0)

Gráfica de la función de excitación lineal

En la imagen se traza la ecuación 5d_{1} – 4d_{2} – 2 = 0, siendo w_{1} = 5, w_{2} = 4 y un umbral U = 2. La variable d solo puede tomar un valor 0 o 1 (input activo/ no activo). Cada uno de los cuatro puntos representa las diferentes configuraciones de entrada que puede reconocer la neurona. La célula se excita solo en una de ellas (1,0).

El Perceptrón de dos sinapsis actúa, pues, como una suerte de separador lineal que parte el plano en dos partes. En el caso de tres sinapsis, el perceptrón partiría en dos un volumen de tres dimensiones. Y así sucesivamente. En todos los casos, una función lineal parte un hiperplano (de tantas dimensiones como sinapsis existan) en dos partes. Una de las partes corresponde a estados de excitación, y la otra, a estados de reposo.

Límites del Percepetrón

Como vemos, las neuronas funcionan como puertas lógicas. Por ello, son equivalentes a un simple algoritmo dentro de un programa de ordenador convencional. Poco tiempo después de la publicación de Rosenblatt sus ideas fueron implementadas en una máquina específica cuyo objeto era el reconocimiento de patrones visuales. El nombre de la nueva máquina era “Perceptrón Mark I”, y las unidades de su capa S eran sensores fotoeléctricos de sulfuro de cadmio, que se estructuraban en una pantalla de 400 pixeles de dimensiones 20×20.

Inicialmente, el Perceptrón tuvo una gran repercusión en los medios de comunicación estadounidenses, algunos de los cuales, como el New York Times, comenzaron a especular con la posibilidad de que fuera pronto posible la creación de autómatas eléctricos con capacidad de ver, conversar, reflexionar, y realizar cualquier otra actividad propia del cerebro humano.

El problema XOR

Sin embargo, la aparición del libro Perceptrones, escrito por Marvin Minsky y Seymour Papert en 1969, cayó como un jarro de agua fría entre los investigadores de Inteligencia Artificial, y provocó que los estudios de esta disciplina se ralentizaran durante varias décadas (el conocido como “invierno de la IA”). Estos autores demostraron que un Perceptrón nunca podría tener una capacidad computacional similar al de una máquina de Turing. Pusieron el ejemplo de una simple función booleana, la correspondiente a la puerta lógica XOR. Esta función puede ser calculada sin problemas por una máquina de Turing, pero no así por la “inteligencia artificial” emanada del Perceptrón.

A modo de ejemplo, la función OR sí que puede ser fácilmente procesada por una neurona-R de dos sinapsis si atribuimos a ambos pesos sinápticos un mismo valor de 1. La neurona se activa cuando cualquiera de las dos estimulaciones (d_{1} o d_{2}) sea positiva (valor 1). Por el contrario, un discriminador lineal no puede simular una función XOR, es decir, no es posible trazar ninguna recta que discrimine efectivamente los valores de su tabla de verdad.

La función XOR es imposible de simular mediante un discriminador lineal

El problema de las multicapas

Una máquina de Turing era capaz de calcular una función XOR. Un Perceptrón no. Si esta máquina era incapaz de calcular simples funciones booleanas, ¿Cómo podría ser capaz de realizar tareas intelectuales de mayor complejidad?

Repetidos investigadores no tardaron en demostrar que un perceptrón compuesto por varias capas de células-R, un perceptrón multicapa, sí que podría identificar adecuadamente la función XOR.

Una red bicapa permite simular la puesta lógica XOR

La imagen muestra como tres neuronas, configuradas como puertas lógicas OR, NAND y AND, y dispuestas en dos capas sucesivas, conforman un sistema que responde de forma equivalente a la función XOR.

Sin embargo, esto no solucionaba del todo el problema, puesto que la presencia de más de una capa imponía la necesidad de desarrollar un método para el aprendizaje de las neuronas de dichas capas internas. Un mecanismo como este no vio la luz hasta los años 70. Son los que se conocen como algoritmos de retropropagación, que veremos en artículos posteriores.

En cualquier caso, a pesar de las críticas de Marvin Minsky, el Perceptrón fue la primera red neuronal capaz de aprender por modificación de sus parámetros neuronales y ocupa por ello un puesto muy especial en la historia de la Inteligencia Artificial.

Lecturas Recomendadas

 – Rosenblatt, F. (1958). Perceptron: a probabilistic model for information storage and organization in the brain. [Accedido el 16 de Octubre de 2021]

 – Rosenblatt, F. y Stieber, A. (1957). The Perceptron, a perceiving and recognizing automaton. [Accedido el 16 de Octubre de 2021]