21 de Octubre de 2022
INTELIGENCIA ARTIFICIAL

La inteligencia artificial optimiza el producto de matrices

Una técnica de aprendizaje automático empleada en el ámbito de los juegos ha permitido hallar un algoritmo que reduce el número de pasos necesarios para multiplicar dos matrices y podría tener aplicaciones en otro tipo de cálculos.

Un sistema de inteligencia artificial diseñado por la compañía DeepMind emplea la técnica del aprendizaje por refuerzo para reducir el número de operaciones necesarias a la hora de multiplicar dos matrices. [carloscastilla/iStock]

Los investigadores de la compañía DeepMind han demostrado que la inteligencia artificial (IA) puede hallar atajos a la hora de realizar un tipo fundamental de cálculo matemático. Para ello, convirtieron el problema en un juego y aprovecharon las técnicas de aprendizaje automático que otra IA de la compañía ya utilizaba para vencer a competidores humanos en juegos como el Go o el ajedrez.

La IA descubrió algoritmos que han batido récords de eficiencia computacional que llevaban vigentes durante décadas. Los hallazgos del equipo, publicados en Nature, podrían abrir nuevas vías para realizar cálculos más rápidos en otros campos.

«Es impresionante», se admira Martina Seidl, informática de la Universidad Johannes Kepler en Linz. «Este trabajo demuestra el potencial del aprendizaje automático en la resolución de problemas matemáticos complejos.»

Algoritmos para hallar algoritmos

Los avances en el aprendizaje automático han permitido a los investigadores desarrollar inteligencias artificiales capaces de generar lenguaje, predecir la forma de las proteínas o detectar hackers. Y cada vez hay más científicos que aplican la técnica sobre sí misma, utilizando el aprendizaje automático para mejorar los propios algoritmos en los que se basa.

La IA desarrollada por DeepMind (llamada AlphaTensor) fue diseñada para realizar un tipo de cálculo conocido como «producto matricial». Se trata de multiplicar números dispuestos en cuadrículas (o matrices) que pueden representar el conjunto de píxeles de una imagen, las condiciones atmosféricas en un modelo meteorológico o el funcionamiento interno de una red neuronal artificial. Para multiplicar dos matrices, los matemáticos deben multiplicar y sumar los números de una forma concreta para generar una nueva matriz. En 1969, el matemático Volker Strassen halló un método para multiplicar dos matrices 2 × 2 empleando solo siete multiplicaciones en lugar de ocho, lo que incitó a otros investigadores a buscar estrategias similares.

El enfoque de DeepMind utiliza una forma de aprendizaje automático denominada «aprendizaje por refuerzo», en la que un «agente» de IA (a menudo una red neuronal) aprende a interactuar con su entorno para lograr un objetivo en varios pasos, como ganar un juego de mesa. Si lo hace bien, el agente se ve reforzado, es decir, sus parámetros internos se actualizan para aumentar las probabilidades de éxito en el futuro.

AlphaTensor también incorpora un método de juego llamado «búsqueda en árbol», en el que la IA explora los resultados de las posibles ramificaciones mientras planea su próxima acción. Para saber qué caminos priorizar durante la búsqueda, la IA le pide a una red neuronal que prediga las acciones más prometedoras en cada paso. Mientras el agente aprende, utiliza los resultados de sus partidas como mecanismo de retroalimentación para perfeccionar la red neuronal, la cual mejora todavía más la búsqueda en árbol y proporciona más aciertos de los que poder aprender.

Cada partida consiste en un rompecabezas para un solo jugador cuyo punto de partida es un tensor tridimensional (una retícula de números) correctamente rellenado. El objetivo de AlphaTensor es conseguir que todos los números se hagan cero en la menor cantidad de pasos, eligiendo entre un conjunto de movimientos permitidos. Cada movimiento representa un cálculo que, al invertirlo, combina entradas de dos matrices para crear un elemento de la matriz producto. La dificultad del juego radica en que el agente puede tener que escoger entre billones de movimientos cada vez que da un paso. «Formular el espacio del descubrimiento algorítmico es muy complicado», señaló en una rueda de prensa Hussein Fawzi, informático de DeepMind y coautor del estudio, pero «aún es más difícil saber cómo navegar por ese espacio».

Para echar una mano a AlphaTensor durante el entrenamiento y que no partiera de cero, los investigadores le mostraron algunos ejemplos de partidas exitosas. Y como el orden de las acciones no importa, cuando encontraba una serie de movimientos acertados, también le presentaban una reordenación de ellos a modo de ejemplo, para que aprendiera.

Cálculos eficientes

Los investigadores probaron el sistema con matrices de entrada de hasta 5 × 5. En muchos casos, AlphaTensor redescubrió atajos que ya habían sido ideados por Strassen y otros matemáticos, pero, en otros, abrió nuevos caminos. Por ejemplo, al multiplicar una matriz 4 × 5 por una 5 × 5, el mejor de los algoritmos anteriores requería 80 multiplicaciones individuales. Sin embargo, AlphaTensor descubrió un algoritmo que solo necesitaba 76.

«Ha conseguido una intuición increíble jugando a esos juegos», explicó Pushmeet Kohli, informático de DeepMind, durante la rueda de prensa. Fawzi añade que «AlphaTensor no incorpora ninguna intuición humana sobre el producto matricial», por lo que «el agente, en cierto sentido, tiene que crear desde cero sus propios conocimientos sobre el problema».

Los investigadores abordaron el producto de matrices más grandes creando un metaalgoritmo que primero descompone los problemas en otros más pequeños. Al multiplicar una matriz 11 × 12 por otra 12 × 12, su método redujo el número de productos necesarios de 1022 a 990.

AlphaTensor también puede optimizar el producto matricial para un hardware específico. El equipo entrenó el agente en dos procesadores distintos y lo reforzó tanto cuando realizaba menos acciones como cuando reducía el tiempo de ejecución. En muchos casos, la IA aceleraba las multiplicaciones de matrices en varios puntos porcentuales respecto a los algoritmos anteriores. Y, en ocasiones, los algoritmos más rápidos en un procesador no eran los más rápidos en el otro.

Según los investigadores, el mismo enfoque general podría tener aplicaciones en otros tipos de operaciones matemáticas, como la descomposición de ondas complejas u otros objetos matemáticos en otros más simples. «Si se pudiera utilizar en la práctica, sería un avance muy interesante», afirma Virginia Vassilevska Williams, informática del Instituto de Tecnología de Massachusetts. «Un aumento del rendimiento mejoraría muchas aplicaciones.»

Grey Ballard, informático de la Universidad Wake Forest en Winston-Salem, ve potencial para futuras colaboraciones entre humanos y ordenadores. «Aunque aún podríamos desarrollar un poco más este enfoque computacional», reflexiona, «estoy deseando que los investigadores teóricos empiecen a analizar los nuevos algoritmos para hallar pistas sobre dónde buscar el próximo descubrimiento».

Matthew Hutson

Artículo traducido y adaptado por Investigación y Ciencia con permiso de Nature Research Group.

Referencia: «Discovering faster matrix multiplication algorithms with reinforcement learning». Alhussein Fawzi et al. en Nature, vol. 610, págs. 47-53, 5 de octubre de 2022.

Los boletines de Investigación y Ciencia

Elige qué contenidos quieres recibir.

Responsable: Prensa Científica, S.A. Finalidad: enviarle por correo electrónico los boletines que haya solicitado recibir. Derechos: tiene derecho a acceder, rectificar y suprimir sus datos, así como a otros derechos, como se explica en la información adicional y detallada que puede consultar en nuestra Política de Privacidad.