Desafíos Tecnológicos del Machine Learning

El 14 de noviembre de 2018 se celebró una conferencia sobre Machine Learning en la facultad de Economía y Negocios de la Universidad de Chile. Participé como asistente, y acá va la transcripción de mis notas.

Exponentes

  • Sebastián Maldonado, U de los Andes

  • Pablo Reinoso, Analytics Client Architect
    Urls de referencia:

  • www.csid.cl

  • cognitiveclas.ai

  • IBM developer, developer.ibm.com

  • ibm.biz/universidades

  • console.bluemix.net/registration

Intro

Aunque los conceptos de inteligencia artificial vienen de los 50's, y los modelos matemáticos tienen varias décadas, no es hasta ahora que están los recursos tecnológicos para aplicar estos conceptos en la práctica. De hecho la inteligencia artificial ha tenido varias oleadas con prolongados silencios entre cada ocasión.

Un subconjunto de la AI es el Machine Learning, que básicamente son modelos de aprendizaje automático. Dentro de estos modelos se encuentran las redes neuronales y el deep learning, que son redes neuronales pero con más capas y destinado a datos no estructurados.

Industria en Chile

En Chile tenemos la mayor fuente de datos del mundo, el observatorio ALMA genera al día más o menos la misma cantidad de datos que los videos subidos a Youtube en un año, pero actualmente no está la infraestructura para procesar toda esta información, y lo que se hace es seleccionar un área de todo el barrido para allí aplicar análisis estadísticos.

Los grandes (Amazon, Google, IBM y Microsoft) compiten entre si para trabajar con estos datos y se espera que el gobierno reaccione apropiadamente.

A diferencia de los nuevos protagonistas tecnológicos (como Netflix, Uber, AirBnB, etc), que comenzaron utilizando tecnologías actuales. En Chile hay mucha industria que primero debe actualizar sus sistemas legacy, limpiar, estructurar y ordenar sus datos antes de siquiera dar el paso para utilizar modelos de Machine Learning. Por eso la llegada de esta ola tecnológica causa ansiedad en bancos, retail y otras empresas tradicionales, porque un proyecto que debería tardar solo unos cuantos meses termina siendo un dolor de cabeza en la etapa inicial de ordenar la casa, de ahí la sigla G.I.G.O (garbage in, garbage out) ya que no es posible hacer buenos análisis cuando los datos de entrada son malos.

Existe un cuadrante de datos como el de la imagen.

cuadrante de datos

  • C-E: En el área conocida y estructurada están todos los datos que están modelados, y pueden ser preparados fácilmente para ser analizados o modelados.

  • D-E: También hay datos estructurados, pero no están dentro de nuestras bases de datos, y en algunas ocasiones es posible obtenerlos desde fuentes externas (ej. el tiempo climático). Analizar concurrencia de gente a una sucursal dependiendo del clima.

  • C-NE: Dentro de los no estructurados están todos los datos que están dentro de la organización, pero no es posible o demasiado difícil modelarlos de forma sistemática: pdfs, escaneos, excels de diversos formatos, etc

  • D-NE: Y por último está el universo desconocido y no estructurado. Imágenes, sonidos, etc. Fuera del rango de análisis.

Para apuntar al segundo punto (D-E), existen data marketplaces donde una empresa puede comprar un set de datos que sean complementarios a los que ya se poseen. Sería ideal contar con un data marketplace local, con información localizada en español y específicamente chilena. Destaca por ejemplo la posibilidad de un chatbot capaz de entender el español chileno (garabatos y todo) con el fin de alivianar la carga de los call centers de soporte.

El Business Intelligence es análisis descriptivo, del presente y del pasado de una organización. A partir de ahí, se puede construir una evolución paso a paso hasta llegar a la AI.

Business Analytics -> Data Science -> Machine Learning -> Inteligencia Artificial

Pero para que ello ocurra y ser capaces de generar una toma de decisiones automática, la base de todo es tener Datos Confiables.

Las 4 V del Big Data: Volumen, Velocidad, Variedad y Veracidad.

Gracias a los medios, se le da mucha importancia a la capacidad predictiva de los algoritmos, pero se deja de lado un área que puede ser incluso más importante: la optimización de los procesos. Gracias a las nuevas tecnologías de almacenamiento y procesamiento ya se pueden optimizar los procesos de generación de electricidad eólica, detección de robos y mermas en supermercados, y a futuro poder analizar datasets gigantescos como los de ALMA.

En el caso de los supermercados, las información de las cajas se sube a una DB local cada cierto tiempo. Pero por motivos de continuidad operativa las cajas se mantienen offline. Si falla internet, los datacenters, etc, la caja seguirá operando.

Cada noche esta DB local subirá los datos a un datawarehouse central y recién ahí se podrán hacer análisis.

El paso siguiente en lo que se está trabajando es hacer un "Análisis Inverso de Canasta", es decir, considerar todos los productos que típicamente van juntos (ej, para un asado; carbón, carne, cervezas, vinos, etc) utilizando modelos matemáticos para descubrir patrones, y detectar si alguna canasta está "incompleta".

Si hubiera un sistema online, se podría detectar la probabilidad de que exista un robo si alguno de estos productos que típicamente se compran juntos faltara. En el ejemplo: si alguien comprara carbón, vino, pero no la carne. Esto gatillaría alguna alerta que resulta inútil al día siguiente.

Pero para que eso suceda, es necesario que existan algoritmos de Machine Learning capaces de analizar el streaming de datos en tiempo real. El nivel de inversión para cambiar toda la infraestructura es muy alto. En Chile hay un retail que utiliza mini-supermercados demo para probar estas nuevas tecnologías, pero todavía estamos lejos de verlo implementado a gran escala.

Desarrollo vs Implementación

Otro obstáculo importante que existe en la actualidad es llevar un modelo de ML a producción. Ya que muchas veces llevarlo a producción tarda aún más que el tiempo en desarrollarlo, o incluso más que el tiempo invertido en el "Data Wrangling".

Esto obedece a varios factores: temor al cambio, escepticismo, las tecnologías que corren en producción (hardware y software) son demasiado antiguas,etc.

A nivel de lenguajes de programación, los más demandados son: python, R y scala. Pero no existe una tecnología que sirva para todo. En el mismo ejemplo del supermercado, python sería demasiado ineficiente a la hora de hacer análisis en tiempo real de un streaming de datos. Tampoco hay un modelo que aplique a todo; ni redes neuronales, SVM, Random Forest, etc. Por ello es necesario hacer pruebas hasta encontrar el más apropiado.

Aún queda el desarrollo de tecnologías que todavía están en pañales, como la computación cuántica. Aunque en la nube de IBM hay laboratorios online para experimentar con cúbits, recién se está trabajando a nivel de ensamblador con este tipo de tecnologías. Su masificación podría tardar entre 5 a 10 años.

En Chile, la mayor cantidad de proyectos relacionados con el Machine Learning son:

  • Prevención de fuga de clientes (fidelización)

  • Credit scoring

  • Logística

Dos ejemplos mencionados en la conferencia:

Bomberos

Cuando recién se fundó el cuerpo de bomberos, se creó una gran cantidad de cuarteles en las comunas más céntricas (que son las más antiguas). Pero la expansión del Gran Santiago sucedió demasiado rápido, y comunas nuevas apenas tienen cobertura de bomberos. Esto produjo una gran desigualdad en el tiempo de respuesta ante una emergencia, con casos donde la primera llegada en comunas como Vitacura tarda más que la tercera llegada en comunas más céntricas.

Se tuvo que crear un modelo con eventos (distintos tipos de incendio, accidentes varios, fugas de gases, etc) y sus distintas variables con tal de optimizar el emplazamiento de cuarteles dentro de la provincia del Gran Santiago.

Actualmente con un buen modelo predictivo se pudo mejorar el tiempo de respuesta en un 15% solo anticipando la estacionalidad de los eventos en zonas de la periferia. Y todavía queda que se implemente el movimiento (cierre y apertura) de cuarteles para mejorar aún más este porcentaje.

Logística Portuaria

Dentro de los puertos hay una zona de storage donde se almacenan los containers. El reto en el puerto de Arica fue minimizar el "relocation" (mover containers para retirar aquellos que están más abajo).

Se creó un modelo con muchas variables: tipo de container, origen, destino, contenido perecible o no, etc. El target era saber si el container estaría menos de una semana, menos de dos semanas o más de dos semanas.

Una variable importante fue si el destino era Bolivia, de ser así, el container podía estar tiempo indefinido de forma gratuita.

Se probaron varios modelos, finalmente el que mejor se adaptaba fue un Random Forest que redujo el "relocation" a más de la mitad vs la forma antigua que era al azar.

Futuro

Una duda habitual es el aumento del desempleo producto de la inteligencia artificial, pero por lo visto en otras revoluciones anteriores (agricultura, vapor, producción en serie, electricidad, etc) esto no sucedería. Es más, se espera que aumente el número de oportunidades creando tareas que antes no existían. Una mejora en la calidad de vida (work vs play) reduciendo las tareas repetitivas del día a día.

Un ejemplo es la mejora en el reconocimiento de imágenes de la AI para analizar exámenes de imagenología aún mejor que un médico. Entonces se espera que la alianza como un trabajo en conjunto entre la AI y los médicos aumente la calidad de vida de las personas.

Actualmente la robótica aumenta a pasos lentos. De momento no se tienen una claridad de cómo funciona el cerebro humano, por lo que el Full AI, o inteligencia artificial general se ve todavía como algo lejano. Más aún robots que puedan mezclarse entre los humanos.

Hay ejemplos de casos como bots de Twitter que funcionaban bien laboratorio, pero con el feedback del mundo real terminaban volviéndose racistas y tuvieron que ser apagados. (Ausencia de conciencia).

Nota: Lex Fridman, investigador del MIT en una entrevista con Joe Rogan mencionaba la lenta evolución de los vehículos autónomos. En los que todavía hay problemas para enfrentarse a objetos de movimiento aleatorio: peatones, animales, ciclistas.

A grandes razgos hay dos formas de entrenar una RN: entregándole muchos datos de entrenamiento (10.000 fotos de perros y 10.000 fotos de gatos), o enseñándole las reglas y haciéndoles competir entre ellos (ajedrez, go). Pero aún no se llega a un nivel de conocimiento o inteligencia artificial general: A.G.I.

Escencialmente, este tipo de inteligencia podría ser la peligrosa. Y como mencionaba Elon Musk en una entrevista anterior en el mismo show, lo ideal sería plantear normas (tipo leyes de la robótica de Asimov), antes que esta se salga de control.

Existen modelos generativos, como las redes neuronales adversas, que son capaces de componer música o pintar cuadros, pero para que esto ocurra primero deben ser alimentados com mucha información (conciertos, sinfonías, o pinturas) para que sean capaces de generar una forma de arte similar. En ningún caso existe "inspiración" a la forma humana, todavía no se puede hablar de un "Ghost in the Shell".