Programación creativa

Machine Learning para diseñadores

Las posibilidades que introducen las nuevas tecnologías en el ámbito del diseño plantean la necesidad de integrarlas en la formación de los diseñadores, como vienen afirmando en los últimos años John Maeda y su equipo en los Design in Tech Reports, que inciden en la división entre diseño clásico (centrado en desarrollar un producto que es posteriormente comercializado), el design thinking (que se centra más en aportar soluciones a las necesidades del usuario y va más allá del producto individual) y el diseño computacional. 

Este último es el que para Maeda define el futuro del diseño y requiere un/a diseñador/a que entienda los lenguajes de programación, sepa reflexionar de forma crítica sobre la tecnología y sea capaz de aprender acerca de los nuevos desarrollos tecnológicos. Esto implica mantener una perspectiva abierta acerca del proceso de diseño y estar en disposición de incorporar herramientas que, hasta cierto punto, tomen el control, como puede ocurrir con la Inteligencia Artificial y el aprendizaje automático o Machine Learning.

El Machine Learning es la rama de la inteligencia artificial que se centra en que los ordenadores sean capaces de generalizar comportamientos a partir de una serie de ejemplos, por tanto “aprender” a partir de una (generalmente grande) cantidad de datos suministrados. Los sistemas de aprendizaje artificial pueden detectar patrones y en particular anomalías, lo cual los hace muy efectivos en aplicaciones como la detección del fraude en tarjetas de créditos o los correos basura. Según afirma el diseñador Sam Drozdov en un artículo publicado en UX Collective, ahora que grandes empresas como Amazon, Google Apple han hecho accesibles a los desarrolladores algunas de sus herramientas de aprendizaje automático, es un buen momento para explorar las aplicaciones del Machine Learning al diseño.

ML Kit de Google ofrece un conjunto de herramientas optimizadas para dispositivos móviles y con soluciones pre-diseñadas que facilitan su uso en todo tipo de proyectos. Las principales funciones que ofrece son el etiquetado de imágenes (identificación de objetos, lugares, actividades, productos, etc.), reconocimiento de texto, detección de rostros, escaneado de códigos de barras, identificación de lugares populares y muy reconocibles, y en un futuro próximo una función de respuesta automática con sugerencias de texto.

AWS de Amazon cuenta con una completa serie de recursos de aprendizaje automático que incluye productos como SageMaker, que permite crear, entrenar e implementar modelos de Machine Learning, así como adaptarlos a flujos de trabajo existentes y DeepLens, una cámara de video que se integra con Amazon SageMaker y otros servicios de AWS para emplear algoritmos de aprendizaje automático en visión computerizada.

Core ML de Apple, finalmente, integra modelos de aprendizaje automático en cualquier app. El modelo emplea los datos introducidos para realizar determinadas predicciones, análisis de imagen, procesamiento de lenguaje natural y otras funciones.

Como afirma Maeda, es esencial para los diseñadores ser capaces de entender lo que pueden hacer estas herramientas, a fin de poder trabajar con los programadores en sus posibles aplicaciones. Drozdov destaca las siguientes:

  • Por medio del Machine Learning (ML) se pueden crear productos centrados en el usuario, que responden a los datos facilitados por éste y dan lugar a una experiencia más personalizada.
  • Una aplicación en la que destaca el ML es la detección de anomalías, lo cual es especialmente útil en la prevención de fraude, manipulación de contenidos y otros escenarios similares.
  • Por medio de la visión computerizada y la interpretación del lenguaje natural, el ML facilita una mejor interacción entre usuario y máquina, que progresivamente libera al usuario de tener que expresarse en los términos que la máquina puede entender.
  • Otra aplicación es el análisis de los grupos de usuarios.
  • Finalmente, al predecir la siguiente acción del usuario, el ML puede emplearse para facilitar la carga de contenido que con mayor probabilidad será consultado por el usuario, agilizando el funcionamiento de un programa.

Para entender mejor cómo emplear las herramientas de ML, es importante también conocer qué tipos de aprendizaje automático emplean habitualmente las herramientas descritas anteriormente. El aprendizaje supervisado emplea datos previamente etiquetados para realizar predicciones acerca de nuevos datos según se introduzcan. Por ejemplo, a partir de miles de fotos etiquetadas con hashtags, el programa puede determinar qué hashtags corresponderían a una nueva foto. El aprendizaje no supervisado se basa en facilitar un gran volumen de datos sin etiquetar y dejar que el ordenador identifique patrones y haga predicciones basándose en dichos patrones, como ocurre por ejemplo con las sugerencias de productos en Amazon, basados en compras similares por parte de otros clientes. Por último, el tipo más interesante es del aprendizaje por refuerzo, que no emplea un conjunto previo de datos, sino que crea un agente que recopila datos en un determinado entorno, persiguiendo un determinado “premio” que supone un refuerzo positivo.

El aprendizaje automático es por tanto un recurso que puede ser muy beneficioso para desarrollar un producto, si bien cabe conocer las limitaciones de esta tecnología tanto como sus capacidades, determinar qué tipo de ML se adapta mejor al proyecto a desarrollar y entender que siempre existe un margen de error. Dicho margen de error implica experiencias negativas en los usuarios y por tanto deben considerarse las consecuencias del uso de algoritmos de ML. Incluso las grandes empresas están aún aprendiendo hasta dónde pueden llegar con el aprendizaje automático.

 

Share: