La neurona artificial de McCulloch-Pitts: El puntapie a los exitos actuales de las redes neuronales


Componer música pop o clásica, pintar un cuadro expresionista o cubista, manejar un auto, jugar al ajedrez o al GO... ¿Qué tienen en común todas estas actividades? Podríamos conjeturar que son actividades que una misma persona podría practicar. Tal vez algunas con apenas rudimento y otras con gran maestría. La mayoría concordará que son habilidades humanas. Pero eso a dejado de ser así. Las inteligencias artificiales comienzan a realizar estas tareas - y otras tantas - con maestría. 

La imagen que encabeza esta nota fue generada por Deep Dream una inteligencia artificial construida por Google. Ingresando a su sitio nos permite ver diferentes co-creaciones entre usuarios y la IA. También nos permite explorar y crear las propias. Investigaciones de universidades como la Universidad de Tübingen, Alemania trabajan sobre el mismo principio.

Empresas como Uber, Google, Volvo, Audi entre otras empresas persiguen la creación de autos autónomos. Tema del que ya hablamos en "El sueño del auto autónomo... cada vez más cerca". Los campeones mundiales de ajedrez ("El último campeón humano de ajedrez") y el Go ("¿Cómo funciona la inteligencia artificial campeona de GO?") ya no son rivales para sus pares artificiales. La composición de música ya tiene más de una decena de autores "algorítmicos".

¿Qué hay detrás de todos estos proyectos? Suele ultilizarse en muchos de los nombres de ellos la palabra "deep" (profundo). Es esta palabra la que nos da la clave. Atrás de cada uno de ellos se encuentra el deep learning o aprendizaje profundo.

Deep learning es ciertamente la vedette de estos tiempos dentro de la inteligencia artificial. Se lo utiliza cada vez en más ámbitos y supera muchas veces a los métodos que se utilizaban previamente. Pero en si, este concepto es una variante o especialización de las redes neuronales. Concepto que nace con los inicios mismos de la inteligencia artificial y que vivió una historia apasionante de glorificación y de olvido. A continuación, una parte de esa historia.

Cuando los primeros investigadores comenzaron a imaginar modelos para crear inteligencia artificial no es sorprendente que hayan tomado lo que ellos conocían como fuente de inspiración: sus propias mentes. Una separación tajante fue entre quienes consideraron que para resolver este dilema se debía conocer el funcionamiento de la misma fisiologicamente contra aquellos que creían que bastaba con la creación de modelos mentales basado en la lógica.

En el punto histórico en el que comienza este periplo - mediados del siglo XX - ya se había zanjado una cuestión fundamental. Siglos de acaloradas discusiones sobre que permitía pensar y razonar establecieron que el objeto de estudio estaba dentro del cráneo: el cerebro. (ver "Pensamientos fríos y cálidos: El cerebro y la mente a través de la historia") Un grupo de investigadores concluyen que entender el funcionamiento del sistema nervioso central era necesario. Por suerte ya algunos avances en neurociencia se estaban llevando a cabo en ese momento, lo que les permitió tener un peldaño del cual aferrarse.

Neurona
Desde 1888 - año en que Ramon y Cajal realiza su primera publicación sobre el tema - el concepto de neurona como unidad independiente y primaria dentro del sistema nervioso comenzó a ganar una papel aceptado en los círculos académico. Este concepto rupturista para la época le mereció el premio nobel de 1906 (ver "La neurona: Su descubrimiento y el polémico Nobel de 1906")

Hay que avanzar hasta el año 1943 donde Warren McCulloch - neurólogo - y Walter Pitts - matemático publican "Un cálculo lógico de las ideas inmanentes en la actividad nerviosa" para el siguiente hito de importancia. Es en este paper donde se presenta por primera vez un modelo matemático y lógico de una neurona. La historia de los autores es interesante en si misma. Se habían conocido indirectamente gracias al libro Principia Mathematica, escrito por Bertrand Russell. Pitts un autodidacta y dotada para la matemática había devorado el libro que intentaba reducir la matemática a la lógica pura a la edad de 12 años. Aprovecho la visita de Russell a la universidad de Chicago, 3 años después, para escapar de su casa e ir en su búsqueda.

Walter Pitts
Durante otros 3 años Pitts vivió como vagabundo dentro de la universidad, realizando pequeños trabajos y colándose a las clases de Russell. Teniendo 18 años es que su vida da un vuelco. Un amigo en común lo presenta con McCulloch. Viendo la visión en común y el potencial de Pitts lo recluta para trabajar en su proyecto: crear un modelo matemático del cerebro.

McCulloch tenía una visión mecanisita. Es decir consideraba que el cerebro se comportaba como una máquina y como tal podía ser replicada. Envalentonado por la demostración de Alan Turing de que una máquina podría resolver cualquier tipo de función, mientras pudiese desagregarse en un conjunto finito de pasos, se propone traer la lógica al cerebro. Encontró en Pitts a un excelente compañero que lo ayudo a resolver problemas prácticos.

El modelo de McCulloch y Pitts es sencillo y elegante. Definen una neurona artificial que puede contruirse mediante circuitos eléctricos y que una máquina de Turing la puede implementar. Se basan en la lógica y en la electrónica. La neurona artificial es una función aditiva que recibía como entrada un conjunto de valores binarios. Cada uno de estos valores de entrada podía ser excitador o inhibidor. Si la suma obtenida superaba cierto umbral la salida se activaba, de lo contrario quedaba inhibida. La salida también era de carácter binario. Tanto entradas como salidas podían conectarse con otras neuronas. De esa forma se construía una red neuronal artificial que podía resolver, ajustando los pesos y definiendo una arquitectura de neuronas, las funciones que se propongan realizar. Obviamente cuanto más compleja la función, más trabajo era crear la red neuronal.

McCulloch y Pitts mostraron que su modelo de neurona podía resolver correctamente las funciones booleanas básicas: AND, OR y NOT por lo que combinandolas podían resolver cualquier predicado lógico.

Veamos un ejemplo básico y sencillo. Si queremos que una neurona de dos entradas se active únicamente si ambas están activas (AND) podemos:
  • Definir ambas entradas con excitadoras.
  • Definir el umbral de activación como 2 (suma de las dos entradas activas)
De esa forma la suma de las entradas solo puede alcanzar el umbral de activación únicamente si ambas están activas.

Warren McCulloch
El modelo de McCuloch y Pitts es bastante sencillo. Pero fue el puntapie de todas las redes neuronales que fueron apareciendo en años posteriores. Incluso Von Neumann, creador de la arquitectura de computadoras que lleva su nombre y que incluye a  todas las computadoras modernas, dice deberle parte de su inspiración a ellos. Esta arquitectura genero la primera maquina con programas almacenados y no fijos.

Hay una cuestión clave pendiente. Una limitante fundamental en el modelo neuronal detallado es la capacidad de aprender. Nuestro cerebro es una maravilla que va obteniendo nuevas experiencias y registrándolas. De esa plasticidad surgen nuestras capacidades para resolver nuevos retos. Una primera sugerencia de como tratar el aprendizaje proviene del mismo Alan Turing.

En el mes de febrero de 1947 Turing realiza una conferencia en la sociedad matemática de Londres donde afirma que el cerebro humano es una máquina de procesamiento digital (digital computing machine). En 1950 publica su celebre artículo "Computing machinery and intelligence" donde presentaba el test para determinar la inteligencia de una máquina (Test de Turing). Dentro del mismo indicaba haber experimentado con una "maquina-infante" a la que le había enseñado "un par de cosas".

Hubo que esperar a 1969 para entender cabalmente a que máquina infante se refería. En 1948 Turing escribe el inédito “Intelligent Machinery”. En este articulo propone la construcción de una maquina capaz de aprender. La propuesta incluye un conjunto de máquinas biestables que tienen conexiones aleatorias entre si (neuronas en red). A estas máquinas se les suma otras capaces de enseñar mediante el estimulo por "recompensa o castigo". El entrenamiento habilitaria o no ciertas conexiones. Lamentablemente no tenemos disponibles registros de sus experiencias. El artículo no fue publicado hasta su revisión posterior a su muerte.

La relación entre Turing y McCulloch no puede afirmarse como de admiración mutua. Según nos llega por allegados, Turing consideraba a su par un charlatan. Queda únicamente registrado un encuentro entre ambos en 1949. Es probable que ambos se presten atención pero que no colaboren entre ellos.

La propuesta de Turing sin embargo, no fue la única. En 1949, Donald Hebb escribe The Organization of Behavior. En este artículo se detalla lo que luego se conocerá como aprendizaje hebbiano y que fue ampliamente utilizado por los herederos de la neurona de McCuloch y Pitts. Entre ellos el celebre "Perceptron". Pero eso ya es material para otro artículo.

Algunas lecturas para adentrarse más en los temas:

Comentarios