En esta entrada, Carolina Higuera Arias, instructora del departamento de Ingeniería Eléctrica y Electrónica y representante de Uniandes en Alianza SinfonIA, explica detalladamente la definición de un sistema inteligente y la existencia de los robots sociales como agentes racionales.
Si desea participar en Blogs El Uniandino y aportar desde su perspectiva de conocimiento, escríbanos a periodicoeluniandino@gmail.com o por nuestras redes sociales.
Hoy en día escuchamos el término inteligencia artificial (IA) deliberadamente: celulares que toman fotografiás asistidas con IA, asistentes virtuales, apps para celulares, robótica con IA, entre otros ejemplos. ¿En qué punto se hace la diferencia entre habilidad para manejar e interpretar datos e “inteligencia” para ser capaz de tomar decisiones?
Durante el transcurso de la historia de la IA se han tenido cuatro vertientes principalmente para considerar un sistema inteligente:
En la vertiente Actuación de forma humana consideramos a un sistema inteligente si logra engañar a una persona, es decir, si este no es capaz de diferenciar si su interacción es con otra persona o con un sistema computarizado. Esto se conoce como el famoso Imitation Game de la prueba de Turing (Russell & Norvig, 2010). En la línea de Pensamiento de forma humana, partimos de la premisa de que, si una máquina o programa piensa como un humano, entonces existe la manera de determinar cómo los humanos piensan. Esto conlleva a la necesidad de adentrarse en la mente humana para poder abstraer de forma programática su modo de funcionamiento y poder así generar mejores sistemas de IA. Sin embargo, esto implica que el cerebro humano es análogo a un software modular. No sé qué tan aproximado sea esto, pero significa que un sistema puede considerarse inteligente si supera dos pruebas: una psicológica en la que se valide que el sistema tiene los mismos comportamientos que tendría una persona ante las mismas condiciones; y otra cognitiva, en la que se validan respuestas ante estímulos neuronales.
Otra forma en la que se han considerado sistemas inteligentes es si estos piensan racionalmente, es decir, si cuentan con las estructuras argumentales suficientes tal que puedan llegar a las conclusiones correctas dado un conjunto de premisas. Estos son los famosos sistemas expertos. Desde el punto de vista de ingeniería suena bastante bien esta definición, pero ¿cómo aprovechar la nueva información producto de la interacción? ¿Cómo se procesa esta nueva información si no hay premisas? ¿Parte de la “inteligencia” no es acaso poder inferir nueva información para expandir lo que sabemos acerca de nuestro contexto? La cuarta vertiente, considera un agente inteligente si actúa racionalmente. En este punto, la definición de un sistema inteligente se hace amplia, pues todos tenemos diferentes conceptos de acciones razonables o límites diferentes, algunos actúan de forma arriesgada, mientras que otros son conservadores. Lo que sí sabemos es que tanto personas como sistemas para actuar racionalmente deben:
Ser capaces de ser autónomos
Ser capaces de percibir el entorno e inferir el contexto
Ser capaces de adaptarse al cambio
Ser capaces de crear e ir tras sus objetivos
De las cuatro vertientes anteriores no existe una que sea estrictamente correcta y las demás categóricamente erróneas. De hecho, ¿por qué no pensar en definiciones mixtas? Creo que la decisión está en cada investigador y desarrollador de sistemas con inteligencia artificial, en los objetivos que quiere lograr con estos sistemas y en las tareas que quiere que sea capaz de realizar. Personalmente, me gusta trabajar bajo la definición de agente que actúa racionalmente puesto que, en el área de Aprendizaje por refuerzo (una técnica reconocida en el campo de la IA) un agente tiene las cuatro capacidades mencionadas anteriormente.
En una ocasión, un profesor preguntaba cómo sabía que el sistema actuaba de forma ética dentro de su capacidad de autonomía. Es una pregunta bastante compleja y dapara otra discusión, pero en principio puedo decir que queda restringida a la ética del desarrollador del sistema, pues es este quien define el objetivo de la tarea y el conjunto de acciones racionales que puede decidir tomar el agente. Algunas personas podrían refutar esto con algunos acontecimientos de discriminación y racismo que han surgido en chatbots o en sistemas basados en lenguaje natural (Schwartz, 2019). Estos sucesos son desafortunados, pero no es que el sistema haya decidido tomar este comportamiento de buenas a primeras. Lo aprendió de los datos, de textos extraídos de tweets y comentarios en redes sociales, lo aprendió de conversaciones en chat con los usuarios, lo aprendió del “raciocinio” de algunos humanos.
Caso de aplicación: robótica social
Uno de los proyectos en los que he venido trabajando con estudiantes de Ingeniería Electrónica de la Universidad es el de robótica social. Este es un campo acción importante porque convergen robótica e IA para un fin único: servir a las personas. Para este propósito es necesario que el robot entienda la forma en la que se comunican las personas, sus intenciones y su contexto, para poder así formar relaciones sociales entre humano-máquina.
De acuerdo con la hoja de ruta para la robótica en Europa (SPARC, 2015), la cual enmarca diversos campos de acción para la robótica en un horizonte hasta 2020, cada habilidad que posee un sistema robótico captura un aspecto específico en su operación y comportamiento. En consecuencia, para cada tipo de robot se deben identificar las habilidades críticas que requiere para su entorno de aplicación.
Para el caso de robots sociales, como Ópera y Nova, su aplicación está enfocada a ser robots de servicio y asistencia en entornos domésticos. Entre las habilidades críticas que deben poseer para poder actuar racionalmente se encuentran:
Interacción humano-robot
Navegación y mapeo en entornos estáticos y dinámicos
Visión por computador y reconocimiento de objetos y personas
Manipulación de objetos
Procesamiento de lenguaje natural
Tomada por: Estudiantes Uniandes de la Alianza SinfonIA
Algunas de estas habilidades están orientadas para permitirle al robot tener una percepción de su entorno. Por ejemplo, el uso de redes neuronales convolucionales como YOLO para detectar objetos, implementación de algoritmos como Viola-Jones para detectar personas, SVMs+Eigenfaces para reconocerlas, incorporación de los servicios de Google Cloud API Speech-To-Text para obtener una transcripción del habla humana, entre otros. Pero estos por sí solos no proveen de inteligencia al robot. Son solo el producto de tratamiento de datos y reconocimiento de características para extraer información del entorno de robot. ¿De qué le sirve al robot saber que al frente tiene a una persona si no sabe la línea temática de la conversación, cuál es su tarea ni que acciones puede tomar?
Figura 1. Arquitectura de agente racional para el caso de estudio del robot social.
¿Cómo puede el robot adaptarse al cambio e ir tras un objetivo? ¿Cómo el robot podría en una ocasión servir como un anfitrión de una reunión en casa y luego como un auxiliar vigilante de biblioteca? Veamos la figura 1. Para que el robot pueda actuar racionalmente en diferentes tareas debemos dotarlo de acciones. En este caso, las acciones corresponden a un conjunto de behaviors que representan tareas básicas que puede realizar el robot, tales como dirigirse a un lugar, identificar una persona, reconocer un lugar basado en sus objetos, etc. Estos behaviors están conformados por estructuras funcionales de tareas de bajo nivel o habilidades básicas. Las secuencias en las que se apliquen dan como resultado la búsqueda de distintos objetivos (Higuera, y otros, 2020). Es en la selección del behavior cuando vemos aterrizada la arquitectura de solución basada en agente racional.
La definición de un sistema inteligente puede estar alineada a cualquiera de las cuatro vertientes. Para el caso del agente que actúa racionalmente, debemos poder identificar cuatro habilidades: autonomía, percepción, adaptación y búsqueda de objetivos. Para el caso del robot social, vemos una clara distinción en lo que es el uso de datos para dotar al robot de la capacidad de percepción, pero por sí sola no implica que sea un agente racional. La toma de decisiones sobre su actuar debe darse bajo dos posibilidades. La primera es que el robot tiene un conjunto posible de acciones o behaviors los cuales combinados en diferentes secuencias permiten responder a tareas distintas. La segunda es que para el robot debe ser posible identificar su contexto y seguir la línea temática de interacción. Esto último aún es un tema abierto.
Trabajos citados
Higuera, C., Rojas, E., Pérez, F., Quintero, C., Rodriguez, S., & SinfonIA Members. (2020). 2020 SinfonIA Pepper Team Description Paper.
Russell, S., & Norvig, P. (2010). Artificial Intelligence A Modern Approach (Tercera ed.). Prentice Hall.
Schwartz, O. (25 de Noviembre de 2019). In 2016, Microsoft’s Racist Chatbot Revealed the Dangers of Online Conversation. IEEE Spectrum.
SPARC. (2015). Robotics 2020 Multi-Annual Roadmap For Robotics in Europe. Obtenido de https://www.eu-robotics.net/cms/upload/downloads/ppp-documents/Multi-Annual_Roadmap2020_ICT-24_Rev_B_full.pdf
Por Carolina Higuera Arias, instructora del departamento de Ingeniería Eléctrica y Electrónica y representante de Uniandes en Alianza SinfonIA
Diseño por: Laura Flescher
Comentarios