IMAGE: Ilya Akinshin - 123RFAlgunos bancos norteamericanos afirman estar teniendo problemas con sus algoritmos de machine learning para funciones con trascendencia de cara al cliente, tales como los que se encargan de tomar decisiones de riesgo en la concesión de créditos: a medida que la complejidad de los modelos empleados aumenta, la interpretabilidad de esos modelos disminuye.

El resultado es que los bancos se encuentran con modelos muy eficientes, que posiblemente mejoran de manera tangible los ratios previos de morosidad o los porcentajes de créditos impagados, pero que son básicamente una caja negra, un modelo de difícil explicación susceptible de generar problemas de diversa naturaleza. Como comenta en el artículo Hari Gopalkrishnan, directivo de tecnología en Bank of America,

“en el negocio bancario no nos gusta la falta de transparencia y de las cajas negras, donde la respuesta es simplemente ‘sí’ o ‘no’. Necesitamos entender cómo se toma la decisión, para poder respaldarla y demostrar que no estamos desfavoreciendo a nadie.”

Este problema, que habíamos comentado en una entrada de hace algo más de un año que escribí a partir de una serie de conversaciones con mis amigos de BigML, compañía en la que colaboro como asesor estratégico, es algo con lo que es muy posible que muchas compañías se encuentren a medida que progresan en sus desarrollos de machine learning. Existe una cierta tendencia a avanzar tratando de utilizar los modelos más sofisticados a nuestro alcance, sin tener en cuenta que a medida que se incrementa la complejidad de los modelos y la cantidad de datos utilizados, tiende a incrementarse también la dificultad para su interpretación.

En fases iniciales o en el prototipado rápido de proyectos de machine learning, en los que se busca obtener una representación del problema razonablemente buena aunque no esté completa ni perfectamente ajustada, se tiende a recurrir a modelos como la regresión logística o los árboles de decisión, que ofrecen una interpretabilidad razonable con una complejidad escasa y con períodos de entrenamiento no excesivamente largos. A medida que avanzamos hacia las fases intermedias del proyecto, en las que buscamos ya aplicaciones con resultados más optimizados y probados, se suele evolucionar hacia modelos más complejos y con mejor representación como los basados en decision forests, que cuando vamos alcanzando las fases finales en las que las prestaciones del algoritmo ya resultan críticas, pueden evolucionar hacia metodologías como los boosted trees y las deepnetsdeep learning. El atractivo de esa progresión resulta evidente dado que tiende a mejorar la representación, el ajuste y la performance del modelo, pero la contrapartida también es evidente: esas ganancias tienen lugar a costa de mayores tiempos de entrenamiento y, sobre todo, de una interpretabilidad cada vez menor. Cuando el modelo ya alcanza un cierto grado de complejidad, las posibilidades de poder correlacionar un resultado con sus variables de entrada se reducen sensiblemente, la interpretación de la causalidad se hace más difícil, y poder demostrar que esa decisión no se ha tomado en función de un criterio potencialmente discriminatorio se vuelve una fuente de posibles problemas que, dada la legislación existente expresada en leyes como la Equal Credit Opportunity Act, que impiden la discriminación basada en variables como raza, religión, origen, sexo, estado civil o edad, pueden llegar a generar responsabilidades legales. 

El valor del machine learning no está en plantear modelos cada vez más complejos, sino en hacerlo más fácil de usar. Los negocios son procesos complejos, aunque llevemos desde la época de la revolución industrial pretendiendo tratarlos como conjuntos de fenómenos con reglas simples. El problema de la caja negra no es en absoluto trivial, precisa de mecanismos que añadan transparencia al proceso y que intenten llegar a explicaciones sobre las predicciones realizadas por los modelos, y supone una restricción que las compañías deben tener en cuenta a la hora de escalar en sus iniciativas de machine learning. Un proceso largo y complejo, en el que un 90% del esfuerzo se invierte en procesos como la definición de objetivos, el manejo y transformación de los datos y la ingeniería funcional, y tan solo el 10% final corresponde a lo que tradicionalmente consideramos como el resultado: las predicciones y la medición del impacto.

El problema del machine learning a día de hoy no es que no funcione, sino que las compañías tienen dificultades para utilizarlo. Proyectos largos, complejos, pero que vale la pena plantearse porque van a marcar la diferencia entre compañías capaces de utilizar modelos predictivos y las que no lo son y se limitan a tomas de decisiones basadas en cuestiones arbitrarias, en la intuición o en reglas poco científicas, y que progresivamente van a ir pasando de plantearse como servicio, a hacerlo como commodity o incluso como utility… si te has preparado para ello.

 

OscarLa ceremonia de entrega de los Oscars, recién concluida hace unos instantes, me ha dejado un sabor de boca muy interesante: los galardones han ido cayendo, uno detrás de otro, siguiendo las predicciones publicadas anteriormente por los algoritmos que, el pasado 1 de marzo, publicó BigML, la compañía de machine learning en la que soy asesor estratégico. Y cuando digo “uno detrás de otro”, realmente me refiero a eso: un pleno. Absoluto. Los candidatos de todas y cada una de las seis grandes categorías que  el algoritmo señaló como favoritos (mejor película, mejor director, mejor actor, mejor actriz, mejor actor secundario y mejor actriz secundaria) han terminado obteniendo el correspondiente galardón.

¿Magia? Suerte? No, simplemente machine learning. Es lo que tiene trabajar con la optimización de un algoritmo. Como ingredientes, las características de la película (duración, presupuesto, género, etc.), su evaluación en IMDB, y sus nominaciones en una serie de premios anteriores (Globos de Oro, BAFTA, Screen Actors Guild, y Critics Choice), aplicados además a la misma base de datos histórica desde el 2000 al 2017 utilizada en las predicciones del año anterior. En total, algo más de cien datos por película. Este año, se eliminaron del cálculo las puntuaciones otorgadas por los usuarios en IMDB, que el año anterior no resultaron ser importantes y que resultan complejas de adquirir. Finalmente, se evaluaron los resultados de las predicciones aplicándolos a los de las películas entre 2013 y 2016, con muy buenos resultados: los modelos fueron capaces de predecir los ganadores de cada categoría en durante cuatro años consecutivos con muy pocos errores.

Cuando ves un resultado así, y además, entiendes cómo se ha obtenido, tienes una extraña sensación de predictibilidad, entre el “qué lógico es todo” y el “ya lo decía yo”. En realidad, se trata simplemente de aplicar la metodología adecuada a los datos adecuados: el año pasado, ensembles. Este año, deepnets, redes neuronales profundas. Un modelo por categoría premiada, que tarda alrededor de media hora en ser entrenado probando docenas de redes diferentes en segundo plano, y que termina generando la construcción de un clasificador de alto rendimiento. Obviamente, podríamos encontrarnos una categoría en la que, por la razón que fuese, surgiese un ganador que rompiese con todas las predicciones, que ganase contra todo pronóstico… pero es menos probable cuanto más y mejores datos vas teniendo para educar tus algoritmos.

Esto no es más que un ejercicio. Muchas empresas lo hacen: todos sabemos que el objetivo de IBM, el de Google o el de la Universidad de Carnegie Mellon cuando crean algoritmos capaces de ganar al ajedrez, al Jeopardy, al Go o al poker no está en ganar esos juegos, sino en ser capaz de demostrar las posibilidades de su tecnología. El resultado está, muchas veces, sujeto al sensacionalismo o al riesgo de quedarse en lo meramente anecdótico, según cómo se cuente y cómo se lea. Pero como ejercicio, va un poco más allá de lo meramente anecdótico: puede servir para que algunos en situación de tomar decisiones empiecen a entender el tipo de cosas que se pueden hacer con herramientas como el machine learning, y las posibles aplicaciones que pueden tener a sus compañías. Repetimos: no es magia: una parte importantísima del trabajo está en la definición del objetivo, en obtener los datos adecuados, en su transformación y en todos los aspectos que hay que llevar a cabo antes de obtener un modelo y evaluarlo. Las empresas reales no suelen ser así: los datos no suelen ser fácil de encontrar, ni estar en el formato adecuado, ni poder importarse a una base de datos de manera inmediata y sencilla, ni siquiera estar completos. En muchas ocasiones, ni siquiera el objetivo está adecuadamente definido. No, no es magia, es trabajo. Alguien tiene que definirlo adecuadamente, hacerlo, y contar para ello con las herramientas adecuadas que combinen capacidad y facilidad para la interpretación. Pero cuando se tienen esos datos y esas herramientas, los resultados obtenidos tienen sentido, y pueden servir para que algunos entiendan de qué estamos hablando. Los Oscars de 2018 los ha ganado… el machine learning.

 

OscarLa ceremonia de entrega de los Oscars, recién concluida hace unos instantes, me ha dejado un sabor de boca muy interesante: los galardones han ido cayendo, uno detrás de otro, siguiendo las predicciones publicadas anteriormente por los algoritmos que, el pasado 1 de marzo, publicó BigML, la compañía de machine learning en la que soy asesor estratégico. Y cuando digo “uno detrás de otro”, realmente me refiero a eso: un pleno. Absoluto. Los candidatos de todas y cada una de las seis grandes categorías que  el algoritmo señaló como favoritos (mejor película, mejor director, mejor actor, mejor actriz, mejor actor secundario y mejor actriz secundaria) han terminado obteniendo el correspondiente galardón.

¿Magia? Suerte? No, simplemente machine learning. Es lo que tiene trabajar con la optimización de un algoritmo. Como ingredientes, las características de la película (duración, presupuesto, género, etc.), su evaluación en IMDB, y sus nominaciones en una serie de premios anteriores (Globos de Oro, BAFTA, Screen Actors Guild, y Critics Choice), aplicados además a la misma base de datos histórica desde el 2000 al 2017 utilizada en las predicciones del año anterior. En total, algo más de cien datos por película. Este año, se eliminaron del cálculo las puntuaciones otorgadas por los usuarios en IMDB, que el año anterior no resultaron ser importantes y que resultan complejas de adquirir. Finalmente, se evaluaron los resultados de las predicciones aplicándolos a los de las películas entre 2013 y 2016, con muy buenos resultados: los modelos fueron capaces de predecir los ganadores de cada categoría en durante cuatro años consecutivos con muy pocos errores.

Cuando ves un resultado así, y además, entiendes cómo se ha obtenido, tienes una extraña sensación de predictibilidad, entre el “qué lógico es todo” y el “ya lo decía yo”. En realidad, se trata simplemente de aplicar la metodología adecuada a los datos adecuados: el año pasado, ensembles. Este año, deepnets, redes neuronales profundas. Un modelo por categoría premiada, que tarda alrededor de media hora en ser entrenado probando docenas de redes diferentes en segundo plano, y que termina generando la construcción de un clasificador de alto rendimiento. Obviamente, podríamos encontrarnos una categoría en la que, por la razón que fuese, surgiese un ganador que rompiese con todas las predicciones, que ganase contra todo pronóstico… pero es menos probable cuanto más y mejores datos vas teniendo para educar tus algoritmos.

Esto no es más que un ejercicio. Muchas empresas lo hacen: todos sabemos que el objetivo de IBM, el de Google o el de la Universidad de Carnegie Mellon cuando crean algoritmos capaces de ganar al ajedrez, al Jeopardy, al Go o al poker no está en ganar esos juegos, sino en ser capaz de demostrar las posibilidades de su tecnología. El resultado está, muchas veces, sujeto al sensacionalismo o al riesgo de quedarse en lo meramente anecdótico, según cómo se cuente y cómo se lea. Pero como ejercicio, va un poco más allá de lo meramente anecdótico: puede servir para que algunos en situación de tomar decisiones empiecen a entender el tipo de cosas que se pueden hacer con herramientas como el machine learning, y las posibles aplicaciones que pueden tener a sus compañías. Repetimos: no es magia: una parte importantísima del trabajo está en la definición del objetivo, en obtener los datos adecuados, en su transformación y en todos los aspectos que hay que llevar a cabo antes de obtener un modelo y evaluarlo. Las empresas reales no suelen ser así: los datos no suelen ser fácil de encontrar, ni estar en el formato adecuado, ni poder importarse a una base de datos de manera inmediata y sencilla, ni siquiera estar completos. En muchas ocasiones, ni siquiera el objetivo está adecuadamente definido. No, no es magia, es trabajo. Alguien tiene que definirlo adecuadamente, hacerlo, y contar para ello con las herramientas adecuadas que combinen capacidad y facilidad para la interpretación. Pero cuando se tienen esos datos y esas herramientas, los resultados obtenidos tienen sentido, y pueden servir para que algunos entiendan de qué estamos hablando. Los Oscars de 2018 los ha ganado… el machine learning.

 

TensorFlowTodo indica que Google está comenzando a promocionar activamente en el mercado chino su plataforma de machine learning, TensorFlow, en un mercado del que salió huyendo hace algún tiempo con su motor de búsqueda, pero que cumple todas las características para ser uno de los entornos más decisivos del futuro. Varios eventos privados, trabajo en universidades y con líderes de opinión en ese entorno parecen destinados a convertir TensorFlow en la plataforma de desarrollo elegida por más y más estudiantes, académicos y trabajadores, en un entorno en el que el desarrollo de todo lo relacionado con machine learning parece haberse convertido en una prioridad nacional, y en el que la generación de datos parece contar con muchos menos límites en términos de privacidad que los existentes en otros entornos.

La atención dedicada por Google deja clara la importancia del mercado que está comenzando a desarrollarse en torno a las plataformas de machine learning, en un mercado que está comenzando a definirse según hablamos. La importancia que Google otorga al tema es elevadísima: la compañía insiste en que se trata del próximo gran factor competitivo, en que está redefiniendo la totalidad de sus actividades en torno al tema, y en que está dotando de competencia y habilidades en machine learning a todo su personal, a prácticamente todos los niveles. Adquisiciones, plataformas, presencia en plataformas de terceros, y una labor de constante apostolado para una herramienta que muchos desarrolladores que utilizan de forma habitual critican fuertemente, pero que parece constituir la apuesta de la compañía por obtener un liderazgo en el desarrollo de soluciones basadas en machine learning. Para los desarrolladores, es muy posible que TensorFlow suponga una opción importante, con la posible ventaja de contar con una compañía puntera detrás, y con la posibilidad de mejorar rápidamente sus problemas principales, pero ahora mismo, tiene claramente sus detractores.

¿Dónde radica la importancia de estos movimientos? Una parte muy importante del futuro de la disciplina podría venir determinado por la elección de los desarrolladores, de las personas que trabajan en la adaptación de sus aplicaciones de todo tipo para hacer uso del machine learning. Compañías como Facebook y otras han reaccionado liberando sus plataformas en open source para obtener una popularidad mayor, otras como IBM aplican su fuerza comercial para multiplicar su llegada al mercado corporativo tradicional, mientras otras más pequeñas como BigML – de la que soy asesor estratégico – presumen de una gran usabilidad, una amplia gama de soluciones, una gran preferencia entre los desarrolladores que lo utilizan, y una creciente cantidad de instalaciones en compañías de todas las industrias. En ese escenario, el mercado chino representa posiblemente el de mayor crecimiento en número de desarrolladores, el que más compañías parecen estar afrontando con un mayor nivel de prioridad, y un entorno en el que muchos conceptos difíciles de plantear en otros países podrían convertirse en realidad.

Machine learning ya es mucho más que un concepto o una tendencia: está definiendo los entornos del futuro, y las compañías lo saben. Si aprender o entender machine learning no está en tu agenda como directivo, sin duda hay algo que te estás perdiendo, y es muy relevante: que las decisiones que en gran medida contribuyan a dar forma a tus productos y servicios en el futuro no las vas a tomar tú ni directivos como tú, sino tus desarrolladores, un talento escaso que en muchas compañías ya ocupa los puestos mejor pagados, y al que se llega con argumentos completamente distintos a los que se plantean para convencer al directivo tradicional. La batalla por la hegemonía en las herramientas del futuro se juega en otros terrenos.

 

IMAGE: Zerbor - 123RFMontse Hidalgo, de El País, con quien coincidí en París mientras cubría el foro de la OCDE en el que participé, publicó ayer un artículo en El País Retina titulado “Enrique Dans: ‘En inteligencia artificial nos están guiando cantos de sirena’” (pdf) en el que refleja muchas de mis preocupaciones – y de buena parte de la comunidad de machine learning en general – acerca de la epidemia de sensacionalismo, desinformación y alarmismo que aqueja a la cobertura de noticias sobre el tema, que termina por trasladarse a foros de debate de todo tipo con resultados más que peligrosos.

Desde hace mucho tiempo me preocupa cuando hablo de machine learning, y la traducción inmediata del término en formato noticia no es esa, que no deja de ser visto como un término relativamente friki, sino la de inteligencia artificial. La diferencia es palmaria: el machine learning es una realidad, está aquí, y funciona, hasta el punto de que tan solo en la muestra que conozco con cierto detalle, esa BigML en la que participo como strategic advisor, casi cincuenta mil clientes en unos ciento veinte países la utilizan para procesar más de dieciséis millones de tareas complejas. Eso es una realidad, es así a día de hoy: compañías de todo el mundo que pagan por utilizar una serie de herramientas que disminuyen notablemente las barreras de entrada a la automatización de tareas sofisticadas en escenarios claramente definidos. Machine learning no es inteligencia artificial, y en esa apreciación coincido plenamente con Tom Dietterich, uno de los padres del machine learning, cofundador y chief scientist de BigML, que precisamente en la sección de tecnología de El País de hace pocos días afirmaba que

“… funciona bien en problemas estables, cuando el mundo es altamente predecible y es fácil recolectar gran cantidad de datos de entrenamiento. En los problemas donde cada situación es única, es improbable que esa tecnología tenga éxito.”

¿Que nos empeñamos llamar a eso “inteligencia artificial” porque es un término más sexy y menos friki que machine learning? Pues no pasaría nada, salvo cuando, al oír ese término, empezamos a darle a la máquina de hacer titulares y del hype, y saltamos rápidamente a hablar de máquinas capaces de pensar como los humanos o mejor que ellos, de sustituir el gobierno y la democracia por algoritmos, de la inteligencia artificial de propósito general, y ya, casi sin solución de continuidad, de robots asesinos que nos matarán a todos, en plena borrachera mientras nos vemos entera y de una sentada la saga completa de Terminator. Y todo ello es bullshit. Ya hay hasta un curso hablando del tema.

El verdadero problema del hype es que las expectativas desmedidas suelen generar procesos de adopción erráticos, como bien refleja el conocido hype cycle enunciado por Gartner. El machine learning ya pasó un largo invierno en la época en la que la potencia de los ordenadores no era suficiente como para poner en práctica los modelos que se desarrollaban, pero podría volver a pasar otro si una vez que la ley de Moore ha puesto las cosas en su sitio, nos dedicamos a inflar las expectativas de manera desmesurada. Discutir ahora sobre si los robots van a dejarnos sin trabajo a todos o sobre si van a poder dirigir un país es, citando a Ester de Nicolás en el mismo artículo de El País, “como preocuparse por la superpoblación en Marte”.

Machine learning es, sin duda, el punto que todos deberíamos preocuparnos por tener en el curriculum, el nuevo “manejo con soltura de hojas de cálculo”. Machine learning es ya ese contenido que tendría que estar en todos los cursos, en todas las disciplinas, a todos los niveles de la enseñanza, como una parte más del entorno en el que vivimos, porque vivimos rodeados de máquinas, y estas son capaces de aprender. ¿Provocará el desarrollo del machine learning la pérdida de puestos de trabajo? Sin duda, pero los puestos de trabajo eliminados serán aquellos que se dediquen a tareas estables, en entornos predecibles, con reglas y restricciones muy concretas, y capaces de generar gran cantidad de datos para su análisis. Sustituirán trabajos que, por su naturaleza, no deberían ser humanos, y sin duda, lo harán mejor, de manera más predecible, con más velocidad y con menos errores. No es una sustitución, es una liberación, aunque obviamente, algunos prefieran no ser liberados si la alternativa es no poder ganarse el sustento. Si lo que quieres son puestos de trabajo en el futuro, invierte ahora en machine learning, en robótica y, sobre todo, en educación.

Pero por el momento, centrémonos en aprovechar una tecnología que ya está aquí, que no es ciencia-ficción, y que permite impresionantes mejoras de eficiencia que se obtienen cuando una máquina aprende del análisis de datos y lleva a cabo una tarea. No permitamos que el hype nos haga creer que se trata de “comprar una tecnología y ya está”: la simple recolección de datos que hoy se encuentran almacenados en modelos relacionales y su transformación y preparación para que puedan ser utilizados en modelos de machine learning es una tarea larga, dolorosa y compleja, un camino trufado de ensayos y errores que consumirá el 80% del esfuerzo de todo proyecto de este tipo. Y eso no quiere decir que no debamos hacerlo, sino que tenemos que empezar lo antes posible, porque aunque largo, el camino termina por dar sus frutos, y si un competidor los obtiene antes que nosotros, podrá sacarnos del mercado y convertirnos en irrelevantes, en obsoletos, en no competitivos.

Esa es la gran verdad del machine learning: ni robots asesinos, ni máquinas inteligentes, ni dilemas filosóficos: solo matemática y programación. Sería interesante retomar las conversaciones sobre el tema con mucho menos bullshit, menos conversaciones filosóficas, y más expectativas racionales. Eso fue lo que intenté llevar al foro de la OCDE, la idea de que mientras algunos se obsesionan con discusiones de ciencia-ficción, otros están corriendo mucho y aprendiendo a ser más eficientes en el mundo de hoy.