Tecnología, Internet y juegos
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.

| etiquetas: deep learning , inteligencia artificial , google , esp
  1. Los juegos son entretenimientos para la mente humana. Si creamos máquinas hechas específicamente para ganar a esos juegos, está claro que mínimamente, deberían ser mejor que los cerebros no hechos con ese propósito.

    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.
  2. El go no tiene nada que sea especial. Es un juego perfectamente programable. El que hasta ahora nadie se hubiera puesto en serio a hacerlo no significa nada.

    La AI, sin ser ninguna maravilla, es capaz de hacer cosas mucho más difíciles.
  3. Psé; me preocuparé cuando sepa salir con vida de un "cariño, crees que he engordado" o "¿Te parece x más guapa que yo?".

    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.
  4. #4 novecientos años quedan  media
  5. #2 Que sea fácilmente programable no significa que no sea tremendamente complejo. De hecho, aunque las reglas del ajedrez sean más complicadas que las del go, éste tiene una mayor complejidad dado el enorme número de combinaciones posibles, mucho mayor que en el ajedrez.
  6. Lo que es preocupante es que gente que no tiene ni idea haga este tipo de artículos grandilocuentes.

    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.
  7. Siempre hablan de la derrota de Kasparov, pero en realidad no perdió. Si no recuerdo mal quedaron 4-2
  8. #8 Eso es el primer match. El segundo lo ganó Deep Blue.

    es.wikipedia.org/wiki/Deep_Blue_versus_Gary_Kasparov
  9. #9 gracias! Metiendo la pata como siempre, cosas del lunes :roll:
  10. #1 #2 Bueno, sí. Pero a diferencia de deep blue, que fué programado específicamente con una estrategia ganadora de ajedrez que explotaba el poder computacional de un supercomputador; en el caso de AlphaGo, se ha puesto a jugar al sistema consigo mismo, y el sistema ha aprendido las estrategias ganadoras mediante aprendizaje.

    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
  11. #11 Personalmente, dudo mucho que la ley de Moore se pueda alargar muchos más años, pero es un buen indicador.

    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.
  12. #12 Sí, el concepto de memoria externa será útil. No obstante, no es tanto que el cerebro no pueda almacenar suficiente información con una resolución "apropiada", sino el hecho de que muchas veces no es capaz de evocarla a un estado consciente. Más que una memoria externa (pensada como un implante), lo más probable es que los dispositivos móviles, sincronizados con la nube, permitan gestionar los datos de sensores ubícuos que formarán parte del "quantified self", y que varios agentes IA asistan en la recuperación de la información más relevante para cada momento en base a interacciones probablemente más complejas en las que la IA prediga lo que vas a querer.
  13. #13 Es una opción; pero casi que prefiero poder grabar en vídeo lo que veo (siempre o eligiendo momentos) y poder rememorarlo cuando quiera a través de realidad aumentada.

    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)...
  14. #14 No es descabellado que en un futuro cada humano tenga acceso a almacenar 100 años de vida completos de forma multimodal a una resolución aceptable. Con una IA en aprendiendo, simultaneamente con tu vida, a saber que uso quieres hacer de ello en cada momento.
  15. #7 jojojo pedazo cuñadada acabas de soltar nano.
  16. #5 Acabas de ganarte a Internet...
  17. #11 No, eso es simplificar en extremo el cómo funciona el algoritmo.

    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.
  18. #16 Es irrelevante. Si hay algo que demuestra el cerebro es que no es una cuestión de potencia bruta, sino de organización.
  19. #2 Será todo lo programable que se quiera, de hecho algoritmos hubo durante años. La diferencia es que esos algoritmos eran una puta mierda y este no.

    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.
  20. #6 De hecho se ha demostrado de forma práctica una y otra vez que la complejidad de las reglas de un sistema no tiene correlación con la complejidad del comportamiento que generan esas reglas. El Go es otra demostración más.
  21. #17 Yo he trabajado en IA. Tú de momento sólo has escrito un comentario.
  22. #23 yo trabajo con cadenas de Markov
  23. #3 de momento
  24. El profesor Falken todavía existe?
  25. #7 Mientras no consigamos AGIs, no temeré una revolución robot.
  26. #3 Y tanto, hay un montón de desafíos intelectuales a los que la tecnología de IA que tenemos no puede enfrentarse y un humano sí, de momento...

    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.
  27. #24 pues yo trabajo con colonias de Rudertford y soy más listo que tú ¬¬
  28. #19 Claro que simplificó. Con respecto a deep blue, se usa monte Carlos trees en vez de alpha-beta como método de prunning, por el branching factor del Go. Pero las heurísticas se aprenden. Es más, con MCTS no es necesario programar una función de coste, sólo las reglas.
  29. #19 Por cierto, quiero añadir que uno de los fallos de AlphaGo es que juega en exceso por intuición y con movimientos de manual, y que falla en ver posibilidades creativas del tablero, la ventaja de la iniciativa, o en seleccionar el mejor momento para realizar los mejores movimientos. Estas últimas características las aprenden los jugadores profesionales al jugar contra una gran diversidad de jugadores con diferentes estilos, y mediante analisis discusión de partidas y estrategias con otros profesionales, lo que indica que AlphaGo está claramente sobreentrenado y sesgado por jugar en exceso contra sí mismo.

    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.
  30. #11 Agradezco la información que proporcionas. Estoy en desacuerdo con dos puntos:

    - 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.
  31. #16 Lo cual no quiere decir que se pueda alargar infinitamente.(Ya lo dijo Moore)
  32. #21 Exactamente igual que se hizo con el ajedrez, solo que en el ajedrez el decidir por donde se debía profundizar más era muy sencillo.
  33. #32 Sí a ambas.

    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.
  34. #34 Si fuese exactamente igual, no habría hecho falta otro algoritmo.
  35. #7 A mí que un ordenador gane a un humano en un juego de información completa estilo damas, ajedrez, go.. o lo que sea me parece interesante y muy complejo, pero es algo en cierto modo esperado teniendo en cuenta el avance en la potencia de cálculo y algorítmia/heurística. Me gustaría ver algo diferente en IA así vamos a tardar un montón en llegar a la singularidad.
  36. Nada de preocupante. El artículo es una chorrada
  37. #11 Basicamente es una red neuronal que simula billones de situaciones y elige las situaciones mas efectivas de acuerdo a una serie de normas.

    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.
  38. #19 Vaya, no sabía lo que dices. Que piensas de mi comentario en #40 ? mi comentario se basó solo en mi imaginación.

    A veces pienso que debería ser ingeniero informático, jeje, nada mal para un abogado.
  39. #41 Que es una idea similar a la que comentas, pero bastante más complicada. Hay bastante miga detrás.

    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.
  40. #41 Ahora bien, la parte de redes neuronales no funciona como tú crees. Una red neuronal no almacena jugadas ni nada en particular, sino que lo que hace al darle unas entradas es clasificarla en determinados tipos, en función al entrenamiento previo que haya tenido. Lo que hace la red neuronal internamente no es analizable en la práctica ya que son una serie de pesos distribuidos en una red que no representan algo concreto.

    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).
comentarios cerrados

menéame