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: Peerayot To-im - 123RFExplicar la noticia de hace unos pocos días sobre AlphaGo Zero, el último avance en el algoritmo que fue capaz de ganar con gran ventaja a los tres mejores jugadores del mundo de Go, el llamado “ajedrez asiático”, con unas reglas aparentemente muy sencillas pero con posibilidades combinatorias enormemente complicadas, puede ser relativamente complicado en el mundo occidental, donde la popularidad de este juego es relativamente escasa.

La noticia fue publicada originalmente por DeepMind, la compañía adquirida por Google en 2014, y bien reflejada tanto por MIT Tech Review como por The Atlantic, que se centran en explicar la diferencia entre el hito obtenido por AlphaGo Zero frente al llevado a cabo en enero de 2016 por AlphaGo. Las explicaciones pueden ayudar a entender algunos conceptos básicos de machine learning, y cómo esta disciplina podría evolucionar en el futuro.

Como ya comenté en su momento, lo que AlphaGo obtuvo cuando venció a los mejores jugadores del mundo fue un desarrollo de deep learning seguido de reinforcement learning: tras entrenar originalmente al algoritmo con todas las partidas de Go registradas en la historia del juego disponibles, se obtuvo una máquina capaz de imitar a los mejores jugadores, capaz de predecir sus jugadas en un 57% de las ocasiones, pero incapaz, por lo general, de mejorar su rendimiento en una partida. Para lograrlo, se planteó entrenar a esa máquina con nuevas partidas inventadas por sí misma mediante combinatoria, dando lugar a jugadas previamente inexistentes, no llevadas a cabo anteriormente, con probabilidades muy bajas y no contempladas nunca – y por tanto, no anticipables – por jugadores humanos, pero que fueron las que, en último término, lograron decidir algunas de las partidas definitivas. AlphaGo logró ganar a los mejores jugadores humanos gracias a haber probado anteriormente espacios combinatorios que, sencillamente, nunca habían sido probados anteriormente en ninguna partida, y que podían, a pesar de su bajísima probabilidad, dar lugar a estrategias ganadoras. 

¿Qué aporta, sobre esto, AlphaGo Zero? Sencillamente, eliminar la primera fase, la del aporte del registro histórico de partidas de Go jugadas por humanos. Para obtener este nuevo algoritmo, que ha sido capaz de vencer al anterior AlphaGo por cien partidas a cero, se partió, como su nombre indica, desde cero. Un algoritmo con las reglas del juego definidas, que comienza desde ahí a probar movimientos en partidas que juega contra sí mismo. Si tienes una suscripción, lo puedes leer en NatureTras el adecuado número de iteraciones, muchos millones de partidas, ese algoritmo, que nunca ha recibido información sobre partidas jugadas con humanos, supera al anterior, lo que elimina la necesidad, en problemas que puedan ser homologados a este – problemas estables con entornos altamente predecibles – de partir de una amplia cantidad de datos históricos.

¿Qué debería llevarnos a pensar un hito como este? Para un directivo, significa que tendría que empezar a pensar qué operaciones en su cadena de valor o en su día a día pueden caer dentro de este tipo de situaciones: espacios combinatorios muy amplios, pero que generan resultados predecibles en torno a reglas conocidas y bien definidas. Obviamente, no se trata de la solución a todos los problemas, pero sí posiblemente a algunos. Es el momento de empezar a plantearnos este tipo de cuestiones: qué problemas podemos resolver mediante algoritmos que aprenden a partir de datos históricos, recogidos en nuestros ficheros transaccionales, en nuestros CRMs o en nuestros ERP a lo largo de años de operativa, y cuáles pueden solucionarse sin necesidad de esos datos, simplemente definiendo bien las reglas y entrenando al algoritmo desde un espacio combinatorio limpio, desde cero.

La alternativa no es poca cosa: en la inmensa mayoría de las ocasiones, la mayor inversión en tiempo y recursos en los proyectos de machine learning, en torno a un 80%, tiene que ver con la recolección de datos hoy almacenados en modelos relacionales, con su transformación y con su preparación. Si para algunos proyectos podemos partir de cero, la situación en términos de reducción de coste y de incremento del rendimiento puede ser considerable, y puede convertirse en interesantes ventajas competitivas. Entender ese tipo de situaciones, ser capaces de pensar en términos de entrenamiento de algoritmos, y desarrollar una cierta sensibilidad sobre qué técnicas pueden servir a qué situaciones son precisamente el tipo de habilidades que las compañías tendrían que estar ahora mismo desarrollando en sus directivos, no discusiones sobre dudosos futuros apocalípticos, robots asesinos y mundos post-trabajo. De hecho, lo que queda es, precisamente, mucho trabajo por hacer.

 

Lee Sedol vs AlphaGo - Game 4La reciente victoria de AlphaGo, el modelo de machine learning creado por Google para jugar al Go, frente a Lee Sedol, el mejor jugador del mundo, por 4 partidas a 1 (en la imagen, el tablero al final de la cuarta partida, la única que ganó el jugdor humano), permite hacer algunas reflexiones interesantes sobre las perspectivas de la evolución y del desarrollo de este tipo de disciplinas que implican el progresivo desarrollo de las habilidades de las máquinas en tareas antes reservadas a los seres humanos.

La primera cuestión es bastante evidente: vencer a los mejores humanos haciendo cualquier cosa, como ya vimos anteriormente en los casos del ajedrez, del Jeopardy o de los juegos clásicos de Atari, es indudablemente divertido, proporciona una visibilidad a la disciplina de la que normalmente no goza, y contribuye decididamente a ponerla en la agenda del futuro para muchísimas cosas. Tras la noticia de la victoria de AlphaGo, todos tenemos bastante más claro que en el futuro tendremos robots que nos ganan a cualquier deporte o tarea imaginable, que fabrican, conducen, reparten o juegan… pero eso no lo es todo. En realidad, empezamos a tener claro que también tendremos inteligencias autónomas que tomarán decisiones empresariales, que fijarán los tipos de interés del Banco Central Europeo, que determinarán la presión impositiva o el importe de las pensiones, o que se convertirán en nuestra pareja ideal para la práctica del sexo (y no, no todo a la vez, por mucho que se os ocurran formas creativas de combinarlo :-)

Pero por otro lado, hay otra cuestión evidente: para ese escenario, los desarrollos no tendrán que dedicarse a vencer a los humanos, sino a trabajar con ellos. La idea del reemplazo resulta demasiado agresiva y difícilmente aceptable para una sociedad que va a tener que redefinirse de manera drástica y a una velocidad sin precedentes: que es algo que va a ocurrir ya es algo que cada vez más personas que analizan más allá del reduccionismo de cuatro clichés empiezan a aceptar, pero el cómo ocurre y lo que viene después es lo que todavía no está nada claro – y tardará en estarlo. Modelos sociales, distribución de la riqueza, papel de las personas, desarrollo de las sociedades humanas… muchos temas, y mucho que hacer. Y una verdad indudable: el progreso tecnológico ni se va a detener, ni va a esperar ni por nada ni por nadie.

Segunda cuestión: la victoria de AlphaGo conlleva un importante avance e impulso para el machine learning, justo al revés de lo que ocurrió con el parón que la disciplina sufrió en los años ’70, el llamado AI Winter que siguió a su primera oleada de popularidad. Ahora no solo hablamos de un premio de un millón de dólares dedicados a fomentar la enseñanza de las ciencias (STEM) y la tecnología, sino además, de una fortísima oleada de popularidad, de personas orientando su carrera profesional al tema, y de empresas pagando por ello. Si algo puede acelerar el desarrollo de la inteligencia artificial y el machine learning son este tipo de cosas, aunque sean simplemente la guinda de un pastel que cuesta muchísimo trabajo duro y muchísimo esfuerzo conseguir. Pero esa aceleración del ciclo es algo que, sin duda, vamos a presenciar más pronto que tarde, y definitivamente mucho antes de lo que pensaban algunos de los más optimistas.

Tercero, la serie de partidas jugadas por AlphaGo tanto contra Fan Hui como contra Lee Sedol dejan un importantísimo poso de experiencia. Todas y cada una de las jugadas están siendo analizadas hasta el límite, y algunas de las consecuencias que se desprenden son enormemente interesantes. La primera es que la máquina es infinitamente mejor aprovechando la experiencia. Del mismo modo que cada vehículo autónomo que circula un metro por cualquier carretera contribuye automáticamente con su experiencia al aprendizaje de todos los vehículos autónomos del mundo, la realimentación del machine learning de AlphaGo con las últimas partidas proporciona un aprendizaje y un modelo (un “jugador”) cada vez más potente. Algunos de los movimientos jugados por AlphaGo han sido no simplemente definidos como intrínsecamente “bellos“, sino que, además, definen jugadas que tendrían únicamente una entre diez mil posibilidades de ser llevados a cabo por un jugador humano, movimientos que ningún humano podría comprender – y mucho menos anticipar. La combinación de deep learning con reinforcement learning, poner a la máquina a competir contra sí misma y a derivar nuevas jugadas a partir de movimientos originales que posteriormente son realimentados en el sistema, demuestra funcionar de una manera espléndidamente brillante.

Tangencialmente, ya en el terreno de las hipótesis y las sugerencias, hay otras no menos interesantes conclusiones: dado que la victoria de Lee Sedol se produjo en la cuarta partida, cuando ya no existía posibilidad de que llegase a ganar la serie de cinco, ¿podríamos llegar a hablar de una inteligencia artificial con capacidad de ser emocionalmente inteligente? Es decir, ¿podríamos esperar que una máquina fuese suficientemente inteligente como para, pudiendo ganar, dejar conscientemente de hacerlo porque prefiere permitir que el humano marque, por así decirlo, “el gol del honor” y salve su orgullo? ¿Qué posibles implicaciones podrían llegar a tener este tipo de mecanismos ya no para el desarrollo de la inteligencia artificial, sino para la futura convivencia entre hombres y máquinas? ¿Puede una máquina llegar a ser condescendiente? ¿Sería interesante que lo fuese?

Hace algún tiempo, escribí un artículo para Forbes recomendando a directivos que bajo ningún concepto twitteasen estando bajo la influencia del alcohol: ahora resulta que un algoritmo es perfectamente capaz de determinar precisamente eso, cuándo un tweet ha sido escrito por un usuario que estaba bebido. Pensemos en las posibilidades, por ejemplo, a la hora de evitar muertes relacionadas con el consumo de alcohol y la conducción: ¿cómo deberán las máquinas gestionar ese tipo de cuestiones? ¿Puede una máquina llegar a relacionarse con un humano de manera… humana? Podemos encontrarnos muchos casos de juegos o tareas que una máquina puede hacer en las que el objetivo no es necesariamente “ganar” o “hacerlo mejor que nadie”, sino otro. Claramente, ganar no lo es todo. Y si la mentalidad no es necesariamente ganar, sino mejorar los niveles de cooperación entre humanos y máquinas, podríamos llegar a utilizar esa combinación para intentar resolver algunas de las cuestiones y problemas más difíciles del mundo.

Mientras tanto, sigamos jugando a algo que hace ya mucho tiempo que dejó de ser un juego. ¿Alguien se anima a una partida de poker?