De pequeño jugaba mucho al ajedrez. Un juego maravilloso. Un juego que admite tantas posibilidades de jugar que han sido muchos años los que han tenido que pasar para que la AI llegue para acabar con los seres humanos en este campo. Y es que con la llegada de las GANs, las propias IA se pueden entrenar a si mimas más allá de dónde había llegado el ser humano.
No es difícil de imaginar. Pesad en una IA, a la que llamaremos Chess1, capaz de utilizar todas las partidas de ajedrez conocidas para entrenarse. Eso implicaría entrenar a Chess1 con todo el conocimiento humano generado. Y después, pongamos a jugar a Chess1 con todos los humanos para tener un aprendizaje profundo continuo, hasta que estos, uno a uno, vayan siendo vencidos irremediablemente. En ese caso, Chess1 habría alcanzado su máximo potencial posible dentro de lo que la especie humana pueda enseñarle. No habría nadie que pudiera entrenarle más. Se habría quedado sin maestro.
Y esto era así, hasta hicieron su entrada en escena las técnicas basadas en auto-aprendizaje, como sucede con el caso de las Generative Adversarial Networks donde se daría un caso en el que se Chess1 se convertiría en un maestro para una AI genérica a la que llamaríamos Chess2 que tendría el objetivo único de vencer a Chess1. Y seguiría entrenando Chess1 a Chess2 hasta que este segundo desarrolle una nueva forma de ganar a Chess1, lo que hará que Chess1 aprenda más allá de los límites a los que la mente de los seres humanos fue capaz de entrenarle.
Y esto es lo que está pasando hoy en día. El entrenamiento de las AI lo están haciendo ya las propias AI consiguiendo que lleguen más allá de donde llegamos nosotros con el entrenamiento clásico. En el caso de AlphaZero - que no usa una GAN y sí Reinforcement Learning -, famosa por haber derrotado ya a los campeones de Go, Ajedrez o Shogi. A partir de una AI con valores random, se prueba contra el entrenamiento que ella misma tiene, con lo que podríamos decir que es self-trained.
Y hay poco que hacer para superarla ya, si la dejamos que siga aprendiendo ella sola. Una y otra partida para aprender en un camino inexorable hacia la ¿perfección? Lo cierto es que cuando llegue el momento en que una AI sea capaz de hacer este tipo de entrenamientos para otros juegos, como lo son el mundo de las inversiones, el mundo de la toma de decisiones en negocios, etcétera, será curioso ver cómo actuamos entre nosotros. Pero a pesar de este futuro que puede llegar cualquier día, lo cierto es que jugar al ajedrez contra AlphaZero es una batalla hercúlea y de temerario propósito. No apostaría contra ella cuando juegue una partida de ajedrez conmigo.
¿Es el ajedrez un juego para los humanos?
Sin embargo, tras esta larga introducción que he hecho para adornar este artículo en el que tengo entre las yemas de los dedos, la pregunta que muchos se pueden hacer es si tiene sentido aprender a jugar a un juego en el que no vamos a ser capaces de ganar nunca más. Lejos están ya nuestras posibilidades de triunfar, como cuando como especie podíamos ganar a ese mítico "Ajedrecista".
La verdad es que el ajedrez es un juego precioso, pero más que un juego es una estimulación intelectual y una lección de cómo se puede ganar. Y no es fácil. Yo creo que la magia del libro de "La tabla de Flandes" del gran Arturo Pérez Reverte fue precisamente resolver la partida de ajedrez antes de leer el libro. Me encantó. Y es que aprender a mover las fichas por el tablero enseña muchas cosas.
La primera de las cosas que aprendí con el ajedrez desde muy pequeño es que la posición de las piezas es importante. Más que las pequeñas puntuaciones que te puede dar comerse una pieza de forma rápida. Comer un peón puede llevarte a perder una posición privilegiada en control que tienes en el tablero.
La posición que alguien tiene en el tablero se defiende por el complejo equilibrio entre posiciones amenazas y protegidas. Cuantas piezas vigilan una posición, cuál sería el intercambio de “golpes” si el enemigo decidirá dar el asalto y atacar ese cuadro defendido por mi peón, que está a la vez vigilado por el alfil, un caballo que cuida la esquina de la retaguardia donde se puede colocar el alfil negro enemigo, o cómo se forzaría el doblaje de un peón con un intercambio de golpes aparentemente positivo para el contrario.
La posición de las piezas es fundamental, y un éxito a corto plazo. Un atajo que nos de Time-To-Market o revenues a corto, puede ser un error garrafal que se lleve la partida. Que haga que el posicionamiento comercial de tu compañía se caiga por su propio peso.
Tras esa lección de vida, que aplico a todo lo que hago, desde definir una estrategia comercial, hasta preparar mi carrera profesional no escatimando tiempo y esfuerzo, el ajedrez me enseñó más cosas que también llevo dentro de mí.
Como segundo punto maravilloso, el ajedrez es un juego en el que solo se gana con reflexión y tiempo. Un combate entre dos buenos jugadores de ajedrez es raro que sea una partida corta. Va a ser una partida en la que se va a crear un complejo entramado de fuerzas en el centro del tablero que va a obligar a la reflexión profunda de cada acción que tomes. Cada movimiento que hagas abre un universo de posibilidades del que no hay vuelta atrás. Si abres ese camino, no puedes volver “jamás” a la posición anterior, así que mejor que no estés entregando nada al enemigo.
Otra cosa que aprendí con este maldito y precioso juego es que “Blancas Ganan” o has jugado mal. Las piezas blancas mueven primero así que tienen ventaja. Si juegas con blancas y tiras un movimiento por “miedo” o por “incapacidad” de elegir una buena estrategia, más vale que dejes de jugar al ajedrez. Si un jugador me pide una partida y dice “Yo prefiero jugar con negras”, no lo quiero en mi equipo. La gente que elige negras va a perder siempre con los que juegan bien al ajedrez. Mal.
Y la magia llega al final.
Esto es apasionante. Porque el mundo cambia cuando llegamos a los finales. Complejos acertijos que son como maravillosas trampas mecánicas en las que una pieza dispara el movimiento armónico de otra. Blancas mueven y ganan. Negras mueven y hacen tablas. Las mil y una veces que me he puesto delante de un periódico a intentar resolver esos finales de partida maravillosos.
Hay jugadores que son buenos en los inicios. En la colocación de las piezas en el centro del tablero. En la construcción de todas las murallas defensivas. En la construcción de los amenazantes ejércitos en el terreno de batalla. Y hay otros que tienen magia al final. Que hacen que el movimiento impensado de un peón se convierta en un jaque mate precioso. Y esta es otra lección de vida que me llevé.
Figura 1: ¿Es el ajedrez un juego para humanos? |
No es difícil de imaginar. Pesad en una IA, a la que llamaremos Chess1, capaz de utilizar todas las partidas de ajedrez conocidas para entrenarse. Eso implicaría entrenar a Chess1 con todo el conocimiento humano generado. Y después, pongamos a jugar a Chess1 con todos los humanos para tener un aprendizaje profundo continuo, hasta que estos, uno a uno, vayan siendo vencidos irremediablemente. En ese caso, Chess1 habría alcanzado su máximo potencial posible dentro de lo que la especie humana pueda enseñarle. No habría nadie que pudiera entrenarle más. Se habría quedado sin maestro.
Figura 2: Proceso de aprendizaje de AlphaZero Chess de las defensas "clásicas" |
Y esto era así, hasta hicieron su entrada en escena las técnicas basadas en auto-aprendizaje, como sucede con el caso de las Generative Adversarial Networks donde se daría un caso en el que se Chess1 se convertiría en un maestro para una AI genérica a la que llamaríamos Chess2 que tendría el objetivo único de vencer a Chess1. Y seguiría entrenando Chess1 a Chess2 hasta que este segundo desarrolle una nueva forma de ganar a Chess1, lo que hará que Chess1 aprenda más allá de los límites a los que la mente de los seres humanos fue capaz de entrenarle.
Y esto es lo que está pasando hoy en día. El entrenamiento de las AI lo están haciendo ya las propias AI consiguiendo que lleguen más allá de donde llegamos nosotros con el entrenamiento clásico. En el caso de AlphaZero - que no usa una GAN y sí Reinforcement Learning -, famosa por haber derrotado ya a los campeones de Go, Ajedrez o Shogi. A partir de una AI con valores random, se prueba contra el entrenamiento que ella misma tiene, con lo que podríamos decir que es self-trained.
Figura 3: Self-Traning de AlphaZero para jugar al ajedrez |
Y hay poco que hacer para superarla ya, si la dejamos que siga aprendiendo ella sola. Una y otra partida para aprender en un camino inexorable hacia la ¿perfección? Lo cierto es que cuando llegue el momento en que una AI sea capaz de hacer este tipo de entrenamientos para otros juegos, como lo son el mundo de las inversiones, el mundo de la toma de decisiones en negocios, etcétera, será curioso ver cómo actuamos entre nosotros. Pero a pesar de este futuro que puede llegar cualquier día, lo cierto es que jugar al ajedrez contra AlphaZero es una batalla hercúlea y de temerario propósito. No apostaría contra ella cuando juegue una partida de ajedrez conmigo.
¿Es el ajedrez un juego para los humanos?
Sin embargo, tras esta larga introducción que he hecho para adornar este artículo en el que tengo entre las yemas de los dedos, la pregunta que muchos se pueden hacer es si tiene sentido aprender a jugar a un juego en el que no vamos a ser capaces de ganar nunca más. Lejos están ya nuestras posibilidades de triunfar, como cuando como especie podíamos ganar a ese mítico "Ajedrecista".
La verdad es que el ajedrez es un juego precioso, pero más que un juego es una estimulación intelectual y una lección de cómo se puede ganar. Y no es fácil. Yo creo que la magia del libro de "La tabla de Flandes" del gran Arturo Pérez Reverte fue precisamente resolver la partida de ajedrez antes de leer el libro. Me encantó. Y es que aprender a mover las fichas por el tablero enseña muchas cosas.
Figura 5: Posición de las fichas en La Tabla de Flandes |
La primera de las cosas que aprendí con el ajedrez desde muy pequeño es que la posición de las piezas es importante. Más que las pequeñas puntuaciones que te puede dar comerse una pieza de forma rápida. Comer un peón puede llevarte a perder una posición privilegiada en control que tienes en el tablero.
La posición que alguien tiene en el tablero se defiende por el complejo equilibrio entre posiciones amenazas y protegidas. Cuantas piezas vigilan una posición, cuál sería el intercambio de “golpes” si el enemigo decidirá dar el asalto y atacar ese cuadro defendido por mi peón, que está a la vez vigilado por el alfil, un caballo que cuida la esquina de la retaguardia donde se puede colocar el alfil negro enemigo, o cómo se forzaría el doblaje de un peón con un intercambio de golpes aparentemente positivo para el contrario.
La posición de las piezas es fundamental, y un éxito a corto plazo. Un atajo que nos de Time-To-Market o revenues a corto, puede ser un error garrafal que se lleve la partida. Que haga que el posicionamiento comercial de tu compañía se caiga por su propio peso.
Tras esa lección de vida, que aplico a todo lo que hago, desde definir una estrategia comercial, hasta preparar mi carrera profesional no escatimando tiempo y esfuerzo, el ajedrez me enseñó más cosas que también llevo dentro de mí.
Como segundo punto maravilloso, el ajedrez es un juego en el que solo se gana con reflexión y tiempo. Un combate entre dos buenos jugadores de ajedrez es raro que sea una partida corta. Va a ser una partida en la que se va a crear un complejo entramado de fuerzas en el centro del tablero que va a obligar a la reflexión profunda de cada acción que tomes. Cada movimiento que hagas abre un universo de posibilidades del que no hay vuelta atrás. Si abres ese camino, no puedes volver “jamás” a la posición anterior, así que mejor que no estés entregando nada al enemigo.
Otra cosa que aprendí con este maldito y precioso juego es que “Blancas Ganan” o has jugado mal. Las piezas blancas mueven primero así que tienen ventaja. Si juegas con blancas y tiras un movimiento por “miedo” o por “incapacidad” de elegir una buena estrategia, más vale que dejes de jugar al ajedrez. Si un jugador me pide una partida y dice “Yo prefiero jugar con negras”, no lo quiero en mi equipo. La gente que elige negras va a perder siempre con los que juegan bien al ajedrez. Mal.
Y la magia llega al final.
Esto es apasionante. Porque el mundo cambia cuando llegamos a los finales. Complejos acertijos que son como maravillosas trampas mecánicas en las que una pieza dispara el movimiento armónico de otra. Blancas mueven y ganan. Negras mueven y hacen tablas. Las mil y una veces que me he puesto delante de un periódico a intentar resolver esos finales de partida maravillosos.
Hay jugadores que son buenos en los inicios. En la colocación de las piezas en el centro del tablero. En la construcción de todas las murallas defensivas. En la construcción de los amenazantes ejércitos en el terreno de batalla. Y hay otros que tienen magia al final. Que hacen que el movimiento impensado de un peón se convierta en un jaque mate precioso. Y esta es otra lección de vida que me llevé.
Figura 6: Blancas juegan y ganan |
Para mí, la primera parte del juego. La apertura de los ejércitos, la colocación de las piezas, el despliegue de las fuerzas, es un ejercicio de paciencia. De trabajo. De fontanería. De hacer lo que se debe hacer. De no precipitarse. Es el momento de no perder la partida. Es el momento de aguantar el fuerte amenazando al máximo al rival para que se tenga que replegar contra el fondo o los laterales del tablero.
Los finales es la zona de ganar. El momento de meter gol. El momento de entrar a fondo haciendo una magia. Un fatality maravilloso. Ahí, hace falta gente especial. Gente con otro perfil. Con glamour, con alma, con brillo en los ojos, con valentía. Cada movimiento es decisivo. Blancas mueven y ganan… o negras hacen tablas. O lo que es peor, y ganan.
Por eso, a pesar de que la AI y sus GANs puedan convertir este juego en un sinfín de posibilidades reducidas a un modelo entrenado con todas las respuestas, las extrapolación de las enseñanzas que se sacan de este juego y su aplicación al resto de los aspectos de la vida en el mundo personal y el mundo de los negocios es algo que para mí sigue siendo algo que por ahora es nuestro.
Figura 7: How about a nice game of chess? |
Sacar conocimiento de un juego para aplicar conclusiones en la vida. ¿De qué película me suena esto?
Saludos Malignos!
Si AlphaZero dominando el Ajedrez o el Go tras entrenarse a si misma parece de ciencia ficción, no se que os parecerá jugando a algo muchísimo más complejo con información incompleta como el StarCraft
ResponderEliminarhttps://deepmind.com/blog/alphastar-mastering-real-time-strategy-game-starcraft-ii/
No todo son GAN chema. Supongo que el término estará dando mucho de sí en Telefónica.
ResponderEliminarLee sobre Reinforcement Learning que es el caso de Alpha
Yo escribí en mi blog sobre el ajedrez tambien https://alephael.blogspot.com/2009/10/el-ajedrez-mata-como-fumarpor-culpa-de.html ,existe una leyenda sobre la creación del ajedrez y el precio que pidió su inventor de un grano de arroz y elevado al 2 en la siguiente casilla y al final no habia arroz suficiente en todo el planeta para pagarle.El problema es que la solución del ajedrez es TABLAS CON EL MENOR NUMERO DE PIEZAS PERDIDA,NUNCA SE GANA PORQUE SE BASA EN LA GUERRA,mi querido "amigo" y colega hacker CHEMA Alonso("Maligno",yo soy ANONYMOUS,yo soy ANTHEUS).Saludos y "STAY HACK"!!!
ResponderEliminar@Anonimo Anónimo, sabes que el Reinforcement Learning comparte mucho con las GANs. ¿verdad?.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarEDITADO: Nombrando bien a Pfau y añadiendo un comentario clave.
ResponderEliminar@Chema Alonso,
Estaría encantado de que me sorprendieras. Dime en qué cosas son similares más allá de azúcar sintáctico-semántico de lenguaje natural y filosofía.
Reinforcement Learning es un framework matemático para aprender políticas compuestas de acciones secuenciales basándose en recompensas a largo plazo (aprenden p(\pi | s) donde \pi es una política y s un estado del entorno), en ninguno momento tiene por qué haber una red en medio. Los GANS son una arquitectura basada en redes que aprende la distribución del espacio muestral p(x) por medio de un criterio de optimización que fuerza al generador a hacer que \hat{p}(x) sea lo más parecido a p(x) para engañar al discriminador que aprende p(y|x).
Más allá del trabajo de Phau y Vinyals (https://arxiv.org/abs/1610.01945), que establece alguna conexión entre una arquitectura concreta de Reinforcement Learning (Actor-Critic) y los GAN, no hay ninguna relación. Y por supuesto, que se puedan integrar los GAN en el framework de Reinforcement Learning no implica que ambos estén relacionados.
Te dejo unas cuantas discusiones sobre esto:
https://www.quora.com/How-is-the-GAN-different-from-the-actor-critic-method-in-reinforcement-learning
https://www.quora.com/What-are-the-similarities-between-GANs-and-reinforcement-learning
El comentario clave de Yoshua Bengio (supongo que lo conocerás):
"In actor-critic approaches to RL, just like in GANs, you train two models, one which learns the task of interest, and another which learns a training objective for the first one."
@Anonimo Anonimo me encanta la sesuda búsqueda de la diferenciación y la importancia del detalle para ti en un artículo que va de otra cosa. Cosas de doctores teóricos veo aquí. Nosotros, en la parte de ciencia aplicada, hemos hecho pruebas de RL trabajando con arquitecturas GAN. Nada rocket Science, que no es una línea de research más allá que la de la aplicación práctica. Como muchos otros autores antes, y al final lo que buscábamos es crear un un sistema de self training para ello usando no solo RL y GANS.
ResponderEliminar- https://www.eurekalert.org/pub_releases/2018-05/imi-cga050918.php
- https://insights.untapt.com/deep-reinforcement-learning-and-generative-adversarial-networks-tutorials-with-jupyter-notebooks-6ef4dc6957ea
Si deseas matizar alguna frase del artículo porque a ti la exactitud es lo que te mata, y no puedes soportar algo sin remarcar los detalles, encantado de escuchar tu feedback y yo lo analizo. Eso sí, mándamelo por e-mail y no en un comentario "anónimo".
Saludos!
@Chema Alonso
ResponderEliminarno hace falta un búsqueda sesuda para darse cuenta de lo que te escribí en el anterior comentario. También recordar que mi segundo comentario no va hacia tu artículo, va hacia tu comentario de que RL y GAN comparten mucho.
Mi primer comentario sí iba dirigido a tu artículo, donde parece que únicamente existen los GAN, mencionándolos junto con AlphaZero para aprender a jugar al ajedrez (cuando resuelven problemas distintos, repito, no es lo mismo aprender p(x) que p(\pi|s)):
"Y esto era así, hasta hicieron su entrada en escena las técnicas basadas en Generative Adversarial Networks. En este caso Chess1 se convertiría en un maestro para una AI genérica a la que llamaríamos Chess2 que tendría el objetivo único de vencer a Chess1. Y seguiría entrenando Chess1 a Chess2 hasta que este segundo desarrolle una nueva forma de ganar a Chess1, lo que hará que Chess1 aprenda más allá de los límites a los que la mente de los seres humanos fue capaz de entrenarle. "
Es parecido a que escribiese un artículo sobre una aplicación concreta de SQLi, que solo se puede hacer con SQLi, pero dijese que con XSS consigue lo mismo cuando no es verdad y ambas técnicas son diferentes. De nuevo, que se puedan combinar ambas técnicas por ejemplo haciendo un stored XSS con SQLi, no implica que ambas estén relacionadas.
Tampoco dije nada de Rocket science, ni de la aplicación práctica, esto es ciencia y es bonito se haga lo que se haga. Pero comentar que una técnica resuelve un problema que realmente no se resuelve, no sé yo si es bonito...
Sobre el tema del self training, me vuelvo a repetir, no es lo mismo hacer self-training para generar caras que para jugar al ajedrez. Creo que en este caso se ve bien la diferencia entre GAN y RL :)
No quiero tampoco matizar ninguna frase, es tu artículo y tu blog, dios me libre xD. Pero sí, la exactitud me mata cuando un contenido es público y puede llevar a engaño. ¿Qué crees que diría un lector de este artículo cuando en la cena de navidad los familiares le comenten la última noticia de que un programita de ordenador ha ganado a Magnus Carlsen en el ajedrez?, ya te lo digo yo: "eso es la AI y sus GANs".
Ya por último, encantado de enviar feedback si puedo aclarar sesgos como los que hay en este artículo. Eso sí, manteniendo el anonimato dentro de lo posible, aunque sea por e-mail.
Saludos :)
@Anonimo, "anónimo", de nuevo, con todo el cariño. Copié el párrafo del paper donde explicaba el self-training y el self-playing para remarcar exactamente el concepto de que el aprendizaje hoy en día va más allá de lo que un entrenamiento basado en humanos jugando llegaba.
ResponderEliminarY sí, como te puse en el comentario, la parte de self-training es la que motiva la frase de "lo mucho que comparten" a pesar de que resuelvan problemas distintos - e incluso se puedan combinar -. Si no te quedó claro que compartían cosas como decía el comentario y lo confundiste con "que son iguales", es que no quisiste leer con cariño mi comentario.
Y te insisto, estoy abierto a que matices esta frase que explica lo que para mí es relevante en este post de "Más allá de los huanos":
¿Qué te parece proponer algo como?
"Y esto era así, hasta hicieron su entrada en escena las técnicas basadas en Generative Adversarial Networks [Y enumeramos más ténicas de self-training que se usan para llevar el aprendizaje más allá del conocimiento humano]. En este caso Chess1 se convertiría en un maestro para una AI genérica a la que llamaríamos Chess2 que tendría el objetivo único de vencer a Chess1. Y seguiría entrenando Chess1 a Chess2 hasta que este segundo desarrolle una nueva forma de ganar a Chess1, lo que hará que Chess1 aprenda más allá de los límites a los que la mente de los seres humanos fue capaz de entrenarle. "
Si quieres aportar, más que feliz. No es tan complicado "anónimo".