La relación entre humanos y robots ha sido uno de los temas más tocados en el género de la ciencia ficción. Desde Isaac Asimov con la aclamada saga de La Fundación o Philip K. Dick con Sueñan los androides con ovejas eléctricas (Blade Runner para los más cinéfilos), a títulos más contemporáneos como Autonomous de Annalee Newitz o incluso la afamada distopía The Matrix, dirigida por las hermanas Wachowski.
En la vida real aún no nos encontramos con Replicantes con una anatomía que supera la eficiencia del cuerpo humano - aunque estamos cerca ya de los Virtual Replicantes - o con calamares robóticos con sensores de movimiento, pero sí que existe el debate sobre si “los robots nos quitarán el trabajo”.
Figura 2: Blade Runners y Virtual Replicants
Porque sí, es cierto. Los avances en Robótica e Inteligencia Artificial en el ámbito de la automatización son un hecho. Pero... ¿dónde está el límite? En Sadako Technologies, una empresa fundada en el 2012 por cinco socios españoles, se propuso crear el primer robot en una planta de residuos urbanos basado en Inteligencia Artificial. No, no es Wall-E... ¡es Wall-B! Aunque, unos años más tarde y después de conseguir una colaboración con la empresa norteamericana Bulk Handling Systems, el robot se pasó a llamar MAX-AI.
Antes de nada, pondremos un poco de contexto sobre la situación actual del sector del tratamiento de materiales residuales. Con el crecimiento de la población mundial en el último siglo, la generación de material de rechazo ha aumentado estos últimos años. Según la Agencia de Residuos de Cataluña, la media de kilogramos de desechos generados por habitante en 2018 fue de unos 500 Kg. El Banco Mundial, alerta de que la generación de estos aumentará un 70% para el año 2050. Podemos decir que estamos ante un problema de alta importancia.
Hablando más sobre MAX-AI, es un robot que consiste en un sistema de Computer Vision basado en Deep Learning que detecta qué objetos tienen que seguir en la línea de residuos y cuáles no. Además cuenta con un brazo robótico ayudado por una ventosa para retirar los objetos que deben ser trasladados a otro proceso interno. Por ejemplo, si tenemos una cinta de objetos de plástico, debemos seleccionar y separar aquello que no sea plástico del flujo principal. El sistema de Deep Learning al procesar las imágenes que recibe de la cámara sobre el flujo de la cinta, hace una tarea de segmentación por instancia.
Los algoritmos de segmentación por instancia son un tipo de modelo de IA que juntan la segmentación semántica con la detección de objetos. La segmentación semántica es el proceso de asignar a cada píxel de una imagen una etiqueta (o clase), de forma que todos los píxeles que tengan la misma etiqueta serán de la misma clase, y la detección de objetos es el proceso de marcar la imagen (normalmente con una bounding box) cada vez que un objeto de una categoría aparece.
Antes de nada, pondremos un poco de contexto sobre la situación actual del sector del tratamiento de materiales residuales. Con el crecimiento de la población mundial en el último siglo, la generación de material de rechazo ha aumentado estos últimos años. Según la Agencia de Residuos de Cataluña, la media de kilogramos de desechos generados por habitante en 2018 fue de unos 500 Kg. El Banco Mundial, alerta de que la generación de estos aumentará un 70% para el año 2050. Podemos decir que estamos ante un problema de alta importancia.
Hablando más sobre MAX-AI, es un robot que consiste en un sistema de Computer Vision basado en Deep Learning que detecta qué objetos tienen que seguir en la línea de residuos y cuáles no. Además cuenta con un brazo robótico ayudado por una ventosa para retirar los objetos que deben ser trasladados a otro proceso interno. Por ejemplo, si tenemos una cinta de objetos de plástico, debemos seleccionar y separar aquello que no sea plástico del flujo principal. El sistema de Deep Learning al procesar las imágenes que recibe de la cámara sobre el flujo de la cinta, hace una tarea de segmentación por instancia.
Los algoritmos de segmentación por instancia son un tipo de modelo de IA que juntan la segmentación semántica con la detección de objetos. La segmentación semántica es el proceso de asignar a cada píxel de una imagen una etiqueta (o clase), de forma que todos los píxeles que tengan la misma etiqueta serán de la misma clase, y la detección de objetos es el proceso de marcar la imagen (normalmente con una bounding box) cada vez que un objeto de una categoría aparece.
En este tipo de procesos partimos de un conjunto de datos con unas categorías y unas coordenadas que marcan donde aparecen los objetos en la imagen. Por lo tanto, el sistema de Deep Learning dentro del MAX-AI ofrece una categoría para cada objeto y las coordenadas del centro de la máscara de cada objeto.
Para poder tener modelos de Deep Learning que puedan funcionar bien en dominios tan específicos, como en el caso en cuestión, se necesita de una gran cantidad de datos ¿Verdad? Esta pregunta es más difícil de lo que parece, la respuesta rápida sería “sí”, la buena sería “no siempre''. Siempre es bueno tener datos, pero, lo que verdaderamente importa es la calidad de estos. Intentemos coger un símil sencillo basado en mi experiencia personal.
Cuando estaba en primero de carrera y estaba aprendiendo a hacer Transformadas de Laplace, lo primero era revisar los cálculos de las integrales impropias que hizo el profesor, una vez entendido, intentar demostrar las propiedades que nos había presentado siguiendo el proceso que nos había mostrado en clase y luego era el momento de dedicarle tiempo a resolver algunos ejercicios de la colección de problemas. Es común pensar que cuantos más ejercicios de la colección resuelvas, mejor dominio del temario tienes, pero lo importante es la calidad de tiempo que le dediques a hacer los ejercicios y a entenderlos de arriba abajo, no el número de ejercicios “clones” que hayas hecho mientras estudiabas.
Para poder tener modelos de Deep Learning que puedan funcionar bien en dominios tan específicos, como en el caso en cuestión, se necesita de una gran cantidad de datos ¿Verdad? Esta pregunta es más difícil de lo que parece, la respuesta rápida sería “sí”, la buena sería “no siempre''. Siempre es bueno tener datos, pero, lo que verdaderamente importa es la calidad de estos. Intentemos coger un símil sencillo basado en mi experiencia personal.
Cuando estaba en primero de carrera y estaba aprendiendo a hacer Transformadas de Laplace, lo primero era revisar los cálculos de las integrales impropias que hizo el profesor, una vez entendido, intentar demostrar las propiedades que nos había presentado siguiendo el proceso que nos había mostrado en clase y luego era el momento de dedicarle tiempo a resolver algunos ejercicios de la colección de problemas. Es común pensar que cuantos más ejercicios de la colección resuelvas, mejor dominio del temario tienes, pero lo importante es la calidad de tiempo que le dediques a hacer los ejercicios y a entenderlos de arriba abajo, no el número de ejercicios “clones” que hayas hecho mientras estudiabas.
Figura 5: Libro de Machine Learning aplicado a Ciberseguridad de Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández |
Para sacar modelos de Deep Learning, la cosa funciona de forma similar. No hace falta tener tantos datos como ImageNet (mayor base de datos abierta y etiquetada para problemas de Computer Vision) para sacar un buen modelo. Por otro lado, tampoco es como el reconocimiento facial de los terminales iPhone, que con solo unas pocas muestras de una cara, ya aprenden cuál es la cara del usuario (Few-shot learning). Hay que encontrar una buena balanza entre calidad y cantidad de datos (incluyendo su etiquetado), problema que la comunidad de Data Science aún no ha sabido resolver de una forma determinista.
Pese a eso, a lo mejor es una pregunta que nunca llegará a tener una respuesta concreta. Como dijo François Chollet (creador de Keras, una de las librerías más importantes de Deep Learning), en una frase que se puede extrapolar a entrenar modelos y prepararlos para hacerlos funcionar en un entorno real, ya que hay que entender que es lo que el modelo hace, por qué lo hace, y alinearlo con lo que debería hacer.
Pese a eso, a lo mejor es una pregunta que nunca llegará a tener una respuesta concreta. Como dijo François Chollet (creador de Keras, una de las librerías más importantes de Deep Learning), en una frase que se puede extrapolar a entrenar modelos y prepararlos para hacerlos funcionar en un entorno real, ya que hay que entender que es lo que el modelo hace, por qué lo hace, y alinearlo con lo que debería hacer.
“Programming is about aligning what the code should do, what you think the code does, and what the code says”.
Uno de los grandes gurús del Deep Learning, Andrew Ng, comentó en su noticiario semanal (The Batch), que hacer un modelo de Machine Learning que funcione de forma decente en un conjunto de datos de test, no es una tarea complicada. El quid de la cuestión, es cómo usar ese modelo para que sea “útil”. Ese es, en mi opinión, el gran punto que tiene hace de MAX-AI un proyecto a la vanguardia de la innovación industrial de la IA.
Volviendo al mundo real, donde hablamos de que es lo que hace el “Machine Learning product”. El robot es capaz de llevar a cabo la inferencia a tiempo real e ir sacando los objetos deseados de la cinta transportadora del material de rechazo con una precisión muy alta. Lo cual es clave, ya que como hemos comentado antes, hay previsiones de que la generación de desechos suba en los próximos años, con lo que la importancia del reciclaje va a ir en aumento y con esto las herramientas como MAX-AI van a ganar utilidad.
Figura 7: MAX-AI en producción
¿Antes de MAX-AI se hacían estas cosas? ¡Sí, claro! Además de separar los residuos con información visual de una cámara, las plantas de tratamiento de material de rechazo tienen otro tipo de maquinaria basadas en propiedades mecánicas de los objetos que también hacen este tipo de tareas. Eso sí, hay tareas que son llevadas por personas, las cuales separan a mano el material, de una forma similar a la que lo hace MAX-AI.
¿Automatización sí o automatización no? ¿La Inteligencia Artificial nos dejará sin trabajo?
Volviendo al mundo real, donde hablamos de que es lo que hace el “Machine Learning product”. El robot es capaz de llevar a cabo la inferencia a tiempo real e ir sacando los objetos deseados de la cinta transportadora del material de rechazo con una precisión muy alta. Lo cual es clave, ya que como hemos comentado antes, hay previsiones de que la generación de desechos suba en los próximos años, con lo que la importancia del reciclaje va a ir en aumento y con esto las herramientas como MAX-AI van a ganar utilidad.
Figura 7: MAX-AI en producción
¿Antes de MAX-AI se hacían estas cosas? ¡Sí, claro! Además de separar los residuos con información visual de una cámara, las plantas de tratamiento de material de rechazo tienen otro tipo de maquinaria basadas en propiedades mecánicas de los objetos que también hacen este tipo de tareas. Eso sí, hay tareas que son llevadas por personas, las cuales separan a mano el material, de una forma similar a la que lo hace MAX-AI.
¿Automatización sí o automatización no? ¿La Inteligencia Artificial nos dejará sin trabajo?
Pese a que le he dado muchas vueltas y que he leído un par de veces las historias cortas de Yo, Robot, no estoy seguro de tener una respuesta a esto. El aumento de la automatización en los sectores industriales va a ir en aumento debido al rápido crecimiento de la IA y lo económicamente rentable que sea tener un robot en vez de una persona.
Pese a eso, mi opinión preliminar es que van a aparecer nuevas oportunidades laborales. No solo como Data Scientists o Machine Learning Engineers, sino como responsables de datos. Gente que transforme imágenes, audios, texto, en información útil para que un algoritmo aprenda. Gente que, pese a que cada vez son más y mejor cualificados, no se le da la importancia que tendrá en el futuro. ¡Y obviamente, personas como yo para contarlo!
¡Saludos!
¡Saludos!
Autores: Bruno Ibáñez, Investigador de Ciberseguridad e IA en Ideas Locas y Alex Castells i Arnau Ingeniero de Computer Vision en Sadako Technologies.
Muy buenas! El coautor del artículo es Alex, su MyPublicInbox es https://www.mypublicinbox.com/acastells, y es Ingeniero de Computer Vision en Sadako Technologies (https://sadako.es/).
ResponderEliminar