Un ordenador gana por primera vez a un experto al Go

Achiss

El Go es un juego endiabladamente complicado para un ordenador, tras unos 20 años intentándolo por primera vez se ha logrado. El equipo de Google DeepMind consigue por primera vez que un ordenador venza a un jugador experto al Go, por 5 a 0. Un grandísimo logro de la inteligencia artificial.
http://deepmind.com/alpha-go.html

Hasta ahora las mejores soluciones se basaban en Monte Carlo tree search (MCTS), basicamente explorar los posibles movimientos con algunas heurísticas. Hace aproximadamente un año se publicaron los primeros papers en los que se usaban redes neuronales profundas (deep learning) para tratar de predecir el movimiento que haría un experto y esto igualó los resultados anteriores. Ahora han combinado ambas, la red neuronal predice cuales son las jugadas que haría un experto y eso se usa como guía para para el MCTS. Si alguien tiene dudas o quiere más detalles que me diga, que es un tema que he seguido últimamente.

7
B

A mi el tdt de mi abuela me ganaba...

Interesante ver como sigue avanzando el tema de IAs

21
Polakoooo

¿Por qué este juego es especialmente complicado para un ordenador?

2 respuestas
Yandr0s

#3 porque la cantidad de jugadas posibles es brutalmente inmensa, por lo que ni un superodenador tiene capacidad para explorarlas todas ni de coña

Impresionante lo de deepmind y deep q learning, en pocos años va a haber una revolucion en muchos aspectos de IA, acojonante

1 respuesta
Jorgew

#3
Estos son los movimientos posibles en ajedrez:

Y estos los de Go

Ahi ya entra de formas mas grande la imaginacion humana, segun dicen en el video.

29 1 respuesta
Polakoooo

#5 #4 Vale, pero entonces cuál es el factor diferencial entre el modo de jugar humano y el de la IA? Porque el humano tampoco puede predecir semejante cantidad movimientos, por lo que entiendo que la anticipación de jugadas tiene una importancia relativa a la hora de ganar una partida.

3 respuestas
Idontknow

He entendido mal ho ha dicho que había más combinaciones que atomos?

1 2 respuestas
eXtreM3

Qué tipo de experto era? Porque en ajedrez pasa igual, hace tiempo que las mejores IAs del mundo pueden derrotar a un 99,9% de jugadores a nivel mundial, pero no al top1.

La IA va a seguir avanzando igualmente, pienso que en ajedrez llegará un momento en el que para un humano lo máximo posible será alcanzar tablas si juega absolutamente perfecto, las máquinas serán imbatibles.

El Go este no lo conozco, pero según parece el espectro de movimientos es mucho mayor que en ajedrez. No creo que la IA de #1 sea capaz de ganarle al mejor jugador del mundo, al menos de momento.

2 respuestas
Soulscx

#6 quizá porq la mente humana tiene una visión en perspectiva de las jugadas, en cambio en un ordenador habría q representar el tablero y reconocer patrones y usar heurísticas para cada posición del tablero. Lo que a una persona le costaría un segundo ver el tablero desde arriba y ver que jugada aplicar al ordenador le costaría millones de operaciones llegar a la misma conclusión que la persona.

1 1 respuesta
eXtreM3

#9 lo de reconocer patrones y posiciones conocidas que son favorables, el ordenador te lo hace en centésimas de segundo.

1 respuesta
B

Kasparov encontró fallos en la IA, empezó a perder el torneo y tuvo una idea, sacrificar una ficha para sorprender a la máquina y originar una situación defensiva con la que poder afrontar de forma diferente la partida, mágicamente la máquina no se comió el peón. Kasparov se ralló muchísimo ya que una IA no puede pensar eso, y pidió los movimientos de la máquina, no se los dieron (había gente detrás a parte de la máquina).

De todos modos eso fue hace años, me parece que ahora ganar a una IA en el ajedrez es mucho más difícil, no se si Carlsen puede ganarles actualmente, el ajedrez es mucho más simple que el go

1 respuesta
Cryoned

#6

Lo principal es que nunca se dedicó tanto dinero a crear un engine de Go como de ajedrez.

Lo segundo es que para juegos con un branching factor tan exagerado como el del go los algoritmos clásicos del ajedrez que ya de por si necesitaban potencias brutales de cálculo se multiplicaban hasta niveles que se iban fuera de madre.

Lo tercero es que el Go no está tan estudiado como el ajedrez y es muy dificil predecir los mejores movimientos de forma matemática. No imposible, pero dificil.

Cuando hace unos años por fin acabaron de reventar el ajedrez y ahora hasta el móvil te mueve cualquier engine con 3000 de elo, se pusieron con el go y ha sido simple evolución de algoritmia, aplicación de métodos, estudio del juego y potencia disponible para las posibilidades del go hasta que han dado con ello años después.

Parece que no, pero es un paso inmenso, el go se veía como algo que se tardaría muchísimo tiempo en conseguir que la máquina triunfase sobre los humanos.

La singularidad está un poquito más cerca.

#11

No, hace ya muchos años que ningún humano es capaz de vender a la IA. Y son engines de bajísimo coste como Houdini o komodo que cualquiera puede mover en un pc normalucho.

B

#6 los grandes expertos de ajedrez y go juegan "de memoria", mientras que los ordenadores (en ajedrez) tienen una puntuacion para cada configuracion del tablero y miran de las opciones que escogen cual les deja en mejor posicion. Este ordenador que ha ganado al go (tampoco al top1 pero a alguien suficientemente buenillo) usa deep learning, lo que significa que entre comillas tambien juega "de memoria": Busca situaciones similares en su memoria y establece paralelismos.
A lo mejor me cuelo pero eso fue lo que recuerdo de una conferencia a la que fui sobre el tema xD.

1 respuesta
Soulscx

#10 si, pero quiero decir que la persona lo hace de diferente forma, sin hacer esos cálculos es capaz de intuir una serie de jugadas y movimientos. La persona no podría probar todas las combinaciones posibles y para el ordenador aunq sea super veloz tampoko podría con todas las combinaciones posibles. Si le meten buenos patrones a la máquina podría llegar a ser un rival casi invencible y derrotar a los mejores jugadores.

PD: #13 el problema que veo a los programas que aprenden por experiencia es que tendrían que estar muchisimo tiempo "entrenando" y aprendiendo patrones y encima seguro q se encontraría con configuraciones del tablero que nunca llegó a jugar alguna vez debido a la explosión combinatoria y entonces ahí tendría que continuar la partida usando lo aprendido, no sería perfecta diría yo xD

1 respuesta
Millonet1

#8 Ahora mismo el engine comercial mas potente tiene 3400 de ELO, Carlsen tiene 2800. Un PC normal se lo come.
http://www.computerchess.org.uk/ccrl/404/

1 respuesta
B

#7 se debe a que es exponencial al numero de casillas, es decir, si el juego tiene 70 casillas (que creo que tiene mal) es 170, en el numero 35 ya tienes 35mil millones, es una burrada xDD

B

#14 piensa que no se trata de que lo haga perfecto, se trata de que lo haga mejor que un humano. Es lo mismo con el reconocimiento de imagenes, ahora mismo el deep learning para reconocer imagenes acierta un 80% aprox. Diras que poco no?

Ahora te doy yo un set de 15000 imagenes de entrenamiento y uno de 500000 imagenes de test y a ver si aciertas un 80%.

Tambien muchisimo tiempo para una DNN (Deep Neural Network) quizas sean 4 o 5 dias entrenando y ya.

eXtreM3

#15 en serio vas a fijarte en el elo de una máquina? Carlsen se come con patatas a cualquier engine (y encima si hablas de Stockfish) en un match a varias partidas. No te digo que en 1 ó 2 la máquina no pueda ganar. De hecho Carlsen ya le ganó a Stockfish en diciembre de 2014 (hace prácticamente un año)

Por eso digo, llegará el día en el que será imposible ganarle a la máquina, pero ese día aún no ha llegado.

3 respuestas
B

#18 tecnicamente no gano, sino que hizo jugadas que SF no hubiera hecho (en la simulacion) y que a SF le costo mucho ver que eran las mejores. Al menos eso entendi yo:
https://www.reddit.com/r/chess/comments/2cot0o/carlsen_outperforming_stockfish_again/

PD: Lo cual no quita que sea impresionante xD

1 respuesta
eXtreM3

#19 pero es que eso es muy habitual. No es la primera vez que Carlsen realiza jugadas que no son consideradas como la mejor por las mejores IAs y a largo plazo (en el transcurso de la partida) se ve que son más fuertes.

Cryoned

#18

Ehh no, Carlsen hace años que no gana a ningún engine de alto nivel en condiciones y menos a varias partidas. Ni Carlsen ni nadie.

Si ya palmaban con Houdini hace 3 años

El tema del elo de los engines es que no es equivalente al humano, hay que reescalar.

Lo que tu comentas si mal no recuerdo fue por las condiciones dadas para mover ficha al engine y la potencia de la máquina.

Pero vamos, que no gana xD, a día de hoy ningún humano gana a los top engines.

1 respuesta
eXtreM3

#21 cierto, pero porque el hardware ha mejorado mucho y los algoritmos también. Ahora las máquinas calculan muchos más millones de variantes que antes en el mismo tiempo. Si Carlsen no tuviese límite de tiempo para mover no perdería ni una partida contra el mejor engine. Y sí, en 2014 tienes esa partida que han linkeado, lo que no sé es en qué condiciones se jugó.

pd: ah ok xD

1 respuesta
Cryoned

#22

Perdería más contundente, a más tiempo más ventaja para la máquina.

1 respuesta
Polakoooo

Bueno, pues si el día de mañana nos jugamos la supervivencia de la humanidad contra las máquinas a un torneo de ajedrez o go estamos jodidos chavales.

Siempre nos quedará cortar la corriente y jaque mate.

4 1 respuesta
Cryoned

#24

When Peter Svidler was asked which one player he would choose to represent Earth in a hypothetical match against aliens, he answered "Houdini".

Parecido xD

1 respuesta
eXtreM3

#23 tarde o temprano encuentras la mejor jugada de la posición. Si siempre mueves la mejor es imposible perder.

2 respuestas
Cryoned

#26

Por eso la máquina es imbatible. Es pura matemática, los cálculos no fallan y cuanto más tiempo tenga para analizar todos los posibles outcomes, menores son las posiblidades del humano de jugar con la creatividad y la falta de análisis de la máquina para ganar.

Aparte, no existe "mejor" as is

No le des vueltas, a Carlsen le han abierto el culo repetidas veces los top engines y jugando con ellos es como entrenan los grandes maestros, los humanos estamos fuera de esa carrera hace años, ni siquiera es discutible u opinión, son hechos.

1 2 respuestas
Polakoooo

#25 No sé yo hasta qué punto estuvieron acertados al nombrarlo houdini, teniendo en cuenta que murió haciendo aquello en lo que era experto xD.

#27 Es muy curioso eso que comentas no? Hemos diseñado una máquina que aprendió de nosotros lo que sabe y que ahora enseña a los mejores del mundo a ser los mejores.

1 respuesta
YokeseS

la deep learning me da mucho miedito

#27 hasta la llegada de neo.

B

#26
Es un sesgo muy humano pensar que el humano es "especial" en hacer cálculos y que no puede perder ante algo que hemos inventado que calculo mejor y más rápido que nosotros. Lo siento.

#28
No veo la rareza. Es como fliparse por el poder de las excavadoras xD. O que haya robots que puedan ir por el agua si ahogarse. Mitificáis mucho al ser humano. Un humano puede aprender de los mejores y aún así cometer fallos de antaño, no aplicar bien los métodos recibidos (sea por estrés, presión, sueño, hambre, la edad en sí, fallos cognitivos, falso paso de inferencia...). Una máquina se lo graba a fuego y aplica toooooooooodo en su siguiente jugada. Si una máquina aprende la capital de un país no se la va a olvidar nunca (ni escribir mal ni confundirla con otra que se pronuncie igual...). Y no es "raro" que una máquina aprende de nosotros y después gane a los mejores memorizadores del mundo. Lo raro sería que las máquinas perdieran.

Esa "halo" de pureza del humano también sucede en el mundo artístico. Pensamos que una máquina no tiene el "toque" para pintar o componer música y si escuchas composiciones de directores no muy conocidos y la I.A. (sin tú saber cómo van a ir mezcladas) al igual detectas quién es cada uno. Hasta piensas que una tiene "mucha profundidad emocional" y la ha hecho el puto halo2000.

6 4 respuestas