Posiblemente la característica más distintiva de la inteligencia humana sea su capacidad de aprender. Y no es que sea algo exclusivo de las personas, existen ejemplos claros de que los animales también aprenden, y la capacidad de aprendizaje se toma como un rasgo de inteligencia, si aprendes más y más rápido se te considera más inteligente. Es por esto que el aprendizaje computacional es una de las principales áreas de la Inteligencia Artificial. Desde los inicios de las computadoras los investigadores se preguntaron si era posible que éstas pudieran aprender. En la Sociedad Matemática de Londres, A. Turing decía en 1947: “… lo que queremos es una máquina que pueda aprender de experiencias”.
Decirlo es fácil; llevarlo a cabo resultó ser mucho más difícil de lo esperado. Para lograr que una computadora aprenda, se tiene que definir el esquema de aprendizaje. Las personas usan diferentes estrategias, memorizan datos, aprenden, mediante la práctica habilidades físicas, como manejar un coche, o habilidades mentales, como hacer cálculos o jugar ajedrez. Pueden aprender por imitación, viendo a otras personas realizar una tarea. Pueden aprender por instrucción, donde un tutor le enseña ciertos conceptos a un estudiante. Inclusive las personas pueden descubrir algo que no sabían; por ejemplo, al interactuar con el mundo físico. Algunos de estos mecanismos son más fáciles de implementar en una computadora que otros.
De la misma forma, el aprendizaje computacional ha explorado varios esquemas de aprendizaje, inspirados en cómo aprenden las personas, aunque claramente estos esquemas no se asemejen al aprendizaje humano. Por ejemplo, un niño al aprender las letras puede ver el dibujo de un elefante al llegar a la letra “E”. Con este dibujo, y posiblemente otros pocos más, el niño es capaz de reconocer a un elefante real en un zoológico. Actualmente no existe ningún algoritmo de aprendizaje computacional que viendo unas cuantas ilustraciones pueda identificar a un animal real o a un objeto en general.
Otro aspecto importante a resolver es cómo representar o modelar lo aprendido en una computadora. Los investigadores han propuesto diferentes formalismos computacionales, como reglas, redes, árboles, grafos, prototipos, etcétera. En la mayoría de los casos a la computadora se le proporcionan datos de la tarea que se quiere resolver y el algoritmo de aprendizaje es capaz de generar un modelo que resuelve la tarea. Esto último es de gran relevancia y explica el potencial de los sistemas de aprendizaje computacional. Esto es porque cuando queremos resolver un problema muchas veces creamos un modelo para resolverlo; sin embargo, algunos problemas no son fáciles de modelar.
Con el aumento en la automatización de procesos y la generación masiva de datos que se ha dado en los últimos años, es relativamente fácil conseguir datos para muchos problemas, lo que nos permite alimentar esos datos a un algoritmo de aprendizaje computacional y dejar que éste nos genere automáticamente un modelo computacional que nos resuelva el problema. Ésto abre la posibilidad de resolver una gran cantidad de aplicaciones.
Aunque el área de aprendizaje computacional nació prácticamente con las primeras computadoras, sus logros fueron relativamente modestos hasta hace relativamente poco tiempo. ¿Qué fue lo que cambió? En realidad, no mucho, en cuanto a las bases de los algoritmos de aprendizaje, pero sí mucho en cuanto a la cantidad de datos disponibles y en cuanto al poder de cómputo de las computadoras actuales. Muchos de los modelos creados recientemente usan lo que se conoce como redes neuronales (artificiales) para aprender. En general, estas redes están organizadas en capas, cada capa está asociada a varios nodos y las capas están conectadas por ligas que están asociadas a diferentes pesos, como se muestra en la figura.
Cuando se le dan datos a la capa de entrada (azul) estos se propagan por la red hacia la capa de salida (verde). Cada nodo recibe información de los nodos de la capa anterior, los suma, les aplica una función fija y manda su salida a los nodos de la siguiente capa. La relevancia de cada salida de cada nodo está determinada por el valor de su peso asociado. Un peso alto indica más relevancia y un peso bajo indica poca relevancia. La combinación de diferentes pesos produce diferentes salidas. Para aprender, estas redes ajustan los pesos poco a poco para que las salidas que producen sean las salidas deseadas, por ejemplo, decir que en una imagen hay un elefante cuando sí lo hay.
Este mecanismo de aprendizaje se ideó a finales de los 1950 y lo que se ha hecho en los últimos años es encontrar formas más efectivas y eficientes para modificar esos pesos en redes cada vez más grandes. Los resultados de los modelos creados con estas redes son evidentes, se tienen modelos que pueden ganarle al campeón mundial de Go. Modelos a los que se les puede preguntar casi cualquier cosa y, en general, producen respuestas adecuadas. Modelos que pueden predecir cómo se desdoblan las proteínas, con implicaciones relevantes para la biología y el sector salud en general. Modelos que pueden generar imágenes, videos y música realistas, entre muchos otros modelos.
A pesar de los avances, los modelos que se aprenden con redes neuronales grandes y muchos datos presentan varios problemas, ya que son muy costosos de construir y mantener, los datos que se usan para entrenarlos presentan sesgos y éstos se reflejan en las salidas que producen, los modelos no saben si lo que producen es verdadero o falso, no tienen noción del mundo físico o del tiempo y pueden generar información errónea (alucinan). A pesar de eso, pueden ser bastante útiles, pero hay que usarlos desde una perspectiva de pensamiento crítico. Sí usarlos para ser más productivos, pero no usarlos si nos crean dependencias, no creerles ciegamente y definitivamente no tomarlos como gurús, psicólogos, confidentes o amantes.
Algunos de los retos por resolver en el área de aprendizaje computacional son: ¿cómo aprender efectivamente de unos cuantos ejemplos?, como los elefantes que ve un niño. ¿Cómo aprender de forma continua y varias tareas a la vez?, por ejemplo, aprender a caminar, hablar y manipular objetos al mismo tiempo, y seguir aprendiendo por el resto de su vida. ¿Cómo aprender lo que consideramos sentido común?, para reaccionar ante situaciones novedosas. ¿Cómo organizar el conocimiento aprendido?, entre muchos otros retos.
La subárea de aprendizaje computacional dentro del área de Inteligencia Artificial ha crecido de forma acelerada en los últimos años. A partir de datos y computadoras poderosas se han creado modelos con resultados sorprendentes. Es importante aclarar que no existen muchas inteligencias artificiales, lo que existen son muchos modelos, estos modelos no aprenden como las personas, no son conscientes, no tienen emociones, y todavía existen muchos retos por resolver para considerarlos verdaderamente inteligentes.