58 meneos
910 clics
Este envío tiene varios votos negativos. Asegúrate antes de menear
Por qué es tan increíble (y preocupante) que una máquina nos gane al Go
El campeonato a cinco entre AlphaGo y el campeón mundial Se-dol es tan histórico como el torneo en el que Garry Kasparov perdió contra Deep Blue en 1997, pero el reto técnico es muchas veces más difícil. Pero para entender por qué el Go era el Santo grial de la Inteligencia Artificial, hay que saber en qué no se parece al ajedrez.
|
comentarios cerrados
Básicamente, cualquier cosa con un tablero finito y limitado por normas será siempre más fácil de perfeccionar por una máquina que por una persona. Ya que tenemos que limitar la capacidad de creatividad e inventiva de la persona para que varias de ellas disfruten mutuamente.
La AI, sin ser ninguna maravilla, es capaz de hacer cosas mucho más difíciles.
Ni fuerza bruta, ni intuición, ni redes neuronales ni gaitas. Hay desafíos a los que el ser humano se enfrenta (y en ocasiones de forma victoriosa) en los que cualquier maquina se derrumbaría.
Decir que el Go era el "Santo Grial" de la IA es no tener ni puta idea, básicamente. Era un juego similar al ajedrez pero mucho más difícil de resolver.
El Santo Grial de la IA es la hard IA, que este tío ni sabe lo que es.
es.wikipedia.org/wiki/Deep_Blue_versus_Gary_Kasparov
La diferencia crucial del Go con otros problemas "más reales" tiene que ver con el otro punto que apunta #1 (más o menos). No es tanto que el tablero sea finito y limitado, sino que el estado del problema es completamente observable, en comparación con otros juegos (e.g. deportes multijugador, videojuegos de estrategia tipo starcraft, etc.). La idea de Google Deepmind es resolver este tipo de juegos en el futuro, al mismo tiempo que aplican sus tecnologías a aplicaciones reales. En casos de problemas parcialmente observables, la máquina tendría que no sólo evaluar el tablero actual, sino también recordar lo observado anteriormente para crearse un esquema mental completo. Esto es posible resolverlo, en cierta medida, con la tecnología existente, pero aún no se ha dado el hito.
Sin embargo, el gran avance para que la IA comience a parecerse más a la forma de pensar de un humano, no es otro que conseguir resolver de forma masiva el problema del aprendizaje no supervisado. Hay avances en este sentido, pero nada groundbreaking, por lo que podemos decir que aun estamos empezando.
No obstante debemos tener en cuenta que la capacidad computacional se ha venido duplicando cada 2 años y bajando su precio a la mitad (ley de Moore, aprox. 100x/euro cada década), y nada indica que no se vaya a seguir cumpliendo en el futuro. A esto hay que añadir que hoy en día cualquier dispositivo móvil ya tiene procesadores vectoriales masivamente paralelos (GPUs) que es lo que se está explotando hoy en día para la computación neuronal masiva. A este ratio de crecimiento, es esperable que para 2036 tengamos ordenadores 10000 veces más potentes que hoy, lo que implica (aprox.) la capacidad computacional de un cerebro humano en un dispositivo móvil, y la de los cerebros integrados de una ciudad entera en un supercomputador. Junta el acceso masivo de estos computadores al bigdata, aprendiendo de forma no supervisada, e imagina lo que va a pasar.
www.infoq.com/articles/interview-schmidhuber-deep-learning
Igualmente, totalmente de acuerdo con tu post, aunque desconocía algunos aspectos que nombras; ahora solo falta imitar la lentejuela de memoria externa de uno de los capítulos de Black Mirror para ampliar y ayudar a la memoria humana para dar otro gran salto.
Que detrás además haya una IA que almacene lo que le parece más interesante de cada día o momento de forma automática, no me parece un mal sistema de respaldo. Pero prefiero mantener la nube alejada de mis recuerdos, así al menos me aseguro de que menos gente ve a mi pareja sudando conmigo (recalco el menos)...
Lo que utilizaron fue una combinación de varias técnicas, concretamente minimax (obligatorio en cualquier juego de este tipo), redes neuronales multinivel (lo que los vendehumos llaman deep-learning) y búsquedas Monte Carlo (estocásticas, o lo que es lo mismo, con muestreo estadístico aleatorio de los movimientos dentro de unos parámetros).
Las redes neuronales sólo asesoraban al resto de sistemas sobre qué patrones o subpatrones debían reconocerse para después aplicar los algoritmos clásicos a partes mucho más reducidas del problema, que es lo que permitió que el problema se volviese tratable, pero la mayor parte de la inteligencia (por ejemplo la forma de descartar ramas del árbol de búsqueda que son malas de forma obvia) tienen que haber sido programadas ex-profeso para el problema del Go, ya que sin eso, básicamente el problema se vuelve intratable con muchísima rapidez.
En el fondo es un algoritmo clásico similar al del ajedrez con sistemas de asistencia que mantienen el problema dentro de unos márgenes tratables. Y aun así hicieron falta una tacada de CPUs grande (creo que fueron cerca de las 1000).
El hecho de que el sistema juegue contra sí mismo también tiene inconvenientes, ya que puede sobreentrenar al sistema en ciertas direcciones que luego no aparecen en la práctica. De hecho es muy revelador que el sistema haya perdido una partida contra el jugador humano, a pesar de haber jugado millones de veces más partidas que las que jugará este campeón en toda su vida.
Y eso es debido a que el espacio del problema es demasiado grande como para ser tratable a base de fuerza bruta y heurísticos clásicos. Ha hecho falta una red neuronal y muestreo para que los heurísticos fuesen manejables a un nivel aceptable.
Por ejemplo, hace unos meses jugar bien al go era uno de esos problemas que a una IA se le daban fatal y a un humano mucho mejor, pero ya no. Quedan muchos otros, muchísimos, algunos hasta triviales para un ser humano y jodidísimos para una IA. ¿Pero seguirán siéndolo mucho tiempo?
Lo del go, básicamente, es una evidencia más a favor de los que creen que no, que con el tiempo esas diferencias dejaran de existir. Por otro lado, una parte muy significativa de los que se postulan del lado del "jamás" lo hacen desde un punto de vista antropocéntrico que sitúa la "conciencia" como algo cuasimístico inalcanzable por una máquina por su misma naturaleza.
El articulo en si es bastante pobre, pero la idea de que un paso como este ha sido un hito importante, no porque el go sea complejo, sino porque la resolución ha venido de la mano, no de una IA lógica de fuerza bruta aplastante, sino de una IA con algoritmo autoevolutivo... da para menearla.
En este sentido es lo opuesto a un min-max search clásico, puesto que se fía demasiado de sus heurísticas, con algunas de ellas probablemente sobreestimando en exceso el coste real. Y por eso destaco ese aspecto del aprendizaje, que es lo que diferencia a este experimento de otros.
- La ley de Moore no tiene pinta de durar mucho más. Estamos ya cerca de los límites físicos. Solo una nueva tecnología puede cambiar esto. Si las CPU modernas son multinúcleo es para compensar que no se puede hacer una sola CPU que sea mucho más rápida.
- Las estimaciones sobre la capacidad computacional de un cerebro biológico se basan en suposiciones a lo béstia (pero que muy a lo béstia) y no les veo ninguna fiabilidad mayor que cero.
Con respecto a la primera, supongo que tiene que haber un límite físico, tanto en la capacidad de integración como en el consumo energético. Está por ver si ese límite está antes de 2 décadas o no, o si es viable disponibilizar esa capacidad computacional en dispositivos móviles. Creo que es bastante probable que sí se de en servidores. En cuanto a la paralelización masiva, bienvenida sea. Es algo que las redes de neuronas artificiales y los métodos del tipo Monte Carlo explotan mejor.
Con respecto a tu segunda observación, la capacidad computacional no lo es todo. En general, son los avances en software los que hacen que hoy en día se puedan solucionar más problemas de forma práctica, y no simplemente escalar el poder computacional de una aproximación por fuerza bruta. De ahí que diga que el problema fundamental sigue estando en poder aportar soluciones algorítmicas a problemas de aprendizaje sin supervisión, lo que permitiría explotar el big data en el aprendizaje automático de mejores sistemas. El internet of things y el quantified self ya están aquí, por lo que datos va a haber a cascoporro.
Pero no dejar de ser algo parecido y es que, al final, la red neuronal almacena en una base de datos los resultados satisfactorios. En el del ajedrez que mencionas dichos resultados fueron introducidos directamente haciendo mas rápido el proceso.
Basicamente, la red neuronal permite que la máquina forme una situación de probabilidad estadistica verificable, no es que la máquina piense es que sigue ejecutando parametros de acuerdo a la observación y cuando va a decidir lo consulta con su base de datos.
A veces pienso que debería ser ingeniero informático, jeje, nada mal para un abogado.
De todas formas si tienes curiosidad puedes buscar por la red, ya que los algoritmos para resolver jugadas de ajedrez son muy conocidos. Podrás encontrar explicaciones a nivel divulgativo.
Si lo que hace esa red neuronal se tradujese a un algoritmo, sería un galimatías laberíntico de decisiones sin explicación y números arbitrarios imposible de entender (y mucho menos modificar y mantener). Por eso se utiliza este enfoque en los casos en los que las decisiones son demasiado complejas como para ser programadas con reglas lógicas fijas.
La red neuronal puede ser apoyada por otros subsistemas que le aporten jugadas de una biblioteca de jugadas, pero como tales no existen jugadas dentro de la red neuronal ni representaciones concretas de datos, sino que los números que circulan por esa red son abstracción pura. Es algo así como meter el problema en una fórmula matemática gigantesca y extrañísima sin lógica aparente, pero que acaba dando un resultado útil.
Digamos que la red neuronal es un sistema genérico para obtener resultados "a ojo" y muy rápidos en problemas en los que se haya entrenado previamente. Una especie de chuleta de examen a lo bestia, o una intuición programada, si quieres mirarlo de esa forma.
Los pesos en esa red van cambiando según va entrenándose caso por caso y toda la red se ve afectada con cada nuevo caso exitoso o fallido. Después de millones de intentos, esos pesos acaban formando una especie de formulón matemático para solucionar ese problema de forma aproximada, formulón que sería imposible de programar a mano (como se intentó sin éxito en los comienzos de la IA).