Mi columna de El Español de esta semana se titula «Las máquinas y los retos«, y habla sobre las distintas competiciones que algoritmos de machine learning han ido disputando contra los humanos a lo largo de la historia reciente, al hilo de la nueva partida de Go disputada entre el algoritmo de Google, AlphaGo, y el joven genio chino del Go, Ke Jie, con victoria del primero.
Las dos partidas de Go jugadas por Ke Jie contra AlphaGo se produjeron en un contexto extraño: no solo tenían lugar después de las derrotas sucesivas de Fan Hui y Lee Sedol, otros de los mejores jugadores del mundo, sino que además, su emisión fue censurada por el gobierno chino, en un extraño ejercicio de mala interpretación del orgullo nacional. Para Ke Jie, que ha reconocido que el algoritmo de Google es ya «demasiado fuerte para los humanos» y se ha convertido en una especie de «dios del Go», la situación es tan curiosa como la de ser utilizado como prueba, como argumento final de la superioridad de la máquina en el juego, un papel experimentado anteriormente por otro escaso puñado de humanos en otros juegos.
La importancia de este tipo de desafíos es relativa. En realidad, hablamos de acciones de comunicación, destinadas a obtener repercusión pública de trabajos que, de no utilizar este tipo de competiciones, sería muy difícil que expusiesen sus avances a un nivel que llegase a todos los públicos. A lo largo del tiempo, hemos ido viendo cómo los algoritmos de machine learning se apropiaban del ajedrez, del Jeopardy, del Go y, recientemente, del póker, sin que muchos se hayan parado a pensar qué era exactamente lo que cada competición pretendía demostrar.
En el ajedrez, la cosa era relativamente sencilla: hablamos de un juego de cálculo de escenarios. Cada movimiento genera un escenario nuevo, y los buenos jugadores son capaces de proyectar mentalmente las jugadas a las que puede dar lugar varios movimientos después. Cuando Kasparov pierde contra el Deep Blue de IBM en 1996, lo único que como humanos tuvimos que reconocer fue que una máquina era ya capaz de calcular escenarios probabilísticos mejor que el cerebro de una persona. Perfecto, cuestión de fuerza bruta computacional. Nada que nos ofenda cuando ya llevamos décadas utilizando calculadoras de mano u hojas de cálculo, y considerándolas no una amenaza, sino una bendición. Hasta aquí, todo bien.
Cuando, en 2011, otro producto de IBM, Watson, gana a los mejores jugadores de la historia en Jeopardy, la cuestión ya empieza a ser distinta. Aquí, una máquina está probando ser capaz de entender las muchas veces retóricas preguntas del Jeopardy expresadas en lenguaje natural, buscar sus posibles respuestas, escoger una de ellas, darle a un botón… y ganar. Después de Jeopardy, sabemos ya que un algoritmo va a ser mejor que las personas entendiendo el lenguaje que las propias personas han inventado, lo que abre paso a todo tipo de innovación en robots conversacionales, chatbots, abogados, médicos haciendo diagnósticos… lo que queramos.
En 2015, un algoritmo ya no de IBM, sino de Google, venció a dos de los mejores jugadores del mundo de Go, desafío que en estos días se acaba de completar con la tercera victoria. ¿De qué hablamos aquí? Este es el desafío que corona la importancia del deep learning. Tras mucho entrenamiento del algoritmo suministrándole todas las partidas de Go jugadas y registradas a lo lago de la historia, Google fue capaz de obtener un jugador muy bueno, pero que unas veces ganaba y otras no. Hasta ahí, había llegado a educar un algoritmo para jugar como los grandes maestros de Go, ni más, ni menos. Fue cuando pasó al deep learning cuando se produjo el diferencial: pusieron a la máquina a inventarse partidas que no se había jugado, a jugar contra sí misma, a explorar escenarios improbables. El resultado fue que en algunas de las partidas, AlphaGo empleó movimientos que jamás un humano había llevado a cabo en partida alguna, que tenían una probabilidad de uno entre diez mil, y logró vencer. Ahora, tenemos que vivir sabiendo que un algoritmo puede desarrollar su inteligencia para una tarea más allá de donde el ser humano ha sido capaz de hacerlo.
Finalmente, llegó 2017, y un algoritmo creado en la universidad de Carnegie Mellon, Libratus, fue capaz de vencer a algunos de los mejores jugadores del mundo de póker. El póker, un juego intrínsecamente humano, en el que varias cartas permanecen boca abajo y solo se puede especular sobre ellas, mientras tenemos como entradas de información el resto de cartas en la mesa y la información que los otros jugadores nos dan con sus apuestas, sean o no faroles. Tras 120,000 manos de póker jugadas a lo largo de veinte días, la victoria de Libratus fue absoluta e incondicional: los humanos no tuvieron ninguna posibilidad. ¿Qué significa esto? Sencillamente, que una máquina ya es capaz de analizar una situación de información imperfecta, sometida a incertidumbre, y puede tomar decisiones en ella con mejores resultados que los que podría obtener un humano. Eso mismo, tomar decisiones en entornos de información incompleta o imperfecta, incluida posiblemente información falsa, es lo que hace un directivo en una compañía, lo que yo llevo veintisiete años intentando que mis alumnos aprendan a hacer. Y el enfoque dado por Tuomas Sandholm, creador de Libratus, es precisamente ese: crear un algoritmo de propósito amplio. No está interesado en un algoritmo para jugar al póker, sino en uno capaz de llevar a cabo cuestiones como análisis de ciberseguridad, diagnósticos médicos o negociación empresarial.
Las competiciones y retos empresariales no hay que analizarlas simplemente como la estrategia de comunicación que representan para quien las hace, sino como lo que realmente significan en términos de logros, de demostración de posibilidades, de aplicaciones posibles. Si alguien aún duda de las posibilidades del machine learning, que venga y plantee el siguiente reto.
This post is also available in English in my Medium page, “Machine learning and competitions»
Interesante artículo y entiendo tu motivación en la forma de escribirlo para darle ese sentido de progresión de la máquina frente al hombre pero, ni estoy totalmente de acuerdo ni creo que sea totalmente cierto lo que dices. Los dos casos que conozco mejor: Kasparov vs Deep Blue, no fue algo sin importancia, mero cálculo probabilístico. La forma en que una máquina y un humano juegan al ajedrez sigue siendo fundamentalmente distinta pero el impacto, tanto mediático como psicológico para los que hemos estado en el mundo del ajedrez fue inmenso. El ajedrez siempre se había considerado la cima de la inteligencia y creatividad humana hecha juego y la máquina había destrozado al mejor de los humanos. Fue algo muy difícil de asimilar. Supongo que lo mismo les está pasando ahora a los chinos con el Go. En el caso de Watson y Jeopardy. No es 100% cierto que el algoritmo entienda el lenguaje humano, sí es cierto que tiene al menos que identificar cuál es la pregunta (supongamos que es sobre una película, puede ser el año de estreno, el nombre del director, del protagonista, qué Oscar ganó…) pero se basa en un procesado masivo de hipótesis basadas en información en una base de datos, mientras que la forma «humana» de afrontar la pregunta requiere un entendimiento mucho más directo de la misma y, salvo en caso de duda (confundimos una película con otra, etc.) solamente valoramos una única respuesta de nuestra «base de datos» personal. El salto para que una máquina pueda entender una pregunta de la misma manera e incluso poder evocar el recuerdo de cierta escena memorable de la película… probablemente nunca llegue a darse.
Bien, pero partamos de la base, que las estrategias de un algoritmo no ‘evolucionan’ por una voluntad determinada, sino con un propósito específico, como en este caso, resolver una posición del tablero.
Uno de los errores más comunes es, caer en la tentación de pensar que lo que denominamos ‘Inteligencia’ artificial cuenta con los mismos atributos y cualidades que su homónima en los seres humanos.
Nada más lejos de la realidad. El ejemplo más sencillo, es poner a jugar una partida de Ajedrez a Alpha Go. Ke Jie lo derrotaría con bastante facilidad.
Lo que hacía llamativo en sus inicios que un programa de computación emulara la inteligencia humana, es el efecto conocido como Uncanny valley, que tiene que ver con nuestra capacidad de identificar de forma refleja algunos actos o conductas como propias de los seres humanos.
Es un fenómeno que se produce con todo tipo de representaciones de nuestra identidad y la capacidad de reconocernos como individuos, no solo con las técnicas de computación basada en la ‘apariencia de razón’. Es similar a la Impronta de Konrad Lorenz.
La forma en que juega Alpha Go y Ke Jie, no pueden ser más distintas. En ese sentido, Ke Jie sigue siendo teniendo muchos más recursos que su contrincante.
(Prometo releerme mi comentario dentro de un rato. :-)
Totalmente de acuerdo. De hecho, es una de las razones por las que hablo del tema siempre utilizando el término «machine learning», y no «artificial intelligence» o AI. Una cosa es aprender a replicar los mecanismos de aprendizaje de una tarea concreta, por compleja que sea, y otra muy distinta ser inteligente…
Menestro, ¿cuál es la diferencia entre lo que llamas voluntad y un «propósito específico»? ¿Tu voluntad acaso no es una combinación y consecuencia de «propósitos específicos»?
Los algoritmos de AlphaGo y/o Libratus pueden ser aplicados para jugar al ajedrez o para muchas otras cosas, uno de los grandes avances es lo genérico de estos nuevos métodos, sirven para aprender cosas muy diferentes, nada que ver con los programas específicos que se diseñaron para ganar al ajedrez hace 20 años.
Lo del «uncanny valley» aquí no pinta nada, es el rechazo que produce una réplica humana que se parece mucho a nosotros pero a su vez nos resulta evidente que no es humano.
Que Alpha Go y Ke Jie jugan de forma muy distinta no lo voy a discutir, pero diría que bastante menos distinta de lo que jugaban DeepBlue y Kasparov. Y resulta que AlphaGo juega mejor, que es de lo que se trata.
Me llama la atención que en cuanto hay evidencias de la superioridad de las máquinas en alguna actividad en la que históricamente los humanos éramos mejores, siempre salta alguien con «pero no es lo mismo», «sin embargo no hace tal o cual cosa mejor», etc. Ya lo sabemos, pero las distancias se acortan a pasos agigantados…
Creo, que para alguien que no tiene formación sobre el tema, el problema es, precisamente, no ser consciente de la gran distancia que existe entre la inteligencia humana y el más sofisticado algoritmo.
Un algoritmo no tiene volición propia, simplemente realiza una tarea sin cuestionarla o entenderla en modo alguno. Ni siquiera sabe por qué lo hace.
No sé cómo ponértelo más sencillo.
Y no, una de las limitaciones de Alpha Go es que está entrenado para jugar al Go, y sus algoritmos, solo son aplicables en ese contexto, aunque la base teórica de los algoritmos sí sea trasladable a otras tareas.
No existe un mecanismo de abstracción, ni algo tan humano, como trasladar lo aprendido en un campo a otra área de conocimiento.
Los robots de las películas o las novelas no tienen que ver con Alpha Go o el Machine Learning. Así de sencillo.
Imagínate, que sólo pudieses leer libros de Harry Potter, y fueses el mejor identificando los personajes y tramas de cada uno de los libros.
Pero no fueses capaz de leer ningún otro libro, porque sería chino para ti, ni entender ninguna otra trama, porque hablasen de un tema distinto.
Asier, que no conozcas un tema, no significa que puedas juzgarlo y lanzar aseveraciones de la misma forma que si estuvieses hablando de algo que conoces, o de fútbol.
Ni tengo idea, de cuál es la base de todo lo que dices porqué, resulta que no es cierto.
¿Dónde has leído que Alpha Go juegue al Ajedrez, por ejemplo?
(es una pregunta retórica)
No he dicho que AlphaGo juegue al ajedrez, sino que podría hacerlo. Precisamente quien no conoce del tema es quien no sabe que esto sería posible con unos pocos cambios (otra cosa es que sea el método más adecuado, se puede decir que el ajedrez es demasiado simple para que estos métodos rivalicen con los programas tradicionales). Lee esto, curioso por cierto cómo acaba el artículo de hace menos de dos años con «the traditional Chinese game of Go, where humans still hold an impressive advantage over their silicon competitors. Perhaps Lai could have a crack at that next». Pues bien, el tal Lai forma ahora parte de Google DeepMind que son quienes han desarrollado AlphaGo.
Hablas de volición propia, ¿tú la tienes o crees tenerla? Deberías saber que la mayoría de decisiones que tomamos las tomamos de manera inconsciente y es a posteriori cuando construimos una explicación consciente que las justifique. Tu ‘voluntad’ está condicionada por una inmensidad de factores sobre la mayoría de los cuales simplemente no tienes control.
Dices «No existe un mecanismo de abstracción, ni algo tan humano, como trasladar lo aprendido en un campo a otra área de conocimiento». Cuando las máquinas empiecen a hacer eso, cuál será la siguiente característica humana que mencionarás como «la más humana»?
A mi también me llama la atención. Parece que estamos en una competición a ver quien lo hace mejor (la tiene más grande?).
Lo de rememorar una escena de la peli o lo del general en la batalla no viene a cuento. Aquí se trata de mostrar el avance mensurable de la máquina, no de que nos tenga casi superados…y negar tal avance sería de memos (o de memes).
Algo cultural (no viene en el ADN) es lo de la supremacía humana. Lo único que nos hace superiores (por ahora y con muchas imperfecciones) son miles de años de laborioso trabajo evolutivo, no lo olvidemos…
Bien, antes de que lleguen más entrenadores de fútbol, yo ya he terminado de dar explicaciones en este hilo. Podéis seguir en el principal, si sois tan amables.
Gracias. :-)
También hay que decir que marcos controlables: un tablero de juego, posiciones fijas, reglas claras y victoria o derrota.
Me encantaría ver como sería una machine en el caso de un guerra a campo abierto, donde el general no solo tiene estrategia sino audacia, no solo conocimiento sino improvisación y no solo recursos, sino psicología para mandar a sus hombres. Ninguna IA tendrá la «presencia» de un ser humano
Hola Benji,
De las características humanas que has puesto como ejemplo, algunas de ellas las tienen ya las máquinas. Por ejemplo, en ajedrez la máquina puede improvisar una jugada en la apertura que no se ha jugado nunca antes (esto lo hacen también los jugadores humanos para sorprender al rival) y ciertamente la máquina puede hacer jugadas consideradas «audaces» (en las que se arriesga sin estar al 100% seguro de la victoria).
Tampoco es que los humanos seamos especialmente buenos improvisando o actuando sin reglas claras. Muchas de las cosas que hacemos bien se deben al conocimiento previo que tenemos. Siguiendo con el ejemplo del ajedrez, bastaría con que se cambiara una regla, por ejemplo intercambiar la posición inicial de alfil y del caballo (dos piezas de similar valor) para invalidar todo el conocimiento que existe desde hace décadas sobre aperturas, y del que se aprovechan los jugadores profesionales para ser tan «buenos».
Podemos también dejar el ajedrez, con su tablero y sus reglas, e ir a la conducción autónoma (la veremos por las calles dentro de unos años), donde el «tablero» y las «reglas» están menos definidas. Supongamos una persecución entre un policía con un coche autónomo y un malo conduciendo manualmente. Si al coche del policía se le permite improvisar y ser audaz en la persecución, seguramente lo haría mejor que el humano, porque tiene más información del entorno y la procesa más rápidamente.
Las máquinas ni tienen la inteligencia humana, ni saben a día de hoy hacer muchas cosas. Pero no pasa nada por reconocer que algunas de las cosas que hasta ahora eran exclusivas de la inteligencia humana ya las pueden hacer ellas mucho mejor, aunque no tengan ni IA.
Lo que dices sería valido para el general, pero ciertamente no para los soldados, suboficiales, y el resto de los oficiales. Otro tanto para empresas y organismos públicos. Todo un ministerio que el único humano fuera el ministro. Toda una gran empresa que el único humano fuera el CEO.
Muy bueno el artículo e interesantes los comentarios.
Creo que a la larga la inteligencia artificial vencerá en todo a la humana. Y justamente porque la máquina aprenderá a aprenderlo todo (valga la redundancia).
No se trata de un mero algoritmo con un fin específico sino de todos los algoritmos posibles y la capacidad de auto crear algoritmos nuevos de forma inmediata cuando los que se utilizan no proporcionan los resultados esperados.
Un hombre puede ser especialista en Go, otro en ajedrez, otro en poker, pero será muy raro encontrar un humano que sea especialista o el mejor en todo. En cambio, para la computadora esto no es problema, puede ser la mejor en todos los campos simplemente sumando el algoritmo adecuado. Y además, sus posibilidades creativas son infinitas, porque puede CREAR nuevos algoritmos eligiendo y combinando lo mejor de cada uno de los que tiene almacenados.
Además, cuando se equivoca puede reconocer el error en el momento y corregirlo. Probar otra cosa hasta dar con la solución probabilística mas acertada.
Otro tema es el de la voluntad, el propósito. Para que una computadora tenga voluntad hay que hacer una programación histórica, enseñarle a que tenga unas metas y un propósito en la vida…
Desde que tengo uso de razón, (unos 60 años), todos los limites que hemos puesto a la computación se han superado ampliamente, y entonces, lo que hemos hecho es desplazar el limite a otro punto que eramos capaces de hacer los hombres, pero no era capaz de hacer la máquina.
Cuando yo era joven se decía, «Si, suma muy rápido, pero nunca jugara al ajedrez» y aparecieron las máquinas de jugar al ajedrez.
Dijimos entonces, «Si, juegan al ajedrez, pero no lo harán nunca como un gran maestro» y pronto ganaron a Kaspárov·
Luego dijimos, «Su capacidad de calculo es asombrosa, pero eso no es inteligencia» y apareció la IA
Luego dijimos, «Si, pero las tiene que programar un hombre» y apareció la machine learning
Yo propongo una nueva meta. «Si, nos pueden ganar a cualquier cosa, siempre que el ordenador este especializado en ello, pero un hombre medio, sabe jugar al ajedrez, al Go, jugar a la bolsa, hacer crucigramas y si hay que jugar a los bolos y no ha jugado nunca aprende en una tarde.
«No habrá nunca un ordenador, que sin previamente haberlo preparado para ello, pueda aprender sobre la marcha y solo con unas lecturas y cierta capacidad de observación, a hacer lo que se le proponga, de pescar atunes a la cucharilla, a hacer cestos de mimbre, o leer escrituras ejipcias, o a diseñar plantas de chalets.»
Yo creo que esta meta no la veré superada, (porque calculo que me moriré antes), pero creo firmemente que mi nieta si la verá superar, y que quizá, a ella sea un robot, el que la enseñe a hacer punto.
Un apunte sin mayor transcendencia:
Kaspárov ganó a IBM en 1996. Pero perdió en 1997.
Fue un acontecimiento bastante apoteósico. Muchos miles de personas acudimos a las «primitivas» páginas web de entonces donde se veían las jugadas en directo mientras se comentaba, ahí y en los IRC.
Si todavía te interesa el tema Garry Kasparov publicó el pasado 2 de mayo el libro «Deep Thinking: Where Machine Intelligence Ends and Human Creativity Begins».
No me lo he comprado (aún).
El tema es prometedor, sobre todo viniendo de donde viene.
Imagino que hablará sobre un «empleado» de IBM de entonces: el Gran Maestro español Illescas.
Y sobre la polémica que hubo cuando Kaspárov afirmó que el juego de Deep Blue se parecía «demasiado» al de Illescas.
Kasparov tiene un libro anterior de 2007 («Cómo la vida imita al ajedrez») en el que hay un capítulo dedicado a las máquinas y ciertamente insinúa que la victoria de Deep Blue en 1997 fue cuestionable, y critica a IBM por negarse a un tercer encuentro y desmantelar el proyecto.
Miguel Illescas tiene también un libro (que también tengo, pero no lo encuentro) .
Un algoritmo de machine learning diseña otros algoritmos de machine learning:
https://www.technologyreview.com/s/607894/why-googles-ceo-is-excited-about-automating-artificial-intelligence/
Y ya no necesitan tantos expertos en machine learning…
Curioso ese enlace. Aunque proviene de una publicación de gran prestigio, no termino de creer que ese proyecto de Google funcione, pues hay varias ramas en eso del machine learning.
Sin embargo, me hace recordar una pregunta que me suelo hacer cuando leo sobre el machine learning o, más bien, sobre la automatización del trabajo y eliminación de profesiones a gran escala a la que es posible que nos dirijamos (aunque nunca se sabe). La pregunta es: ¿Qué profesiones serán las últimas que existan en dichas circunstancias? Bien, hay gente que opina que los expertos en machine learning tampoco están a salvo. Es lo que podría pensar alguien tras leer el artículo que enlazas. En mi opinión, sin embargo, si llegamos a la situación en la que se automatice el trabajo de los expertos en machine learning, habremos llegado a una situación en la que se automatizará todo lo demás a una velocidad increíble, pues es precisamente ese trabajo —el de experto en machine learning— el que hace que se automaticen los demás.
Por lo tanto, la profesión última que exista —en caso de que, como se puede pensar, el machine learning haga que se automatice todo y se pierdan las profesiones— es la de experto en machine learning.
Si tenemos en cuenta el auge de los servidores de Internet para todo, desde hacer la declaración de la renta hasta encontrar un ligue de una noche, incluyendo el sustituir al personal de las tiendas físicas y las sucursales bancarias, podríamos pensar que una profesión con gran futuro sería la de administrador de sistemas, ¿no?
Pues no. Facebook ha desarrollado un soft que automatiza la mayor parte del trabajo de un admin, hasta el punto de que allá por el 2013 ya habían conseguido tener un solo admin por cada 26.000 servidores, y ahora vete a saber si no habrán llegado ya a los 40.000.
A esto hay que añadirle el auge de los servicios en la nube en el mundo corporativo. Es decir, antes las empresas tenían sus propios servidores con sus admins, ahora se tira cada vez más de servicios en la nube, incluyendo SaaS y PaaS, que no requieren de admin propio.
Por eso, cuando se dice que la solución para la gran oleada de automatización que estamos empezando a experimentar consiste en prepararse para las profesiones del futuro, a mí me asalta una duda: ¿cuáles son esas profesiones? ¿Cómo podemos saber qué profesiones serán las menos automatizables en un futuro cercano?
Hace solo 8 años, justo antes de que Google empezara el desarrollo de su coche autónomo, podríamos pensar que los conductores profesionales (taxistas, camioneros, etc) tenían el futuro asegurado. Una máquina jamás sería capaz de hacer ese trabajo, ¿no?
Yo la automatización del trabajo de los administradores de sistemas no creo que se deba al machine learning, o al menos principalmente, sino por las nuevas herramientas que hacen más sencillo montarte un centro de datos: Docker, Kubernetes, etc. Se están transfiriendo esos puestos a devops, que es una profesión (nueva) intermedia entre administradores de sistema y desarrolladores. Creo que esto es de la fase «software is eating the world» (como decía Marc Andreessen).
La fase siguiente es el machine learning, es decir, que el software no será necesario crearlo, sino que se creará a partir de la experiencia (p.ej., una máquina viendo a un humano conducir). Personalmente, creo que, aunque se consiga que las máquinas realicen muchos trabajos, no serán todos: no veo a una máquina creando un nuevo lenguaje de programación para sí misma, ni haciendo una traducción como un traductor profesional; aunque hace 5 años tampoco la imaginaba conduciendo.
Fuera de tema: Me he acordado de una conferencia de Andrew Ng, uno de los mayores expertos a nivel mundial en machine learning, en la que decía que él cree que quizás el trabajo más difícil de automatizar sea el de un peluquero, aunque dependerá también del tipo de corte de pelo.