Escrito por Fran Ramírez, (@cyberhadesblog) miembro del equipo de Crazy Ideas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" y del blog Cyberhades.
Las redes neuronales son hoy día parte fundamental de la
IA y en concreto del
Deep Learning y como veremos a continuación, al contrario de la creencia popular, no son conceptos nuevos. El primer algoritmo que presentaba una red neuronal simple se llamó
Perceptrón, creado por
Frank Rosenblatt en 1958 basándos, centrándonos en la Biología, en el trabajo realizado previamente por
Santiago Ramón y Cajal y
Charles Scott Sherrintong (pioneros en el estudio del funcionamiento del cerebro humano). Desde el punto de vista de la técnica,
Rosenblatt utilizó las ideas que fueron introducidas por
McCulloch y Pitts en 1943 donde hablaron por primera vez sobre la posibilidad de crear redes neuronales como si fueran ordenadores.
Figura 1. IBM 704. Fuente: NASA
Como se puede comprobar, estas ideas no son nada actuales (tienen más de 60 años), pero no ha sido hasta hoy día cuando se han podido implementar debido al gran avance tecnológico en computación.
Figura 2. Detalle de una neurona del cerebro humano. Fuente: US Federal y recreado por el usuario Dhp1080
El
Dr. Frank Rosenblatt (1928 – 1971) fue un psicólogo estadounidense al cual se le considera uno de los padres del
Deep Learning. Nació en
New Rochelle (
Nueva York) y fue a la universidad de Cornell donde obtuvo también su doctorado en 1956.
Frank Rosenblatt falleció muy joven con 41 años el 11 de julio de 1971. Aunque estuvo al frente de varias investigaciones importantes relacionadas con la
neurobiología, es conocido mayormente por el desarrollo del
Perceptrón, un
clasificador binario o
discriminador lineal, el cual genera una predicción basándose en un algoritmo combinado con el peso de las entradas. Este el gráfico de un
Perceptrón:
Figura 3. Perceptrón. Fuente: Alejandro Cartas
El valor “
bias” (ajuste) nos permite ajustar la sensibilidad de la curva de activación que veremos a continuación. El valor resultante se pasa a la función de activación, la cual se encarga de decidir si se activa o no la neurona. Para que esto ocurra se definen unos límites que definirán el resultado final, 1 o 0. Por ejemplo, si el valor de salida de la suma y el
bias es mayor de 0 (límite establecido) la salida de la neurona será 1. Si el valor es menor de 0, entonces la salida de la neurona será 0. En caso de existir varias neuronas interconectadas donde tengamos que decidir el valor de salida, tendríamos que utilizar funciones como la
lineal o
Tanh.
En 1957 se implementó en un programa (
software) el funcionamiento del
Perceptrón por primera vez utilizando un
IBM704, uno de los ordenadores más potentes de aquella época. El
IBM 704 fue el primer ordenador comercial (se vendieron 123 unidades) que utilizaba operaciones en coma flotante capaz de ejecutar 40.000 instrucciones por segundo (un Intel Core i7 es capaz de realizar aproximadamente más de 100.000
MIPS, millones de instrucciones por segundo). Utilizaba formato
BCD de 6bits y registros de 36bits. Los lenguajes implementados para este ordenador fueron
FORTRAN y
LISP. Como curiosidad, en 1962 el físico
John Larry Kelly Jr de los laboratorios
Bell, creó un programa sintetizador de voz y lo probó con la canción
Daisy Bell. En una visita de
Arthur C. Clarke a los laboratorios
Bell, le enseñaron este sintetizador con la misma canción la cual luego utilizó en el guión de la película “
2001: Una Odisea Espacial” donde
HAL9000 canta esta canción cuando lo están desconectando.
El
Perceptrón estaba destinado a ser realmente una máquina en vez de un algoritmo y por eso finalmente se construyó el
Mark I Perceptron, basado en las ideas del
Perceptrón de
Frank Rosenblatt. El
Mark I Perceptron se dedicaba exclusivamente a la clasificación de imágenes. Todo el hardware estaba construido a medida y utilizaba potenciómetros para determinar los pesos de cada entrada por
Perceptrón así como una cámara capaz de producir imágenes de 400 pixeles de resolución (20x20). En este enlace se puede encontrar el manual de operación original y en la siguiente foto se puede apreciar el panel de conexiones con las distintas combinaciones de entrada:
Figura 4. Detalle del panel de conexiones del Mark I Perceptron. Fuente:Fotografo anónimo, posiblemente del Laboratorio Aeronáutico de Cornell
Aunque en principio la idea del
Perceptrón tuvo una buena recepción muy prometedora en los ámbitos académicos, al final se probó que no podía ser entrenado para reconocer muchos otros tipos de patrones, lo que provocó un estancamiento en el avance de las redes neuronales durante algunos años. También contribuyó a este atraso en la investigación la atrevida afirmación de
Frank Rossenblatt donde escribió en el
The New York Times en 1958 nada menos que “
este es (Perceptron) el embrión de un ordenador electrónico que espera poder caminar, hablar, ver, escribir, reproducirse y tener consciencia de su existencia”.

Figura 5. Detalle de funcionamiento del Mark I Perceptron. Fuente: Manual de Perceptrón de el Laboratorio Aeronáutico de Cornell
Estas afirmaciones eran demasiado exageradas para esta primera implementación del
Perceptrón , ya que no hay que olvidar tenía una sola capa y por lo tanto sólo eran capaces de aprender datos que permitan una
separación lineal . Por lo tanto, las únicas pruebas que se realizaron con este
Mark I fueron entrenar al
Perceptrón para que fuera capaz de reconocer imágenes, en concreto diferenciar si es hombre o mujer.
Figura 6. Ejemplo de separación lineal. Fuente: Qwertyus
Para ello se entrenó introduciendo cientos de fotografías de hombres y mujeres con diferentes estilos de pelo y maquillaje. Una vez terminado el proceso de entrenamiento, se introdujeron esta vez modelos de caras que no había visto nunca antes durante dicho proceso de entrenamiento. Finalmente, la máquina decidía si la foto era hombre o mujer con una elevada tasa de éxito.
La capacidad de proceso, la tasa de acierto, así como los patrones a analizar aumentaron cuando unos años más tarde aparecieron las redes neuronales multicapas, o
perceptrón multicapa . Pero no tenemos que desmerecer el gran trabajo de
Frank Rossenblatt ya que esta redes multicapas no son más que capas de muchos
Perceptrón exactamente iguales al implementado en el
Mark I Perceptron.