CULTURA Y TECNOLOGíA
294 meneos
4201 clics
AlphaZero derrota a StockFish 8 tras tan sólo 4 horas de auto-aprendizaje

AlphaZero derrota a StockFish 8 tras tan sólo 4 horas de auto-aprendizaje

AlphaZero, un programa informático de Google basado en redes neuronales, ha logrado derrotar a StockFish 8, uno de los motores de ajedrez más potentes del mundo. Para lograrlo, tan sólo ha necesitado conocer las reglas del juego y 4 horas de entrenamiento consigo mismo.

| etiquetas: inteligencia artificial , ajedrez , redes neuronales , machine learning
Comentarios destacados:                    
#73 La verdad que es una noticia escalofriante, he estado analizando las partidas y todavía tengo la piel de gallina.

Para los profanos del mundo del ajedrez, se puede explicar resumidamente, que el trabajo de bastantes años (unos 20 años aproximadamente del ajedrez informatizado moderno) entre humanos expertos y usando los más potentes ordenadores hasta ahora, ha sido superado notablemente por una inteligencia artificial que ha aprendido a jugar por si misma en tan sólo 4 horas. Han demostrado que una máquina puede aprender de si misma y mucho mejor sin que un humano le diga como.

Por lo que he leído, se han jugado 100 partidas a 1 minuto por movimiento, contra la que actualmente se considera mejor engine de ajedrez Stockfish 8 (las hay mejores, pero a fin de cuentas son mejoras mínimas del Stockfish) y bueno, el resultado final ha sido 28 victorias de AlfaZero y 62 tablas. Un resultado muy abultado para ser nueva.

Examinando ya las partidas que han publicado (10 partidas muy…...
#3 alphazero siempre es blancas?
#36 Creo que jugó 2 con nengras y 8 con blancas. Pero tampoco se mucho de ajedrez jugando módulos, ni el tiempo ni que Elo tenía el otro :-S
#36 No sería justo
Es fascinante lo rápido que puede llegar a aprender una inteligencia artificial.
#2
Pues a mí no me parece nada fascinante cuando las condiciones de juego no son las mismas dejando a StockFish sin toda su capacidad.
#4 aunque tuviera solo un cuarto de su capacidad, le ha ganado con solo 4 horas de entrenamiento!!
#95 Ahí tienes razón. Pero que gane el 60% y en condiciones de desventaja para el software tradicional, me hace pensar que buscaron el triunfo justito para lanzar el titular.
Lo hubieran entrenado más tiempo o mejorado aún más la IA para obtener un rotundo 100%, que no dudo acabarán logrando.
#4 perdón por el negativo, dedazo
#2 depende de lo que se entienda por rápido. Para saber si 4 horas es mucho o poco habría que saber cuánto duran las partidas de media. Es CPU vs CPU, el tiempo de "pensamiento" de cada jugada se contará en nanosegundos, y no hay ni dibujado del tablero ni nada, simplemente la matriz del tablero y las posiciones de las piezas. No es nada descabellado decir que cada partida puede durar menos de 1 segundo.
#5 em.... y si cada partida dura menos de 1 segundo no te parece rápido?

PD: Probablemente en 1 segundo haya jugado varios miles de partidas
#5 #6 #32 si lo pone en la página

"El resultado del match a 100 partidas (50 con cada color, a un ritmo de 1 minuto finish por jugada) fue de 64 a 36, saliendo AlphaZero totalmente invicto del encuentro." 100 partidas, en 4 horas
#5 El tiempo por movimiento de Stockfish depende del número de jugadas/turnos que calcule. Hace poco ví "algo" de una partida de un campeonato de varias CPU. Por cada jugada se tiraban unos 5 minutos. No aguanté mucho.
#32 El funcionamiento entonces es completamente inverso. Stockfish da una puntuación a un movimiento (con un heurístico), y si es rentable, hace el movimiento, y si no, evalúa otro movimiento. Su heurístico y la exploración del árbol de movimientos son su modo de jugar. Sin embargo, una IA se entrena moviendo primero, y evaluando después si ese movimiento ha sido bueno o malo comprobando el resultado. Aprende con el método de prueba y error. Si el resultado es bueno, refuerza positivamente esa forma de jugar, y si es malo, refuerza negativamente ese movimiento.
#5 Creo que confundes el tiempo que dura una partida con el tiempo en que la máquina aprendió a jugar al ajedrez con ese nivel de maestría que es a lo que se refiere #2.
#5 #13 Rápido son 4 horas, aprender en 4 horas, consumas los recursos que consumas para ello, supone un gran potencial.

Me da igual lo potente que tenga que ser el hardware si en 4 horas aprendes a diagnosticar resonancias mejor que un profesional con años de estudio y experiencia, es aprender muy rápido
#2 Es fascinante tener la capacidad de aprender sin que te hayan programado
#21 Le han programado la forma de aprender, que no es moco de pavo.
#2 No hace mucho en una noticia similar un meneante explicó lo que significa "aprender" en estos casos. A ver si vuelve a aparecer y lo explica, a mí ya se me olvidó. xD Pero está claro que no tiene mucho que ver con la capacidad de aprendizaje del ser humano porque si introduces una regla nueva en el juego el software hace kaputt, mientras que un ser humano puede readaptarse.

En general deberíamos empezar a tener cuidado con estas metáforas usadas por los ingenieros, porque IA no…   » ver todo el comentario
#23 No sé cuál será esa iluminadora explicación pero aprender es aprender, si no sabe readaptarse puede aprender a hacerlo, en muchos casos los humanos tampoco sabemos readaptarnos.
Si lo que te da miedo son las implicaciones de hablar de las IA como si fuesen mentes... es que son mentes, con los matices que quieras pero mentes, no creo que falte tanto para que adquieran conciencia de sí mismas, si es que no lo están limitando ya para que no ocurra.
#57 Cualquier gorro de aluminio se queda corto si piensas en este tema.
Lo mejor es prepararse tranquilamente para el apocalipsis, como ya hacen los runners.
#58 no seran los preppers?
#84 No conocía el término. Guay, soy un prepper :-)
Los runners también pero no lo saben.
#58 Con lycra?
#50 Conciencia de si mismas en cualquier momento sucedera, conforme siga progresando esta tecnologia y sean las IA cada vez mas complejas y avanzadas. Lo que yo me pregunto es si pueden adquirir voluntad propia sin ser programados para buscar un objetivo. En el caso de los humanos ya traemos de serie el deseo de sobrevivir y reproducirnos y la inteligencia es un instrumento que ponemos al servicio de ese objetivo; en el caso de la maquina esto no es asi.
#59 Creo que eso son dos claves importantes.
Conste que estoy cuñadeando.

" Lo que yo me pregunto es si pueden adquirir voluntad propia sin ser programados para buscar un objetivo"
Eso tendrá que ocurrir para dar respuestas mejores que las nuestras a los problemas, tendrá que buscar variables nuevas y su relevancia por propia voluntad con el fin último de resolver el problema, incluso de adelantarse a futuros problemas, no sé si me explico. Y eso posiblemente es el paso previo a la…   » ver todo el comentario
#77 Esa es la cosa, tienen "curiosidad", esa motivacion, porque alguien les programo para eso. Parece que solo podrian desarrollar objetivos y motivaciones derivados de esas instrucciones primarias recibidas. Claro que es verdad que si en algun momento llegan a asociar su supervivencia en el tiempo (y quiza su reproduccion) con un cumplimiento de los objetivos, podran empezar a hacerlo solas.
La siguiente cuestion seria saber si llegaran a disfrutar de su "vida" igual que…   » ver todo el comentario
#82 en la novela Hyperion existe un ecosistema de IAs, es interesante. Basicamente describe su evolución en un entorno de supervivencia selectiva de "codigos", en plan bacterias. El que ese codigo se asocie a diferentes niveles es cuestión de tiempo, al igual que con los seres vivos. Solo hace falta un entorno...de software y de hardware.
#64 No lo creo. He dicho en este caso, y los errores se dan porque veo a la gente opinando cosas muy locas. No he dicho que no se deban usar metáforas, pero la gente normal no está entiendiendo nada.

Por ej. #50. ¿Conciencia? No tengo miedo de la informática, yo programo a nivel hoby, pero conciencia ninguna, eso todavía está lejisimo. Y si se consigue no parece que vaya a ser como la humana.
#98 Si estamos hablando del desarrollo de las IA la consciencia y autoconsciencia no es una opinión "muy loca" sino un tema inevitable.
¿Lejísimos qué es? ¿Treinta, diez, cinco años? Lo que sí es muy loco es la velocidad a la que avanza esto porque el que controle las IA controlará el mundo.
El tema es cómo se llega a esa autoconsciencia y si nos conviene retrasarla como supongo que ya estarán previniendo.
#23 ¿Crees que una metáfora para explicar un concepto informático puede dar lugar a errores tremendos de comprensión? Pues prueba a explicarla sin metáforas, verás qué risa. xD
La medicina utiliza nombres complicados para explicar conceptos sencillos. La informática utiliza nombres sencillos para conceptos complicados.
#64 no es una cuestión de nombres sino de conceptos. Si hacemos analogías 1 a 1 facilitamos la comprensión superficial, pero dificultamos la profunda. Y las implicaciones de estos hechos son profundas.
#23 Si le cambias una regla aprende más rápido que tú y que yo.
De hecho aprendió solo, solamente le dijeron las reglas del ajedrez.
Si es capaz de aprender diciéndole sólo las reglas crees que no podría aprender si cambiáramos una sola?
#78 la cuestión es que tú no reaprendes, sino que cambias sobre la marcha. Entiendo que esta IA tendría que echarse unas partidas para readaptarse.
(claro que mientras el otro mueve, podría echarse varias rapiditas sin que se note e ir mejorando, ¿no?)
#78 #106, eso sería simplemente un nuevo juego que incluye un cambio de reglas al principio, por ejemplo que tengan tres torres en lugar de dos, y muchos otros cambios; sería un juego un poco más genérico que el ajedrez pero sigue siendo un único juego.
#23 llevas razón un robot es inteligente solo en un entorno prederterminado y conocido. Una regla nueva en ajedrez significaria cambiar el entorno. Lo que hace en 4 horas imagino es simular partidas contra el mismo para evaluar situaciones de juego real y ver que movimientos son mejores para ganar. Luego repetira esos movimientos en dichas situaciones.
#23 Imagino que te refieres a esto que explican aqui utilizando como ejemplo pequeñas variaciones en la posicion de distintos elementos en los tipicos juegos de Atari: www.youtube.com/watch?time_continue=21&v=QHcAlAprFxA
#85 Eso es el cómo aprende un software y un humano. Interesante, pero hay diferencias en el ¿qué es aprender entre un software y un humano?

Gracias por el vídeo.
#85 ese deep learning no eran redes neuronales, y si lo eran eran redes neuronales muy simples.
#23 Claro, coges un programa que juega al go, le enseñas las reglas de otro juego y practicando consigo mismo solo 4 horas ya juega como los mejores jugadores del mundo, y a eso lo llamas "no saber adaptarse", no se que tendran que hacer las computadorsas para convencerte quizás ser dios.
#23 todas estas metáforas nos está llevando a unos errores tremendos de comprensión
totalmente de acuerto
#23 Hay muchas maneras de entrenar sistemas de este tipo. Sin embargo, una cosa a tener en cuenta: que una máquina sea capaz de ganar a otra no implica que sea mejor al jugar contra humanos. También puede significar que ha encontrado sistemas que un humano no usaría por ser contra intuitivos, y no ha sabido qué hacer. E igualmente, si hace eso a un humano podría cambiar drásticamente su juego y conseguir ganarle.
#23 Lo de que hace kaputt con una nueva regla no es del todo cierto. Hay que volverlo a entrenar, si, pero usar el entreno previo como punto de partida ayuda mucho al sistema a terminar antes.
#23 no creo que sea un caput total (a no ser que la nueva regla convierta el juego en algo totalmente nuevo)

Por ejemplo, si la nueva regla es un cambio de la disposición inicial de las piezas, a alphazero se la sopla, mientras que a un jugador humano le machacas todo lo que ha estudiado sobre aperturas.
#2 el ajedrez es un juego limitado con unas variables definidas y limitadas. Las ia de momento no pueden con juegos no tan definidos, por ejemplo, starcraft:

www.meneame.net/story/aun-queda-esperanza-hombre-derrota-maquina-jugan
#65 contra un solo jugador, el jugador es pro del Texas no limit, pero creo recordar que el duelo máquina VS pro fue en variante limit
#81 "Libratus, an AI program developed by a team of researchers at Carnegie Mellon University, took on Dong Kim, Jimmy Chou, Daniel McAulay and Jason Les at no-limit Texas Hold’em in a Pittsburgh casino, eventually taking $1.76 million (£1.4 million) in chips"
#87 cierto, estamos jodidos
#65 El poker sigue teniendo un número limitado de "movimientos" o posibles combinaciones, y en texas menos todavía ya que acaba viendo más carrtas.
#48 Yo no estoy de acuerdo con que sea limitado, el árbol de juego tiene un tamaño bestial que los hay mas grandes si pero el ajedrez enorme....
#74 pero es limitado, y eso es lo que posibilita a una ia a poder ver todos los movimientos y elegir el mejor resultado. En el caso de acciones intuitivas, no es lo mismo. Leete el enlace que he puesto.
No digo que no tenga mérito, pero ¿qué utilidad tiene un programa que juega al ajedrez?
#7 Espera a que usando los mismos algoritmos lo usen en bolsa...
#9 La bolsa se la devoraría en un mes, incluídas las criptomonedas.

De hecho, la bolsa está diseñada para los humanos, con sus incertidumbres y sus miedos, no para una IA con unos algoritmos supersofisticados.
#37 La bolsa la mueven más las máquinas que los inversores de carne y hueso.
#37 Busca en google "trading de alta frecuencia", verás qué sorpresa te vas a llevar.
#37 No tienes ni idea de lo que hablas. #45 si.
#9 ya se usa desde hace bastantes años. Busca "High Frequency Trading".
#45 Pero no con IA tan avanzadas. Este es uno de los motivos por los que estas investigaciones estarán recibiendo financiación como si no hubiera un mañana (¿Nunca mejor dicho?)
#7 Menuda pregunta. Tú eres de los que va al bosque y sólo ve árboles, ¿no? La cuestión no es que juegue al ajedrez, sino que él solo haya conseguido aprender a jugar en cuatro horas y sea el mejor del mundo.
#12 Mmm no lo había visto así, tienes razón
#7 La de hacer más pequeños a lo humanos que se sienten medio dioses por ganar a otros humanos al ajedrez?? Y... todo lo que eso conlleva para los humanos a los que les gusta el ajedrez...
#7 Pues que si quieres mejorar en este juego no necesitas andar buscando gente para jugar con ellos. Te pones a jugar al juego cada vez que tu quieras.
#7 Para los jugadores profesionales de ajedrez lo va a ser
#7 que aprendio a jugar solito.
#7 ya lo verás ya...
#7 Imagina que puedes programarlo para aprender a combatir virus.

Un algoritmo que prueba millones de combinaciones para eliminar virus. ¿No te parece una posiblidad fascinante?
#47 el problema es que los virus son un problema real. Por lo tanto la cantidad de combinaciones que puedes probar por segundo estan limitadas por la realidad. En estos juegos se tiene un modelo perfecto de las dinamicas del entorno, por lo tanto es muy facil simular millones de partidas y aprender de ellas. Pero a la que te enfrentas a un problema real (por ejemplo enseñar a un robot a andar), no tienes un modelo perfecto del entorno. Asi que, o lo entrenas en un simulador fisico que es solo…   » ver todo el comentario
#60 Sí, pero imagina un laboratorio con una gran maquinaria en la que un algoritmo pueda probar (sino millones) miles de combinaciones para tratar ese virus en diferentes condiciones y analizar los resultados.
#63 eso se esta haciendo (en robotica seguro, y en diferentes aspectos de medicina tambien) y los resultados son realmente pobres. El problema es que la gente no se da cuenta de la cantidad de datos necesarios para entrenar estos algoritmos. Uno de los principales aspectos en los que los humanos son mejores que el machine learning es en la eficiencia por muestra, es decir, los humanos necesitan muchos menos datos para aprender una tarea. Adenas, los humanos son mucho mejores transfiriendo experiencia de una tarea a otra.
#72 Bien, si yo no digo que sea posible ya mismo. Pero el futuro luce muy prometedor.
#76 Es posible ya mismo bueno desde hace años no solo en robots tambien en protesis. Mirate un video de ted de una bailarina con una protesis de una pierna o los inquietantes robots de boston dynamics.
#72 Falso, los resultados son tremendamente positivos. Hay tienes un robot que anda por cualquier entorno. Otro con forma humanoide que puede hacer volteretas en cualquier espaciol. Parece que me hables de los años 80 y robots donde su inteligencia era unicamente un script basado en la progrmacion de los servos.
#63 no hace falta tanta parafernalia. La secuencia de adn es la limitacion o reglas del juego y la ia seria tremendamente efectiva en desentrañar un vector para atacar a ese supuesto virus.
#60 y los robots de boston dynamic son magia no?
#47 eso no implicaría tener el virus simulado en software? Desde mi ignorancia se me antoja más complicado que eliminarlo.
#11 iba para #7...
#7 reformulo la pregunta "Qué utilidad tiene un programa que, partiendo de unas premisas básicas, es capaz de optimizar el proceso a un nivel surrealista en un tiempo ridículo"?

El tema no es ajedrez, el tema es que la humanidad lleva un milenio "optimizando" un juego complejo, y esa IA en 4 horas ha llegado a un nivel parecido que la humanidad en un milenio. La clave aquí es extrapolar esa capacidad de aprender.
#7, lo importante n les que juegue al ajedrez, lo importante es lo que consigue este tipo de inteligencia se podría llegar a hacer.
4 horas de entrenamiento consigo mismo

Y yo aquí con días enteros sin conseguir ningún hito.
#8 enga ese karma que suba a 9 joer..
en la tabla pone que cada máquina tuvo 1 minuto de reflexión en cada jugada
#10 Muy cierto, corregido, ¡gracias!
¿Y tú qué utilidad tienes? Ahora en serio, no es el hecho de que haya ganado a uno de los motores de ajedrez más potentes del mundo entrenando 4 horas, sino las posibles aplicaciones que pueda tener esta tecnología para resolver otro tipo de problemas.
#11 O para crearlos :troll:
#41 Es compatible, nosotros podemos ser un problema.
#11 Que de momento son... cero.
#67 Y eso cómo lo sabes? Trabajas en el sector de la IA? Y aunque así fuera no quiere decir que tenga implicaciones importantes en un futuro cercano.
#11 Hoy evalúa movimientos de piezas de ajedrez para ganar una partida. Mañana evaluará movimientos de objetos en la calle para que tu coche los evite y no choque con ellos.
4 horas con la capacidad de Google no es poco
Si tan listo es, que le expliquen cómo funciona el Cáncer y que llegue a la cura
#14 Ya llegará. Las IA están empezando a utilizarse en el diagnóstico y tratamiento del cáncer con muy buenos resultados.
No te puedo dar referencias pero sé que he leído varías noticias al respecto últimamente.
#14 Ya están con ello también y, de hecho, avanza de manera bastante interesante. Entre los que hay ahora mismo creo que destaca Watson, de IBM (con, por ejemplo, bigthink.com/stephen-johnson/ibms-watson-supercomputer-found-treatment ) y Google (no sé si estará basado en lo mismo que esta noticia, pero ahí va un enlace: omicrono.elespanol.com/2017/03/ia-de-google-en-el-diagnostico-de-cance )

Me suena que hay más proyectos, pero nunca me quedo con el nombre, lo siento.
#14 "que le expliquen cómo funciona el Cáncer"

Creo que ese sería el problema.

PD: negativo por error cuando quería dar a responder :-S
#89 es el mismo problema que la habitación china
Puestos a ser exigentes, no entiendo por qué tuvo entrenar, salvo que en ese tiempo le haya generado todas las jugadas posibles, que ya no serían 4 horas "nuestras", si no vidas xD
#17 Tuvo que entrenar porque solo le explicaron las reglas. Solo eso. Por lo que la única manera de mejorar era practicar y lo hacía contra si mismo. Eso implica, que conforme iba mejorando, su contrincante también. La proeza es que a diferencia de las otras IA, a esta no le metieron un paquete de jugadas y partidas.

Ya hicieron algo similar con AlphaGo y los resultados fueron increibles. Os dejo este enlace porque no tiene desperdicio.

deepmind.com/blog/alphago-zero-learning-scratch/
Interesante pero habría que indagar más en el tema técnico.

Me parece que comparan algo así como churras con merinas, por comentar un detalle que salta a la vista sin leer el paper completo:
- Potencia de cálculo. Según he leído se le dió 1 minuto por movimiento. StockFish solo utiliza un hilo/núcleo y Deepmind utilizó otro hardware que llaman TPU ( Tensor Flow Unit ) que básicamente es un ASIC específico para IA, por lo que sin poder comparar potencia de computación ya es comparar cosas diferentes.

- En el paper habla de que AlphaZero "descubrió" las aperturas más jugadas por los humanos en la última década... No sé, es un paper corto, raro y que huele mal.
#18 Quería poner 4 TPUs pero no me deja editarlo ya.
en.wikipedia.org/wiki/Tensor_processing_unit
#18 Pues si, Google no ha hecho un combate justo. Aunque lo importante realmente ha sido la capacidad de aprendizaje.
#18 Lo de las aperturas también me ha dejado algo descolocado a mí. A ver si publican algo más claro.
Me gustaría ver un día que la IA encuentra curas para el cáncer y estas cosas que nos importan a los humanos, está bien jugar al ajedrez un ratito ;)
#20 eso eso, que haga avances en cosas importantes, como la homeopatía, gestionar los sms de sálvame que aparecen durante la emisión o aniquilar humanos. Jugar al ajederz es cosa de Atari
Ni siquiera un adolescente es capaz de autoentrenarse tanto tiempo seguido. Ni para aprender.
#22 Yo de adolescente autoentrenaba para hacer el amor más horas seguidas...
#35 Querrás decir minutos. xD
#69 Que va, le daba a la manivela durante horas :-)
Voy a proponer un programa a Tele5
Meter las principales Inteligencias Artificiales en el mismo ordenador y que convivan y se relacionen, sólo puede quedar una
Me voy a forrar :ferrari: {0x1f379} {0x1f35c}
Aprovechad, ingenieros de google, antes de que aprenda a masturbarse!
Afortunadamente no nos vamos ni a enterar de cuando nos aniquilen las máquinas.
La verdad que es una noticia escalofriante, he estado analizando las partidas y todavía tengo la piel de gallina.

Para los profanos del mundo del ajedrez, se puede explicar resumidamente, que el trabajo de bastantes años (unos 20 años aproximadamente del ajedrez informatizado moderno) entre humanos expertos y usando los más potentes ordenadores hasta ahora, ha sido superado notablemente por una inteligencia artificial que ha aprendido a jugar por si misma en tan sólo 4 horas. Han demostrado…   » ver todo el comentario
#73 Desde la barra del bar digo que eso de sacrificar piezas puede ser muy importante, ya que si lo que hace stockfish es moverse mediante un arbol de decision tipo expectiminimax, y con tiempo limitado, puede dar por buenos movimientos, que sin bajar a mucha profundidad en el arbol dan muchos puntos ( juntando heuristicas ...) pero que un poco mas abajo igual resultan fatales. Pero bueno, supongo que el stockfish este no usara un algoritmo expectiminimax a secas
#83 Creo que no, que Stockfish no usa el arbol de decisiones tipo expectiminimax, sino que habían creado otra variante de minimax llamado alpha-beta. Pero te hablo también desde la ignorancia ya que esto lo he leído en alguna parte y no recuerdo ahora donde.

De todas formas si es importante que una engine de ajedrez aprenda a sacrificar, y más si son sacrificios posicionales como hace esta. Porque era el punto de aquiles de las engines de ajedrez, ya que todas suelen hacer sacrificios tácticos y de sólo ataque en su mayoría.
AlphaZero utiliza MonteCarlo Tree Search, igual que AlphaGo Zero. Lo de las redes neuronales y el auto-aprendizaje imagino que solo lo usan para la fase de seleccion (no he mirado el algoritmo), por lo tanto lo unico que se ha demostrado es que MCTS es mejor que Minimax con poda alpha-beta, incluso en juegos con menor numero de ramificaciones.
Al margen de que no hayan puesto al módulo stockfish en las mejores condiciones, la proeza es sobrecogedora. Cualquier aficionado (o Maestro) de ajedrez lo entenderá como yo o_o :-O
#90
Cualquier experto informático, como ya han escrito por arriba, te dirá que está sesgado. Es probable que AlphaZero siga siendo vencedor pero sin dar tanta ventaja al algoritmo de Stockfish que igualmente puede ser implementado en hardware.
Hola doctor Falken...
Onanismo artificial
«12

menéame