lunes, abril 03, 2006

Inteligencia Artificial: De secuenciadores de ADN a robots que bailan. (Segunda Parte)

HALEn la segunda parte de este reportaje especial dedicado a la Inteligencia Artificial, echaremos un vistazo a las aplicaciones actuales de esta tecnología.

A finales de los 80 algunos investigadores retomaron una idea propuesta en el año 1943 por Warren McCullough y Walter Pitts, de la Universidad de Illinois. Dicho concepto consistía en construir equivalentes mecánicos de las células del cerebro, las neuronas. Esta idea fue refinada y ampliada a comienzos de los 60 por Marvin Minsky y Seymor Papert, quienes interconectaron dichas células artificiales formando redes simples conocidas como perceptrones.

Estas sencillas redes podían ser entrenadas para reconocer patrones o datos de entrada y encontraron usos en campos como el reconocimiento de imágenes, pero no fueron desarrolladas mucho más por las dificultades que entrañaba expandir el tamaño de las redes para conseguir aplicaciones prácticas reales. Posteriormente, otros investigadores que estudiaban esta misma tecnología, descubrieron que las solución a este problema consistía construir un perceptron formado por múltiples capas, concepto que hoy conocemos como red neuronal.

Las redes neuronales constituyen uno de los grandes éxitos de la investigación en el campo de la Inteligencia Artificial (IA) y hoy día se usan en forma de hardware o software en una gran cantidad de aplicaciones donde se requiere que el sistema posea cierta capacidad de aprendizaje.

El Honda bailarín.

La capacidad de las redes neuronales para aprender tareas complejas, encuentra en las habilidades del robot humanoide Asimo de Honda una buena demostracion práctica. Asimo no sólo es capaz de andar, sino también de bailar e incluso montar en bicileta.

Realizar este tipo de acciones es posible porque las redes neuronales que conectan los sensores de posición y movimiento del robot, y los manejadores que controlan sus músculos mecánicos, son capaces de ser adiestradas para realizar una actividad particular.

La importancia de este tipo de control de movimiento robótico es que resulta virtualmente imposible para ningún programador crear un conjunto de instrucciones detalladas para andar o montar en bicicleta y codificarlas en un programa de control. Dicho de otra forma, es imposible crear un programa de control clásico para que un robot realice acciones tan complejas como andar o montar en bicicleta.

La capacidad de aprendizaje de las redes neuronales supera la necesidad de definir con precisión estas instrucciones. En su lugar el robot es instruido para actuar de un modo particular y es él mismo quien crea su propio conjunto de reglas e instrucciones dentro de su red neuronal. Esta capacidad hace que las redes neuronales sean particularmente interesantes para ser utilizadas en sistemas que tengan la necesidad de adaptarse a entornos cambiantes.

Sin embargo, a pesar de la impresionante capacidad de las redes neuronales para controlar el movimiento del Asimo, las aplicaciones más relevantes de las redes neuronales podemos encontrarlas en objetos de uso cotidiano, como por ejemplo una nueva alarma antiincendio lanzado al mercado por Siemens. Este sistema cuenta con diferentes sensores y una red neuronal para determinar qué combinación de lecturas de los senosres son debidas a un incendio, o simplemente forma parte del ambiente habitual de la habitación. Pensemos que más del 50% de las alarmas de incendios son falsas, la mayoría de ellas son debidas a que los detectores se disparan por actividades corrientes como el calor generado por aparatos eléctricos, y no por un incendio real.

Redes Neuronales.

La red neuronal en el detector de Siemens permite al sistema ser entrenado para reconocer los patrones de temperatura y color y tamaño de las partículas de humo que se encuentra en la estancia en el que está instalado. Otros sistemas llevan estos parámetros preseleccionados de fábrica haciendo imposible una calibración precisa de los mismos.

Así, uno de estos detectores instalado en una fábrica ignorará el polvo y los humos provenientes de los sistemas de escape de las máquinas. Si en lugar de en una fábrica estuviera instalado en un baño ignoraría el vapor. Sin embargo, en ambos casos el sistema reaacionará correctamente y disparará la alarma si encuentra un aumento anormal de la temperatura acompañado de trazas de humo negro.

Esta es tan solo un ejemplo de entre en un enorme número de aplicaciones posibles para los sistemas basados en redes neuronales. De hecho, si tiene una cámara digital, es muy posible que el sistema de autoenfoque esté basado en una red neuronal. En el ejército las redes neuronales están presentes en la práctica totalidad de los sistemas inteligentes de armas y contramedidas electrónicas. También son usados en el equipamiento para la secuenciación de ADN y en sistemas de reconocimiento de voz.

En estos días, donde la necesidad de seguridad ha aumentado, las redes neuronales forman también parte fundamental de casi todos los sistemas de acceso biométricos. Así, las redes neuronales se han convertido en una pieza clave del kit de diseño de todo ingeniero de sistemas.

Todo es cuestión de probabilidad.

Durante los 80, una cosa que quedó bien clara a los investigadores fue que los sistemas de conocimiento nunca producirían el tipo de respuesta inteligente que esperaban mientras usaran lógica convencional. Las decisiones en el mundo real son tomadas en base a probabilidades y no a certezas.

Tratar con la incertidumbre necesitaba usar técnicas de razonamiento estadístico donde se asignara a cada opción una cierta probabilidad. La más popular de estas técnicas matemáticas es conocida como estadística Bayesiana y, cuando se combina con teoría de grafos, proporciona un importante recurso para modelar probabilidades basándose en información cambiante.

Las redes Bayesianas pueden aprender dinámicamente modificando constantemente las probabilidades modeladas usando un conjunto fijo de reglas. Se trata de una técnica muy popular en un amplio conjunto de aplicaciones incluyendo sistemas de diagnóstico y toma de decisiones, data mining, visión artificial, bioinformática y por supuesto, en la robótica.

Por ejemplo, las redes Bayesianas son muy usadas por Amazon y Google como sistema para aprender los gustos y conductas del consumidor. Asimismo, han demostrado su eficacia en la lucha contra el correo basura (spam) analizando continuamente cómo los mensajes son aceptados y rechazados por el usuario y aprendiendo dicho comportamiento. Sin embargo, no todos los sistemas Bayesianos son tan apreciados: el tan poco querido asistente del Microsoft Office en forma de clip también está basado en un sistema de inferencia Bayesiano.

Otro buen ejemplo de como está siendo usada la capacidad de aprendizaje de las redes Bayesianas lo podemos encontrar en su uso por un cada vez mayor número de diseñadores de videojuegos.

Esto permite que el juego aprenda dinámicamente del jugador humano y ser así capaz de anticiparse mejor a sus movimientos. Por poner un ejemplo, Drivatars de Forza Motorsport que fue desarrollado por Microsoft para su programa de carreras de coches para la Xbox, incluye un sofisticado sistema de IA capaz de generar modelos probabilísticos de formas de conducción. Este software no sólo es utilizado para aprender de las técnicas de conducción de los jugadores y reaccionar a ellas, sino que también puede ser usado para crear trazadas para todos los vehículos generados por ordenador aprendiendo de las acciones de un conductor humano en una carrera real.

Agentes Ingeligentes.

Los Agentes Inteligentes son otra forma de software de Inteligencia Artificial que ha encontrado un gran campo de aplicación. Un Agente Inteligente es un pequeño programa autónomo, persistente e inteligente, diseñado para cumplir una misión específica. Pueden usarse agentes para monitorizar eventos en tiempo real o realizar búsquedas en bases de datos, etc. Provistos de capacidad de comunicación, varios de estos agentes pueden ser usados de forma conjunta para solventar problemas inherentemente complejos.

Un área donde se están usando Agentes Inteligentes de forma tremendamente seria es en los mercados financieros. Aquí los sistemas algorítmicos de comercio, que es como se conoce a los Agentes, son usados de forma rutinaria para decidir exáctamente cuándo comprar o vender acciones o bienes. Estos agentes permiten a los gestores de inversión comprar o vender participaciones sin mover el mercado. Esto se consigue compartiendo la tarea de compra o venta entre un gran número de agentes cada uno de los cuales puede monitorizar el mercado y decide exáctamente cuando comprar o vender.

De acuerdo con Richard Balarkas del Credit Suisse First Boston, 'los agentes son muy sofisticados, y trabajan tal como un humano querría hacerlo'. Donde un agente humano analiza tres o cuatro variables antes de comprar o vender, un agente inteligente pude analizar cientos de ellas.

Estos agentes no sólamente liberan a los agentes financieros de una tarea aburrida y repetitiva, sino que son capaces de hacerlo mucho mejor. En el 2001, IBM llevó a cabo una prueba de agentes de comercio para demostrar que cuando se enfrenta agentes reales contra agentes inteligentes, éstos últimos obtienen mejores resultados que sus contrincantes humanos. Los resultados no dejan lugar a dudas, los agentes inteligentes consiguieron de media un 7% más de ingresos.

Desafío en el desierto.

En el año 2004, la Agencia para el Desarrollo de Proyectos Avanzados de Defensa (DARPA), planteó un desafío a investigadores de Inteligencia Artificial para que desarrollaran un vehículo autónomo que pudiera tomar parte en una carrera de 212km contra otros vehículos de características similares en un trayecto que discurría a través de ciertos tramos de desierto de terreno muy difícil y accidentado. El premio para el equipo ganador, aquél cuyo vehículo completara la carrera en el menor lapso de tiempo, era de 2 millones de dólares.

El 8 de Octubre de 2005, 23 vehículos robot tomaron parte en la carrera que les llevó a través de una ruta entre túneles y estrechas pista de montaña para finalizar en Primm, Nevada. Tan solo cinco de los vehículos terminaron la carrera. El ganador, un Volkswagen Tuareg R5 modificado, del equipo del laboratorio de inteligencia artificial de la Universidad de Stanford en California, invirtió tan solo 6 horas y 53 minutos para terminar tan dura prueba.

El vehículo ganador llevaba instalados un conjunto de sensores, varias video cámaras, un radar, acelerómetros, medidores de distancia láser y un sistema de GPS, junto con seis ordenadores y, por supuesto, un avanzado software de Inteligencia Artificial que gobernaba todo el conjunto.

El software había sido entrenado conduciendo el vehículo más de 2000km sobre pistas en el desierto, período durante el cuál los sensores observaron el terreno por el que era conducido el vehículo y de qué forma actuaba el conductor humano para mantener la trayectoria.

Este desafío del DARPA fue impulsado debido a que ya existen planes para usar esta tecnología de vehículos autónomos y software de Inteligencia Artificial en la próxima generación de vehículos militares, así como en una nueva generación de vehículos de exploración planetaria. Además, en este desafío quedó más que demostrado que, a corto plazo, la implantación de sistemas de IA también podría ser muy útil para mejorar la seguridad de nuestros vehículos.

Cuestión de sentido común.

Marvin Minsky, co-fundador del mundialmente famoso Laboratorio de Inteligencia Artificial del MIT declaró recientemente en una ponencia en la Universidad de Boston 'La IA ha estado en coma desde los 70.". Se estaba refiriendo al hecho de que, desde entonces, los investigadores de este campo han estado concentrándose en pequeñas facetas del problema de la inteligencia mecánica en lugar de abordarlo como un todo.

Durante la décado de 1980 los investigadores desarrollaron sistemas expertos que emulaban la destreza humana en áreas bien definidas, como la legislación, o la medicina, y en dichas áreas se ha hecho uso masivo de técnicas de aprendizaje que pueden satisfacer las preguntas de los usuarios, o realizar diagnósticos acertados. Pero, y en esto se basa la crítica de Minsky, estos sistemas son incapaces de aprender conceptos generales que puede comprender hasta un niño de tres años sin ningún esfuerzo. Conceptos tan sencillos como 'el fuego quema' o 'el agua está mojada', no son bien procesado por el software.

Minksy y otros investigadores mantienen que esto es debido a que dichos sistemas no disponen de 'sentido común', y sin embargo, se especializan en un campo de conocimiento muy particular. Un investigador que apoya esta tesis es Duglas Lenat, Jefe Científico del MCC. En 1984, Lenat fundó una compañía llamada Cycorp con el ánimo de codificar, en un formato inteligible para las máquinas, los millones de piezas de conocimiento que comprenden lo que llamamos el sentido común de los humanos.

Se trata de un proyecto de una gran envergadura, pero en opinión de Lenat, 'una vez que dispones de una vasta cantidad de información integrada como conocimiento, el sistema de software humano se convierte en super-humano, en el mismo sentido que la escritura convirtió a la humanidad en super-humanidad comparada con épocas anteriores.'. Hoy, más de 20 años después, el sistema contiene más de tres millones de aserciones acerca del mundo en general.

Sentido común virtual.

El sistema Cyc ya ha demostrado que quizás los investigadores como Lenat y Minsky tuvieran razón acerca de la necesidad de crear un sistema de almacenaje y procesado del sentido común. El sistema demostró su valía mostrando su habilidad para realizar deducciones correctas acerca de cosas que nunca antes había aprendido de forma directa. Sus creadores creen que muy pronto, el sistema podrá comenzar a adquirir y almacenar datos por sí mismo, sin asistencia humana.

Lo más destacable respecto a Cyc no es la cantidad de trabajo que ha sido necesario para crearlo, sino el hecho de que Lenat la ha puesto gratuitamente a disposición púublica a través de la fundación CycFoundation, permitiendo así que los desarrolladores de otros sistemas hagan uso de dicha base de datos de 'sentido común' para mejorar el comportamiento de sus propios sistemas. Esto significa que en breve podríamos ver a Cyc incorporado en una gran variedad de aplicaciones de IA.

Dónde están las máquinas inteligentes?

Entonces, ¿estamos rodeados de máquinas inteligentes, o todavía las estamos esperando? Sí y no.

Por supuesto no estamos rodeados de los robots con cerebro positrónico que imaginaba Asimov en sus novelas, pero las máquinas se están volviendo progresivamente más inteligentes.

Ya disponemos de robots que bailan y montan en bicicleta como el Asimo y existen vehículos capaces de encontrar una ruta hasta su destino a través del desierto de California o en la superficie de Marte. Los ordenadores ya vencen a los campeones del mundo de ajedrez y puntúan muy bien en otros juegos cuando se enfrentan a contrincantes humanos y la Inteligencia Artificial es hoy día usada como un elemento común en gran cantidad de videojuegos.

De hecho, las técnicas de Inteligencia Artificial están siendo utilizadas en casi todas partes, tales como equipamiento electrónico avanzado, telecomunicaciones, Internet, en el ejército, en programas de ordenador, en electrónica de consumo, y en los negocios. Estas técnicas están ayudando a crear máquinas más inteligentes, no suficientemente inteligentes para pasar el test de Turing, pero suficientemente inteligentes para tomar decisiones básicas basándose en lo aprendido a través de la experiencia.

Así, este gran uso de técnicas de IA está ayudando a recuperar el optimismo acerca del futuro de la inteligencia mecánica. Los investigadores, como aquellos involucrados en el sistema de conocimiento del 'sentido común', Cyc, confían cada vez más en las habilidades de sus sistemas. Están comenzando a emerger nuevas aplicaciones que hacen uso de estas tecnologías, y lo que es más importante, las inversiones para investigar en el campo de la Inteligencia Artificial están volviendo a crecer.

Podemos estar asistiendo a un nuevo amanecer en la búsqueda de la inteligencia mecánica.

No hay comentarios: