lunes, enero 14, 2008

Inteligencia artificial (IA)

Como algunos sabeis, me licencié en [Inteligencia Artificial] (insertar chistes fáciles aqui) y, aunque mi vida laboral no me ha llevado ni cerca de ninguno de los conocimientos que adquirí en la universidad, no he perdido interes en la materia.

El otro dia, en una de esas divagaciones de la mente que te aparta de la vida diaria, me planteé una teoría que, estoy seguro no es ni nueva ni especialmente reveladora.

La inteligencia artificial, como estudio académico, se ha ido subdividiendo en diferentes ramas especializadas como puedan ser el estudio del Lenguaje Natural (como base para el desarrollo de un medio de comunicación ya sea para programación, control, etc.), desarrollo en Visión de Máquina (algoritmos de detección de objetos, seguimiento de lineas, etc.), Algoritmos Genéticos (originalmente pensado como metodo de aprendizaje natural para una posible inteligencia artificial), Lógica y Método científico (como forma de análisis del propio pensamiento humano) y un largo etcétera de materias laterales.

Todos los que conocen de lejos la Inteligencia Artificial (IA) conocen el famoso [Test de Turing], un método inventado por el matemático [Alan Turing] (erigido padre de la inteligencia artificial antes siquiera de que exisiteran los ordenadores como los conocemos hoy). Éste dictaba, a grandes rasgos, que un ordenador podría considerarse inteligente cuando en un intercambio verbal ciego, el examinador fuera incapaz de diferenciar al ordenador de la persona. "Intercambio verbal ciego" basicamente significa hablar mediante teclado y pantalla, sin ver con qué o quién se está hablando.

A lo largo de la historia de la IA han surgido diversos programas que pretendian ser inteligentes. El mas famoso sea quizá el llamado [Eliza]. Personalmente tuve una copia y me costó 10 minutos entender su funcionamiento artificial, pero hubo miles de personas que contaron sus intimidades a este programa. Éste programa fue uno de los que me inició en mi carrera. Se basaba en el modelo de un psicoanalista, respondiendo a todo lo que decias con preguntas generadas a partir de lo que tu le escribieses y algunas respuestas "de lata".

El problema reside en que Eliza no aprende de la información que obtiene. Y ahí empieza mi teoría.

En pocas palabras, el programa debe aprender a hacerse preguntas y aprender d las respuestas que obtiene. Esto es, que para que un programa sea realmente inteligente debe aprender, almacenar la información conceptual que recibe, extrapolar conocimientos propios a partir de esos datos y ser capaz de encontrar las dudas que dicho conocimento plantée. Deberá ser capaz, además, de entender cuándo recibe una respuesta a dicha duda.

Este aprendizaje, naturalmente, no puede limitarse a palabras, sino que debe extenderse a los conceptos que dichas palabras comunican. Ahí es donde realmente radica el problema de generar dicho programa, ya que nadie ha ideado una forma de codificar conceptos en una estructura coherente que sea capaz de contener el caos de la realidad. Todos los intentos quedan en meros subconjuntos ineficaces que describen objetos de una forma limitada, acciones, etc.

Sin embargo tenemos programas capaces de calcular trayectorias de objetos en movimiento teniendo en cuenta todas (o, mejor dicho, muchas de) las variables existentes en un mundo real, como el viento, la densidad del aire, objetos que se interponen, etc.

¿Seremos capaces de sintetizar conceptos como "irritación" explicando todo lo que ello implica? Tambien, claro, similares como "picor" o "sarpullido" y la relación entre esos conceptos. ¿Y qué hay de conceptos mas complejos como los sentimientos? ¿Cómo sintetizar alegría, tristeza, amor, soledad, odio, enfado? ¿Y cómo sintetizar las explicaciones necesarias para pasar de un estado de ánimo a otro?

¿Es todo esto simplemente una cuestión de espacio en memoria almacenada y velocidad de proceso? Las capacidades técnicas actuales en ese aspecto son astronómicamente distintas a cuando empecé la carrera... y "solo" han pasado 14 años.

... Y sin embargo, la investigación en este campo tan apasionante es escasa y mal fundada. Nos dedicamos a desarrollar programas "machacadatos" con interfaces cada vez mas bonitos e intuitivos, pero al fin y al cabo, es lo mismo que hacemos desde siempre...


8 comentarios:

Alberto Aranda dijo...

Por eso en informática da lo mismo estudiar la superior que la técnica de gestión... para acabar metiendo datos en tablas de cualquier empresa...

un abrazo

Mark dijo...

Es lamentable la razón que tienes...

Anónimo dijo...

Dos sugerencias.
- A más cómo menos por qué (Jorge Wagensberg)
- Programación biológica

¿Si no podemos comprendernos, como vamos a crearnos?
El hombre puede generar (parir seres + o - inteligentes) e inducir inteligencia (educar, enseñar, mostrar...) Porque son cosas que hemos llegado a racionalizar.
Hasta que no nos superemos y seamos capaces de comprendernos (en ambos sentidos de la palabra, entender y abarcar) ¿cómo vamos a crearnos?

"El desarrollo del cerebro depende no sólo de la programación biológica, sino también de la experiencia" (Bertenthal y Campos, 1987)
Reproducir un aprendizaje en base a la experiencia es sencillo... mira los buscadores...
¿Pero cómo reproducir algo que ya es inconsciente, que ha llevado siglos de evolución y mutación desracionalizar?
Suerte en tus pesquisas.

Mark dijo...

Si. Tenía un amigo en la uni q insistía q la AI era un mito inalcanzable porque para entender la consciencia había que verla desde un plano fuera de la propia consciencia, lo cual, desde el punto de vista actual es imposible.

Lo q comentas va muy en esa linea.

... Pero me niego a dejarme ganar "asi de fácil"... jejejeje

Anónimo dijo...

Bueno, pues ya puedes ponerte las pilas en biología... ja, ja, ja

http://biblioweb.sindominio.net/memetica/bacterias.html

si no funciona:
http://www.astramat.com/c/bacterias.html

Mark dijo...

Y psicología (incluyendo la avanzada y la de investigación), así como hardware (con lo mal q se me daba la teoría), anatomía, neurocirugía, etc...

No, si ya....

Anónimo dijo...

¿Hardware?...
y la práctica, amigo... y la práctica...

Mark dijo...

Ah, no, la práctica la tenía de PM. Lo fisico de cacharrear siempre se me ha dado bien... pero todas esas horas de ASM38000, cuando en un par de lineas de c++ se podía hacer tánto mas...

Pero lo de controlar un stepper para girar una cámara, etc... todo eso bien.

Un colega y yo decidimos que él controlaba todo el tema motriz y yo me encargaba del cerebro.

... Él consiguió mas éxito que yo con un brazo robótico... Lo mas que conseguí fue una pobre imitación de Eliza... Lamentable...