Las consecuencias en IA del torneo AlphaGo vs Lee Sedol (4-1)

Por Francisco R. Villatoro, el 15 marzo, 2016. Categoría(s): Ciencia • Informática • Noticias • Recomendación • Redes de Neuronas • Science ✎ 28

Dibujo20160315 lee sedol vs alphago 5 match google deepmind

Lee Sedol ha perdido su última partida contra AlphaGo. La historia recordará cómo ganó en la cuarta partida. Sin embargo, la quinta ha sido muy diferente. Tras una apertura complicada tipo Amashi liderada por Sedol, no se sabe el porqué pero AlphaGo cometió un grave error, centró el juego en la esquina inferior derecha. Ningún experto entiende este tenuki de AlphaGo que le podría haber costado la victoria. Sedol se sentía ganador y su juego era inteligente (tesuji).

La profundidad de juego de AlphaGo es imbatible. Contra todo pronóstico AlphaGo jugó con mucho riesgo y con mucha fuerza. A mitad del juego AlphaGo logró una pequeña ventaja y la hizo crecer poco a poco hasta el final. Sedol es un genio del Go. Pero la recuperación de AlphaGo ha sido histórica. Con blancas AlphaGo parece imbatible.

Más información en Elizabeth Gibney, «What Google’s winning Go algorithm will do next,» Nature 531: 284–285 (17 Mar 2016), doi: 10.1038/531284a.

¿Qué significa para la Inteligencia Artificial la victoria de AlphaGo contra Lee Sedol? No soy experto, ni en Go, ni en IA, pero creo que está claro que los padres fundadores de la IA tenían razón. Las habilidades de los humanos que asociamos a la inteligencia emergen de forma espontánea de la complejidad algorítmica. Los algoritmos de caja negra (black box), en especial los bioinspirados, son el camino para lograr que la IA se acerque a los humanos y resuelva problemas complejos como lo hacen los humanos. El fiasco de los 1980, que llevó a la IA a redefinirse en contra de la opinión de los padres fundadores, debe ser olvidado. En la década de los 2010 hay que retomar al camino de la inteligencia emergente. Aunque no sepamos cómo emerge, lo que está claro es que el juego de AlphaGo muestra características que en humano nos harían hablar de intuición, creatividad, agresividad, estrategia, etc. Palabras que hace una semana nunca nos atrevíamos a aplicar a una máquina.

Lee Sedol ganó la cuarta partida contra AlphaGo por un error (fácilmente resoluble en los próximos meses) de su algoritmo de Montecarlo (muy inferior al de otros programas de Go actuales). Google DeepMind confió demasiado en la red de neuronas artificiales que evalúa las regiones más prometedoras del tablero y descuidó el algoritmo de Montecarlo. Pero aún así, dicha red ha sido clave en la victoria de AlphaGo en las otras cuatro partidas. Su gran fuerza en el juego emerge de la caja negra que selecciona lo interesante y descarta lo demás. En el futuro la IA tendrá que reconsiderar el papel de las cajas negras bioinspiradas (no solo redes de neuronas artificiales, también los algoritmos genéticos).

La fuerza bruta fue la clave de la victoria al ajedrez de Deep Blue (IBM) contra Gary Kasparov en 1997. La compresión del lenguaje natural fue la clave de la victoria de Watson (IBM) en el Jeopardy! en 2011. La clave de la victoria de AlphaGo (Google DeepMind) contra Lee Sedol en 2016 ha sido el aprendizaje con refuerzo no supervisado; AlphaGo ha sido capaz de predecir el 44% de los movimientos de Lee Sedol durante el torneo (hasta ahora había sido capaz de predecir hasta el 57% de los movimientos de los humanos). El progreso de la AI se dirige hacia la peor pesadilla de la ciencia ficción. Máquinas que aprenden solas interaccionando con otras máquinas, pero acaban comportándose como un humano que haya aprendido interaccionando con otros humanos. Para que una máquina sea más humana no es necesario que aprenda de los humanos.

Por cierto, quizás te preguntes, por qué tanta atención a la partida AlphaGO vs Sedol en este blog de ciencia. Cuando yo era estudiante implementé un algoritmo para jugar al Go en un tablero de 8×8 (el tablero del juego es de 19×19). Mi idea era aprender a implementar algoritmos de búsqueda minimax con poda alfa-beta en un ejemplo sencillo. No he vuelto a preocuparme por el Go hasta este año.

Hace años propuse como proyecto fin de carrera a una alumna aprender a jugar al pac-mac (comecocos) usando aprendizaje no supervisado. Me interesé por Google DeepMind a principios de 2015, cuando se publicó que hizo algo parecido con 49 juegos arcade para Atari 2600, incluyendo pac-man (Charles Q. Choi, «Google AI Learns Classic Arcade Games From Scratch, Would Probably Beat You at Them,» IEEE Spectrum, 25 Feb 2015). He seguido sus progresos desde entonces.

No sé si los lectores de este blog ya estarán aburridos de que hable tanto de AlphaGo. Lo siento, pero así es la blogosfera.



28 Comentarios

  1. «No sé si los lectores…» por aquí no, en absoluto. Muy interesante e inquietante. Certera referencia al «fiasco» de los albores de la IA. ¿Se repite el «optimismo» y podemos sentir ya la amenaza de la singularidad tecnológica? =O

  2. «Las habilidades de los humanos que asociamos a la inteligencia emergen de forma espontánea de la complejidad algorítmica» ¡¡AMÉN!!
    Ya tenía yo ganas de leer esto en este blog, me cachis en la mar.

    Toda mi admiración y respeto hacia Sedol, que ha aguantado el embiste con valor y empeño.

    La IA es parte fundamental y apasionante de la ciencia Ni se te ocurra dejar de hablar de AlphaGo o IA en general

  3. «… son el camino para lograr que la IA se acerque a los humanos y resuelva problemas complejos como lo hacen los humanos». Me pregunto si la IA será capaz -algún día- de comportarse frente a una actividad -tradicionalente- humana como lo haríamos uno de nosotros. Y merefiero con ello al impacto que en dichos comportamientos circunstancias tales como nuestro estado de ánimo, el cansancio tanto físico como mental, o la habilidad de exasperar a nuestro contrincante (por ejemplo, moviendo las fichas compulsivamente, o amagando un movimiento…).

    Muy interesante estas entradas, Francis.

  4. Era un momento histórico, es normal darle tanta cobertura y yo personalmente te lo agradezco, aunque no haya participado en las anteriores entradas.

    La creatividad que ha demostrado el programa creo que está muy por encima del ya gran logro contra Kasparov en su día. Se avecinan tiempos interesantes.

  5. Tengo un par de dudas, y tras haber leido en varios sitios aun no me han quedado claras. Si es posible, que alguien me las contestara.

    Tenía entendido que los métodos de Montecarlo, en el fondo no era más que fuerza bruta, es decir, calcular de manera aleatoria todas las posibilidades posibles, en cambio AlphaGo lo que tiene de avance es su capacidad de distinguir (deducir, suponer, intuir) cuáles de las diferentes opciones calculadas previamente son las más prometedoras, siempre y gracias en base a un entrenamiento previo hecho de manera intensiva, nuevamente a lo «fuerza bruta», hacerle entrenar millones de casos para que adquiriera experiencia.

    La primera duda es…estoy en lo correcto en lo expuesto? qué es en lo que estoy equivocado?

    La segunda duda es…

    Cuando se comenta que falló por la debilidad del algoritmo de Montecarlo implementado en Alphago y que en otros programas es mucho más potente…es porque AlphaGo no acaba de revisar todas las posibilidades del contrincante, y en cuanto ve algun movimiento extraño tirando a perdedor que pueda hacer el contrario la descarta como «improbable» como una manera de ahorrar tiempo y potencia podría ser?

    Es que me ha hecho pensar en lo que algunas veces ha sucedido en tanto en el ajedrez como en las batallas, que movimientos aparentemente tontos han sido tomados por el enemigo como movimientos suicidas o de «no saber» y luego han resultado esconder gran astucia. Como lo que vendríamos a decir…que se las dieron de listos los segundos y luego pues los primeros no eran tan tontos…Quizás AlphaGo, su algoritmo está pensado en presuponer que los que juegan contra él todos sus movimientos son «a ganar» por tanto, pica en los faroles.

    Siento si me he explicado algo mal, no se me ocurre mejor manera de explicarlo. Gracias!

    1. MauriAriel, «¿estoy en lo correcto en lo expuesto?» Sí, en líneas generales estás en lo correcto. «La debilidad del algoritmo de Montecarlo …» El error cometido por AlphaGo no lo hubieran cometido otros programas de Go comerciales basados en algoritmos de Montecarlo; tras más de 30 años se han desarrollado mucho este tipo de algoritmos para jugar al Go, pero DeepMind no ha escogido el mejor disponible, ya que querían un enfoque diferente.

      El análisis detallado de todas las decisiones de AlphaGo será emprendido en las próximas semanas (según Google DeepMind). Se publicará en unos meses. Lo que sabemos ahora mismo es que una jugada de Lee Sedol buena (a ojos de todo el mundo) fue valorada como muy mala (con una probabilidad de ser buena menor de 1 entre 10000 por AlphaGo). El porqué se desvelará en el futuro.

      Saludos
      Francis

  6. Hola. Francisco todos mis respetos. Yo soy un «silencioso» lector (adicto ya) del blog. Tu comentario «No sé si los lectores de este blog ya estarán aburridos de que hable tanto de AlphaGo…» me obligo a romper el silencio, por favor no dejes de escribir sobre el tema.
    Saludos cordiales.

  7. Me pregunto si algún día se le podrá preguntar a una maquina:¿cual es la pregunta sobre la vida el universo y todo lo demás cuya respuesta es 43?

  8. «Lee Sedol ganó la cuarta partida contra AlphaGo por un error (fácilmente resoluble en los próximos meses) de su algoritmo de Montecarlo»
    De acuerdo con los comentarios profesionales (al menos los que he leído), eso no es cierto. Sedol gana con la magnífica jugada 78. Los brutales errores de Montecarlo vienen a partir de la 87.

  9. Ha estado muy interesante la serie de artículos (y el torneo en sí). Mi pregunta, grosso modo, es qué porcentajes de programación tiene de fuerza bruta y qué de otros mecanismos, y en particular qué porcentajes hay de Montecarlo, de redes neuronales, de algoritmos genéticos, de otros…, es decir, si se puede evaluar cuánto hay de verdadera IA y cuánto de fuerza bruta.

  10. Hola Francis

    Fascinante tema este, y una suerte contar con tu cobertura (valga este comentario para responder a la última frase de tu entrada).

    Tengo un par de preguntas. La primera es acerca del sistema de recompensa. Según he entendido (estoy comenzando a leer ahora las entradas, y acabo de terminar la charla) AlphaGo no requiere de una programación específica para cada juego al que se enfrenta. La recompensa más fácil que se me ocurre es el absoluto «juego ganado», ¿es simplemente esa?
    La otra pregunta es referente al input. Veo que centran a Alpha en estímulos visuales, ¿no se ha comentado nada de enfrentarlo a (por ejemplo) conversaciones? Imagino que la dificultad de esto radica en su autoentrenamiento repetitivo, y en encontrar como clasificar una conversación como «ganada» o «perdida» («micro test de Turing» superado o no), pero existen infinidad de conversaciones grabadas en (por ejemplo) el cine.

    Un saludo

    1. Tay, dice «AlphaGo no requiere de una programación específica para cada juego al que se enfrenta». Esto no es del todo cierto, pues AlphaGo usa un método de Montecarlo específico para Go. La filosofía de Google DeepMind (aplicada en sentido estricto a otros juegos) es que el algoritmo de aprendizaje con refuerzo no «requiere una programación específica para cada juego». Calcula una respuesta o salida (output) para toda entrada (input) que recibe en función de maximizar un refuerzo (puntuación). No tiene que saber nada más del juego. Para un juego arcade de Atari basta las teclas que tiene que tocar y la puntuación que recibe. Aprende solo a jugar y acaba siendo mejor que cualquier humano.

      «La recompensa más fácil que se me ocurre es el absoluto “juego ganado”, ¿es simplemente esa?» No, se usa además la puntuación en cada momento (como serie temporal). No basta con ganar, pues requiere un final de juego y eso no ocurre en todos los juegos. En algunos juegos arcade de Atari ha descubierto una opción que le permite acumular puntuación ad infinitum.

      «Alpha … estímulos visuales». Si quieres llamarle así, pero se trata de un modelo del tablero (no exactamente una imagen del tablero). Se usan dos redes de neuronas artificiales principales, policy network y value network, ambas con una arquitectura similar. Su entrada son 48 «imágenes» del tablero 19 x 19 con diferentes «características» del juego (en rigor, solo una es una «imagen» de las piedras en el tablero); la red tiene 13 capas «ocultas» de neuronas, la primera con una «imagen» 23 x 23 con «pesos» agrupados en «filtros» 5 x 5, las capas 2 a 12 tienen una «imagen» 21 x 21 con «pesos» agrupados en «filtros» 3 x 3, y la capa final es una única salida («imagen» 1 x 1).

      «Enfrentarlo a (por ejemplo) conversaciones?» En este caso el modelo es completamente diferente, pues las conversaciones tienen semántica y se requiere un modelo de conocimiento (una base de datos de conocimientos, por ejemplo, mediante una ontología de conceptos). En este campo los algoritmos de aprendizaje con refuerzo no funcionan bien y se usan otras técnicas.

      «Existen infinidad de conversaciones grabadas en (por ejemplo) el cine.» Ojalá todo fuera tan sencillo como sugieres, Tay. ¿Imagina una «imagen» de todos los conceptos semánticos que se usan en las conversaciones en el cine y todos las posibles relaciones entre ellos? Hoy en día aún no existen ontologías generales para abarcar tanto conocimiento (solo tenemos ontologías asociadas a ciertas ramas del saber).

      Saludos
      Francis

  11. No dejéis de hablar de AI, no se hace pesado en absoluto.
    A mi personalmente es un tema que me apasiona aunque yo tan solo soy un «cuñao» XD
    Saludos

  12. Otro más que lleva siguiendo a DeepMind desde el primer artículo, la red neuronal con memoria que describía me fascinó, y me llevó a especular con sus posibilidades, pero esta victoria me ha fascinado y sorprendido, gracias por todos y cada uno de los artículos.

    Solo espero poder sacar un poco de tiempo y programarme una red neuronal del tipo de DeepMind y poder jugar con ella.

  13. Miguel, uno de los objetivos de la empresa Google DeepMind es el desarrollo de IA de apoyo a la investigación científica (generación y validación de hipótesis, sobre todo en ciencias biosanitarias). El campo todavía está bastante verde. Hay demostradores automáticos, pero son útiles en axiomática, lógica y teoría de modelos. Por ahora no existen demostradores automáticos de teoremas complejos en otras áreas y por ende en cosmología.

  14. Saludos, Francis.

    Quisiera preguntarte respecto a esto que dices: «El fiasco de los 1980, que llevó a la IA a redefinirse en contra de la opinión de los padres fundadores, debe ser olvidado.» Podrias elaborar rapidamente a que te refieres con eso? Gracias! 🙂

    1. Kernel_panic, me refiero al fracaso de los proyectos enmarcados en el concepto «quinta generación» (Japón, Rusia, EEUU) de los 1980 que pretendían lograr una inteligencia artificial avanzada usando computación masivamente paralela. Estos proyectos fracasaron y penalizaron la investigación en inteligencia artificial en los 1990 que se redirigieron hacia cuestiones más prácticas.

      Una charla muy interesante sobre el fracaso de las ANN y RNN en los 1980s es la de Geoff Hinton «Deep Learning» https://www.youtube.com/watch?v=IcOMKXAw5VA

      1. Listo! Gracias por tu aclaratoria.

        Bueno, en esto de la IA si supieras, no me gustan las redes neuronales precisamente por el hecho que son cajas negras, si, funcionan excelente, pero una vez funciona no tienes ni idea de como y eso es un fracaso peligroso. Creo que la IA deberia definirse mas bien en base a la logica difusa, porque al menos de esta forma, a traves de las reglas del sistema difuso, si se podria saber por que y como funciona el sistema.

        Saludos, gracias nuevamente, y sigue con este genial blog! Exito!

  15. Ante todo gracias por los posts en general,

    Y de AI en particular. Por como escribes creo que no dejarás de escribir de ello, más aún con todos los comentarios alentándote a ello.

    Lo que más me gusta de tus artículos es que muestras rigor, demostrando fuentes, y a pesar de tu subjetividad en algunos temas, tratas de exponer los hechos. Todo ello muy de humano aplicando el método científico. Mi pregunta es, si el método científico está tan claro ¿cómo es que la mayoría de la gente se resiste a él? Parece que a la gente le gusta más subjetividad (ahí voy yo también), aunque la fuerza de la homeopatía, el anti-wifi y anti-telefonía móvil, etc… viene a mostrar eso… Es que me tira la ciencia pero me desconcierta lo humano… Gracias!

    Saludos,
    Francisco
    @Franciscodr

  16. El ajedrez es más estratégico, en Ajedrez el objetivo del jugador es crear desigualdades estratégicas como capturas, presión, control de casillas (incluye el mismo concepto de territorio en que se basa el go), la iniciativa, las estructura de peón, etc. Se dice que en el ajedrez es malo porque hay que memorizar aperturas y finales, es que la memoria no es algo fundamental del humano, en el go también hay jugadas que se memorizan como técnicas de captura. Un gran aspecto del ajedrez es crear amenazas que no son verdaderas amenazas, pero que sin embargo requieren la atención del enemigo, la estrategia a menudo no consiste simplemente en atacar directamente al enemigo, sino en confundir al enemigo a través de amenazas falsas

    El ajedrez es más táctico en Go, una vez colocada una piedra no puede moverse, es estática. En Ajedrez las piezas están en flujo constante, combina lo espacial y lo temporal, mientras que Go es sólo espacial. El estilo constantemente cambiante del ajedrez es más gratificante, además, cada pieza tiene una función diferente, dando al juego un sentido de complejidad, ese tipo de dinamismo emocionante el ir y venir, es inexistente en el Go que es menos explosivos y se centran en la consolidación de territorios. Sin embargo, el ajedrez también ofrece el estilo lento y puramente posicional de Go batallas estratégicas sobre una solo casilla

    La importancia de cada movimiento los juegos típicos de Go duran entre 150 y 400 movimientos, mientras que los de ajedrez duran entre 20 y 60 movimientos. Se estima que cada movimiento de Ajedrez vale 7 movimientos Go. Esto demuestra la precisión requerida para jugar al ajedrez con eficacia, y la importancia en cada movimiento. Go tiene un tablero 19×19 pero más piezas y posibilidades no hacen que Go sea más complejo. Hay tantos otros factores en juego en el ajedrez, el enorme número de desequilibrios estratégicos, el cambio constante de las piezas y la necesidad de reevaluar las posiciones, los elementos psicológicos, el enorme cuidado que debe tomarse en cada movimiento, la tensión entre todas estas estrategias y los de ataque táctico. Si Go se juega en un tablero 9×9, entonces el ajedrez es el juego más complejo, no, entender esa lógica ¿por qué no duplicar el número de posiciones y tendrás un juego mas complejo? Porque aumentar el número de posiciones no hace el juego más complejo. El punto es que la complejidad de un juego no está determinada por la cantidad de posibilidades, sino por los elementos cualitativos inherentes al juego. Por ejemplo hay juegos con mas posibilidades que el ajedrez como gomoku y stratego, o que el mismo go como connect 6 pero no se menciona que sean mejores que estos, incluso hay variantes del ajedrez en que el numero de posibilidades aumentan como el ajedrez aleatorio de fisher, el ajedrez omega o el ajedrez hexagonal. En Go, es la sencillez de las piedras estáticas que controlan el espacio. En Ajedrez, es la aterradora complejidad de piezas que funcionan de manera diferente en flujo constante

    Igualdad el ajedrez presupone la igualdad de los jugadores por lo tanto un empate es posible porque es posible que los dos jugadores jueguen un juego perfecto. En Go, no se puede empatar el juego se decide por la ventaja de .5 puntos otorgada por Komi. Incluso puede ser el jugador perdedor quien hizo las jugadas más impresionantes. En el ajedrez si se enfrenta 2 rivales con capacidad dispareja probablemente la partida acabe rápido, en el go cuando esto sucede se le otorga al rival mas débil handicap sin embargo esta «igualdad» solo llevaría a realizar una partida aburrida y larga para el rival mas fuerte y probablemente con el mismo resultado

    Se dice que el Go es mejor porque no puede ser derrotado por computadoras….. pues ya lo fue por alphaGo, no lo dudes el ajedrez es mejor

Deja un comentario

Por Francisco R. Villatoro, publicado el 15 marzo, 2016
Categoría(s): Ciencia • Informática • Noticias • Recomendación • Redes de Neuronas • Science
Etiqueta(s): , , ,