domingo, 13 de mayo de 2012

Wolfgang Wahlster - Centro Alemán de IA



Las computadoras del futuro no funcionarán como las actuales, sino que apelarán a todos los sentidos. Ya se trabaja en los prototipos, en Alemania.

lunes, 7 de mayo de 2012

Diferencias entre inteligencia artificial y inteligencia humana


Lo que diferencia la inteligencia natural (humana) de la artificial no es tanto su mayor o menor capacidad de superar problemas, etc, sino la capacidad de decisión propia esté o no acertada; puesto que eso con tiempo se puede llegar a solucionar antes o después. Por ejemplo, un ordenador, aunque sea capaz de llevarnos a la luna, no tendrá capacidad de decisión propia hasta que no cuente con unidades de superposición cuántica capaces de decidir por sí mismos entre 0 y 1 dentro de un marco de posibilidades priorizadas que se le hayan suministrado previamente como programas de referencia o lógica, que es lo mismo que hace nuestra inteligencia natural Integral cuando decide entre los programas de inteligencia vegetativa lógica y analógica que tiene a su disposición alojadas respectivamente en la parte izquierda y derecha cerebral.
Sin embargo, la variedad y rapidez de las funciones de una PC llevan a pensar… ¿serán nuestros cerebros inferiores a las máquinas? Si a alguien le hacen esta pregunta y debe responder en una manera impulsiva y rápida, esta podría llegar a decir que las maquinas son más "inteligentes". No sería una respuesta totalmente errónea: hoy en día  las maquinas realizan, por ejemplo, complicadísimos cálculos matemáticos en segundos, buscan información también en segundos. Esto podría provocar que la gente irreflexivamente conteste que las más inteligentes son las máquinas.
Esta repuesta es criticable, y el fundamento es simple: los seres humanos no somos perfectos, es por eso que algo imperfecto no puede hacer algo perfecto. Es cierto que las máquinas, actualmente, son increíblemente inteligentes y pueden hacer cálculos y tareas de suma precisión de una manera rápida y simple que un hombre no podría hacerlo. Pero esas máquinas fueron creadas por hombres, y la capacidad de realizar esas complicadísimas tareas se las dieron hombre. Es decir, la máquina sin el hombre no hace nada. Si los hombres no tuvieran inteligencia, las máquinas tampoco la tendrían. Y, por lo tanto, al darle el hombre su inteligencia, le da sus errores. EL hombre puede realizar sus tareas cuando quiere, como quiere, la cantidad de veces que quiere y a la velocidad que quiere; la máquina no. Esta última necesita que alguien le especifique todas estas cosas al menos una vez. Alguien podría argumentar contra esto que al hombre, cuando es pequeño, también se le debe indicar qué, cómo y cuándo debe hacer determinadas cosas para que después las incorpore. La diferencia entre este último ejemplo y una máquina reside en que esas indicaciones que se le dan al hombre son como una guía, es decir, el hombre las incorpora con las modificaciones que él crea necesarias según su personalidad, su ámbito social, económico, etc. Y estas modificaciones las puede llevar a cabo gracias a qué puede razonar y decidir. En cambio, las máquinas siguen las indicaciones al pie de la letra, porque, obviamente, carecen de la capacidad de razonamiento y elección, no pueden ni siquiera cuestionarse aquella tarea para la que han sido creados.  
Otra diferencia es la variedad de lo que llamamos inteligencia. No es solamente todo aquello que tenga que ver con ciencias de algún tipo. Existe también lo que el llamado inteligencia emocional, es decir ese tipo de inteligencia que abarca las capacidades de reconocer las emociones propias y ajenas. Una maquina no puede determinar el estado de animo de una persona y, además, carece de emociones y sentimientos.

Características de la inteligencia artificial

1.-  Una característica fundamental que distingue a los métodos de Inteligencia Artificial de los métodos numéricos es el uso de símbolos no matemáticos, aunque no es suficiente para distinguirlo completamente. Otros tipos de programas como los compiladores y sistemas de bases de datos, también procesan símbolos y no se considera que usen técnicas de Inteligencia Artificial.


2.-    El comportamiento de los programas no es descrito explícitamente por el algoritmo. La secuencia de pasos seguidos por el programa es influenciado por el problema particular presente. El programa especifica cómo encontrar la secuencia de pasos necesarios para resolver un problema dado (programa declarativo). En contraste con los programas que no son de Inteligencia Artificial, que siguen un algoritmo definido, que especifica, explícitamente, cómo encontrar las variables de salida para cualquier variable dada de entrada (programa de procedimiento).

3.-  Las conclusiones de un programa declarativo no son fijas y son determinadas parcialmente por las conclusiones intermedias alcanzadas durante las consideraciones al problema específico. Los lenguajes orientados al objeto comparten esta propiedad y se han caracterizado por su afinidad con la Inteligencia Artificial.


4.-  El razonamiento basado en el conocimiento, implica que estos programas incorporan factores y relaciones del mundo real y del ámbito del conocimiento en que ellos operan. Al contrario de los programas para propósito específico, como los de contabilidad y cálculos científicos; los programas de Inteligencia Artificial pueden distinguir entre el programa de razonamiento o motor de inferencia y base de conocimientos dándole la capacidad de explicar discrepancias entre ellas.


5.-  Aplicabilidad a datos y problemas mal estructurados, sin las técnicas de Inteligencia Artificial los programas no pueden trabajar con este tipo de problemas. Un ejemplo es la resolución de conflictos en tareas orientadas a metas como en planificación, o el diagnóstico de tareas en un sistema del mundo real: con poca información, con una solución cercana y no necesariamente exacta.



martes, 1 de mayo de 2012

Redes neuronales artificiales (Introducción)

Desde la primera mitad del siglo XX se han empezado a desarrollar modelos computacionales que han intentado emular el comportamiento del cerebro humano . Aunque se han propuesto una gran cantidad de ellos, todos usan una estructura en red en la cual los nodos o neuronas son procesos numéricos que involucran estados de otros nodos según sus uniones. Una clase de estos modelos computacionales son las Redes de Neuronas Artificiales.
Las Redes de Neuronas Artificiales (RNA) se han hecho muy populares debido a la facilidad en su uso (ver Figura 1) e implementación y la habilidad para aproximar cualquier función matemática. Las Redes de Neuronas Artificiales, con su marcada habilidad para obtener resultados de datos complicados e imprecisos, pueden utilizarse para extraer patrones y detectar tramas que son muy difíciles de apreciar por humanos u otras técnicas computacionales.  

\includegraphics[width=.95\linewidth]{imagenes/esquemaRNA.eps}
El primer modelo de neurona artificial fue propuesto por McCulloch y Pitts, donde se modelizaba una estructura y un funcionamiento simplificado de las neuronas del cerebro, considerándolas como dispositivos con n entradas, una única salida y sólo dos estados posibles: activa o inactiva .
Una red era, en ese planteamiento inicial, una colección de neuronas de McCulloch y Pitts, todas sincronizadas, donde las salidas de unas neuronas estaban conectadas a las entradas de otras. Algunos de los planteamientos de McCulloch y Pitts se han mantenido desde 1943 sin modificaciones, otros por el contrario han ido evolucionando, pero todas las formalizaciones matemáticas que se han realizado desde entonces, sobre las Redes de Neuronas Artificiales, aún sin pretender ser una modelización exacta de las redes de neuronas biológicas, sí han resultado un punto de partida útil para el estudio de las mismas.

Una de las definiciones que se estima más certera de Red de Neuronas Artificiales es la siguiente: ``Las redes neuronales son conjuntos de elementos de cálculo simples, usualmente adaptativos, interconectados masivamente en paralelo y con una organización jerárquica que le permite interactuar con algún sistema del mismo modo que lo hace el sistema nervioso biológico''.
Su aprendizaje adaptativo, auto-organización, tolerancia a fallos, operación en tiempo real y fácil inserción dentro de la tecnología existente, han hecho que su utilización se haya extendido en áreas como la biológica, financiera, industrial, medio ambiental, militar, salud, etc. . Están funcionando en aplicaciones que incluyen identificación de procesos, detección de fallos en sistemas de control , modelación de dinámicas no lineales, control de sistemas no lineales y optimización de procesos.

En general, se puede encontrar que una Red de Neuronas Artificiales se suele caracterizar por tres partes fundamentales: la topología de la red, la regla de aprendizaje y el tipo de entrenamiento.
En este afán de emular el cerebro, esto es simular tanto su estructura como su funcionamiento, se han desarrollado numerosos modelos de Redes de Neuronas Artificiales , entre los que se pueden mencionar: Perceptron (1957), Adeline y Madeline (1960), Avalancha (1967), Retropropagación (1974), Hopfield y SOM (1980), ART (1986), etc. De los modelos anteriores se puede apreciar que esta idea tiene más de 40 años, sin embargo, sólo en las últimas décadas se ha desarrollado la tecnología que permita su aplicación de manera eficiente.
Cabe destacar, para concluir esta breve introducción, que las Redes de Neuronas Artificiales, gracias al masivo paralelismo de su estructura, gozan de una serie de ventajas:

  • Aprendizaje adaptativo. Capacidad de aprender a realizar tareas basadas en un entrenamiento o una experiencia inicial.
  • Autoorganización. Una red neuronal puede crear su propia organización o representación de la información que recibe durante la etapa de aprendizaje.
  • Tolerancia a fallos. Gracias a poseer la información distribuída o vía información redundante la destrucción parcial de una red puede conducir a una degradación de su estructura; sin embargo, algunas capacidades de la red se pueden retener, incluso sufriendo daños considerables.
  • Capacidad de generalización. Ante la entrada de datos nuevos es capaz de producir resultados coherentes de acuerdo con la naturaleza del problema para el cual han sido entrenadas.
  • Operación en tiempo real. El cómputo neuronal puede realizarse en paralelo, bien vía software o mediante máquinas especiales para obtener esta ventaja (hardware conexionista o masivamente paralelo).
Pero los sistemas neuronales no están exentos de ciertos inconvenientes. Uno importante es que habitualmente realizan un complejo procesamiento que supone millones de operaciones, por lo que no es posible seguir paso a paso el razonamiento que les ha llevado a extraer sus conclusiones. Sin embargo, en redes pequeñas, mediante simulación o por el estudio de los pesos sinápticos sí es posible saber, al menos, qué variables de las introducidas han sido relevantes para tomar la decisión.


EN ENTRADAS POSTERIORES SE PROFUNDIZARÁ EN EL TEMA.