viernes, 23 de octubre de 2020

Una introducción a la interacción Humano-Robot (HRI) con Christoph Bartneck y equipo

'Human-Robot Interaction: An introduction' es un tratado amplio pero muy asequible del campo del HRI (Human-Robot Interaction), una materia multidisciplinar y apasionante que combina robótica, inteligencia artificial, psicología, etc, intentando, de una manera al alcance de muchos públicos, explicar los aspectos más relevantes. 

Para ello, el libro se estructura en doce capítulos.


  • '1. Introduction: 'Simplemente, una muy breve introducción al libro y unos también cortos currícula de los autores.

  • '2. What is Human-Robot Interaction: ' Situa el campo del HRI (Human-Robot Interaction), poporcionando una explicación de su alcance, explicando su naturaleza interdisciplinar y mostrando brevemente su evolución histórica.

  • '3. How a Robot Works: ' Explica elementos de la arquitectura física y tecnológica de los robots incluyendo tanto la parte hardware con sensores, actuadores y motores, como el software incluyendo elementos de machine learning y visión artificial.

  • '4. Design: ' Aborda los diferentes aspectos del diseño del robot incluyendo su morfología y algunos patrones y principios de diseño y dedicando un espacio amplio a lo relativo a la visión antropormórfica de los robots. También se explican ideas sobre el proceso de diseño.

  • '5. Spatial Interaction: ' Habla de aspectos relacionados con el espacio como la distancia social adecuada para que los humanos se encuentren cómodos en su interacción con los robots o detalles relevantes sobre el inicio de la interacción.

  • '6. Nonverbal Interaction: ' Comienza analizando los tipos de interacciones no verbales, como la mirada y el movimiento de los ojos, los gestos, la imitación y elmimetismo, el tacto, la postura y movimiento e incluso el ritmo y 'timing' de la interacción. También se explica brevemente a nivel ligeramente técnico cómo se gestionan esos aspectos dentro de los robots.

  • '7. Verbal Interaction: ' Tras abordar en el capítulo anterior el lenguaje no verbal, en éste se vuelca con la comunicación verbal. Se habla de los componentes de la conversación y de las diferencias entre texto escrito y lenguaje hablado. Luego se explican algunos aspectos básicos del reconocimiento y síntesis de voz y cómo se aplica en los robots. Y también se aborda el tema de la gestión de las conversaciones.

  • '8. Emotion: 'Se habla de las emociones proporcionando primero unas ideas básicas sobre las emociones humanas para luego pasar ya a las emociones en los robots, explicando aspectos de cómo se perciben las emociones de los interlocutores, así como modelos y estrategias de gestión de emociones en los robots. Y se finaliza con algunos retos relativos a esta gestión de emociones.

  • '9. Research Methods: ' Un comparativamente largo capítulo para explicar la mecánica de la investigación en HRI incluyendo la definición del alcance (qué pregunta se quiere contestar con la investigación), la elección del método de estudio y el equipo, definición del contexto de la interacción, selección del robot a emplear y las medidas a usar. Se finaliza comentando algunos estándares en investigación HRI.

  • '10. Applications: ' Se proponen ejemplos reales de robots donde la interacción con humanos es importante. Así, por ejemplo, se habla de los robots de servicio en ámbitos como la guía turística o recepción de hoteles, de los robots en educación, robots en entretenimiento tanto en juegos como exhibiciooes y el arte o los robots sexuales. También se aportan ejemplos en asistencia sanitaria y terapia como los robots para ayuda a ancianos o personas con trastornos del espectro autista y la rehabilitación. Y se finaliza con un repaso rápido por los robots como asistentes personales, robots de limpieza y logística, robots colaborativos, vehículos autónomos y robots teleoperados. Se finaliza identificando problemáticas de todo tipo para el uso de robots incluyendo la gestión de expectativas, la adicción, el robo de atención o el abuso de robots.

  • '11. Robots in society: ' Un capítulo muy interesante en que se aborda la visión más social e integrada de los robots hablando primero de la imagen, en general negativa y poco realista, que los medios y la ciencia ficción han creado sobre ellos y tratando también aspectos éticos desde la propia investigación, a la satisfacción de necesidades emocionales y sus implicaciones o el posible impacto en los puestos de trabajo y el empleo.

  • '12. Future: 'Un breve capítulo final en que se mira hacia el futuro bajo diferentes puntos de vista que incluyen la propia naturaleza de la relación humano-robot o la tecnología de HRI.
'Human-Robot Interaction: An introduction' me ha parecido una lectura fascinante, tanto por la materia en sí misma, que me encanta, como porque el tratamiento es muy adecuado, proporcionando información relevante incluida la técnica, pero sin extenderse más de lo necesario ni abrumar con detalles algorítmicos, electrónicos o incluso psicológicos. Un nivel de detalle y explicación, pues, muy adecuado para el objetivo del libro y el que yo tenía al acometer su lectura. A esto se añade el detalle de incluir numerosas fotografías de los robots que se mencionan, lo cual proporciona también una aproximación muy realista y atractiva. 

Lo dicho: fascinante. Me ha gustado mucho. 

Christoph Bartneck

(Fuente: Traducción y ligera elaboración propia de su ficha de autor en el libro Human-Robot Interaction: An introduction)

Christoph Bartneck
Christoph Bartneck es profesor asociado y director de estudios de posgrado en el Human Interface Technology Lab New Zealand (HIT Lab NZ) en la Universidad de Canterbury. Tiene formación en diseño industrial e interacción humano robot. y sus proyectos y estudios han sido publicados en las revistas, periódicos y conferencias mas importantes.

Sus intereses se encuentran en los campos de human-computer interaction, estudios de ciencia y tecnología y diseño visual. Más concretamente, se enfoca al efecto del antropomorfismo en Human Agent Interaction (interacción humano-agente). Como un segundo interés investigador, trabaja en análisis bibliométrico, simulaciones sociales basadas en agentes y la revisión critica de políticas y procesos de investigación. En el campo del diseño, Christoph investiga la historia del diseño de productos, mosaicos y fotografía.

La prensa se hace eco con frecuencia de su trabajo, incluyendo New Scientist, Scientific American, Popular Science Wired, the New York Times, The Times, the British Broadcasting Corporation (BBC), HuffPost, the Washington Post, The Guardian y The Economist.

Puedes saber más del autor visitando su página oficial.

Tony Belpaeme

(Fuente: Traducción y ligera elaboración propia de su ficha de autor en el libro Human-Robot Interaction: An introduction)

Tony Belpaeme
Tony Belpaeme es profesor en la Universidad de Ghent, Bélgica, y profesor de robótica y sistemas cognitivos en la Universidad de Plymouth, Reino Unido. Obtuvo su doctorado en Ciencias de la Computación de la Universidad de Vrije, Bruselas.

Partiendo de la premisa de que la inteligencia reside en la interacción social, Tony y su equipo de investigación intentan llevar más allá la inteligencia artificial de los robots sociales. Este enfoque conduce a una variedad de resultados desde los hallazgos teóricos a las aplicaciones prácticas. Está involucrado en proyectos de gran escala que estudian cómo se pueden usar los robots para ayudar a niños en su formación, cómo las interacciones breves con robots se pueden convertir en interacciones a largo plazo y cómo los robots pueden ser usados en terapia.

Puedes saber más del autor visitando su página oficial o siguiéndole en Twitter donde se identifica como @TonyBelpaeme.

Friederike Eyssel

(Fuente: Traducción y ligera elaboración propia de su ficha de autor en el libro Human-Robot Interaction: An introduction)

Friederike Eyssel
Friederike Eyssel es profesora de psicología social aplicada e investigación de género en el Center of Excellence Cognitive Interaction Technology en Bielefeld University, Alemania. Friederike está interesada en varias materias de investigación que abarca desde la robótica social, agentes sociales, inteligencia ambiental hasta el cambio de actitud, reducción de prejuicios y la objetización sexual de las mujeres.

Cruzando disciplinas, Friederike ha publicado ampliamente en los campos de psicología social, Human Agent Interaction y robótica social y actúa como revisora de más de 20 revistas

Puedes saber más de la autora visitando su página ficha en la Bielefeld University.

Takayuki Kanda

(Fuente: Traducción y ligera elaboración propia de su ficha de autor en el libro Human-Robot Interaction: An introduction)

Takayuki Kanda
Takayuki Kanda es profesor de informática en la Universidad de Kyoto. También es líder visitante del grupo Advanced Telecommunications Research (ATR) Intelligent Robotic and Communication Laboratories en Kyoto, Japón. Recibió su grado, máster y doctorado en Ciencias de la Computación por la Universidad de Kyoto, en 1998, 2000 y 2003 respectivamente.

Es uno de los miembros creadores del proyecto Communication Robots en el Advanced Telecommunicatons Research (ATR) Institute en Kyoto. Ha desarrollado un robot de comunicación, Robovie, y lo ha aplicado a situaciones cotidianas como tutorización en escuela elemental o como guía de un museo. Sus áreas de interés en investigación incluyen Human Agent Interaction, robots humanoides interactivos y pruebas de campo.

Puedes saber más del autor visitando su página en la Universidad de Kyoto.

Merel Keijsers

(Fuente: Traducción y ligera elaboración propia de su ficha de autor en el libro Human-Robot Interaction: An introduction)

Merel Keijsers
Merel Keijsers es estudiante de doctorado en el laboratorio Human Interface Technology en Nueva Zelanda. Tiene un Máster en estadística y psicología social y de salud por la Universidad de Utrecht. En su programa de doctorado estudia qué procesos psicológicos conscientes e inconscientes llevan a acosar y abusar de robots. Con background en psicología social, está especialmente interesada en las similitudes y diferencias en cómo las personas tratan con robots frente a cómo lo hacen con otras personas.

Puedes saber más de la autora visitando su perfil en LinkedIn.

Selma Sabanoviv

(Fuente: Traducción y ligera elaboración propia de su ficha de autor en el libro Human-Robot Interaction: An introduction)

Selma Sabanovic
Selma Sabanovic es profesora asociada de informática y ciencias cognitivas en la Universidad de Indiana, Bloomington, donde fundó y dirige el R-House Human-Robot Interaction Lab. Su investigación combina estudios de diseño, uso, y consecuencias de robots de asistencia e interactivos socialmente, en diferentes contextos sociales y culturales incluyendo instituciones sanitarias, hogares y en varios paises. También se encuentra involucrada en estudios acerca del significado social y efectos potenciales de desarrollar e implantar robots en contextos del día a día.

Obtuvo su doctorado en estudios de ciencia y tecnología del Rensselaer Polytecnic Institute en 2017 con una disertación sobre un estudio multicultural de robótica social en Japón y Estados Unidos. Actualmente sirve como editor jefe en la revista ACM Transactions on Human Robot Interaction.

Puedes saber más de la autora visitando su perfil en la Universidad de Indiana.

Ficha técnica:

miércoles, 21 de octubre de 2020

Las cuatro fases del reconocimiento facial

Una de las áreas más interesantes, pero también más polémicas de la Inteligencia Artificial en general y de la Visión Artificial en particular es el reconocimiento facial, es decir, el tipo de soluciones que son capaces a partir de la imagen de la cara de una persona, una imagen que además puede ser un vídeo, identificar a la persona.

A pesar de la complejidad de la labor lo cierto es que técnicamente está bastante conseguido y realmente lo que está empezando a limitar el uso de este tipo de tecnologías son más bien cuestiones de naturaleza ética, incluyendo el anuncio por parte de algunas de las grandes compañía tecnológicas como IBM o Amazon de congelar sus desarrollos en esta materia hasta que no exista un marco regulador claro.

Pero, quedándonos en el plano técnico, en este post quería, simplemente, recoger de manera sucinta una explicación acerca de las cuatro fases o los cuatro módulos que componen habitualmente una solución de reconocimiento facial, unas fases que me encuentro descritas en el libro 'Modern Deep Learning and Advanced Computer Vision' de Thomas Binford, Jagadeesh Kumar, J, Ruby, J. Lepika, J. Tisa y J. Nedumaan, y que se esquematizan en la siguiente figura:

Las cuatro fases son:

  • Detección de caras ('face detection'): es decir, estamos ante una imagen en que, aparte de la cara, evidentemente, hay otros objetos o un fondo. Es más, pueden existir varias caras. En esta fase lo que se hace es localizar las caras que haya presentes y marcarlas con un rectángulo.

  • Alineamiento de cara ('face alignment' o 'face normalization'): Con frecuencia a esta fases se la denomina normalización porque lo que hace es ajustar elementos como su tamaño, geometría o fotometría para conseguir consistencia entre todas las imágenes que se almacenan en una base de datos, y poderlas hacer de alguna forma comparables.

  • Extracción de características ('feature extraction'): En esta fase, lo que inicialmente era una imagen se convierte, en realidad, en una serie de características que de alguna forma definen esa imagen, esa cara, reduciéndola a esas características que le confieren singularidad. El resultado suele ser un vector de características.

  • Reconocimiento de cara ('face recognition' o 'matching'): Una vez reducida la imagen de la cara a un vector de características se busca en una base de datos alguna cara que presente esas mismas características. Si la encontramos, habremos culminado con éxito el reconocimiento.


Cada una de las fases utiliza algoritmos diferentes, con frecuencia basados en deep learning mediante redes neuronales de convolución, y pudiera tratarse de módulos e incluso soluciones diferenciadas.

El esquema de fases es bastante claro y fácil de entender aunque, como se puede imaginar, el detalle de algoritmos reales puede ser muy complejo y aunque, como decimos, está tecnológicamente bastante resuelto sigue existiendo trabajo e investigación para su mejora.


lunes, 19 de octubre de 2020

Cinco definiciones de machine learning

Algunos aspectos que rodean a la Inteligencia Artificial son de compleja definición. El propio campo de la Inteligencia Artificial carece, en mi opinión, de una definición que sea a un tiempo clara, que marque bien las fronteras, que sea fácil de entender y que, además, sea comúnmente aceptada.

A veces tampoco es del todo fácil definir y explicar la relación exacta entre Inteligencia Artificial y Machine Learning. Aproximadamente se entiende, y podemos considerar sin mucho riesgo, que el Machine Learning es un subconjunto de la inteligencia artificial, aunque personalmente tengo alguna ligera reserva al respecto.

¿Pero en qué consiste realmente el Machine Learning?

Leyendo el libro 'Modern Deep Learning and Advanced Computer Vision' de Thomas Binford, Jagadeesh Kumar, J, Ruby, J. Lepika, J. Tisa y J. Nedumaan, me encuentro con que los autores reúnen cinco definiciones de machine learning y me ha parecido interesante recogerlas y comentarlas.


Definición de Nvidia


Machine learning is the practice of using algorithms to parse data, learn from it, and then make a determination of prediction about something in the world.


Una definición austera pero descriptiva y creo que bastante acertada


Definición de Stanford


Machine learning is the science of getting computers to act without being explicitly programmed.


En este caso, nos encontramos ante una definición que creo que busca, y consigue, la sencillez. Es redonda y aparentemente brillante en su simplicidad, pero, personalmente, no me parece demasiado acertada. Aunque entiendo lo que quiere decir, la realidad es que, si somos rigurosos, cualquier software está explícitamente programado, aunque sus parámetros se puedan ajustar, y mucho en el caso del machine learning, mediante aprendizaje. 

Decir que los computadores pueden actuar sin ser programados explícitamente, creo que, aparte de no ser completamente cierto, alimenta las fantasías que ya existen, y en abundancia, alrededor de la inteligencia artificial y promueve esa visión de ciencia-ficción tan común y tan poco realista.


Definición de McKinsey & Co


Machine learning is based on algortihms that can learn from data without relying on rule-based programming.


Esta definición me parece muy acertada. No sé si orienta a quien no conozca el mundo de los algoritmos en general y el machine learning en particular, pero creo que capta muy bien, en una sola frase compacta, la naturaleza del machine learning.


Definición de la Universidad de Washington


Machine learning algorithms can figure out how to perform important tasks by generalizing from examples.


Es también, en mi opinión, bastante acertada aunque está redactada de una forma que más que una definición parece una descripción. 


Definición de la Universidad Carnegie Mellon.


The field of Machine Learning seeks to answer the questions, How can we build computer systems that automatically improve with experience, and what are the fundamental laws that govern all learning processes?


También me parece correcta aunque, como en el caso anterior, parece un poco más una descripción o una explicación que una verdadera definición. Además, va un poco más allá de la concepción puramente algorítmica para incluir dentro del campo del machine learning el entendimiento de las leyes que gobiernan los procesos de aprendizaje. Se trata de una propuesta muy atractiva, pero no sé si realmente esta búsqueda de las leyes generales del aprendizaje excede a lo que realmente se trabaja en machine learning.


*****


Cinco definiciones diferentes aunque, evidentemente, con puntos en común. Si he de elegir una, creo que me quedo con la definición de McKinsey porque creo que capta muy bien la esencia de lo que es el machine learning y lo hace en una frase muy compacta.

¿Sirven, de todas formas, esta definiciones para que alguien ajeno al mundo de la inteligencia artificial entienda lo que realmente es el machine learning? Me temo que no del todo, que a la definición siempre la va a tener que acompañar una explicación que ponga en contexto al machine learning con otras algoritmias y explique las diferencias. 

Pero bueno, explicar y entender un concepto avanzado es siempre una tarea siempre interesante. Al fin y al cabo, hablamos de aprendizaje ¿no?


viernes, 16 de octubre de 2020

Principales aportaciones de la visión artificial

La Inteligencia Artificial no es en realidad una disciplina monolítica sino que agrupa una gran variedad de técnicas, algoritmos y soluciones.

Tampoco las diferentes ramas que componen la inteligencia artificial actual son monolíticas, sino que, de nuevo, presentan una amalgama de tecnologías y soluciones.

Una de estas ramas, una de las más relevantes hoy en día y ya desde hace muchos años, es la visión artificial ('computer vision'), un área donde se incluyen temas tan diversos como el reconocimiento facial o incluso en algunos casos el OCR ('Optical Character Recognition').

La gama de actividades y soluciones es muy amplia y, por eso, me ha interesado el listado que nos ofrece el libro 'Modern Deep Learning and Advanced Computer Vision' de Thomas Binford, Jagadeesh Kumar, J, Ruby, J. Lepika, J. Tisa y J. Nedumaan en uno de sus primeros capítulos. En él se detiene a proporcionar un listado de las principales aportaciones hasta la fecha de la visión artificial. Ésta es la lista que nos ofrece:


  • Clasificación de imágenes: quizá una de las soluciones más conocidas: asignar una imagen a alguna categoría. También lo podemos encontrar denominado como 'clasificación de objetos' o 'reconocimiento de imágenes'.

  • Clasificación de imágenes con localización: Además de la clasificación, en este caso se añade la localización de la imagen mediante el dibujo de un recuadro que la rodee.

  • Detección de objetos: En realidad, una ampliación del caso anterior pero cuando en la misma imagen existen muchos objetos que es preciso identificar de manera diferenciada.

  • Segmentación de objetos: Parecido a la localización pero, en este caso, no se trata de rodear a un objeto con un rectángulo sino de identificar exactamente los pixeles que pertenecen a ese objeto.

  • Transferencia de estilo: Una aplicación muy curiosa que actúa a modo de filtro o transformación y que transfiere a una imagen un estilo determinado (colores, estilo artístico, etc).

  • Coloreado de imágenes: convierte una imagen en blanco y negro, o mejor dicho, en escala de grises, a una imagen en color siendo, de nuevo, una forma de filtro o transformación.

  • Reconstrucción de imágenes: Reconstrucción, rellenado o pintado de partes corruptas de una imagen.

  • Super resolución de imágenes: Es la generación, a partir de una imagen dada, de otra similar pero con mayor resolución. Con frecuencia comparte modelos con el caso anterior.

  • Síntesis de imágenes: Un campo en fuerte desarrollo en que se genera una imagen modificada según un objetivo o, incluso, una imagen completamente nueva.

Como se puede observar, los autores se sitúan en un nivel intermedio. No entran realmente en los modelos y algoritmos, el detalle más tecnológico y prolijo, pero tampoco se enfocan en aplicaciones finales. Lo que nos ofrecen es una gama de soluciones genéricas (que se apoyarán en los algoritmos que corresponda) y que luego encuentran aplicaciones a medida que se transfieren a casos de uso específicos.

Una clasificación que, aunque quizá no sea completa o quizá otros autores plantearían de forma diferente, nos ayudan a poner un poco de orden en esa amplia gama de opciones y posibilidades que integran el fértil campo de la visión artificial.


miércoles, 14 de octubre de 2020

Inteligencia Artificial y las comparaciones odiosas

Hace unas semanas, hablábamos en este blog de la tendencia a conferir cualidades antropomórficas a robots y entes artificiales, una tendencia que puede condicionar, en general negativamente, las expectativas que depositamos en los robots.

Es fácil caer en la tentación de comparar la Inteligencia Artificial con la inteligencia natural, o de extremar lo que en realidad es poco más que una inspiración y una metáfora, que liga a las redes neuronales artificiales con el funcionamiento del sistema nervioso y el cerebro

En general esa identificación tiende a situar sobre los robots e inteligencia artificial unas expectativas superiores a lo que estas tecnologías pueden conseguir hoy día. Y, claro, cuando se produce el contraste con la realidad, es casi normal caer en la decepción. Una decepción un tanto injusta e inadecuada, sin embargo.

Un campo notorio de la Inteligencia Artificial, un campo, además, con fuertes avances en los últimos años, es la visión artificial. Leyendo precisamente sobre visión artificial, y en concreto el libro 'Modern Deep Learning and Advanced Computer Vision' de Thomas BinfordJagadeesh Kumar, J, Ruby, J. Lepika, J. Tisa y J. Nedumaan, me he encontrado otra visión curiosa e interesante sobre este tema de la comparativa entre la inteligencia humana y la artificial.

Quisiera, en primer lugar, y a modo de introducción, citar a los autores que, en mi opinión de una forma un tanto sorprendente, parecen considerar que los avances en visión artificial son todavía muy cortos, puesto que nos dicen


Computer Vision as a field of research is notoriously difficult. Almost no research  problem has been satisfactorily solved.


Parece una valoración algo dura sobre la visión artificial, y más viniendo de unos especialistas en la materia. Sin embargo, unos párrafos más adelante, vemos lo que, en el fondo, es el motivo para esa valoración tan poco positiva. Y se trata de un problema de expectativas y de comparaciones, en este caso odiosas, entre la visión natural y la artificial. Nos dicen: 


One main reason for this difficulty is that the human visual system is simply too good for many tasks (e.g., face recognition). so that computer vision methodologies suffer by comparison.


Claro, estamos comparando la visión artificial con la visión natural, un proceso que, como es bien sabido, tiene una parte sensorial pero también mucho de procesamiento cerebral. Y resulta que, en realidad, como en todos los procesos cognitivos, las prestaciones de nuestro cerebro y sistema nervioso son muy superiores, salvo en ámbitos muy acotados, a lo que pueden ofrecer los sistemas artificiales, al menos hoy día.

Los mismos autores citan otra manifestación diferente de lo negativas que resultan para nuestra valoración de la inteligencia artificial la comparativa poco reflexiva con la inteligencia natural. En este caso, nos remiten a cómo valoramos los errores de los algoritmos, que los cometen, y cómo, de forma muy diferente valoramos los errores de las personas, que también los cometen. Nos dicen:


Mistakes made by machines undermine our trust in them because, unlike with humans we cannot usually see how they failed. As a result their failure becomes generalized and we perceive a machine (wether it is a search algorithm or a robot) to be fundamentally flawed. With humans we usually understand failure because we can model their performance on our own parameters of knowledge, memory and skill. Failures  then become acceptable because we fully understand the limits of human capability.


En el fondo se trata de una lectura diferente a la habitual acerca del problema de la explicabilidad de la Inteligencia Aritficial. En general, cuando buscamos la explicabilidad lo hacemos para entender unas decisiones algorítmicas que pueden ser correctas pero que no entendemos cómo se han adoptado. En el caso que apuntan los autores, sin embargo, de lo que nos hablan son de decisiones claramente incorrectas de una máquina. En este caso, el que la forma en que las máquinas razonan no esté claro hace que las valoremos más duramente que a los humanos, porque los errores humanos sí los entendemos y comprendemos y, quizá de forma algo injusta, eso hace que los valoremos menos duramente que los de las máquinas.

La tentación de comparar la inteligencia artificial y la humana es casi irresistible. Por un lado, es cierto que existe cierta inspiración y analogía iniciales pero, sobre todo, es que esa comparativa es atractiva desde un punto de vista del discurso, del 'storytelling', de la literatura, del cine y del marketing,

Sin embargo, como los ejemplos vistos ilustran, esa comparación puede en muchos casos ser fallida y tener implicaciones negativas en nuestra comprensión y valoración de lo que la inteligencia artificial trae consigo.

Y es que, también en esta materia, las comparaciones, como en casi todos los ámbitos de la vida, acaban resultando odiosas.


lunes, 12 de octubre de 2020

Los tres niveles en visión artificial

Algunos de los artículos que publico en este blog, puede que los menos,  son artículos de opinión pura, donde doy mi visión particular sobre algún tema. Otros, probablemente la mayoría, son artículos de comentario donde, apoyándome en algún texto o cita, aporto algún tipo de valoración o consideración. Y, finalmente, existen artículos de naturaleza descriptiva donde simplemente anoto y ordeno alguna píldora de conocimiento que me ha interesado especialmente o que me parece ayuda a estructurar algún conocimiento de mi interés, y espero que de mis lectores.

Este último es el caso del artículo de hoy. Llevo una larga temporada en que gran parte de mi lectura e investigación tiene que ver con la inteligencia artificial y la robótica en diferentes aspectos. En esa línea, recientemente, y queriendo profundizar en concreto en el campo de la visión artificial he leído el libro 'Modern Deep Learning and Advanced Computer Vision' de Thomas Binford, Jagadeesh Kumar, J, Ruby, J. Lepika, J. Tisa y J. Nedumaan.

En el primer capítulo, los autores nos hablan de los tres niveles en que se suele descomponer la disciplina de la visión artificial (bajo, medio y alto), unos niveles que parecen apoyarse en las teorías del neurocientífico David Marr. Es esta descomposición en niveles lo que hoy quería recoger brevemente en este artículo.

Estos son los tres niveles:

La visión de bajo nivel ('low-level vison') consiste en un preprocesamiento de la imagen y casi no puede considerarse todavía cono una verdadera visión. En este nivel, se realizan, por ejemplo, filtrados, detección de bordes y esquinas o morfología.

La visión de nivel intermedio ('mid-level vision'), por su parte, trabaja con la información recibida para organizarla de alguna manera en objetos y superficies. Según los autores, dos son los elementos principales que se tienen que inferir en este nivel: la geometría y el movimiento. Así, algunos problemas que se tratan en este nivel son la segmentación de objetos ('object segmentation') o el trazado visual de objetos ('visual obtect tracking').

Por último, la visión de alto nivel ('high-level vision') se adentra en la semántica de la imagen, su verdadero entendimiento y concentra problemas como el reconocimiento de objetos ('object recognition') o el entendimiento de escenas ('scene understanding').

La fuente en que me baso, el libro citado, no proporciona en mi opinión, una definición demasiado nítida de lo que significa cada nivel, quizá porque se trate de un esquema conceptual y su traducción a algoritmos o técnicas concretas no sea del todo evidente, pero sí permite hacerse una primera idea de lo que son los niveles de procesamiento y estar preparados para cuando nos topemos con esta distinción en niveles, que aparece aquí y allá en la literatura sobre visión artificial, 

 

viernes, 9 de octubre de 2020

Funcionamiento del cerebro e Inteligencia Artificial


Lo cierto es que no sabemos suficientemente cómo funciona el cerebro. 

Las redes neuronales, y en especial el deep learning, aquella faceta de la Inteligencia Artificial que más progreso ha conseguido en los últimos años, nació con una cierta inspiración en la anatomía y funcionamiento básico del sistema nervioso en general y del cerebro en particular. Se planteó un modelo computacional con unas pequeñas unidades de cálculo, las neuronas artificiales, y unas interconexiones entre eso nodos computacionales inspiradas en las uniones de axones y dendritas.  

Y lo cierto es que esa metáfora, esa biomímesis, esa imitación, aunque rudimentaria, del funcionamiento cerebral, ha acabado dando grandes frutos y, probablemente, todavía traerá muchos más en los próximos años.

¿Significa eso que conocemos la esencia del funcionamiento cerebral?

En absoluto.

Tanto si esa imitación que hacen las redes neuronales artificiales del funcionamiento cerebral consigue un paralelismo real con el funcionamiento del cerebro, como si es sólo una pura metáfora que no va más allá, lo cierto es que la evolución de las redes neuronales y el Deep Learning obedece más a criterios matemáticos, estadísticos y algorítmicos que neurocientíficos. La biomímesis ha sido, sin duda, muy fructífera, pero no quiere decir que realmente sepamos cómo funciona el cerebro ni que las redes neuronales artificiales actuales lo estén imitando con una cierta fidelidad.   

A pesar de los evidentes y más que interesantes avances en neurociencia y neurotecnologías, seguimos aún muy lejos de comprender el funcionamiento íntimo del cerebro. 'Rascamos' algunas cosas. Vía fMRI se dispone de un cierto mapa del cerebro y sabemos qué zonas se activan ante ciertos estímulos o qué capacidades cognitivas pueden quedar afectadas ante una lesión en esas zonas. Empezamos a saber cómo captar señales cerebrales y usarlas para mover exoesqueletos que pueden contribuir, por ejemplo, a la rehabilitación de personas impedidas. Y mejorando los sensores de señales cerebrales y aplicando algoritmos de machine learning a esas señales, probablemente se pueden conseguir avances sorprendentes en el reconocimiento de lo que una persona está pensando. Hay, incluso, avances en cómo influir en el cerebro. Es interesantísimo, desafiante y, justo es reconocerlo, un poco inquietante.

Pero aún así, no sabemos suficientemente cómo funciona el cerebro. No en el sentido de usar ese conocimiento para aplicarlo en algoritmos de Inteligencia Artificial. Así lo afirma, por ejemplo, el libro 'Modern Deep Learning and Advanced Computer Vision', cuando, refiriéndose en concreto, al área de visión artificial, y tras reconocer que, pese a sus grandes avances, aún es una disciplina con mucho por resolver, dicen:

One reason is that we don't have a strong grasp of how human vision works.

Y, recordemos, que la visión, como se suele decir, sucede más en el cerebro que en los ojos. La visión artificial no es fundamentalmente un problema de sensores, sino de algoritmos, de la misma manera que la visión humana no es sólo, quizá no sólo fundamentalmente, el captar la luz, sino el interpretar los estímulos lumínicos recibidas.

Si lográramos comprender realmente el funcionamiento íntimo del cerebro, probablemente llegaríamos a ser capaces de crear algoritmos que lo emulasen, tal vez incluso ventajosamente para la máquina. 

Pero lo cierto es que, hoy en día, no sabemos suficientemente cómo funciona el cerebro.

Conocer el cerebro. Desde el punto de vista tecnológico el reto es apasionante. Desde el punto de vista humano, asusta un poco. Tal vez, el conocimiento del funcionamiento del cerebro, sea la verdadera manzana que nos ofrece la serpiente.

¿Queremos probarla?


miércoles, 7 de octubre de 2020

Datos para el bien y la ética tecnológica positiva


A José Aguilar

A veces cuando hablamos de los peligros que trae consigo la tecnología, que sin duda los trae, nos olvidamos de los muchos beneficios a ella asociados, unos beneficios que creo ofrecen al final un claro balance positivo.

A veces, cuando hablamos de ética asociada a la tecnología, lo hacemos desde la prevención, la ignorancia o peor, desde el miedo. A veces parece que la ética es sólo una defensa contra aquello que tememos, con justificación o sin ella.

Y no, no se trata de eso. No se debe tratar de eso. Yo ni quiero ni creo en esa ética anti-tecnología.

Es cierto que la tecnología incluye riesgos, pero es igual de cierto que es la base del progreso y la mejora en nuestro bienestar económico y social. Es cierto que se puede hacer daño con ella, pero es más cierto que se puede hacer el bien, mucho bien, sobre todo el bien.

Y según eso, deberíamos empezar a aplicar una ética positiva, una ética que no sólo no sea enemiga de la tecnología sino que, bien al contrario, nos exija su empleo para aquello que le es propio: el progreso de la humanidad.

En ese sentido escribí hace un par de meses en este mismo blog el artículo 'La eficiencia como deber moral', un artículo en que proclamaba el imperativo ético del uso de la tecnología para la eficiencia como forma de incrementar de forma más sostenible la riqueza y, por tanto, el bienestar humano.

Y en parecido sentido parecen abogar Richard Benjamins e Idoia Salazar en su libro 'El mito del algoritmo' cuando, hablando del uso de los datos, y de la posibilidad de su empleo para ayudar en el combate contra la pandemia del COVID19, nos dicen:

no es ético no usar los datos para el bien social.

Otro caso de una afirmación en positivo de la ética de la tecnología, de la exigencia moral de su empleo cuando esto redunda en el bienestar humano y en su progreso.

 Esa sí, esa es la ética tecnológica en la que creo.

*****

PD: Artículo dedicado a José Aguilar, en recuerdo de la conversación que hemos mantenido esta misma tarde.


lunes, 5 de octubre de 2020

¿Es posible enseñar ética a una máquina?

Mucho se habla de la aplicación de la ética en el ámbito de la robóticainteligencia artificial. Mucho se habla y, aunque como todo aquello que se pone de moda corre el riesgo de la banalización, del vaciado intelectual y de la ausencia de rigor, en principio hay que alegrarse de ese interés que despierta la ética ligada a la Inteligencia Artificial, un interés que, además, como es el caso de la Unión Europea, parece que tiene visos de llegar a conclusiones y acciones concretas.

Sin embargo, conviene ser realistas y saber de qué estamos hablando realmente y, sobre todo, que está a nuestro alcance hoy en día.

¿Se puede enseñar ética a las máquinas? 

La respuesta, la verdad, es más negativa que positiva. Lo cierto es que, al menos hoy día, y mucho me temo que durante mucho tiempo, no se puede enseñar una ética general a las máquinas.


¿Qué ética queremos enseñar a las máquinas?


Y la primera dificultad no es de índole tecnológica, sino social o humana. A veces, inadvertidamente, hablamos de la ética como si fuera un corpus de doctrina claro, establecido, indudable. Sin darnos cuenta, tendemos a asumir que existen una serie de valores y comportamientos éticos de naturaleza universal, compartidos por toda la humanidad,  que son los que querríamos enseñar a las máquinas. Y no es así. Existen diferencias culturales, filosóficas y políticas que hacen que la percepción de lo que es valioso y lo que no, de lo que es ético y lo que no, sea diferente según países o capas sociales e incluso individuos concretos. La valoración por ejemplo, que se hace de la libertad individual en los países occidentales, tiene poco que ver con la que se tiene en Asia, muy especialmente en China. Y si no existe un corpus de doctrina definido, mal se puede enseñar a una máquina lo que ni siquiera los humanos hemos consensuado.

Pero supongamos que somos capaces de solventar esa pega. Supongamos que alcanzamos al menos un consenso de mínimos, quizá basado en la Declaración Universal de los Derechos Humanos y sabemos qué ética queremos enseñar a las máquinas. Supongamos, al menos, que nos centramos en enseñar la ética vigente en nuestro entorno social.

¿Es posible?

Bueno, lo siguiente que deberíamos hacer es ser muy concretos. Tal y como funcionan los algoritmos de inteligencia artificial, tal y como funcionan todos los sistemas digitales, en realidad, no se admiten reglas ambiguas. Tienen que ser concretas, muy concretas, absolutamente concretas. Y existen en realidad dos variantes de esa concreción.


Una ética simbólica


Si queremos razonar con base en reglas, tal y como se hace en la inteligencia artificial simbólica, por ejemplo los otrora famosos sistemas expertos, deberíamos ser capaces de destilar en reglas claras y muy concretas, algo así como las usadas en lógica proposicional o álgebra de Boole, lo que son comportamientos éticos. Si fuésemos capaces de hacerlo, que no lo somos, el número de reglas sería, creo, inmenso, inimaginable. ¿Cómo recoger en un conjunto finito de reglas lo que es un comportamiento ético? Deberíamos ser capaces de tres cosas: 

  • consensuar lo que es ético
  • reducirlo a un conjunto de reglas concretas
  • incorporar esas reglas a un algoritmo.

De esas tres acciones sólo la tercera tiene naturaleza técnica y, curiosamente, es la única que sí considero viable. Lo que no me puedo imaginar es que consiguiéramos las dos primeras, que dependen. no de las máquinas sino de los humanos.


Una ética basada en datos


Sin embargo el tipo de Inteligencia Artificial que está en boga hoy en día, la que está consiguiendo los espectaculares resultados en materia de disciplinas como el tratamiento de lenguaje natural, la visión artificial o la conducción autónoma, no es de naturaleza simbólica sino conexionista y basada en datos. Expresado de forma simple, para una ética basada en datos, no debemos concluir cuáles son las reglas éticas sino 'sólamente' mostrar a la máquina ejemplos de comportamientos éticos y dejar que ella identifique patrones y deduzca las reglas éticas subyacentes.  

¿Es eso posible?

Bueno, técnicamente si es posible, al menos bastante posible. Existen ya multitud de algoritmos, capaces de detectar patrones a partir de datos. Esos datos podrían llevar implícito el comportamiento ético. Estrictamente hablando, estos algoritmos no aprenderían ética sino comportamientos éticos. Dicho de otra forma, serían las máquinas las que deducirían la ética subyacente a partir de unos comportamientos que los humanos les mostramos y les indicamos que son éticos.

Esto no es sencillo, pero diría que sí es viable ya hoy en día. Pero, el problema es que nos enfrentamos a alguna limitación adicional muy importante.

Aparte de la ya mencionada falta de consenso entre humanos acerca de lo que es un comportamiento ético y lo que no, la Inteligencia Artificial de hoy en día no es una inteligencia artificial de propósito general, no es una inteligencia artificial capaz de enfrentarse a todo tipo de problemas y situaciones, sino sólo a ámbitos estrechos de actuación.  Probablemente, seamos capaces de llegar a introducir comportamientos éticos (supuesto que acordemos en qué consisten exactamente) en algoritmos que realizan tareas concretas de naturaleza más o menos sensible. 

Pero no pensemos, no al menos por el momento ni en un futuro cercano, que vamos a ser capaces de enseñar a las máquinas una ética de propósito general, una ética fundada en principios y valores que luego el algoritmo sea capaz de aplicar en situaciones diferentes e inesperadas.

No, eso no lo sabemos hacer, al menos no por el momento y tampoco parece que estemos cerca de conseguirlo. 

¿Qué podemos hacer?


¿Significa eso que debemos rendirnos y renunciar a la aplicación de la ética en la Inteligencia Artificial?

En absoluto. Podemos hacer cosas. Podemos hacer muchas cosas.

Podemos, por supuesto, seguir investigando en busca de algoritmos más potentes y generales donde se abran nuevas posibilidades no solo funcionales sino también éticas. Podemos, como ya hemos mencionado, enseñar comportamientos éticos a las máquinas en entornos acotados. Podemos, por ejemplo, luchar contra el sesgo en datos de entrenamiento de los algoritmos. Podemos establecer, por vía legal, restricciones a uso inadecuados o indeseables de la Inteligencia Artificial. Y podemos divulgar y concienciar.

Dicho de otra forma, no podemos, al menos no actualmente y de forma generalizada, enseñar ética a una máquina. Pero sí podemos hacer un uso ético de los algoritmos y la Inteligencia Artificial. 
 

Algo así es lo que concluyen Richard Benjamins e Idoia Salazar en su libro 'El mito del algoritmo' cuando nos dicen:


Dado que, hoy por hoy no es posible enseñar ética a una máquina, será a las empresas y sus desarrolladores a quienes hay que exigir que el desarrollo y el uso de la IA sean realizados de una manera ética, en concordancia con los derechos humanos internacionales.


La conclusión está clara: la responsabilidad ética, sigue estando en manos de las personas, no de las máquinas.