Autor: Dr. José Martín Méndez González
Cuando iba a la Universidad, tuve la oportunidad de toparme con un libro en una tienda de libros y revistas hoy ya desaparecida después de 54 años de existencia. En un rincón de esa tienda, entre libros de magia y esoterismo, con uno que otro sobre artes marciales cuyas portadas parecían anunciar películas de bajo presupuesto, hallé un libro titulado “Hacedores de cerebros“, escrito por David H. Freedman, y publicado en español por la editorial Andrés Bello en 1995.
Ese libro fue mi primer contacto con lo que ahora está en boca de todos en muchos ámbitos de nuestra sociedad: la redes neuronales artificiales e Inteligencia Artificial (IA). En ese libro se describía la historia y los avances más recientes (de aquel entonces) en ese campo. Muy probablemente terminó perfilando el tema de mi tesis maestría. La historia del desarrollo de las redes neuronales artificiales abarca muchas mentes de distintas áreas del conocimiento. Por restricciones de espacio, procuraré enfocarme en algunas de ellas.
Las redes neuronales artificiales son una aproximación matemática de nuestro sistema nervioso. Fue el biólogo español Santiago Ramón y Cajal (premio Nobel de Medicina en 1906) quien primero estableció las bases para los estudios de redes neuronales. A finales de 1800 describió la estructura de las neuronas y su asombrosa interconexión. Según sus observaciones, de la célula neuronal sale un largo apéndice llamado axón y una serie de finos tentáculos ramificados conocidos como dendritas. El axón de cada neurona se conecta a las dendritas de miles de otras neuronas; el punto de conexión se conoce como sinapsis. Cuando es estimulada, la neurona dispara, esto es, emite una pulsación eléctrica que recorre el axón, donde la recogen las otras dendritas unidas a él en las sinapsis, enviando el pulso eléctrico a muchas otras neuronas. Si las señales combinadas recogidas en todas las dendritas de la neurona son lo suficientemente fuertes, la neurona disparará una señal a lo largo de su propio axón, la que pasará a miles de otras neuronas, y así sucesivamente.
Cajal advirtió que el cerebro estaba constantemente reconectándose, reforzando y debilitando distintas sinapsis en respuesta al aprendizaje y la experiencia. Es decir, la clave del aprendizaje estriba en cómo se llevan a cabo estas interconexiones.
Hagamos una abstracción de esa complejidad natural. Imaginemos una red neuronal artificial compuesta por tres neuronas que reciben una alimentación o datos de entrada. Organicemos esas tres neuronal artificiales en una columna (o capa). A la derecha de esa columna, consideremos una segunda capa compuesta por dos neuronas de salida. Cada una de las tres neuronas de entrada está conectada por cables a todas y cada una de las neuronas de salida. A la mitad de cada cable hay un interruptor que puede cerrar el paso de la corriente eléctrica a través del cable desde la neurona de entrada a la de salida. Cuando cualquiera de las neuronas se expone a una corriente lo suficientemente grande, se dice que la neurona está “activa”; caso contrario, cuando la corriente es muy pequeña o inexistente, la neurona está inactiva. La clave para que la red genere la respuesta correcta (e.g. la clasificación de una imagen) consiste en ajustar los interruptores entre los nodos de entrada y salida. En la terminología de redes neuronales artificiales, las disposiciones de estos interruptores son los “pesos” (parámetros ajustables) de las conexiones entre neuronas.
El cálculo individual de los pesos necesarios para producir el patrón de concordancia deseado resultó una tarea difícil en las redes pequeñas y virtualmente imposible en las mayores, con aumentos exponenciales de la cantidad de conexiones. Para que las redes neuronales tuvieran un interés práctico o incluso conceptual, era necesario un atajo para determinar los pesos adecuados entre nodos de entrada y salida.
Un importante avance para solventar este problema lo dio Frank Rossenblatt en 1959, psicólogo de la Universidad de Cornell, al diseñar una red que llamó “perceptrón“, la cual podía entrenarse para ejecutar clasificaciones sencillas de patrones visuales, basadas en el insumo de unos pocos cientos de células electrónicas fotosensitivas. El entrenamiento del perceptrón comenzaba asignándole pesos dispuestos al azar, el sistema “miraba” el patrón, esto es, los diferentes nodos de entrada conectados a las fotocélulas disparaban o no, según la cantidad de luz que cada fotocélula detectaba en una zona particular de la imagen. Estas descargas del nodo de entrada producían entonces un cierto patrón de descarga de los nodos de salida, dependiendo de los pesos dispuestos al azar.
Por supuesto, la primera respuesta del perceptrón era errónea, así que era necesario entrenar la red de acuerdo con la regla siguiente: los pesos de todas las conexiones que debieron disparar y no lo hicieron, se aumentaron ligeramente; y los pesos de todas las conexiones conducentes a neuronas que no debieron disparar, pero lo hicieron, fueron disminuidos ligeramente, y así sucesivamente miles de veces, hasta que el perceptrón comenzara a dar respuestas correctas en un porcentaje establecido.
El número de repeticiones resultaba elevado ya que los pesos se modificaban sólo ligeramente para no comprometer la confiabilidad del perceptrón: si se ajustaban fuertemente para producir de inmediato una respuesta correcta a un patrón dado, este ajuste radical borraría todo el entrenamiento anterior y produciría respuestas erróneas a todos los otros patrones. Manteniendo los ajustes de pesos en un nivel bajo, gradualmente la red se acercaba a una disposición de pesos “estable” que, aunque no fuera perfectamente adecuada para identificar un único patrón de entrada, sí era lo suficiente para identificar la mayoría de ellos.
Aunque costoso computacionalmente, el problema de entrenar una red neuronal parecía solventado. Sin embargo, a mediados de la década de los 60, Minsky y Papert probaron que los perceptrones eran fundamentalmente incapaces de tareas sencillas como diferenciar la forma de una “T” de la de una “C” o determinar si la cantidad de puntos de una imagen era par o impar.
Los límites establecidos por Minsky y Papert provocaron un abrupto desinterés en el campo de las redes neuronales artificiales. Pero, de hecho, los perceptrones son capaces de realizar dichas tareas si se incluyen “unidades ocultas”, es decir, estratos extra de neuronas entre las de entrada y salida. Las unidades ocultas aceptan las señales provenientes de las neuronas de entrada y ejecutan una especie de categorización y reformulación de la información antes de enviar una señal a las unidades de salida. Esencialmente, las unidades ocultas están formulando reglas de su propia invención para realizar la tarea asignada.
El avance que le dio una salida al problema del entrenamiento fue el “redescubrimiento” por parte de David Rumelhart y colaboradores del algoritmo de aprendizaje de retropropagación (backpropagation), descubierto originalmente por Paul Werbos. El entrenamiento de una red de retropropagación comienza por darle un patrón inicial de entrada, al que la red responde con una información de salida al azar, incorrecta. Luego, en lugar de que las neuronas de entrada envíen una señal a las unidades ocultas y que éstas transmitan la señal a las neuronas de salida, sucede lo opuesto: las neuronas de salida envían una señal a las unidades ocultas, las cuales retransmiten una señal a las neuronas de entrada. Lo más importante: estas señales que se retropropagan llevan información respecto de qué tan errónea era la conjetura inicial de la red. Esta retroalimentación es la clave: la red ahora conoce qué tan desviada está su estimación de su objetivo y, en cada iteración, corrige los pesos para que ese error se minimice.
Ahora bien, resuelto ese problema, ¿pueden las redes neuronales artificiales computar cualquier función o esquema con una precisión requerida? La respuesta—afirmativa—vendría de la mente de George Cybenko en 1989, cuando publica en la revista Mathematics of control, signal and systems su artículo Approximation by superpositions of a sigmoidal function (Aproximación por superposiciones de una función sigmoidea). Cybenko demuestra matemáticamente que las redes neuronales artificiales con funciones de activación sigmoidea son aproximadores universales. Este hecho constituye gran parte del éxito de las redes neuronales artificiales. Teóricamente, una red multicapa de retropropagación puede manejar cualquier problema que pueda formularse en términos de la capacidad de reconocer esquemas.
Así, en esencia, una red neuronal artificial es una sumatoria anidada (dependiendo del número de capas de la red) que transforman los datos de entrada a través de una función de activación ponderándolos con los pesos (o parámetros) para generar una estimación de salida. Resulta extraordinario que, a través de sumatorias ponderadas y un algoritmo de corrección del error, las redes puedan extraer y detectar patrones en un amasijo de datos para luego realizar predicciones.
A propósito del poder predictivo de las redes neuronales artificiales, líneas arriba mencioné que el algoritmo de retropropagación había sido “redescubierto” por Rumelhart y colaboradores. El uso de las comillas se debe a que Paul Werbos propuso originalmente en 1974 dicho algoritmo en su tesis doctoral en Harvard titulada “Beyond Regression: New Tools for Prediction and Analysis of Behavioral Sciences (Más allá de la regresión: nuevas herramientas para la predicción y análisis de las ciencias del comportamiento).” Pero—y aquí la anécdota con toques de leyenda—, al parecer, la tesis doctoral fue retirada de consulta para el público en general por el gobierno norteamericano ya que, usando la teoría descrita en su tesis, había sido posible predecir la caída del presidente Nicaragüense Anastasio Somoza. En 1994, una versión actualizada de la tesis doctoral fue publicada como libro con el título “The roots of backpropagation: from ordered derivatives to neural networks and political forecasting” (Las raíces de la retropropagación: de derivadas ordenadas a redes neuronales y predicciones políticas).
En retrospectiva, a más de un siglo de las observaciones de Ramón y Cajal, y billones de dólares en el mercado creado por las redes neuronales artificiales y la IA, me pregunto: Si las redes neuronales artificiales son una burda aproximación de una ínfima porción del cerebro humano, ¿por qué los seres humanos no somos capaces de realizar cómputos tan increíbles, o de hallar relaciones aparentemente inexistentes entre miles de datos? ¿Qué clase de entrenamiento requeriría nuestra mente para realizar las cosas extraordinarias con las que nos bombardean día tras día las noticias sobre inteligencia artificial y redes neuronales artificiales?