Conversación con Aleix Ruiz de Vila

Aleix Ruiz de Villa es doctor en matemáticas teóricas por la Universidad Autònoma de Barcelona. Fue head of data science en LaVanguardia.com, SCRM/Lidl y Chief Data Scientist Officer en Onna. Desde hace 3 años es consultor freelance en inferencia causal y machine learning, trabajo que combina con dar clases en la UOC, EADA y EAE. Fue cofundador del Grupo de Usuarios de R (2011-2017) y fundador del Barcelona Machine Learning & Data Science Meetup (2014-ahora), que forma parte de los X-Europe Webinars. También es miembro de la junta de la Sociedad Catalana de Matemáticas.

¿En qué momento tuviste claro que tu pasión eran los datos?

Bueno, en realidad mi pasión son los modelos, más que los datos. Cuando digo modelo me refiero a una explicación de la realidad que no puedes ver. No tenemos un manual de cómo funciona la realidad, la tenemos que ir desgranado nosotros. Tu modelo serán unas leyes, normas, patrones -lo que le quieras llamar- para poder entenderla. Si lo has hecho bien, el modelo te será útil y si no los has hecho bien, no te será útil. Para mí es interesante pensar que cuando modelas, siempre hay un riesgo y unas asunciones que asumir, que son en realidad responsabilidad del modelador. Los datos entran en juego para comprobar que tu modelo tiene sentido y está bien construido, y para sugerir nuevos modelos. Esta idea de reconstruir la realidad con explicaciones que no se pueden ver me ha gustado desde pequeño. 

Cuando te conocí, hace ya unos cuantos años, eres uno de los abanderados de Machine Learning. ¿Cómo te adentraste en ese mundo? ¿Qué te llamó la atención? 

Mi primer contacto con el machine learning fue a través de un amigo que fue a Estados Unidos a hacer un master de computación. Al volver me habló de que había una asignatura que le había gustado sobre ‘machine learning’. Esto fue cerca del año 2008. Yo por aquel entonces no sabía ni que existía. Me dijo que había un libro interesante, el “The Nature of Statistical Learning Theory” de Vladimir Vapnik, un ruso que puso los fundamentos del machine learning teórico. Me compré el libro, empecé a leer y me pareció que lo que explicaba eran unas técnicas muy versátiles que se podían aplicar en un montón de sitios, y que tarde o temprano se acabarían utilizando. Al final fue más temprano que tarde…

Y de entonces, hasta ahora ¿qué dirías que ha cambiado en el mundo de Machine Learning? Mi percepción es que más allá de las mejores computacionales, la base no ha cambiado mucho 

La teoría básica sigue siendo la misma. Las redes neuronales han puesto al límite la teoría y han potenciado que se descubran algunas cosas nuevas (como el llamado “double descent”). Aún así, la investigación ha aumentado muchísimo en todas las áreas del machine learning (conferencias que antes no iba mucha gente, ahora están a rebosar). Han aparecido también nuevas áreas como el fairness (qué hacer con los modelos para que sean socialmente justos) y el estudio de sesgos en los modelos de machine learning. Estas son áreas muy complicadas porque tienen que incorporar, en los modelos, conceptos sociales que en algunos casos ni siquiera están resueltos en la sociedad (no parece que la desigualdad social esté aún bien resuelta…). Así que son una mezcla de conocimiento técnico y social al mismo tiempo.

Lo más visible probablemente es, como tu dices, el incremento en capacidad computacional, sobre todo en el área del deep learning.

Una reflexión capciosa. Bajo la etiqueta de Machine Learning se esconde mucho vendedor de humo. Creo que pasa lo mismo con el término Inteligencia Artificial ¿Estás de acuerdo? Puedes llevarme la contraria, eh

Sí, se esconde mucho humo, pero yo creo que cada vez menos, porque se va viendo claro qué puede hacer el machine learning, qué no y dónde se puede aplicar. Cuando aparece una nueva técnica siempre aparecen fantasías de qué podrá hacer (algunas se vuelven realidad y otras no). Lo mismo pasó con el Big Data, donde se prometía que si tenías toda la información de tus clientes conocerías totalmente su comportamiento. Lo que era falso. Puedes acumular muchos datos, pero de ahí a transformarlos en información hay un trecho bastante largo. Además que hay problemas donde más datos no son necesariamente la solución (como en los de inferencia causal).

A grandes rasgos, hay dos tipos de usos del machine learning. Los modelos predictivos, como predicción de las ventas o predicción de quién se va a dar de baja de tus servicios, en los que quieres combinar los datos que tienes para hacer una predicción. Hay algunos humanos que tienen mucha experiencia e intuición y son capaces de hacer estas predicciones. Pero en general es difícil saber extraer esta información del pasado. Es decir, son tareas que un humano cualquiera no sabría hacer bien. El otro tipo de modelos son los de automatización de tareas. Son tareas que casi cualquiera puede hacer, pero el problema es el volumen. Por ejemplo, clasificar si un email es spam o no, ver si en una foto hay un coche o no, etc.

Yo cuando leo inteligencia artificial, mentalmente lo sustituyo por machine learning aplicado a problemas de video/imagen/texto/sonido con el objetivo de automatizar tareas, y creo que eso ayuda a entender qué se puede hacer con estos modelos.


¿Y cómo le explicarías a niños y niñas de 9 años qué es eso del Machine Learning? ¿Y la Inteligencia Artificial? ¿Se lo has explicado alguna vez a tu hijo?

A mi hijo de 10 años le he explicado alguna cosa de inferencia causal, que le será mucho más útil para la vida, jajajaja (momento de publicidad). El machine learning, muy simplificadamente, es un etiquetador automático. Por ejemplo, cuando vemos una imagen de tráfico, los humanos podemos poner etiquetas a lo que vemos: peatones, coches, semáforos, … Podemos crear un modelo de machine learning para automatizar este proceso. Casi todas las aplicaciones de machine learning se pueden formular bajo este paradigma: tengo ciertas condiciones en el pasado (en nuestro ejemplo las imágenes) a las que les asigno una etiqueta o resultado, y quiero que una máquina aprenda a hacerlo. En machine learning la máquina aprende por copia. Y esto es importante. Cuando ve una imagen nueva, la compara con las imágenes del historial, busca la más similar y predice la etiqueta del caso más similar. 

Digamos que más bien es una explicación para un niño de 9 años que está muy a punto de hacer 10…

De un tiempo a esta parte, has dedicado mucho tiempo al mundo de Causal Inference. Me gustaría que explicaras a un neófito en la materia en qué consiste eso del Causal Inference

Cuando queremos sacar insights de los datos,  en realidad la mayoría de veces estamos interesados en cuestiones causales, queremos saber cuál es el impacto de tomar una decisión. Por ejemplo, si aumentamos el precio, cómo se alterará la demanda. Si desarrollamos una nueva feature en nuestra app, qué recepción tiene en nuestro usuarios. Si hacemos una campaña de marketing, cómo afecta a nuestras ventas. 

El principal problema para sacar estas conclusiones es que “correlación no implica causalidad”. Que dos cosas pasen el mismo tiempo no significa que una sea causa de la otra. Por ejemplo, si hacemos una campaña de marketing y suben las ventas, no tiene que ser necesariamente gracias a la campaña de marketing. Puede ser, por ejemplo, por temas de estacionalidad (tendríamos que comparar entonces con el año anterior, pero hoy en día, de un año para el otro, las cosas pueden haber cambiado mucho, y no tener sentido hacer esta comparación). También puede ser que el aumento haya sido debido a que la competencia haya hecho algo mal. De hecho puede ser debido a una infinidad de cosas.

La mejor manera de resolver estas cuestiones, la ideal, es hacer tests A/B. El problema es que, en realidad, hay un montón de situaciones en las que es imposible o extremadamente costoso hacer tests A/B. Para estos casos, la inferencia causal aporta una metodología y unas herramientas para poder sacar conclusiones causales de los datos que se tienen.

En las empresas es habitual la utilización de tests A/B para identificar relaciones causa / efecto. En el caso de los modelos de Causal Inference ¿cuál dirías qué es el grado real de uso en el mundo empresarial? Porque la mayoría de publicaciones que leo sobre inferencia causal se centran en ámbitos “más o menos académicos”. 

Precisamente hace unos días le dieron el premio Nobel a Joshua D. Angrist y Guido W. Imbens por sus aportaciones a la inferencia causal. Ellos son de los creadores/descubridores más conocidos de la inferencia causal en ciencias económicas. 

Cada vez hay más empresas que utilizan Causal Inference. De hecho, si miras ofertas de Linkedin, empresas como Glovo, Nestle o Pepsi ya piden gente con conocimientos de inferencia causal. Sé además que algunas de ellas la utilizan con frecuencia. Y, evidentemente, en Estados Unidos hay otras empresas muy conocidas que la utilizan como Uber, Lyft, Netflix, Amazon o Microsoft. Google hace muchos años liberó una librería para hacer inferencia causal en unos casos relativamente sencillos.

Ahora mismo estamos en los inicios. Pero con el tiempo va a ser tan frecuente encontrar inferencia causal en el data science, como lo es ahora el machine learning o la estadística. De esto no tengo ninguna duda. No va a ser una llegada tan espectacular como el machine learning, pero poco a poco se va a ir integrando. El motivo es que la inferencia causal sí que está en posición de poder responder a preguntas que el Big Data prometía: entender mejor a nuestros clientes y las decisiones que tomamos. Porque mientras que el Big Data eran una serie de herramientas diseñadas para gestionar volúmenes grandes de datos, la inferencia causal es una herramienta específicamente diseñada para tratar cuestiones causales.

Se dice, se comenta, que estás escribiendo un libro sobre Inferencia Causal. ¿Qué nos puedes decir al respecto? 

¡Pues sí! Es un libro para la Editorial Manning, muy conocida dentro del mundo del data science. Se llamará Causal Inference for Data Science y será una introducción desde cero a la inferencia causal para científicos de datos. Los primeros 4 capítulos saldrán primero en versión online en el formato MEAP de Manning, en 3 meses aproximadamente. ¡La verdad es que es un proyecto que me ilusiona mucho! 

En tu trayectoria has tenido la suerte de trabajar con empresas y organizaciones de todo tipo. Según tu experiencia ¿qué tipo de empresas le sacan más valor a los datos? ¿Y  cuáles son los frenos que hacen que empresas que a priori apuestan por el dato, no le saquen demasiado partido? 

Lo primero es estar en una posición en la que haya problemas de datos y que resolverlos pueda aportar valor. Pero creo que a grandes rasgos, el principal problema es un choque de culturas.

El hecho de que haya un flujo de conocimientos que provienen de la ciencia a las empresas de manera masiva produce que haya una tensión cultural entre negocio y ciencia.  Mi interpretación es que aquellas empresas que encuentran un buen equilibrio son las que le sacan el máximo provecho a los datos. Voy a exagerarlo un poco para que se entienda bien, pero en la realidad es más suave. La parte de negocio está preocupada por las limitaciones que vienen de la sociedad. Cualquier cosa que produzca una empresa requiere que la sociedad le dé soporte (es decir que haya gente que esté dispuesta a poner dinero, horas, conocimiento, etc.). No hablo de que las empresas hagan algo útil para la sociedad, porque el hecho de que la sociedad le compre algo no significa que sea útil, o al menos beneficioso para ella. Desde este punto de vista, la cultura de negocio le dice a la científica que ya puede hacer cosas interesantes, que si no tiene repercusión social, no va a tener recursos para poder llevarlo a cabo y los departamentos de ciencia de datos van a durar dos telediarios. Estas son las limitaciones sociales. La cultura científica se preocupa por las limitaciones físicas de la naturaleza. Muchas veces se le pide al equipo de Data Analytics cosas que son imposibles, que no tienen sentido o que son pura fantasía. La cultura científica le dice a la de negocio que ya puede querer algo, que si no es científicamente viable, mejor que espere sentada. Yo diría que las empresas que le sacan el máximo rendimiento a los datos son aquellas en las que cada parte tiene empatía por la otra y puede adaptarse a las limitaciones con las que que cada uno se enfrenta.

Este choque de culturas es análogo al del equilibrio entre explotación y exploración. Explotación en el sentido de repetir algo que ya se conoce para sacar un beneficio económico. Sin explotar, no se gana dinero y cualquier proyecto que queramos hacer no es viable. Explorar en el sentido de dedicar tiempo y recursos a descubrir cosas que, hasta ese momento, eran desconocidas para la empresa. Sin explorar, a la que haya algún cambio social importante, no te vas a poder adaptar, y el proyecto deja de ser viable. Las culturas de exploración / explotación no están limitadas a ningún departamento en concreto, hay ejemplos de ambos por todas partes. 

Si miramos al futuro ¿qué grandes cambios se avecinan en el mundo de Analytics?

Grandes cambios, es difícil de decir… Sí que hay ramas que se desarrollaran más. Una de ellas es la inferencia causal, pero de esto ya hemos hablado. Otra parte interesante es el Natural Language Processing (NLP), relacionado con el tratamiento de textos. Está en evolución constante y la mayoría de empresas tienen un montón de datos textuales. Aparte del fairness, hay otros problemas técnicos que no están resueltos aún. Uno de ellos, conocido, pero no mucho, son los feedback loops. Digamos que trabajas en un banco y que entrenas un modelo para predecir, de las personas que piden un crédito, quién es más probable que te lo devuelva. Utilizas este modelo para decidir a quién le das el crédito. Al cabo de un año quieres volver a entrenar un modelo ¡De hecho tienes más datos! los que tenías antes, y los de este año. El problema es que los nuevos datos tienen sesgo: son una población con unas características particulares (aquellas por las que les has concedido el crédito). Es decir que has introducido un sesgo en los datos, y los vas a utilizar para entrenar un nuevo modelo (que obviamente va a salir sesgado). Lo peor es que este proceso lo vas a hacer repetidamente. Haciendo esto, la calidad de los modelos se degrada, ¡pero tú no te das cuenta! Es decir, si tienes un modelo que vas re-entrenando a medida que tienes nuevos datos (la mayoría de modelos, vaya) y has utilizado este modelo para generar nuevos datos (también muy habitual), estas en una espiral conocida como feedback loop. Esto pasó por ejemplo en la crisis de las hipotecas, cuando los bancos dejaron de dar créditos a Pymes. Sólo les daban créditos a aquellas que fueran muy fiables. Cuando se volvió a abrir el crédito generalizadamente, los modelos que utilizaban los datos de las crisis obtenían que la pymes tenían mucha probabilidad de devolver el crédito. ¡Pero eso era debido a que sólo tenían datos de las pymes más saludables!

Últimamente he observado que muchos Data Scientists tienen una buena formación en R o en Python pero sus conocimientos estadísticos son limitados, ¿Cuál es tu percepción? ¿Cuáles son para ti los requisitos que debe cumplir un buen Data Scientist?

Lo bueno del data science es que es muy amplio y siempre puedes estar aprendiendo cosas nuevas. Lo que hace que con el tiempo llegues a aprender R y Python y Spark y Deep Learning y lo que toque. En ese sentido no tengo mucha sensación de que la gente sepa menos estadística ahora que hace unos años (aquí sí que te llevo la contraria :) ). 

Lo del buen data scientist es difícil de decir. Porque hay una parte de conocimientos técnicos, pero a veces lo que aporta más valor no es eso. Es una combinación de estar en una posición donde haya problemas interesantes, tener los recursos necesarios, estar en sintonía con el resto de gente involucrada, tener paciencia hasta que surja la oportunidad de atacar el problema y tener buenos conocimientos técnicos, buenas ideas, etc. 

¿Cómo te mantienes al tanto de las grandes tendencias y cambios en nuestro campo?  

Básicamente leo lo que me parece interesante. Tengo bastante curiosidad por las técnicas que no entiendo o que me parecen muy diferentes a lo que hay. Por otro lado, me voy preguntando constantemente si creo que es realmente útil o no lo es. A veces tengo suerte y lo que leo se pone de moda y otras veces no.

Recientemente entrevisté a Alejandra Manrique y le pedí que lanzara una pregunta para la siguiente persona a entrevistar. Su pregunta fue: ¿Crees que la IA ayudará a la sociedad a mejorar o puede generar fracturas sociales? 

La inteligencia artificial es una herramienta como cualquier otra. El problema es que ‘escala’ muy bien. Es decir que un mismo modelo puede dar servicio a miles o millones de personas y las consecuencias de un mal diseño en términos sociales se propagan muy rápido. Dependiendo de cómo se utilice, puede generar un beneficio social o tener consecuencias nocivas. Y por tanto es responsabilidad de los humanos cómo se utilice. De vez en cuando se habla del peligro de que las máquinas se vuelvan más inteligentes que los humanos. Yo opino que ahora mismo eso es una fantasía, y que estamos muy lejos de ello. En cambio, sí que creo que es un peligro real, y que es mucho más prioritario, que la inteligencia artificial aumente la desigualdad social. Y viendo la historia de la humanidad, dar por supuesto que aquellos que acumulen mucho poder, lo van a utilizar en beneficio común me parece mucho suponer…

¿Qué pregunta le harías a la siguiente persona entrevistada?

¿Cuáles son las principales dificultades que has encontrado para que la gente use herramientas de Data Analytics?




Anterior
Anterior

Conversación con Didac Fortuny

Siguiente
Siguiente

Conversación con Alejandra Manrique