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.

 

IMAGE: Ilya Akinshin - 123RF

Llevaba algunos días encontrándome artículos interesantes que pensé que podían ayudar a entender algunos temas relacionados con el machine learning y sobre los que me parecía que podía escribir, pero se me han ido acumulando, de manera que creo que lo mejor puede ser reseñar varios de ellos en una sola entrada con algunos comentarios al respecto.

El primero de ellos, The dark secret at the heart of AI, lleva a cabo un muy buen trabajo a la hora de explicar la “teoría de la caja negra“, que hemos comentado aquí en varias ocasiones: a medida que los algoritmos de machine learning se hacen más y más sofisticados, la posibilidad de que una mente humana entienda los procedimientos que utiliza para llegar a un resultado determinado se hacen menores, lo que nos lleva, en último término, a tener una caja negra que genera resultados que podemos poner a prueba únicamente en función de su calidad, sin entender cómo se llega a ellos. Si entrenamos un algoritmo con todo el historial de créditos concedidos y denegados por una entidad, por ejemplo, con el fin de que tome decisiones en el futuro que hoy tomaría un comité de riesgos, terminaremos por tener una caja negra de la que salen decisiones que podremos contrastar en función de la calidad de los resultados (si reduce el número de créditos concedidos y no devueltos, la daremos por válida), pero seremos muy probablemente incapaces de entender cómo llega la máquina a cada decisión: su funcionamiento será una caja negra en cuyos resultados confiamos en función de sus resultados.

Esto nos lleva otra cuestión: dado que cuando alimentamos un algoritmo, lo hacemos con todos los datos que tenemos disponibles y que, según nuestro razonamiento humano, contribuyen al resultado, lo que nos encontramos es que los progresos del machine learning redefinen el concepto que tenemos de inteligencia humana, y alteran nuestras percepciones de lo que podemos o no podemos hacer. El punto de partida para la máquina es lo que como humanos somos capaces de entender, a partir de ahí, todo es terreno inexplorado y métodos que requieren una potencia de cálculo de la que nuestro cerebro, sencillamente, carece. Así, cosas que hoy nos parece normal que haga un humano, las iremos viendo como absurdas a medida que sea una máquina la que las hace, y cosas que una máquina es capaz de hacer nos irán pareciendo cada vez menos sorprendentes y más normales. Muy pronto, el chatbot se habrá convertido en el estándar para el servicio postventa y para muchas cosas más como “explicarnos” las noticias, y la primera época de desencanto y decepciones dará paso a un momento en el que realmente, como les ocurre a las generaciones más jóvenes, preferiremos hablar con robots a hablar con personas, porque no solo nos darán un mejor servicio, sino que además nos eliminarán la sensación de estar “molestando a alguien” al otro lado (del mismo modo que un enlace no “se queja” ni “nos contesta mal” si hacemos clic en él diez veces). Simplemente, que sea un algoritmo conversacional el que te atiende cuando tienes cuestiones relacionadas con el producto o servicio de una compañía pasará a ser “lo normal”, y veremos como “del siglo pasado” cuando había personas dedicadas a hacer ese servicio.

Del mismo modo, habrá actividades que serán pronto algo del pasado, sean programar semáforos para evitar atascos, llevar a cabo decisiones de inversión o diagnosticarnos una enfermedad, y nos parecerá “raro” o “primitivo” pensar que esas actividades eran antes llevadas a cabo por una persona. Lo de sustituir a los conductores de taxi o de camión será visto como algo tan obvio, que nos parecerá increíble – y peligrosísimo – que esa actividad fuese desarrollada antiguamente de manera manual. ¿Significará eso que muchas personas que hacían ese trabajo se vayan directas al paro? Posiblemente, pero la solución no estará en poner impuestos a esos robots que han pasado a desempeñar esas actividades, sino formar y entrenar a las personas para que sean capaces de llevar a cabo otras actividades relacionadas. Y en ese sentido, recortar las prestaciones sociales, como parece la tendencia en países como los Estados Unidos, solo puede llevar a que el problema sea peor.

Esto no quiere decir, lógicamente, que no tengamos que buscar metodologías que, de alguna manera, permitan incrementar la trazabilidad de las decisiones tomadas por las máquinas. El artículo que describe el escenario de pesadilla imaginado por Tim Berners-Lee en el que las decisiones en el mundo financiero son tomadas por máquinas que crean y gestionan compañías, completamente al margen de nociones típicamente humanas (y de difícil explicación para una máquina), como el impacto social o el bien común es, sin duda, digno de una lectura, y cita la frase de esa reciente entrevista de Vanity Fair con Elon Musk en la que hablaba del mismo tipo de peligros, de la optimización automática y de lo que podría pasar con un algoritmo que optimizase la producción de fresas:

“Let’s say you create a self-improving AI to pick strawberries and it gets better and better at picking strawberries and picks more and more and it is self-improving, so all it really wants to do is pick strawberries. So then it would have all the world be strawberry fields. Strawberry fields forever.”

¿Deberíamos, llevados por este tipo de miedos, detener el desarrollo de este tipo de tecnología? Claramente no. Detener la tecnología es completamente imposible, lo único que podemos hacer es avanzar el conocimiento relacionado con su desarrollo para intentar poner coto a escenarios con ese tipo de consecuencias. Siempre, en algún garaje o en algún país con incentivos suficientes para ello, surgiría alguien dispuesto a poner a prueba esa tecnología, probablemente con más ganas aún si de alguna manera artificial se pretendiese detener esa tecnología.

¿Te gusta dibujar? ¿Se te da bien? Pues prueba a dibujar cuando un algoritmo intenta averiguar qué quisiste expresar con tu trazo, y te propone formas de representarlo. Piensa en lo que ese algoritmo hace, ponlo a prueba, y plantéate que lo que estás viendo es solo el principio, cuando acaba de empezar a aprender a hacer esa tarea. Imagínatelo dentro de un tiempo, cuando no solo muchas más personas hayan experimentado con él, sino que además, cuente con muchas más representaciones alternativas propuestas por más artistas, en distintos estilos y con diferentes posibilidades. Y solo hablamos de un algoritmo relativamente sencillo de reconocimiento de patrones. ¿Lo vas entendiendo?