Agentes Inteligentes en Sistemas (1)

166
Agentes Inteligentes en Sistemas LOS HABITANTES DE LA WEB SEMÁNTICA: AGENTES, AGENTES INTELIGENTES Y AGENTES SEMÁNTICOS Por Miguel Ángel Abián, martes 8 mayo 2007 a las 05:39 :: Web Semántica :: #38 :: rss Como sucede con toda nueva rama del conocimiento, existe bastante confusión en cuanto al vocabulario de las tecnologías semánticas. En este artículo me centro en explicar qué se entiende por agente, agente inteligente y agente semántico, términos que aparecen casi siempre que se habla de la Web semántica. A fin de resaltar las semejanzas y diferencias entre ellos, usaré definiciones y ejemplos. Si consultamos el diccionario de la Real Academia Española, veremos que agente significa "Persona que obra con poder de otra". Si actualizamos un poco la definición ("Programa o máquina que obra con poder de una persona o de otro programa o máquina"), tendremos una primera idea de lo que se entiende por agente en ingeniería. En general, se acepta que un agente es cualquier sistema capaz de percibir cambios en su entorno, de representar de algún modo la información sobre el estado actual de sus objetivos y de actuar sobre su entorno basándose en éstos y en experiencias pasadas. Cuando se consideran entornos virtuales (la Web, intranets, etc.), se habla de agentes de software; en entornos físicos, los agentes pueden ser animales, personas, robots o autómatas. Por ejemplo, el vehículo Mars Pathfinder –que recorrió la aherrumbrada superficie de Marte durante varios meses de 1997– era un agente en un entorno físico bastante agresivo para la vida humana.

Transcript of Agentes Inteligentes en Sistemas (1)

Page 1: Agentes Inteligentes en Sistemas (1)

Agentes Inteligentes en Sistemas

LOS HABITANTES DE LA WEB SEMÁNTICA: AGENTES, AGENTES INTELIGENTES Y AGENTES SEMÁNTICOS

Por Miguel Ángel Abián, martes 8 mayo 2007 a las 05:39 :: Web Semántica :: #38 :: rss

Como sucede con toda nueva rama del conocimiento, existe bastante confusión en cuanto al vocabulario de las tecnologías semánticas. En este artículo me centro en explicar qué se entiende por agente, agente inteligente y agente semántico, términos que aparecen casi siempre que se habla de la Web semántica. A fin de resaltar las semejanzas y diferencias entre ellos, usaré definiciones y ejemplos.

Si consultamos el diccionario de la Real Academia Española, veremos que agente significa "Persona que obra con poder de otra". Si actualizamos un poco la definición ("Programa o máquina que obra con poder de una persona o de otro programa o máquina"), tendremos una primera idea de lo que se entiende por agente en ingeniería.

En general, se acepta que un agente es cualquier sistema capaz de percibir cambios en su entorno, de representar de algún modo la información sobre el estado actual de sus objetivos y de actuar sobre su entorno basándose en éstos y en experiencias pasadas. Cuando se consideran entornos virtuales (la Web, intranets, etc.), se habla de agentes de software; en entornos físicos, los agentes pueden ser animales, personas, robots o autómatas. Por ejemplo, el vehículo Mars Pathfinder –que recorrió la aherrumbrada superficie de Marte durante varios meses de 1997– era un agente en un entorno físico bastante agresivo para la vida humana.

En lo que sigue consideraré únicamente agentes de software, no robots ni autómatas. Según Michael Wooldridge, un agente es un sistema de software capaz de actuar autónoma y

Page 2: Agentes Inteligentes en Sistemas (1)

flexiblemente en un entorno cambiante. Para Gerhard Weiss, un agente es una entidad computacional que percibe y actúa autónomamente en su entorno. Ambas definiciones coinciden en que los agentes gozan de cierta libertad de actuación en su entorno; es decir, no se limitan a efectuar ciertas tareas siempre de la misma forma, sino que tienen sus propias “ideas” sobre cómo alcanzar sus objetivos. Perdóneme el lector o la lectora por personificar a los agentes: les entristece mucho que los traten como programas o subrutinas.

Según Jeffrey Bradshaw, las principales características de los agentes son éstas (no todas son obligatorias y algunas pueden darse en mayor o menor grado):

Persistencia: El código de un agente se ejecuta continuamente, no cuando el usuario lo decide, y decide por sí mismo cuando deje ejecutar alguna acción. Los agentes siempre permanecen activos: se ejecutan en un bucle infinito y observan su entorno, actualizan su estado y determinan qué acciones realizar. Se comportan como buitres (siempre mirando, siempre esperando a que llegue el turno de actuar), pero sin sus siniestras intenciones.

Autonomía: Un agente puede tomar decisiones sin la intervención humana o de otros agentes. Es decir, para cumplir sus objetivos, un agente controla sus propias acciones.

Reactividad: Un agente es capaz de percibir su entorno y mantener un vínculo constante con él, de modo que puede responder adecuadamente a los cambios. Los agentes más reactivos tienen en cuenta la posibilidad de que se produzcan fallos o de que las cosas no vayan como se esperaba.

Proactividad: Un agente no actúa dirigido solamente por los sucesos que se producen en su entorno, sino que también toma iniciativas para lograr sus objetivos. Es decir, los agentes reconocen y utilizan las oportunidades que se les presentan. Las iniciativas pueden proceder de experiencias pasadas, pues los agentes aprenden del pasado.

Habilidad social: Un agente constituye una entidad social integrada en una sociedad, en la cual hay tareas, recursos y papeles que se distribuyen entre los agentes. Algunos objetivos sólo se pueden conseguir mediante la colaboración con otros agentes o con humanos.

Como los agentes son programas, ¿debemos concluir que los programas son también agentes? Para contestar a la pregunta, consideremos un programa conversor de euros a francos suizos. El programa funciona así: cada vez que un usuario ejecuta el programa, éste se conecta por Internet a los mercados de divisas, extrae el tipo de cambio –que fluctúa constantemente– y lo presenta por pantalla. El programa es, en cierto sentido, consciente de su entorno porque devuelve una salida (un tipo de cambio) tras recibir una entrada (la ejecución del programa) y porque se conecta a los mercados de divisas. Sin embargo, no es un agente: su salida actual no afecta a sus futuras salidas; dicho de otro modo, no tiene “memoria” de sus actos ni puede aprender de ellos. Además, el programa carece de persistencia: sólo permanece activo un tiempo muy breve; una vez que devuelve el tipo de cambio, se vuelve inactivo. Vemos, en definitiva, que no todos los programas son agentes.

Muchas personas piensan que los agentes no son más que objetos con algunas funciones añadidas; según ellos "un agente es un objeto que… [aquí añaden sus características

Page 3: Agentes Inteligentes en Sistemas (1)

favoritas]". Otros van más lejos: afirman que la única diferencia entre ellos radica en que "agente" es una palabra de moda, como en su día lo fue "objeto". (Si desea saber más sobre objetos, clases y la programación orientada a objetos, puede consultar http://www.javahispano.org/tutorials.item.action?id=25 y http://www.javahispano.org/tutorials.item.action?id=33). Existen ciertas semejanzas entre objetos y agentes: en primer lugar, se caracterizan por su estado y por su comportamiento; en segundo, se comunican entre sí mediante mensajes.

Con todo, también hay diferencias entre unos y otros. Primera: los objetos no tienen ningún control sobre sus acciones, que están determinadas desde su creación; por el contrario, los agentes las controlan para cumplir sus objetivos. Éstos pueden tener un comportamiento impredecible. Por ejemplo, si se pide a un agente que compre algún CD barato en alguna tienda, cualquier resultado es posible: el agente podría volver con Power, Corruption and Lies de New Order o con un CD de cantos hindúes del siglo V antes de Cristo, o sin nada. A diferencia de los objetos, los agentes pueden decir "no" (es más, algunos gozan con eso).

Segunda diferencia: los agentes gozan de más autonomía y flexibilidad que los objetos, tan esclavos ellos. Como las clases definen los métodos y atributos como públicos o privados, los objetos (instancias de las clases) no pueden cambiar la visibilidad de métodos y atributos. Si el método dispararFlecha de un objeto arcoOlímpico es público, el objeto no puede impedir que otros objetos lo usen. Un agente, en cambio, sí podría impedir que otros agentes usaran su dispararFlecha (volviéndolo privado, p. ej.), siempre que eso favoreciera sus objetivos.

Tercera diferencia: tal como se mencionó antes, los agentes siempre están activos (vigilan su entorno, actualizan su estado y determinan qué acciones son apropiadas); los objetos vienen a ser muertos a tiempo casi completo, porque sólo “viven” (están activos) cuando sus métodos son llamados por otros objetos.

Cuarta y última diferencia: los objetos jamás se equivocan (en todo caso, se equivocan quienes los programan), mientras que los agentes puede tomar decisiones equivocadas e incluso aprender de sus errores pasados. Si un objeto tiene un método calcularIVA que aplica un porcentaje equivocado (14% en lugar de 16%, verbigracia), el objeto nunca aprenderá nada de ese error, pues ya nació –mejor dicho, se instanció– con él.

Page 4: Agentes Inteligentes en Sistemas (1)

Suele usarse el término agente inteligente para referirse a agentes dotados de cierta inteligencia artificial y que, por tanto, gozan de un alto grado de autonomía, reactividad, proactividad y habilidad social. El concepto de inteligencia resulta sumamente escurridizo: algunos investigadores piensan que las máquinas nunca alcanzarán una inteligencia como la humana. En apoyo de esta opinión acude este hecho: el sentido común resulta más difícil de reproducir que cualquier habilidad técnica. Otros investigadores piensan en la inteligencia como un fenómeno emergente (los fenómenos emergentes son propiedades de un sistema complejo que no pueden reducirse a las propiedades de sus partes constituyentes). En consecuencia, piensan que la inteligencia podría alcanzarse, en principio, a partir de partes constituyentes no biológicas. Para no entrar en discusiones que llevan ocupando a los filósofos desde hace siglos, empleo el término inteligencia para denotar la capacidad de adaptarse al medio y de aprender (es decir, descubrir información). Hasta el más escéptico en cuanto a las posibilidades de la inteligencia artificial coincidirá conmigo en que existen ya programas que permiten descubrir información mediante asociaciones y búsqueda de patrones.

Según Barbara Hayes-Roth, los agentes inteligentes realizan continuamente tres funciones: perciben las condiciones cambiantes del entorno; actúan para modificar las condiciones del entorno; y razonan para interpretar percepciones, resolver problemas, extraer inferencias y determinar acciones.

Algunas personas usan agente inteligente como sinónimo de agente, cuando en realidad un agente no tiene por qué tener "inteligencia" (piénsese en un cliente de correo, p. ej.). Otras reservan agente inteligente para los agentes que contienen planificaciones, calendarios,

Page 5: Agentes Inteligentes en Sistemas (1)

reglas, etc. Se suele emplear el término bot (abreviatura de robot) para los agentes que, siguiendo reglas estrictas e invariables, realizan tareas repetitivas: buscar productos, rellenar cuestionarios, mostrar noticias sobre un determinado asunto… Los bots usados por los buscadores de información –Google, Yahoo, MSN Search– para construir sus bases de datos se denominan arañas.

Los agentes inteligentes suelen relacionarse con los sistemas expertos. Un sistema experto es un programa que intenta imitar el comportamiento de un experto en un dominio concreto. Por ejemplo, un sistema experto en medicina podría, a partir de los síntomas del enfermo, emitir diagnósticos. Los agentes difieren de los sistemas expertos en dos aspectos esenciales: primero, éstos no interaccionan con el entorno; segundo, los agentes suelen desarrollarse con la intención de colaborar con otros agentes, mientras que los sistemas expertos no colaboran ni intercambian información entre ellos.

Dar una clasificación completa de los agentes es tarea harto compleja; pues cada autor suele proponer su propia clasificación, a menudo tan discutible como cualquier otra. Los agentes pueden clasificarse según su movilidad (estáticos, dinámicos), según si son deliberativos (contienen modelos simbólicos de su entorno y reglas de razonamiento) o reactivos (no poseen modelos simbólicos de su entorno y, por tanto, actúan siguiendo el esquema estímulo-respuesta), según las tareas que desempeñan, las características que predominan, etc. Hyacinth S. Nwana clasifica así los agentes: agentes colaboradores, agentes de interfaz, agentes móviles, agentes de información, agentes reactivos, agentes híbridos y sistemas heterogéneos de agentes.

Si consideramos como criterio de clasificación las tareas que desempeñan los agentes, existen muchos tipos de agentes. Los más conocidos están vinculados al comercio electrónico: los agentes de compra comparativa se encargan de localizar mercancías al mejor precio posible; los de subasta permiten a los usuarios pujar por una mercancía o bien; los de negociación automatizan los procesos de negociación habituales en las transacciones comerciales. En general, en casi cualquier dominio pueden usarse agentes. Por ejemplo, el proyecto Guardian (http://ksl-web.stanford.edu/projects/guardian/) desarrolló un agente inteligente para monitorizar a los pacientes de las unidades de cuidados intensivos. Este agente permite, entre otras cosas, controlar constantemente el estado de los pacientes, definir los tratamientos y cuidados necesarios a corto y largo plazo, así como diagnosticar posibles enfermedades y complicaciones. Debido a lo delicado de su tarea, el agente reacciona rápidamente a cualquier modificación del estado del paciente.

Los sistemas multiagente son sistemas distribuidos de software formados por un conjunto de agentes autónomos (nodos) que trabajan juntos para resolver problemas. Asignándose tareas unos a otros y colaborando, los agentes pueden solucionar problemas que serían irresolubles para un agente aislado. En un sistema multiagente no hay un control global del sistema ni un lugar donde esté toda la información. La "inteligencia" de un sistema multiagente puede obtenerse de dos maneras. En primer lugar, mediante el uso de agentes inteligentes para el sistema. En segundo lugar, usando agentes reactivos (como expliqué

Page 6: Agentes Inteligentes en Sistemas (1)

antes, son aquellos que reaccionan siguiendo el esquema conductista: estímulo-respuesta). En este caso, la inteligencia colectiva del sistema es un fenómeno emergente.

Las enormes posibilidades de los sistemas multiagente se vislumbran en Robocup Rescue (puede encontrarlo en http://www.rescuesystem.org/robocuprescue/), un sistema multiagente que simula la respuesta de los equipos de rescate a cualquier desastre natural (un terremoto, por ejemplo). La simulación consiste en la reconstrucción fotográfica de un desastre y, luego, en manejar un conjunto de agentes inteligentes (que hacen el papel de víctimas, policías, bomberos, etc.) en ese entorno. El objetivo de Robocup Rescue consiste, por un lado, en reducir al mínimo los daños en el mundo virtual que sufre el desastre; y, por otro, en sacar de la simulación conclusiones que puedan aplicarse en el mundo real a la coordinación de equipos de rescate. La complejidad de Robocup Rescue es ingente, por cuanto maneja situaciones como rescatar personas atrapadas en edificios en ruinas, en llamas o inundados. RoboCup Rescue es también una competición: los participantes construyen sus propios agentes y compiten por reducir al mínimo los efectos de los desastres naturales.

Existen muchas plataformas para crear agentes e interconectarlos: IBM Aglets, ZEUS, JADE (Java Agent Development Framework), ABLE, MadKit, JATLite (Java Agent Template Lite), Grasshopper, AgentBuilder, FIPA-OS, Concordia, Gossip, FarGo, Voyager. Si usted no tiene experiencia en agentes y desea probar alguna plataforma, le recomiendo empezar con AgentBuilder (http://www.agentbuilder.com/Documentation/product.html). Es un conjunto integrado de herramientas que permite desarrollar agentes inteligentes y aplicaciones basadas en ellos, sin necesidad de programar (la versión PRO permite desarrollar también aplicaciones multiagente). Recomiendo esta solución comercial porque me parece una de las más sencillas y rápidas para quien carezca de experiencia en el desarrollo de agentes. JADE y ABLE son más potentes que AgentBuilder, pero también son más complejas de usar.

ZEUS (http://labs.bt.com/projects/agents/zeus/) es una herramienta para desarrollar sistemas multiagente. Es una herramienta educativa y no necesita conocimientos de programación. Tanto las ontologías como los agentes se crean mediante asistentes visuales, como sucede con AgentBuilder. Al final del proceso de creación de los agentes, ZEUS genera código fuente escrito en Java. Como Java es un lenguaje multiplataforma (véase, por ejemplo, http://www.javahispano.org/articles.article.action?id=55), el código compilado puede ejecutarse en las plataformas más habituales (una plataforma es una combinación de hardware y software que permite ejecutar aplicaciones; por ejemplo, Microsoft Windows/Intel x86 es la plataforma más común). En consecuencia, con ZEUS pueden construirse sistemas multiagente donde un agente "viva" (perdón, resida) en un PC con Linux, otro en un Macinstosh con Mac OS X, un tercero en una estación de trabajo UNIX…

Los agentes semánticos son agentes que usan tecnologías de la Web semántica (RDF/RDFS, OWL, ontologías) para cumplir sus objetivos. Puede obtener una descripción de tales tecnologías en http://www.javahispano.org/tutorials.item.action?id=55. Debido a

Page 7: Agentes Inteligentes en Sistemas (1)

que todavía no existe una Web semántica, no hay agentes semánticos que puedan aprovechar sus posibilidades. Existen, sin embargo, agentes semánticos que operan sobre dominios muy específicos (intranets de empresas, por ejemplo); y también hay algunos agentes semánticos que actúan como buscadores de información o como asistentes personales. Por ejemplo, el navegador Amblit Navigator (http://www.amblit.com/products/AmblitNavigator.html) incluye un asistente (Intelligent Personal Agent) al que se le puede enseñar qué desea el usuario y cuándo lo desea.

Este agente admite preguntas como las siguientes: ¿Cuál es la cotización de Endesa? ¿Qué tiempo hará en París la próxima semana? ¿Cuál es el número de teléfono de María Senso Huertas? También se le pueden dar órdenes del tipo "Búscame un mapa de Hannover" o "Averigua dónde puedo encontrar la película Les 400 coups". Para entender miles de sentencias en lenguaje natural, el agente semántico de Amblit se apoya en una ontología y en un software de comprensión del lenguaje natural. Este software "traduce" las preguntas u ordenes en texto libre a conceptos de la ontología (puede encontrar más información sobre ontologías en http://www.wshoy.sidar.org/index.php?2005/12/09/30-ontologias-que-son-y-para-que-sirven).

Para mostrar las posibilidades de los agentes semánticos, considero el siguiente ejemplo: Heliodoro Gómez ha puesto en marcha una tienda de lámparas en su barrio. Se acerca la hora de hacer el primer pago fraccionado del IRPF y no sabé qué impreso usar ni cómo calcular el rendimiento neto empresarial. Preocupado por hacer mal las cosas y recibir luego una simpática carta de Hacienda, Heliodoro ha decidido usar un agente semántico para encontrar un asesor contable y fiscal. Para ello, se conecta a la Web semántica y elige un agente personal que parece fiable.

Page 8: Agentes Inteligentes en Sistemas (1)

Escribe en un cuadro de texto "Busco asesor contable y fiscal (cerca de la calle Arboleda, en Soria). Quiero que sea barato y bueno", y el agente se pone en marcha. Primero obtiene una lista de todos los asesores que están a menos de dos kilómetros de la calle Arboleda; luego, para comprobar la calidad de cada uno, investiga si tienen reclamaciones de clientes, quejas ante los colegios profesionales o denuncias. A continuación, busca los que tienen tarifas bajas. Finalmente, selecciona a dos asesores y se los propone a Heliodoro.

A éste no le gusta ninguno de los dos. Uno no es todo lo barato que Heliodoro desearía, y el otro no puede atenderle hasta dentro de dos semanas (está de viaje de novios). Decepcionado con los resultados, Heliodoro escribe a su agente semántico: "Mira otras opciones". El agente repite el trabajo que había hecho, pero no encuentra más asesores que cumplan las condiciones del usuario. Entonces prepara una lista de los asesores cercanos a la calle Arboleda y de buena reputación, independientemente de que sean caros o baratos; acto seguido, contacta con los agentes semánticos de esos asesores para intentar negociar una reducción de las tarifas que aplican. Sólo uno acepta la reducción. Tras una rápida negociación entre agentes, la reducción se fija en un 20% (con la condición de que el cliente pagará cada trimestre de asesoría por anticipado y al contado).

El agente muestra a Heliodoro los datos del asesor elegido y la tarifa que ha quedado establecida. Heliodoro desconfía de la tarifa, porque le parece demasiado barata, y le pregunta a su agente: ¿Cómo has negociado la tarifa? ¿Cómo sabes que ese asesor es bueno? El agente, dotado de paciencia infinita, le proporciona pruebas de todo (para saber más sobre estas pruebas, puede consultar http://www.wshoy.sidar.org/index.php?2007/01/30/37-la-web-semantica-metadatos-ontologias-logica-y-confianza). Contento por ahorrarse un dinerillo, Heliodoro cierra su agente personal y se levanta del ordenador. Mientras se prepara un café, piensa en la Web semántica: "Es buena idea esto de la nueva Web. ¡Y pensar que hace diez años parecía ciencia-ficción! Hasta me están cayendo simpáticos los bichos esos, los agentes".

Trackbacks

Ningún trackback.

Los trackbacks para esta entrada están cerrados.

Comentarios

El martes 8 mayo 2007 a 09:51, por Gonzalo :: email :: sitio :: #

Felicidades por tu artículo (y ya van...) como siempre, muy completo y didáctico.Espero que dentro de no muchos años, haya muchos "Heliodoros" :)¿Hay ganas y tema para un próximo artículo?

=================================================================0

Agentes inteligentes: definicion y tipologia. Los agentes de informacion

Page 9: Agentes Inteligentes en Sistemas (1)

Por Pedro Hípola y Benjamín Vargas-Quesada

Resumen: La distribución de las fuentes de información online, especialmente a través del WWW, lejos de ser el sueño anhelado por todos, se está convirtiendo en una pesadilla en forma de avalancha de información. Los usuarios inexpertos rara vez consiguen unos resultados satisfactorios de sus consultas, e incluso los expertos suelen cometer errores a la hora de utilizar las herramientas de búsqueda. La solución a los problemas de recuperación, en éste ámbito, puede venir de los agentes inteligentes. El objetivo del presente artículo es presentar, identificar, definir y clasificar los distintos tipos de agentes inteligentes, centrándose en aquellos destinados a la recuperación de información.

Palabras clave: Sistemas expertos, Agentes inteligentes, Agentes de información, Recuperación de información, World Wide Web.

Title: Intelligent agents: definition and categories. Information agents

Abstract: The distribution of online information resources, especially via WWW, far from being the long awaited dream, is turning into a nightmare in the form of an information avalanche. Unskilled users rarely obtain satisfactory results when conducting searches, and even experts tend to commit mistakes when using search tools. The solution to the problems of information retrieval in this area might be found in intelligent information agents. The objective of the this article is to identify, define and classify the different types of intelligent agents, focussing on those used for information retrieval.

Keywords: Expert systems, Intelligent agents, Information agents, Information retrieval, World Wide Web.

La tecnología para producir, almacenar y distribuir grandes cantidades de información es ya un hecho. Por ejemplo, en 1994 el número de páginas web que se podían consultar era aproximadamente 100.000. Dos años más tarde se encontraban disponibles alrededor de 30.000.000, mientras que hoy día existen 133.796.995 URLs en la Red (AltaVista [consulta: 02/02/99]). La demanda de información ha experimentado también un crecimiento espectacular: en 1994 se realizaron 2.000.000 consultas al mes

Page 10: Agentes Inteligentes en Sistemas (1)

(McBryan, 1994), en 1996 (AltaVista) se pasó a 10.000.000 búsquedas diarias, mientras que 1998 la media es de 18.300.000 cada día.

Cuando la recuperación en línea de la información daba sus primeros pasos, los usuarios contaban con un intermediario especialista en realizar búsquedas, a menudo familiarizado con el área de conocimiento que el usuario demandaba. Por medio de una entrevista el intermediario determinaba cuáles eran las necesidades de información de cada individuo, llevaba a cabo las consultas pertinentes y enviaba los resultados. Ahora, sin embargo, millones de personas realizan sus propias consultas en línea desde su trabajo u hogar.

Pero el hecho de suministrar a los usuarios de la Red la capacidad de buscar no es suficiente, puesto que incluso los usuarios expertos necesitan ayuda para realizar búsquedas de forma adecuada.

La tecnología influye en la cantidad y tipo de información disponible, pero debe suministrar también los medios necesarios para hacer un uso efectivo de ésta. Los investigadores deberían desarrollar sistemas que permitiesen al usuario final buscar de forma efectiva. Éste es el objetivo de los agentes inteligentes para la información, independientemente de que se esté buscando en bases de datos referenciales, a texto completo, en una página web, etc.

Qué es un agente

Podemos definir al agente inteligente como una entidad software que, basándose en su propio conocimiento, realiza un conjunto de operaciones destinadas a satisfacer las necesidades de un usuario o de otro programa, bien por iniciativa propia o porque alguno de éstos se lo requiere.

Todos los agentes inteligentes son programas, pero no todos los programas que realizan búsquedas son agentes inteligentes. Los agentes en sí mismos pueden ser considerados como entidades individuales (partes de programa que tienen control sobre sus propias vidas y movimientos). Continuamente están realizando procesos que les indican qué hacer y cómo. Se comunican con otros agentes para resolver de forma adecuada su trabajo.

Page 11: Agentes Inteligentes en Sistemas (1)

De acuerdo con el punto de vista de la inteligencia artificial un agente posee las siguientes propiedades: autonomía, sociabilidad, capacidad de reacción, iniciativa, benevolencia y racionalidad (Wooldridge y Jennings, 1995).

«Un agente inteligente es una entidad software que, basándose en su propio conocimiento, realiza un conjunto de operaciones para satisfacer las necesidades de un usuario o de otro programa, bien por iniciativa propia o porque alguno de éstos se lo requiere»

Últimamente la industria del software, con fines puramente comerciales, nos está mostrando aplicaciones catalogadas como agentes inteligentes que realmente no lo son. Éste es el caso del Ayudante de Microsoft Office (Clippo, Dr. Genio, Ridondo, etc.). Si aplicamos cada una de las propiedades de los agentes inteligentes a este Ayudante veremos que, como mucho, cumple la característica de la sociabilidad. Por tanto realmente no es lo que se enuncia, sino un simple programa que en determinados casos emula el comportamiento de los agentes inteligentes. Esta comparación es una buena forma de distinguir entre un agente inteligente y un programa convencional.

Agentes inteligentes de información

No es necesario que un agente dedicado a la recuperación de información posea todas las propiedades que se han citado, pero sí las que a continuación se describen:

Autonomía: actuar sin ningún tipo de intervención humana directa, y tener control sobre sus propios actos.

Sociabilidad: comunicarse por medio de un lenguaje común con otros agentes, e incluso con los humanos.

Capacidad de reacción: percibir su entorno, y reaccionar para adaptarse a él.

Iniciativa: emprender las acciones para resolver un problema.

Page 12: Agentes Inteligentes en Sistemas (1)

Una vez dicho esto, ya no hablaremos más de agentes inteligentes para la recuperación de la información, sino que simplemente nos referiremos a ellos como agentes de información.

Están diseñados específicamente para procesar consultas, y poseen al menos uno de los siguientes elementos: capacidad de proceso, conocimiento del entorno donde se mueven e información de un dominio.

Un agente tiene capacidad de proceso puesto que puede descomponer una consulta en subconsultas y asociar a los distintos términos resultantes otros términos relacionados o afines. Su conocimiento del entorno le viene dado por su propio conocimiento y por el de otros agentes que se comunican con él (el conocimiento puede ser adquirido: del mismo usuario o de otros agentes con los que se encuentra mientras realiza una tarea determinada; y, una vez finalizado su trabajo: de aquellos lugares que ha visitado, así como de las direcciones de los agentes con los que se ha encontrado). En todo momento debería saber a qué información acceder o a qué otro agente dirigirse para obtenerla. Un agente puede tener también acceso a un dominio y/o información de un modelo, si se asocia con la estructura de éste.

Tipología de agentes y el problema de la distribución de la información

Page 13: Agentes Inteligentes en Sistemas (1)

Cualquier objetivo o problema se puede descomponer en subobjetivos o en subproblemas. Por tanto, cualquier consulta se podrá dividir en subconsultas (o en tantos agentes como subconsultas tenga la consulta) para encontrar las respuestas adecuadas. Los agentes pueden dar respuesta a cada uno de estos subproblemas y, una vez combinados entre sí, ofrecer la respuesta al problema en su conjunto.

Un agente que «sabe» cómo resolver una subconsulta en particular puede tomar la responsabilidad de responderla. Por ejemplo si la consulta es «perros y gatos», y hay un agente en cuyo dominio se encuentra una entrada a la base de datos relacionada con «perros», entonces el agente se ofrecerá para tomar parte en la búsqueda de «perros». Después los resultados obtenidos por separado de «perros» y «gatos» serán conjuntados, filtrados, seleccionados y presentados al usuario.

Agentes cooperativos: para que un agente pueda ser autosuficiente y conocedor del entorno en el que se encuentra, debe coordinarse y cooperar con cada uno de los otros agentes. Existen varias formas para hacer esto.

En un sistema compartido un agente cualquiera descompone la consulta y asigna las subconsultas a otros agentes. Cada uno sabe cuáles son las capacidades y limitaciones del resto. No existe un «agente maestro»; el grupo de agentes recibe las subconsultas, y todos ellos trabajan por igual para encontrar la solución.

En un sistema contractual los agentes siguen teniendo todos el mismo estatus. Sin embargo, el agente que recibe la consulta no asigna las subconsultas al grupo de agentes, sino que las envía a todos ellos para que éstos le indiquen quién puede resolverlas, y de entre ellos selecciona aquellos cuyo dominio sea más adecuado.

Por el contrario, un sistema federado es una estructura jerárquica de agentes controlada por un facilitador o agente principal. Los agentes federados se comunican sólo con su agente principal, el cual conoce las capacidades y limitaciones de cada uno de sus agentes. Una vez recibida la consulta, el facilitador principal se comunica con el resto de facilitadores con el fin de seleccionar los agentes locales más adecuados de cada federación para resolver las subconsultas que permitan resolver la consulta completa (Haverkamp y Gauch, 1998).

«La solución al problema de la distribución de la información se basa en la idea de que cualquier objetivo o problema se puede descomponer en subobjetivos o en subproblemas»

Agentes móviles: es uno de los últimos desarrollos en tecnología de agentes. Se basan en el principio organizador de redes de comunicación entre ordenadores, conocido como Control de Procedimientos Remotos (RPC) y concebido en 1976. Cuando un ordenador cliente de una red (no importa su tamaño) dirige una petición al servidor de ficheros para ejecutar una aplicación, el cliente debe realizar al menos dos comunicaciones: una solicitando la ejecución de un programa determinado, y otra informando al servidor que la operación se ha completado con éxito.

Page 14: Agentes Inteligentes en Sistemas (1)

La alternativa a este procedimiento es la Programación Remota (RP), consistente en acordar por adelantado qué tareas pueden realizar los clientes sin ningún tipo de verificación ni confirmación por parte de los servidores. De esta forma un cliente enviaría una instrucción al servidor de ficheros, y una vez allí ejecutará un programa en concreto. Este procedimiento (remoto) que es una orden realizada por el cliente pero ejecutada en el servidor (local) recibe el nombre de operación o instrucción móvil, haciendo hincapié en que se trata de una orden remota que se ejecuta localmente.

Los últimos estudios relacionados con la programación remota se centran en el uso del lenguaje Java (Arnold y Gosling, 1998).

Un agente móvil puede suspender el proceso que esté realizando, transportarse a sí mismo por medio de la Red y reanudar la ejecución del proceso que estaba llevando a cabo donde estime oportuno. Esta capacidad le permite al agente seleccionar la información recuperada antes de enviarla por la Red, lo que evita la transferencia de grandes cantidades de información que podría ser inútil.

Un agente puede tener, por ejemplo, las siguientes órdenes: ejecutar en un determinado servidor de ficheros una base de datos para luego almacenar la consulta bibliográfica que le ha encargado su usuario. Si por algún motivo la consulta es rechazada, o el lugar en el que debe realizar dicha consulta ha cambiado de emplazamiento, o simplemente ha desaparecido, el agente suspenderá la ejecución del programa de base de datos mientras localiza el URL adecuado, o busca otro que pueda satisfacer sus necesidades. Una vez solucionado este pequeño problema, repetirá de nuevo la consulta y volverá al servidor de ficheros para reanudar su tarea donde la dejó.

«Un agente de información necesita un campo de cobertura no muy amplio que le permita interactuar perfectamente con el medio en que se desarrolla»

El hecho de que un agente pueda deambular por la Red ejecutando procesos según le parezca, plantea un par de problemas. Uno es que el lenguaje creado para diseñar la arquitectura de un agente móvil debe ser independiente. Se sugieren lenguajes tales como Java, Perl (conocido en su primera versión como Practical extraction and report language) o Kqml (Knowledge, query and manipulation language).

El otro es la seguridad. Imagínese el estado de nervios que puede tener el administrador de un sistema, sabiendo que en su red puede haber agentes móviles circulando libremente y ejecutando tareas a su antojo y sin restricciones. Una forma de prevenir esto es utilizar pasillos de seguridad destinados a soportar y restringir las idas y venidas de los agentes móviles. En cualquier caso es necesario imponer límite al número de agentes móviles con permiso para ejecutar tareas dentro de un sistema local.

Un ejemplo bastante ilustrativo (teórico) de este tipo de agentes lo podemos encontrar en:

http://www.genmagic.com/technology/techwhitepaper.html

Page 15: Agentes Inteligentes en Sistemas (1)

Independientemente del tipo de cooperación o coordinación que se elija, los agentes deben poder comunicarse entre sí. Hay dos formas de realizar esta comunicación: directa, como en el caso de los sistemas compartidos o las redes contractuales, o indirecta, caso de los sistemas federados.

«Los agentes de información tienden a hacer transparente la complejidad de la información almacenada en la Red»

La comunicación directa tiene el inconveniente de que representa un alto coste económico y una mayor complejidad en la implementación. Por ejemplo, en un sistema con 10.000 agentes, cada vez que un elemento del grupo emite un mensaje, éste debe llegar a los 9.999 restantes, con la sobrecarga y gasto de recursos que esto supone. Si estos 10.000 agentes estuviesen divididos en 100 federaciones de 100 agentes cada una, sólo habría que enviar 999 mensajes (a los facilitadores de cada grupo). Si a esto añadimos que sólo unos pocos agentes locales de cada federación serán los encargados de recibir los mensajes de sus facilitadores, podemos deducir que la comunicación se reduce casi en un 90% con respecto al primer modelo.

Otro procedimiento de comunicación que a menudo utilizan los agentes es el de los tablones de anuncios. Consiste en una serie de recursos (memoria) que el servidor pone a disposición del grupo de agentes que soporta, para que éstos puedan comunicarse e interactuar.

En lugar de que un mensaje se transmita de un agente a otro, éste es colocado en un tablón de anuncios, el cual es supervisado por todos los agentes encargados de resolver las subconsultas o de procesarlas. Los resultados de los procesos se colocan en el tablón para que todos los agentes puedan verlos, hasta que se encuentra la solución a la consulta. Por establecer una similitud, podríamos decir que esto sería parecido a una habitación con mucha gente trabajando para resolver el mismo problema, pero donde está prohibido hablar. Cuando alguien necesita información, o encuentra la solución a una parte del problema, el/ella lo coloca en el tablón de anuncios para que el resto de las personas lo pueda ver y decidir si pueden suministrar la información que se pide, o tomar esa solución parcial del problema para resolver otra parte del mismo, o su totalidad.

Un agente de información necesita una especialización, es decir, requiere un campo de cobertura no muy amplio que le permita interactuar perfectamente con el medio en que se desarrolla, y que a su vez le ofrezca la posibilidad de no aumentar su base de conocimiento hasta límites infinitos, pues de ser así se verá afectado en su capacidad de movimiento y en el tiempo de respuesta.

Interfaces inteligentes de usuario

Su objetivo es llevar a cabo búsquedas conceptuales más que localizar simples cadenas de caracteres. Cuando un usuario hace una consulta, la interfaz recoge los términos de ésta como algo representativo de la materia en la que se está interesado. Posteriormente, y a partir de su base de conocimiento, realiza una consulta expandida. Es decir, partiendo de los términos suministrados por el usuario, se añaden otros relacionados con el mismo

Page 16: Agentes Inteligentes en Sistemas (1)

concepto, realizando así una consulta mucho más completa que la que en un principio se pretendía hacer. Por ejemplo la consulta «perro» puede ser expandida a «perro o can o sabueso».

«Los ShopBots son agentes de compra que se dedican a comparar las características y precios de los distintos productos que ofrecen las tiendas en línea»

Se han desarrollado algunos sistemas expertos que expanden de forma automática las consultas de los usuarios con la ayuda de un tesauro o base de conocimiento, en donde se almacenan las palabras relacionadas. Estos sistemas incorporan estrategias de búsqueda aprendidas de buscadores humanos expertos, estrategias que a su vez pueden personalizarse para un dominio en particular como tratamiento del cáncer (Pollitt, 1987), o estudio de la polución (Smith, 1989), o para cualquier otro dominio, en función de la base de conocimiento que se utilice (Gauch y Smith, 1993). Un ejemplo de este tipo de agente es Alexa:

http://www.alexa.com

Agentes de búsqueda inteligentes

En un principio, los sistemas expertos fueron diseñados para ejecutar consultas en una sola e independiente base de datos. La aparición de internet ha propiciado el surgimiento de miles de bases de datos almacenadas en diferentes direcciones. Obviamente no tiene ningún sentido recopilar todas las bases de datos existentes en la Red y almacenarlas en una única dirección, con los problemas de espacio y coste que esto significaría cada vez que un usuario decidiese realizar una consulta. Pero tampoco tiene mucho sentido que un usuario vaya de web en web buscando en cada una de las bases de datos.

La distribución de la información conduce a la necesidad de crear un sistema descentralizado de recuperación de información, que estará basado en agentes inteligentes, los cuales podrán localizar, recuperar y almacenar las preguntas en un «resultado» para un usuario en concreto.

Pero los agentes de información no sólo son útiles para la recuperación de información en bases de datos. Hoy día han evolucionado y se utilizan para realizar búsquedas de información textual en artículos de revistas electrónicas o en las páginas web. Independientemente del tipo de información que se quiera localizar, los agentes de búsqueda pueden diferenciarse por la entidad o persona para la que trabajan: usuarios y/o consultas y/o bases de datos. También se pueden distinguir por su forma de interactuar, es decir, si se relacionan libremente todos los agentes para resolver las consultas, o sólo son unos pocos agentes los que se relacionan entre sí (mediadores o principales).

«La integración es un problema para los sistemas de agentes de información»

Agentes de consulta: un sistema de agentes orientados a consulta origina uno o más agentes en respuesta a la pregunta formulada por un usuario. Estos agentes trabajan en

Page 17: Agentes Inteligentes en Sistemas (1)

representación del individuo mientras dura la consulta, recogiendo información de todas las bases de datos disponibles.

Cuando una persona realiza una pregunta, ésta se descompondrá en subconsultas para su resolución. Si los agentes existentes son incapaces de dar una respuesta en toda su amplitud, se generan nuevos agentes que buscarán en otras bases de datos. Si aún así la respuesta no es lo suficientemente amplia, se crearán nuevos agentes hasta poder ofrecer la respuesta adecuada.

Mata Hari no es sólo un agente de consulta. Es también un agente inteligente de búsqueda en el WWW y un agente local a la vez. Funcionará de una forma u otra dependiendo de la utilidad que cada usuario le desee asignar.

http://www.thewebtools.com

«La industria del software, con fines puramente comerciales, nos está presentando aplicaciones catalogadas como agentes inteligentes que realmente no lo son»

Agentes de bases de datos: en el tipo de arquitectura anterior las bases de datos son depósitos pasivos de información; por contra, en este sistema pasan a ser agentes activos que interactúan entre sí. Cada base de datos dispone de un agente que sabe cómo presentar de forma adecuada las subconsultas a su base de datos, conociendo a su vez el tipo de información que se almacena en ella. Los agentes de bases de datos están organizados en un sistema federado, teniendo mucha información de otros agentes que componen el mismo sistema, pero muy poca de aquellos que están en otras federaciones.

Cuando el agente primario (o facilitador) recibe una consulta, asigna las subconsultas a aquellos agentes de su propia federación que él sabe que las satisfarán de forma adecuada. Si alguna subconsulta no puede ser respondida, el agente primario la enviará a otras federaciones, se comunicará con sus agentes primarios y decidirán a qué agente encargársela para que la resuelva.

Page 18: Agentes Inteligentes en Sistemas (1)

Un ejemplo de este tipo de agente lo podemos encontrar en:

http://www.clientelle.net

Se trata de un gestor de billetes de avión con cobertura mundial.

Agentes de consulta de bases de datos: las bdd y las consultas pueden ambas tener sus propios agentes con el fin de proporcionar las respuestas más adecuadas al usuario. Forman una estructura jerárquica en donde los agentes de consulta poseen información de las materias almacenadas en cada base de datos.

Cuando los agentes de consulta reciben una pregunta por parte del usuario, éstos determinan qué base o bases de datos contienen esa información y se la entregan a los agentes primarios de cada una de ellas, siguiendo el método de «lo menos costoso».

Por ejemplo, si una consulta consta de dos términos y hay una base de datos que posee información sobre uno de ellos, mientras que en otra se recoge información sobre los dos, los agentes de búsqueda siempre preferirán la segunda, puesto que implica menos trabajo y por tanto menos costo. Una vez que los agentes de bases de datos han recibido la consulta, éstos la descompondrán en subconsultas y seleccionarán a los agentes de su federación para que las resuelvan. Si los términos de búsqueda no se encuentran en la misma base de datos, distribuirán la consulta en tantas como sea necesario para resolverla.

http://www.aft.pfc.forestry.ca/Seidam_Documentation/Systems_Guide/DatabaseQueries.html

En esta dirección se nos ofrece una completa guía de referencia ilustrada sobre el funcionamiento de Seidam, un agente de consulta para sistemas que dan soporte a SQL (Structured query language).

Agentes mediadores de consulta de bases de datos: un sistema mediador está basado en el modelo descrito anteriormente, pero incluye la novedad de contar con un agente mediador entre el agente de consulta y el de base de datos. El proyecto quizá más relevante de este tipo es Macron (Multi-agent architecture for cooperative retrieval online), de 1995 (Decker).

«Estos sistemas incorporan estrategias de búsqueda aprendidas de buscadores humanos expertos»

En este sistema los agentes utilizan información de internet (grupos de trabajo, archivos, bases de datos de revistas, sitios web, etc.). Su arquitectura es doble. Por una parte cuenta con una estructura organizacional que usa agentes de razonamiento, agentes de recuperación en red de bajo nivel y agentes de interfaz de usuario. Por otra parte tiene una estructura funcional con unidades tipo pregunta/respuesta conformada por agentes individuales y un facilitador.

Page 19: Agentes Inteligentes en Sistemas (1)

La primera arquitectura proporciona el acceso a las fuentes de información (grupos de trabajo, archivos...), mientras que la segunda se encarga de procesar las preguntas de los usuarios. En esta estructura el agente gestor de consultas será el encargado de diseñar el sistema de recuperación de información y de suministrar a los agentes de tipo funcional un agente facilitador para la correcta resolución de las subconsultas.

Agentes de usuario: los agentes orientados a usuario están asociados a una persona en concreto. A diferencia de los agentes de consulta, que se generan cada vez que tienen que realizar una consulta para un individuo, los agentes de usuario siempre están activos, buscando información y suministrándosela a su creador.

«Un agente de información posee las propiedades: autonomía, sociabilidad, capacidad de reacción e iniciativa»

Los agentes de consulta son útiles para recuperar información donde las fuentes son relativamente estáticas y la información que se busca es dinámica. Por el contrario, los agentes de usuario son más efectivos cuando se trata de recuperar información que es relativamente constante, pero cuyas fuentes son dinámicas. Los agentes de usuario pueden ser utilizados para recuperar información de bases de datos, de revistas electrónicas, o incluso de los mensajes e-mail. Su objetivo es disminuir el trabajo necesario en la recuperación de la información. En definitiva, hacer la vida de «su propietario» más fácil.

Los agentes de usuario pueden aprender a recuperar información de una forma más pertinente y relevante mediante realimentación positiva o negativa. Cuando el agente presenta al usuario los documentos recuperados, éste podrá indicar si está, o no, contento con un grupo determinado de ellos. También es posible realizar el aprendizaje a través de algoritmos genéticos, donde el agente no es más que un conjunto de perfiles. En función de las respuestas, la idoneidad de los perfiles aumentará o disminuirá.

http://microsoftsoft.miningco.com/library/weekly/aa031797.htm

Aquí se puede ver cómo funciona un agente de usuario. Además se ofrece la posibilidad de obtener una licencia para utilizarlo, tras descargarlo e instalarlo.

Otra posibilidad es utilizar BullsEye, que al igual que el anterior podemos descargarlo e instalarlo en nuestro equipo. No se trata sólo de un agente, sino que en su conjunto son múltiples agentes al servicio de un mismo usuario.

http://www.intelliseek.com

Agentes de búsqueda inteligentes para el web

Tienen la capacidad de hacer transparente la complejidad de la información almacenada en la Red, filtrando la información disponible sobre la materia requerida. Las consultas pueden ser textuales (productos en concreto, información sobre viajes, etc.) o por las distintas partes (título, cuerpo...) en que el world wide web se representa hoy día.

Page 20: Agentes Inteligentes en Sistemas (1)

Desgraciadamente la investigación sobre los agentes de búsqueda en la Red aún está en pañales. Lo que a continuación se expone es una serie de aplicaciones cuya cobertura va desde interfaces generales hasta agentes de compra.

Interfaces web: el usuario puede realizar la consulta en lenguaje natural (alto nivel), pero el agente de interfaz crea una memoria intermedia entre el usuario y elweb, para transformar dicha consulta a bajo nivel.

Un ejemplo de agente de interfaz web es Softbot (Etzioni y Weld, 1995). Se diferencia de anteriores sistemas, destinados a ayudar al usuario en la búsqueda y en la recuperación de información, en que acepta preguntas de alto nivel por parte del usuario, y es él quien decide qué procesos de descomposición y consulta realizar para satisfacer adecuadamente la petición. Gestiona servicios de información estructurada tales como servidores meteorológicos, de bolsa, e incluso puede monitorizar hechos o acontecimientos y enviarlos al usuario de forma autónoma. Posee la capacidad de moverse en la Red, comprimir, cambiar protecciones e incluso almacenar ficheros en formatos distintos y acceder a bases de datos remotas para obtener información.

«Softbot es altamente autónomo, reactivo y con una gran capacidad de iniciativa»

Se puede decir que Softbot es un gestor de consulta parecido a un gestor de tareas programadas, un planificador que consigue realizar su trabajo con información incompleta, un sistema de gestión que almacena todos los conocimientos que va adquiriendo, y un modelo de dominio de internet con información codificada de las acciones permitidas en internet. Es altamente autónomo, reactivo y con una gran capacidad de iniciativa. Sus creadores pronostican que las páginas WWW se convertirán en entidades totalmente transparentes a las que se accederá por medio de agentes intermediarios como éste.

Podemos ver las distintas versiones de Softbot que existen actualmente, e incluso «bajarnos» las que queramos. Sólo hay un pequeño problema: necesitamos un sistema operativo Unix para hacerlas funcionar:

http://members.xoom.com/alexco9/sftp.htm

Page 21: Agentes Inteligentes en Sistemas (1)

Compradores web: la aparición de la compra en línea ha propiciado el crecimiento de los sitios web que se dedican a la venta. Se necesitaría una gran inversión en tiempo (y en dinero, al precio que se han puesto las telecomunicaciones) para visitar cada una de las tiendas en línea y encontrar el mejor precio de un producto concreto. Si un grupo de agentes pudiese realizar esta tarea, el resultado supondría un ahorro significativo para el comprador. ShopBot es un agente de compra que se dedica a comparar las características y precios de los distintos productos que ofrecen las tiendas en línea (Doorenbos, Etzioni y Weld, 1996).

Actualmente, bajo este concepto se agrupa una gran variedad de agentes de internet especializados en un determinado tipo de productos. Existe un directorio de los mejores robots del año (compra, seguimiento de programas, robots de chat...):

http://www.botspot.com/main.html

Los ShopBots utilizan una combinación de búsquedas heurísticas, modelos de coincidencia y técnicas de aprendizaje inductivo, que les permiten extraer la información de los vendedores en línea. Posteriormente la compara entre sí y se la presenta al usuario.

«Darpa está trabajando en estándares que permitan la comunicación y la transferencia de conocimientos entre agentes: Kqml y Kif»

En la fase de aprendizaje, los ShopBots analizan el sitio de cada vendedor para obtener una descripción de su página. Esta tarea se realiza sólo una vez por tienda en línea, lo que implica una falta de actualización en caso de que el vendedor modifique o cambie por completo el formato de su página.

Page 22: Agentes Inteligentes en Sistemas (1)

Equipado con una batería de URLs de la página principal de los distintos vendedores, así como con una descripción de las características que se pueden utilizar para distinguir los diferentes tipos de productos y sus variantes (nombre, fabricante, precio, etc.), el agente es capaz de encontrar y determinar los elementos requeridos, mostrándoselos al usuario por los siguientes criterios para que éste decida: adecuación a la consulta original, presencia del precio del producto e inclusión de características del mismo en la descripción. En teoría, el objeto de compra más adecuado será el que aparezca en primer lugar.

ShopBot trabaja sólo con textos en html. Si un vendedor incorpora gráficos o utiliza Java, no será incluido en su lista de proveedores. Es más, su cobertura está limitada sólo a aquellos que suministren un índice de sus productos. Se está intentado salvar este inconveniente para un futuro cercano.

Es posible obtener una copia de Shopbot, así como herramientas de todo tipo para personalizarlo (en función de los productos que deseemos adquirir y de los proveedores disponibles), así como los requerimientos hardware y software necesarios para que nuestro agente de compra funcione perfectamente.

http://www.shopbottools.com/faq.htm

Conclusión

La aparición de una serie de agentes que puedan consultar y recuperar la información por nosotros es atractiva a la vez que sorprendente. Sin embargo, el sistema de trabajo de estos agentes, unido a su reducida cobertura, hacen imposible que, hoy por hoy, puedan ocuparse de un área tan extensa como es internet.

La integración es un problema para los sistemas de agentes de información. ¿Cómo crear y mantener un agente en cada una de las bases de datos de la Red? ¿Cómo utilizar agentes

Page 23: Agentes Inteligentes en Sistemas (1)

personalizados para cada usuario y asegurar una buena intercomunicación entre ellos? Las respuestas a estas preguntas parecen, de momento, insalvables mientras los webs continúen realizándose en html y sigan manteniendo su actual estructura de información.

«Es necesario abandonar el poco operativo, aunque fácil, lenguaje html para la construcción de páginas web y adoptar xml»

En la situación actual, un agente autónomo de información deberá estar saltando constantemente de página en página para satisfacer la consulta que se le ha encargado, pues le resultará imposible comunicarse con otros agentes que se pueda encontrar en la Red. Igual ocurrirá con un multiagente de consulta si no consigue dar una respuesta con la información contenida en su dominio, pues deberá generar agentes que vayan de web en web hasta que se pueda responder a dicha consulta.

Darpa (Defense Advanced Research Project Agency) está trabajando en una serie de estándares que permitan la comunicación y la transferencia de conocimientos entre agentes: Kqml, que hace posible la comunicación entre agentes, y Kif (Knowledge interchange format), que permite el intercambio de conocimiento en distintos tipos de formato. El objetivo de estos proyectos es dar respuesta a las preguntas anteriormente expuestas, pero para poder conseguir una verdadera solución es necesario además abandonar el poco operativo, aunque fácil lenguaje html, para la construcción de páginas web y adoptar xml.

El desarrollo de los agentes para la recuperación de la información es muy deseable. No sólo por el hecho de que exista demasiada información disponible en la Red para una persona que desee realizar una consulta, sino porque es mucho más fácil encargar ésta a un agente y dejar que él realice el trabajo por nosotros, a la vez que nos evita la pérdida de tiempo y el tedio de ir pasando de conexión en conexión.

Bibliografía

4th ACM Conference on intelligent user interfaces. 1998.

http://www.afit.af.mil/workshops/iui.html

Agent-based information retrieval. 1998.

http://www.cs.umbc.edu/abir/#metadata

Bargainbot, 1998.

http://www.ece.curtin.edu.au/~saounb/bargainbot

Internet.com LLC. 1998.

http://www.botspot.com/main.html

Page 24: Agentes Inteligentes en Sistemas (1)

Bradley, Phil. «Intelligent agents on the web». En: Managing information, 1999, n. 6, pp. 35-41.

Coult, Graham. «Intelligent agents». En: Managing information, 1999, n. 6, pp. 33-34.

Decker, K. [et al.]. «Macron: an architecture for multi-agent cooperative information gathering». En: Proceedings of the Cikm workshop on intelligent information agents. Baltimore, 1995.

Doorembos, B.; Etzioni, O. y Weld, D. A scalable comparison-shopping agent for the world wide web. Washington, 1996.

Etzioni, O.; Weld, D. Intelligent agent on the internet: fact, fiction and forecast. 1995.

Finin, Tim [et al.]. Kqml - A language and protocol for knowledge and information exchange.

http://www.cs.umbc.edu/kqml/papers/kbkshtml/kbks.html

Foner, Lenny. What’s an agent?

http://foner.www.media.mit.edu/people/foner/agents.html

Foner, Lenny. What’s an agent, anyway?

http://foner.www.media.mit.edu/people/foner/Julia/Julia.html

Foundation for Intelligent Physical Agents. Agent definition

http://drogo.cselt.stet.it/fipa/fipa_rationale.htm

Franklin, Stan y Graesser, Art. Introduction to agent concepts

http://www.agent-software.com.au/agents.html

Franklin, Stan y Graesser, Art. Is it an agent, or just a program?

http://www.msci.memphis.edu/~franklin/AgentProg.html

Gadomski, Adam Maria. Agents and intelligence.

http://wwwerg.casaccia.enea.it/ing/tispi/gadomski/gad-agen.html

Gauch, S. y Smith, J. B. «An expert system for information retrieval». En: Journal of the American Society for Information Science, 1993, n. 44, pp. 124-136.

Page 25: Agentes Inteligentes en Sistemas (1)

Gnsi Inc. Clientelle. 1998.

http://www.clientelle.net

Haverkamp, Donna S. y Gauch, Susan. «Intelligent information agents: review and challenges for distributed information sources». En: Journal of the American Society for Information Science, 1998, n. 49, pp. 304-310.

Hebrew University. What is an agent? 1999.

http://www.cs.huji.ac.il/labs/dai/wkshp/defag.html

Knoblock, C. y Arens Y. Hsu, C. N. «Cooperating agents for information retrieval». En: Proceedings of the Second International Conference on Cooperative Information Retrieval, 1994.

Lanier, Jaron. Agents of alienation

http://www.well.com/user/jaron/agentalien.html

Laskari, Yezdi; Metral, Max y Maes, Pattie. Collaborative interface agents.

http://agents.www.media.mit.edu/groups/agents/publications/aaai-ymp/aaai.html

Maes, Pattie. Agents that reduce work and information overload.

http://pattie.www.media.mit.edu/people/pattie/CACM-94/CACM-94.p1.html

Maes, Pattie. Long tutorial notes on software agents.

http://pattie.www.media.mit.edu/people/pattie/CHI97

Mark, C. Software agents, what are they?

http://www.geocities.com/ResearchTriangle/Thinktank/4633/Agents_definition.html

Microsoft Corporation. Microsoft agents. 1999.

http://microsoftsoft.miningco.com/library/weekly/aa031797.htm

Miller, Damien. Three types of intelligent agents, their uses, and their future. 1998.

http://www.netscapeworld.com/netscapeworld/nw-11-1996/nw-11-agents.html

Mobile agents: white paper at general magic. 1998.

Page 26: Agentes Inteligentes en Sistemas (1)

http://www.genmagic.com/technology/techwhitepaper.html

Petrie, Charles. Agent-based engineering, the web, and intelligence.

http://cdr.stanford.edu/NextLink/Expert.html

Pollitt, A. S. «Cansearch: an expert system approach to document retrieval». En: Information Processing and Management, 1987, v. 23, n. 2, pp. 119-136.

Research on Mobile Computing at Purdue. 1998.

http://www.cs.purdue.edu/research/cse/mobile

Seidam Documentation. Seidam. 1998.

http://www.aft.pfc.forestry.ca/Seidam_Documentation/Systems_Guide/DatabaseQueries.html

Smith, P. J. [et al.]. «Knowledge based search tactics for an intelligent intermediary system». En: ACM Transactions of Information Systems, 1996, v. 7, n. 3, pp. 246-270.

Stone, P. y Veloso, M. Why multiagent systems? 1996.

http://www.cs.cmu.edu/afs/cs/usr/pstone/public/papers/96ieee-survey/node5.html

Wooldridge, M. y Jennings, N. R. Intelligent agents: theory and practice.

http://pattie.www.media.mit.edu/people/pattie/CHI97/sld001.htm

 

Pedro Hípola

Benjamín Vargas-Quesada

Universidad de Granada, Departamento de Biblioteconomía y Documentación. Campus universitario Cartuja. 18071 Granada.

 

[email protected]

[email protected]

Enlace del artículo:http://www.elprofesionaldelainformacion.com/contenidos/1999/abril/agentes_inteligentes_definicion_y_tipologia_los_agentes_de_informacion.html

Page 27: Agentes Inteligentes en Sistemas (1)

======================================

Agente inteligente (inteligencia artificial)De Wikipedia, la enciclopedia libre

Saltar a navegación, búsqueda

Agente Inteligente Simple.

Un agente inteligente, es una entidad capaz de percibir su entorno, procesar tales percepciones y responder o actuar en su entorno de manera racional, es decir, de manera correcta y tendiendo a maximizar un resultado esperado.

En este contexto la racionalidad es la característica que posee una elección de ser correcta, más específicamente, de tender a maximizar un resultado esperado. Este concepto de racionalidad es más general y por ello más adecuado que inteligencia (la cual sugiere entendimiento) para describir el comportamiento de los agentes inteligentes. Por este motivo es mayor el consenso en llamarlos agentes racionales.

Un agente inteligente puede ser una entidad física o virtual. Si bien el término agente racional se refiere a agentes artificiales en el campo de la Inteligencia Artificial, también puede considerarse agentes racionales a los animales incluido el hombre.

Los agentes inteligentes se describen esquemáticamente como un sistema funcional abstracto. Por esta razón, los agentes inteligentes son a veces llamado Agentes Inteligentes Abstractos (AIA) para distinguirlos de sus implementaciones del mundo real como sistemas informáticos, los sistemas biológicos, o de organizaciones. Algunas definiciones de agentes inteligentes hacen énfasis en su autonomía por lo que prefieren el término agente inteligente autónomo. Y otros (en particular, Russell y Norvig (2003)) considera conducta dirigida a objetivos como la esencia de lo inteligente y prefieren un término tomado de la economía "Agente Racional".

Page 28: Agentes Inteligentes en Sistemas (1)

En Ciencias de la Computación el término agente inteligente puede ser usado para referirse a un agente de software que tiene algo de inteligencia, independientemente de si no es un agente racional por definición de Russell y Norvig. Por ejemplo, programas autónomos utilizados para asistencia de un operador o de minería de datos (a veces denominado robots) son también llamados "agentes inteligentes".

Contenido

[ocultar]

1 Definiciones sobre Agentes Inteligentes 2 Ejemplos 3 Clasificación 4 La racionalidad es necesaria 5 La conducta de un agente no suele ser la óptima 6 Véase también

[editar] Definiciones sobre Agentes Inteligentes

Los agentes inteligentes se han definido de diferentes maneras. [2] Según Nikola Kasabov [3] los sistemas de IA deben exhibir las siguientes características:

Aprender nuevos problemas e incrementar normas de solución. Capacidad de adaptación en línea y en tiempo real. Ser capaz de analizar condiciones en términos de comportamiento, el error y el éxito. Aprender y mejorar a través de la interacción con el medio ambiente (realización). Aprender rápidamente de grandes cantidades de datos. Deben estas basados en memoria de almacenamiento masivo y la recuperación de dicha

capacidad.

[editar] Ejemplos

Como ejemplos de entidades físicas pueden nombrarse:

un robot de comportamiento variable autoregulado (ya sea que su comportamiento sea determinado por software o incorporado directamente en la electrónica),

una computadora que ejecuta un software de diagnóstico médico y muestra resultados en una pantalla para ayudar a decidir a un médico,

una computadora especializada que controla un helicóptero en maniobras peligrosas para un hombre.

Ejemplos de entidad puramente virtual serían:

Page 29: Agentes Inteligentes en Sistemas (1)

un software de descubrimiento de patrones en Internet que sólo interactúa con otros software.

un software softbot que simula a una persona en un juego de computadora, tal como un jugador de ajedrez, un jugador de fútbol contrincante o un conductor de carreras de automóviles, etc.

[editar] Clasificación

Es posible clasificar los agentes inteligentes en 5 categorías principales:

1. agentes reactivos2. agentes reactivos basados en modelo3. agentes basados en objetivos4. agentes basados en utilidad5. agentes que aprenden6. agentes de consultas

[editar] La racionalidad es necesaria

En muchos textos se define agente inteligente como todo agente capaz de tener conciencia de su entorno y actuar sobre él. No obstante es necesario exigir que estas decisiones sean racionales en el sentido de que persigan algún fin.

Vamos a mostrarlo con un contraejemplo: cuando un fotón con la suficiente energía incide sobre un átomo, puede arrancar de él un electrón. Podríamos considerar al átomo inteligente puesto que percibe su entorno (la incidencia del fotón) y actúa sobre su entorno (emite un electrón). La ausencia de relación entre la emisión del electrón y cualquier hipotético interés del átomo muestra que este no es un agente inteligente pese a verificar la definición de Bertrand Russell.

Sin ese término no tendría sentido la palabra racionalidad.

[editar] La conducta de un agente no suele ser la óptima

Paradójicamente, la conducta de un agente rara vez es la óptima. La razón es muy sencilla calcular el óptimo de un criterio lo suficientemente bueno para ser considerado razonable teniendo en cuenta las múltiples restricciones que concurren es muy difícil. Ejemplos de ello es lo difícil que es calcular la mejor ala para un avión, el mejor perfil para un coche o la mejor hélice para un barco. Para un estudiante es fácil calcular el máximo de un polinomio de segundo grado derivando e igualando a cero. En este caso el criterio es muy sencillo -es un polinomio de segundo grado- y no concurre ninguna restricción.

Cuando el criterio es una función real de muchas variables y las restricciones también, los cálculos son mucho más complicados. Algunas veces se puede lograr una buena aproximación; pero, si un agente inteligente debe tomar una decisión en muy poco tiempo,

Page 30: Agentes Inteligentes en Sistemas (1)

deberá conformarse con la mejor aproximación que pueda calcular en el escaso tiempo de que dispone.

Por otra parte, no es tan fácil inducir el criterio que permite comparar las distintas estrategias: ¿cómo se puede expresar con una ecuación simple lo que más le conviene a un lagarto que está cazando bajo el sol?

[editar] Véase también

=========================================

Tutorial de MATLAB

Resumen: ¿Qué es MATLAB?. Toolboxes de MATLAB. Inicio de MATLAB. ¿Cómo funciona MATLAB?. Gráficas en tres dimensiones. Otros comandos. Como hacer un programa en MATLAB. Análisis de datos. Polinomios.

Publicación enviada por Ender José López Méndez

Page 31: Agentes Inteligentes en Sistemas (1)

Índice

1. ¿Qué es MATLAB? 2. Toolboxes de MATLAB 3. Inicio de MATLAB 4. ¿Cómo funciona MATLAB? 5. Gráficas en tres dimensiones. 6. Otros comandos 7. Como hacer un programa en

MATLAB 8. Análisis de datos. 9. Polinomios 10. Bibliografía

¿Qué es MATLAB? MATLAB = 'MATrix LABoratory' (LABORATORIO DE MATRICES). MATLAB es un medio computacional técnico, con un gran desempeño para el cálculonumérico computacional y de visualización. MATLAB integra análisis numérico, matrices, procesamiento de señales y gráficas,todo esto en un ambiente donde los problemas y soluciones son expresados talcomo se escriben matemáticamente. Escrito inicialmente como auxiliar en la programación de cálculo conmatrices. MATLAB fue escrito originalmente en fortran, actualmente está escrito enlenguaje C. MATLAB es un lenguaje de programación amigable al usuario con característicasmás avanzadas y mucho más fáciles de usar que los lenguajes de programacióncomo basic, pascal o C. Actualmente van en la versión 5.2. MATLAB cuenta con paquetes de funciones especializadas llamadas toolboxes. 

Toolboxes de MATLAB Control system Toolbox, Robust Control Toolbox Frequency Domain System Identification Toolbox Fuzzy Logic Toolbox Higher Order Spectral Analisys Toolbox Image Processing Toolbox Model Predective Control Toolbox Mu Analisis and Synthesis Toolbox NAG Foundation Toolbox Neural Network Toolbox Nonlinear Control Design Toolbox Optimization Toolbox Quantitative Feedback Theory Toolbox Signal Processing Toolbox

25$ GratisTitan Casino

Bono 2400 €/$Europa Casino

Bono 3000 €/$Casino Tropez

Bono 400 €/$Casino Swiss

Bono 300 €/$Casino King

Bono 300 €/$Prime Casino

Bono 2500 €/$Golden Riviera

Bono 4000 €/$Las Vegas

Bono 500 €/$Party Casino

Bono 200 €/$Lucky Ace

Page 32: Agentes Inteligentes en Sistemas (1)

SIMULINK, SIMULINK Real Time Workshop Spline Toolbox Statistics Toolbox Symbolic Math Toolbox System Identification Toolbox.

Inicio de MATLAB MATLAB se inicia directamente desde Windows. Al invocarse MATLAB aparecerá la pantalla de comandos,algunas sugerencias y el símbolo >> , el cual indica la entrada deinstrucciones para ser evaluadas. >> >> Comando o instrucción a evaluar < enter > Para hacer la suma de dos números, escribimos : >> 5 + 5 < enter > Presionamos la tecla entrar. ans = 10 El resultado es desplegado y se guarda en la variable ans (answer). NOTA : En este tutorial el símbolo >> desaparecerá, y seráreemplazado por un par de corchetes con la instrucción dentro de ellos. [ 5 + 5]. La instrucción aparecerá en color verde. Para poder ver ejecutarse la instrucción, debemos ponernos en el renglóndonde está la instrucción o marcarla con el ratón y presionar al mismo tiempolas teclas. <Ctrl> <Enter> Otra forma de evaluar una instrucción, es poner el apuntador del ratónentre los corchetes de la instrucción y presionar el botón derecho del ratón;aparecerá un menú del cual se tiene que escoger evaluar celda. Hagamos la prueba con el renglón inmediato. 5 + 5 Presionar<Ctrl> <Enter> La respuesta es desplegada en color azul y entre corchetes. Help El comando help proporciona una lista de todos los tópicos que MATLAB puedeproporcionar ayuda. help help 'comando' proporciona ayuda sobre el comando especificado. help sqrt proporciona ayuda sobre la instrucción sqrt. Ejemplo: » help sqrt SQRT Square root. SQRT(X) is the square root of the elements of X. Complex results are produced if X is not positive. See also SQRTM

¿Cómo funciona MATLAB? MATLAB puede almacenar información en variables tales como : a = 100 "<Ctrl> <ENTER> para evaluar la celda " Cada vez que capturamos información en MATLAB y presionamos <ENTER> éstaes desplegada inmediatamente ( letras en color azul ), pero si ponemos un puntoy coma al final de la instrucción MATLAB omite el desplegado de información. Por ejemplo : b = 50 ; Si se quiere saber el valor de alguna variable capturada sólo se tiene queponer el nombre de la variable y <ENTER> y MATLAB lo despliega. Estasvariables residen en el espacio de trabajo de MATLAB. b Las variables son sensibles a las mayúsculas, por lo que las siguientesvariables son diferentes : Variable = 1 variable = 1 Las variables pueden contener hasta 19 caracteres. Éstas deben empezar conuna letra, seguida por cualquier número de letras, dígitos o guiones desubrayado.

Page 33: Agentes Inteligentes en Sistemas (1)

Los caracteres de puntuación no son permitidos en las variables. Cuando se trabaja con muchas variables estas son difícil de recodar. El comando who muestra un desplegado de todas aquellas variables que se hanestado utilizando. who whos Muestralas variables con información adicional. Caracteres especiales [ ] Son usados para formar vectores y matrices [ 1 2 3 ; 4 5 6 ] ( ) Usados para expresiones matemáticas. sqrt(2) = Usado para hacer asignaciones. x = 5 ' Transpuesta de una matriz A' Usado para separar texto 'texto' . Punto decimal 3.1415 ... Al final de una línea indican que continua 2,3,4,5,6 .... en el siguiente renglón. 7,8,9,10 ] , Para separar elementos [1,2,3,4] ; Para separar filas en las matrices. [ 1 2; 3 4] Para evitar que se despliegue la información capturada. [3] ; % Para hacer comentarios % este programa,etc. ! Para ejecutar un comando del Ms-dos !dir Operaciones básicas SUMA C = a + b RESTA d = a - b MULTIPLICACION e = a * b DIVISION F = a / b F = a \ b POTENCIA a ^ 2 Como este último cálculo no tenía variable asignada, la respuesta seguarda en la variable ans (answer ). Borrado de variables. Para borrar el valor de una variable simplemente ponemos clear a Borrala variable " a " a Checar queeste borrada. clear a b c Borralas variables " a ", " b " y " c " " CLEAR " Borra todas las variables y no se pueden recuperar. Funciones trigonométricas sin ( 0.5) Senode (0.5) Así mismo COS ( X ) TAN ( X ) ASIN ( X ) ACOS ( X ) ATAN ( X ) Inversa SINH ( X ) COSH ( X ) TANH ( X ) Hiperbólica ASINH ( X ) ACOSH ( X ) ATANH ( X ) Inversa- Hiperbólica ATAN2 ( X,Y ) Inversa de la tangente en los cuatro cuadrantes. LOGARITMOS log (0.5) Logaritmonatural LOG10 ( X ) Logaritmo decimal. Funciones matemáticas especiales. abs ( -3) Valorabsoluto o magnitud de un número complejo ceil ( 123.123123) Redondeahacia más infinito FLOOR ( X ) Redondea hacia menos infinito FIX ( X ) Redondea hacia cero ROUND ( X ) Redondea hacia el entero más próximo

Page 34: Agentes Inteligentes en Sistemas (1)

imag ( 30 - 5j ) Parte imaginaria deun número complejo REAL ( X ) Parte real de un número complejo ANGLE ( X ) Angulo de un número complejo CONJ ( X ) Complejo conjugado sign ( -5) Funciónsigno : Devuelve el signo del argumento (1 si es positivo, -1 si es negativo )

exp ( 1 ) Exponencial: e( x ) REM ( X,Y ) Resto después de la división ( x / y) sqrt (2) Raízcuadrada Operaciones Lógicas En MATLAB se pueden hacer operaciones lógicas, por ejemplo. 1 < 2 Como 1 es menor que 2, la respuesta es cierta por lo que obtenemos un 1. 1 < 1 Obtenemos un 0, porque 1 no es menor que 1. Como se puede observar las únicas respuestas posibles con las operaciones lógicasson : Cierto = 1 y Falso = 0. Operadores relaciónales : > Mayor que < Menor que >= Mayor o igual a <= Menor o igual a == Igual a ~= No igual a

Existen tres operadores lógicos : AND & OR | NOT ~

Para que la operación AND sea verdadera las dos relaciones deben serverdaderas. Recordemos AND = 0 0 | 0 Falso 0 1 | 0 Falso 1 0 | 0 Falso 1 1 | 1 Verdadero ( 1 < 2 ) & ( 2 < 3) Verdadero. ( 1 < 2) & ( 2 < 1 ) Falso. Para la operación OR : 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 1 ( 1 < 2 ) | ( 2 < 1 ) Verdadero. Para la operación NOT : ~ 0 | 1 ~ 1 | 0 ~ ( 2 < 1) Verdadero. La variable NaN (Not a Number) Cuando en un lenguaje de programación como basic, pascal o C, se da unasituación que el programa no pueda manejar, como una división como 0/0 elprograma se detiene, marcando un error. Cuando en MATLAB se presenta una situación similar el programa no sedetiene, sólo da una pequeña advertencia de que se presentó una divisiónentre cero. Y el resultado es un NaN, que es una variable interna no es un número). 0/ 0 Ejemplo: defina a=[1 2 0] y b=[1 2 0] ahora pida la división elemento aelemento (comando "./") a ./ b Solución de ecuaciones de segundo grado.

Page 35: Agentes Inteligentes en Sistemas (1)

MATLAB se puede resolver fácilmente ecuaciones del tipo ax²+ bx + c = 0, haciéndolo como si fuera una sola instrucción. La förmula pararesolver una ecuación de segundo grado de este tipo es :  

Si tenemos los siguientes valores : a = 1, b = 2, c = 3 Escribimos la formula para x1 : x1 = ( -b + sqrt ( b ^ 2 - 4 * a * c )) / 2 * a Para x2 : x2 = ( -b - sqrt ( b ^ 2 - 4 * a * c )) / 2 * a Podemos hacer la comprobación para x1. a * x1^ 2 + b * x1 + c Comprobaciónx1 Arreglos (Arrays) ó Vectores. Si se desea calcular el seno de " 0 a 1 " con incrementos de 0.25,se pueden capturar los valores y después mandar llamar el seno de la función. Seno de 0 a 1 con incrementos de 0.25 x = [ 0, 0.25, 0.5, 0.75, 1 ] Se pueden omitir las comas cuando se capturan los números. Con los números capturados, se obtiene el seno de la variable x escribiendosimplemente : sin (x) MATLAB opera en radianes, donde 2P= 360 grados. Ahora se requiere obtener el coseno de cero a uno con incrementos de 0.01; loque equivale a capturar 101 elementos. Para evitar capturarlos a mano, MATLAB nos permite crear un vector de lasiguiente manera : Variable = ( Valor inicial : Con incrementos de : Valor final ) R = (0 : 0.01 : 1) COS ( R ) Ahora se puede obtener el coseno de la variable R. Hagamos el siguiente vector : Y = ( 0 : 1 : 10) Si queremos saber cual es el cuarto elemento del vector ponemos : Y (4) Si nos interesan los elementos 5 al 10 : Y( 5 : 10 ) Otras opciones son : Y( 1 : 2 : 9) Tomalos elementos del 1 al 9 con incrementos de 2 Y([ 1, 3, 7,10]) Tomalos elementos 1, 3, 7 y 10 del array Modificaciones de los arreglos Si el noveno elemento del array debió ser el número 20 en vez de 8,corregimos de la siguiente manera : Y(9) = 20 Otra forma de hacer arreglos, es con linspace : Linspace ( Valor inicial , Valor final , Número de elementos ) Regresando al ejemplo del coseno de 0 a 1 con incremento de 0.01 escribimos : Note el uso de comas (#, #, #) Z = linspace(0 , 10, 101) Linspace describe una relación lineal de espaciado entre sus elementos. Logspace describe una relación de espaciado " logarítmica ". Logspace ( Primer exponente , Último exponente , Cantidad de valores ) Logspace (0 , 2 , 10 ) Hemos creamos un arreglo que comienza en 10 0 y termina en 10 2,conteniendo 10 valores. Otra forma de crear arreglos es : x1 = 1 : 5 Arreglode 1 a 5, con incremento de 1

Page 36: Agentes Inteligentes en Sistemas (1)

x2 = 10 : 5 : 100 Arreglode 10 a 100, con incrementos de 5. Si se quiere concatenar x1 y x2 C = [ x1 x2 ] Matemáticas con arreglos. a = 1 : 6 Defineun vector de seis elementos con incrementos de 1 b = 1 : 2 : 12 Vectorde seis elementos con incremento de 2 Arreglos con escalares Se le puede sumar o multiplicar un número a todo el arreglo, por ejemplo a + 10 Suma deun escalar con un arreglo a * 10 Multiplicaciónde un escalar con un arreglo Operaciones con arreglos Para hacer la suma de los arreglos a y b, solamente escribimos : a + b Larespuesta se guarda en ans : Se pueden hacer operaciones como : Z = 100 - 2 * a + b La multiplicación de arreglos se hace con ( . * ), ya que cuando se utilizael asterisco sin punto indica multiplicación matricial, y además provoca unerror. Z = a .* b La división también lleva un punto antes del signo, porque sino se utilizael punto nos referimos a la división matricial que es muy diferente. Z = a ./ b La siguiente operación obtiene el cuadrado del arreglo " a ". Z = a .^ 2 Orientación de arreglos Si separamos cada elemento del arreglo con punto y coma tenemos un arreglo deuna sola columna : a = [ 1; 2; 3; 4; 5; 6 ] Es necesario usar los corchetes, porque si no los usamos obtenemos el últimovalor que capturamos : d = 1 ; 2; 30 ; 40 ; 50 ; 600 ; 1000 Para crear una columna con 20 elementos hacemos lo siguiente : d = ( 1 : 1 : 20 ) y trasponemos el renglón a columna, es decir buscamos la transpuesta. ( ' ) e = d' ¿ Que pasa si hacemos lo siguiente : ? e' Matrices Se utiliza el punto y coma ( ; ) hacer una matriz. Para formar la matriz 1 2 3 3 2 1 2 1 3 Escribimos : A = [ 1 2 3; 3 2 1; 2 1 3 ] Ecuaciones Simultáneas Con MATLAB se pueden resolver sistemas de ecuaciones simultáneas fácilmente. Por ejemplo para resolver el siguiente sistema de ecuaciones. 2x + 0y + 5z = 100 3x + 5y + 9z = 251 1x + 5y + 7z = 301 Capturamos los valores de x, y, z ; formando una matriz. A = [ 2 0 5; 3 5 9; 1 5 7] Después capturamos el valor al cual están igualadas las ecuacionesen otra matriz. b = [ 100 ; 251; 301 ] Una forma de solucionar las ecuaciones es obteniendo el inverso de la matriz,es decir : A -1 ( menos uno ) El asterisco indica multiplicación matricial.

Page 37: Agentes Inteligentes en Sistemas (1)

c = inv (A)* b Otra forma de resolverlo, es utilizando la división matricial. c = A \ b Es también posible obtener la determinante de una matriz. det ( A ) Operaciones con Matrices Definamos las siguientes matrices ' g ' y ' h '. g = [ 1 2 3; 4 5 6; 7 8 9] h = [ 1 0 2 ; 11 2 3 ; 3 5 12 ] La suma de las matrices g y h se muestra enseguida : k = g + h k = g * h Multiplicaciónde dos matrices. [L, U ] = lu (k) Calculala factorización LU de la matriz cuadrada k [d,e]= qr (k) Calculala factorización QR de la matriz k. Calcula la descomposición en valores singulares de la matriz k. rank(k) Devuelveel rango de la matriz k. cond(k) Devuelveel número de condición de la matriz k. Modificación de las matrices. A = [ 1 2 3; 4 5 7; 7 8 9 ] Si nos equivocamos al capturar la matriz, por ejemplo si el número 7 delsegundo renglón, tercer columna debió ser 6 en vez de 7, tendríamos quecapturar de nuevo la matriz. Pero con MATLAB es posible modificarla de la siguiente manera : A(2,3)= 6 Variable( renglón, columna)= nuevo valor Si tenemos la matriz identidad de 4 x 4 : 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 A = [ 1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1] Pero por algún error la matriz identidad debió de haber sido de 5 x 5. ¿ Hay que capturar de nuevo la matriz ?. La respuesta es no. A(5,5) = 1 Agregamos un 1 en el renglón 5 columna 5, y como este no existíanpreviamente, las columnas y renglones se completan agregando ceros. ¿ Que pasa ahora si queremos sólo una matriz identidad de 3 x 3 y tenemoscapturada una de 5 x 5. Podemos utilizar : Matriz ("Renglón" inicio : Fin , "Columna" inicio : Fin) B = A ( 1 : 3, 1: 3) Ahora si queremos que la matriz identidad sea : 0 0 1 0 1 0 1 0 0 C = B ( 3 : -1 : 1 , 1 : 3 ) Poner dos puntos ( : ) indica que se deben tomar todas las columnas (1 : 5). Esto es valido también para los renglones. C = A ( : , [ 1 3 5 ] ) Toma todos los renglones, pero sólo toma las columnas 1, 3 y 5. Si creamos las siguientes matrices A y B : A = [ 1 2 3 4 5; 1 2 3 4 5; 1 2 3 4 5; 1 2 3 4 5 ] B = [ 6 7 8; 6 7 8; 6 7 8; 6 7 8 ] Podemos construir una matriz C uniendo las dos anteriores c = [ A B ] A partir de la matriz A queremos tomar las columnas 1, 2 y 5, y de la matrizB queremos tomar las columnas 1 y 3, para formar una matriz D. D = [ A(:,[ 1 2 5]) B(:, [ 1 3])] D( :,1)=[] Eliminala columna número uno.

Page 38: Agentes Inteligentes en Sistemas (1)

Matrices especiales ones(2) Haceuna matriz de unos, de 2 x 2. zeros(5,4) Haceuna matriz de ceros, de 5 x 4. rand(3) Haceuna matriz de 3 x 3, eye(4) Haceuna matriz identidad de 4 x 4. Gráficas En MATLAB se pueden crear gráficas tan simples como : D = [ 1 2 3 5 4 7 6 8 9 8 6 3 1 3];plot (D) o se pueden crear gráficas tan complejas como : cplxroot(3,10) Superficiede una raíz cubica. Como se vió en el primer ejemplo es posible gráficar una serie de puntos yMATLAB automáticamente ajusta los ejes donde se gráfica. Por ejemplo, para gráficar la función seno se pueden crear un rango devalores x = 0 : 0.1 : 20; x= vector de cero a veinte con incrementos de 0.1 y = sin(x); Senodel vector (x) plot (x,y) Gráficadel seno z = cos(x); Cosenodel vector anterior plot (x,z) Gráficadel coseno de x. plot ( x,y,x,z) Gráficadel seno y coseno en la misma pantalla plot (x,z,'*') Gráficadel coseno con los signos ' * ' Hace la gráfica en azul, y los signos ' + ', intercambiando los ejes. plot ( z, x,'b+')  Como se ve es posible gráficar en Matlab con símbolos y además escoger elcolor, tal como se muestra en la tabla inferior.  

Símbolo Color Símbolo Estilo de línea

y amarillo . punto

m magenta o circulo

c cían x equis

r rojo + más

g verde * asterisco

b azul - menos

w blanco : dos puntos

k negro - . menos punto

    - - menos menos

Es posible agregar un cuadriculado a la gráfica, para tener más precisión,con el comando. grid Se pueden agregar títulos a las gráficas y etiquetas en los ejes con loscomandos siguientes. title(' Gráfica del coseno de x') Para ponerle etiquetas a los ejes se puede utilizar los comandos ylabel ('etiqueta') xlabel('etiqueta') axis off Desaparecelos ejes. Subplot El comando subplot nos permite desplegar en pantalla varias gráficas. subplot(m,n,a) 'm' y 'n' son una matriz que representa las cantidades de gráficas que sevan desplegar; 'a' indicaría el lugar que ocuparía la gráfica en el subplot. Hagamos la gráfica de los siguientes puntos. La desplegaremos en cuatropuntos diferentes en pantalla para ver las características de subplot.

Page 39: Agentes Inteligentes en Sistemas (1)

a=[ 1 ,2 ,3 9 ,8 ,7 ,4, 5, 6, 8, 7, 5]; plot (a) Vamos hacer una matriz de 2 x 2 para gráficar, cuatro posibles ventanas o gráficas.Y queremos que la primera gráfica ocupe el lugar (1,1) de la matriz. entoncesescribimos. subplot(2,2,1) ,plot(a) subplot(2,2,2) , plot(a) subplot(2,2,4), plot(a) CLF borra todos los objetos de la gráfica. CLF RESET Borra todo lo que hay en la gráfica y resetea todas laspropiedades de la figura. clf

Gráficas en tres dimensiones. El comando plot se puede extender a 3 dimensiones con el comando plot3 . El siguiente ejemplo hace una gráfica de una espiral en tres dimensiones. t=0:pi/50:10*pi; plot3(sin(t),cos(t),t)

 zlabel ('etiqueta')

Se utiliza para dar etiquetas al eje z, en las gráficas en tres dimensiones.  

Gráficos de malla y superficie. z = peaks(10) El comando peaks crea un conjunto de valores que al ser gráficados, se vende la siguiente manera. plot(z) Se tomará como base la gráfica anterior para demostraralgunas funciones de graficación en tres dimensiones. mesh(z) contour(z,10) surf(z) Es posible cambiar el sentido de orientación de las gráficascon el comando view(x,y) view(0,0) view(90,0)

 Gráficas en el plano complejo

Ahora vamos a crear un conjunto de valores para gráficar en el planocomplejo, en tres dimensiones. z= cplxgrid(5) cplxmap(z,z) cplxmap(z,z.^z) cplxroot(2,10) Raízcuadrada Se pueden crear gráficos en coordenadas polares con elcomando Polar (t,r,s) donde t es el vector en ángulos en radianes, r es elradio del vector y s es la cadena de caracteres que describe , color, símbolodel estilo del línea. t=0:0.1:2*pi; r = sin(2*t).*cos(2*t); polar(t,r) gtext( ‘ texto ’ ) Se utiliza para colocar texto en una gráfica, con la ayudadel mouse. Simplemente se ejecuta el comando y con el mouse se selecciona lacoordenada deseada y se presiona el botón derecho del mouse, quedando fijo eltexto en la pantalla. Copiar una gráfica Cuando se quiera realizar algún reporte formal en unprocesador de palabras como en este caso Word, es posible copiar las gráficashechas en Matlab por medio de la orden copy to bitmap. El procedimiento sería :

 

Page 40: Agentes Inteligentes en Sistemas (1)

En Matlab, en el menú de la ventana principal de la gráfica, se escoge el menú ‘edit’ y de este se escoge copy to ‘bitmap’;

Se minimiza Matlab y se pasa al procesador de palabras escogido Se localiza la posición en la cual estará la gráfica, y del menú edit se escoge ‘paste o

pegar’.

 

La gráfica aparecerá en el procesador de palabras. Existe un pequeño inconveniente ya que la gráfica aparecerásobre un fondo de color negro que Matlab tiene por default, si se imprime estedocumento obviamente la gráfica aparecerá sobre un fondo negro lo cual haráque la impresora gaste tinta en exceso. Para remediar esto se puede cambiar el color de fondo de lasgráficas a blanco con el comando. Whitebg después se hace procedimiento mencionado anteriormente. Imprimir una gráfica. Se puede imprimir una gráfica directamente desde el menú dela ventana de la gráfica, seleccionando la opción print.

 Otros comandos

 

What : Listado de todos los archivos *.m en el directorio actual dir : Lista todos los archivos en el directorio actual type nombre_archivo : Lista el programa, (Programas con terminación*.M). Which nombre_archivo : Da el path en el cual esta el archivo.

 

Se pueden utilizar comandos de Unix tales como Ls, pwd. Como hacer un programa en MATLAB

Es posible realizar un programa en Matlab tal como se hace enotros lenguajes como el basic, pascal o el lenguaje C. Es necesario utilizar uneditor para escribir el código.

 

Para cargar un editor, se puede hacer desde la ventana options, escogiendo editor preference, y cargando el editor que se desee utilizar.

Para escribir código, requerimos crear un archivo *.M. Para esto necesitamos abrir new M.file en la ventana file.

Ahora escribimos el código y salvamos el archivo utilizando la terminación archivo.M. Se puede correr el programa desde Matlab simplemente escribiendo el nombre del archivo

que fue creado. Es posible abrir programas con la terminación *.M desde Matlab, en el menú file, open

M.file.

 

Bucles For Tal como en otros programas de programación en Matlab esposible crear programas con estructura con ciclos for.

For x = Número incial : número final Instrucción End.

Page 41: Agentes Inteligentes en Sistemas (1)

for x = 1 : 10 x = x + 1 end También se pueden hacer operaciones como la siguiente : matriz = [ 1 2 3 4; 1 2 3 4; 1 2 3 4; 1 2 3 4] for x = matriz x = n(1)*n(2)*n(3)*n(4) end

Bucles while While permite que ciertas instrucciones sean repetidas un númeroindefinido de veces bajo el control de una condición lógica. Por ejemplo, ¿ Cual es primer entero n para el cual n!(factorial) es un número de 100 dígitos ?. n = 1; while prod(1:n)<1.e100,n=n+1;end n

IF ELSE END Se pueden utilizar estructuras como:

If expresión (verdadero) acción End. If expresión (verdadero) acción 1 else (Falso) acción 2 End. If expresión (verdadero) acción 1 elseif expresión (verdadero) acción 2 . . . else (Falso) acción "n" End

 Análisis de datos.

En Matlab podemos hacer análisis de datos estadísticamenteo probabilisticamente. Entre estos análisis están cálculos de medias, máximos,mínimos, desviaciones estándar, etc. Inventemos un conjunto de datos, los cuales podremos análizar. x =[ 9 1 ;23 34; 16 28 ;12 33 ;5 7; 9 4 ;12 34 ;5 14 ;436 ;3 6 ;12 9; 2 30 ;3 2; 2 4] plot (x) Larepresentación gráfica de los puntos anteriores. A continuación se hace una análisis de los datospresentados, habrá dos respuestas porque tenemos dos columnas. media=mean(x) Obtenciónde la media max(x) El máximode los valores. min(x) El mínimode los todos los valores std(x) Ladesviación estándar hist(x) Histograma. Interpolación Matlab tiene varios comandos que nos permiten hacerinterpolaciones, uno de los métodos es por medio de mínimos cuadrados. Mínimos cuadrados Se crean varios puntos. x = [ 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 ]; y =[ 0.09 .12 .24 .27 .4 .45 .61 .67 .71 .63 .59]; se muestra los puntos a los cuales se les va a interpolar plot (x,y,'*')

Page 42: Agentes Inteligentes en Sistemas (1)

Se utiliza una aproximación de segundo orden, porque lafunción es no lineal. n=2 ; Segundoorden. p=polyfit(x,y,n)Crea los elementos del polinomio quehará la interpolación. El polinomio es del tipo ax2 + bx + c = 0 f=linspace(0, 1, 100); Formamosuna serie de puntos para gráficar. z=polyval(p,f); Evaluaciónpolinomial. plot(x,y,'*',x,y,f,z,':') Hacemosla gráfica de la interpolación. Podemos ver que la interpolación es pobre. Ahora tratemos dehacerla con un polinomio de quinto grado, el procedimiento es el mismo que elanterior. n = 5 ; p = polyfit(x,y,n) z = polyval(p,f); plot(x,y,'*',x,y,f,z,':') Otra forma de interpolar, es con el comando interp1. g=interp1(x,y,f) Se puede observar en la gráfica resultante, que parece comouna aproximación lineal entre cada punto. plot(x,y,'*',f,g) Para una aproximación más suave es recomendable usar el comando spline, quehace una interpolación tipo cubic spline. g=spline(x,y,f) plot(x,y,'*',f,g)

 Polinomios

MATLAB puede sacar ls raíces de un polinomio. Para capturar el polinomio deabajo, solamente ponemos el valor de cada variable, respetando su lugar. Como nohay termino x1 ,de todos modos se captura como cero.

X3 + 5x2 - 2 p = [1 5 0 -2] Para sacar las raíces escribimos. r=roots(p)

 Tips de memoria.

Para obtener la máxima velocidad en Matlab debemos tratar de vectorizar losalgoritmos, por ejemplo : a = 0 for a = 0:.0.1:10 a = a + 1; y(a)=sin(t) end La versión vectorizada sería : t= 0:0.01:10; y = sin(t) El primer ejemplo en MATLAB toma aproximadamente 15 segundos,mientras que el segundo toma sólo 0.6 segundos. Se recomienda ver los tutoriales propios de MATLAB como el intro, expo, elmanual de MATLAB y otros libros de consulta.

  

Bibliografía Resumen realizado a partir del tutorial electrónico del paquete Matlab porEnder José López Méndez (Estudiante de la Escuela de Petróleo de la Facultadde Ingeniería de la Universidad del Zulia Maracaibo Venezuela, Abril de 2003     Autor:

Page 43: Agentes Inteligentes en Sistemas (1)

Ender José López Méndez============================================================

CONEXIONISMO

ÍNDICE 

 

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

I. INTRODUCCIÓN - LEER INTRODUCCIÓN II. CARACTERÍSTICAS GENERALES DEL ENFOQUE CONEXIONISTA - LEER II. III. IMPLEMENTACIÓN DE LAS REDES NEURONALES - LEER III. IV. CAMPOS DE APLICACIÓN DE LAS REDES NEURONALES - LEER IV. V. DIFERENCIAS ENTRE EL CONEXIONISMO Y LOS MODELOS COGNITIVOS TRADICIONALES - LEER V.

V. 1. INSPIRACIÓN NEURO-FISIOLÓGICA: APROXIMACIÓN A LAS CIENCIAS NEUROLÓGICAS - LEER V. 1.

V. 2. EL PROCESAMIENTO ES PARALELO, NO SERIAL - LEER V. 2.

V. 3. PROCESAMIENTO Y REPRESENTACIÓN DE LA INFORMACIÓN DISTRIBUIDO, NO LOCALISTA - L EER V. 3.

V. 4. COMPUTACIÓN SIN REGLAS - LEER V. 4.

V. 5. DEGRADACIÓN ELEGANTE. TOLERANCIA A FALLOS - LEER V. 5.

VI. BREVE HISTORIA DEL CONEXIONISMO - LEER VI.

VI. 1. HASTA LA PRIMERA MITAD DE NUESTRO SIGLO - LEER VI. 1.

VI. 2. AÑOS CINCUENTA Y SESENTA - LEER VI. 2.

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 44: Agentes Inteligentes en Sistemas (1)

VI. 2. 1. La memoria asociativa - Leer VI. 2. 1.VI. 2. 2. El reconocimiento de patrones - Leer VI. 2. 2.VI. 2. 3. Limitaciones de perceptrones y adalines elementales - Leer VI. 2. 3.

VI. 3. AÑOS SETENTA Y OCHENTA - LEER VI. 3. 

VII. ELEMENTOS DE LAS ARQUITECTURAS CONEXIONISTAS - LEER VII.

VII. 1. CONCEPTOS Y ELEMENTOS DE LA ESTRUCTURA CONEXIONISTA - LEER VII. 1.

VII. 1. 1. Las unidades - Leer VII. 1. 1.VII. 1. 2. Las conexiones entre las unidades (las sinapsis) - Leer VII. 1. 2.VII. 1. 3. Peso sináptico - Leer VII. 1. 3.VII. 1. 4. El patrón de conexión - Leer VII. 1. 4.

VII. 2. CONCEPTOS Y MECANISMOS BÁSICOS PARA EL PROCESAMIENTO EN LAS REDES CONEXIONISTAS  - LEER VII. 2.

VII. 2. 1. Notación utilizada para representar los elementos y mecanismos de las redes conexionistas - Leer VII. 2. 1VII. 2. 2. La entrada (input) total. La regla de propagación - Leer VII. 2. 2.VII. 2. 3. El estado de activación - Leer VII. 2. 3.VII. 2. 4. La regla o función de activación - Leer VII. 2. 4.

VII. 2. 4. a. Concepto y fórmula general - Leer VII. 2. 4. a.VII. 2. 4. b. Tipos de funciones de activación - Leer VII. 2. 4. b.

VII. 2. 5. La salida de las unidades. La función de transferencia - Leer VII. 2. 5.

VII. 2. 5. a. Concepto y fórmula general de la función de transferencia - Leer VII. 2. 5. a.VII. 2. 5. b. Tipos de función de salida o de transferencia - Leer VII. 2. 5. b.

VII. 2. 6. Reglas de aprendizaje - Leer VII. 2. 6.

VII. 2. 6. a. Concepto y modelos de aprendizaje - Leer VII. 2. 6. a.VII. 2. 6. b. Regla de Hebb (o regla del producto) - Leer VII. 2. 6. b.VII. 2. 6. c. Regla de Widrow-Hoff o regla delta o regla del menor error cuadrático - Leer VII. 2. 6. c.

VII. 2. 6. d. Regla Delta generalizada (o regla de propagación hacia atrás)  - Leer VII. 2. 6. d.

VIII. ALGUNOS MODELOS DE REDES NEURONALES - LEER VIII.

VIII. 1. REDES DE McCULLOCH-PITTS O REDES DE NEURONAS FORMALES - LEER VIII. 1.

VIII. 2. PERCEPTRONES - LEER VIII. 2.

VIII. 3. EL PANDEMONIUM: UN MODELO PARA EL RECONOCIMIENTO DE PATRONES - LEER VIII. 3.

VIII. 3. 1. La tarea de reconocimiento de patrones: dos explicaciones, el modelo de plantillas y el modelo de análisis de características - Leer VIII. 3. 1.

VIII. 3. 2. El Pandemonium: rasgos principales - Leer VIII. 3. 2.

VIII. 3. 3. El Pandemonium: base experimental - Leer VIII. 3. 3.

VIII. 3. 4. El Pandemonium: dificultades - Leer VIII. 3. 4.

VIII. 3. 5. El Pandemonium y el conexionismo  - Leer VIII. 3. 5.

VIII. 4. NETtalk: APRENDER A LEER EN INGLÉS- 4.LEER VIII. 4.

Page 45: Agentes Inteligentes en Sistemas (1)

IX. REDES NEURONALES PARA EXPLICAR EL CEREBRO - LEER IX.

 APÉNDICE: MATRICES - LEER APÉNDICE

BIBLIOGRAFÍA BÁSICA EN CASTELLANO - LEER BIBLIOGRAFÍA 

 

 

©  Javier Echegoyen Olleta - Febrero 2004

 

CONEXIONISMO

I. INTRODUCCIÓN     

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

        La psicología cognitiva como paradigma psicológico tiene una historia reciente: aunque algunas propuestas de finales de los años cuarenta y de la década de los cincuenta se pueden considerar como primeros esbozos de esta forma de hacer psicología, es a partir de los años sesenta cuando realmente se empieza a extender por el mundo entero, compitiendo en los centros de estudio y de investigación con el conductismo, al que finalmente parece haber desbancado como paradigma dominante.

       El conductismo supuso uno de los mayores esfuerzos de los psicólogos por hacer de su disciplina una ciencia. Los principios metodológicos que exigieron a la psicología

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 46: Agentes Inteligentes en Sistemas (1)

(experimentación, rechazo de la introspección, empleo de categorías explicativas definidas operacionalmente, ...) supuso un adelanto y una conquista que la mayoría de los psicólogos consideran irrenunciable. Sin embargo, estos triunfos se vieron claramente empañados en cuestiones fundamentales: el conductismo es una psicología sin sujeto (psicología del organismo vacío); su pretensión teórica fundamental consiste en explicar toda la conducta a partir del aprendizaje: son los refuerzos y los estímulos presentes en la vida de los organismos los que determinan su modo de relacionarse con el medio y de resolver sus problemas adaptativos. Esta paradójica renuncia al sujeto para explicar lo que el sujeto hace se puede plantear en los términos tradicionales de cuerpo y mente: el conductismo da poca importancia al cuerpo y a las predisposiciones genéticas de la conducta; pero también rechaza la mente, prescinde de forma explícita y, en muchos casos combativa, de la mente como elemento explicativo. La psicología conductista estudia la conducta para explicar la conducta.

       Esta idea del ambientalismo y del organismo vacío entra en crisis en los años sesenta. Por un lado los etólogos y las investigaciones en neurociencias, y por otro los desarrollos de la propia la psicología, van a cuestionar estos principios explicativos básicos.

          Por parte de la psicología cognitiva, la crítica se referirá básicamente al olvido de la mente. Sabemos por qué resultó atractiva la psicología cognitiva: de nuevo se introducen en la psicología temas como el de la atención, la percepción, la memoria, el pensamiento, el lenguaje, temas que parecen irrenunciables para toda psicología que quiera ser completa y que el conductismo a duras penas pudo incluir en sus investigaciones. Y como compendio de todas estas capacidades y actividades, la mente. De nuevo la mente entra el la psicología, y, además, explicada con métodos que heredan del conductismo la pretensión de objetividad: la psicología cognitiva rechaza también la introspección como acceso privilegiado a lo psíquico favoreciendo los informes objetivos obtenidos en laboratorio. Simplificando, el mentalismo tradicional quiere estudiar la mente mirando a la mente, la psicología cognitiva quiere estudiar la mente mirando la conducta. Considera irrenunciable la referencia a la mente como causa de la conducta, pero también considera irrenunciable la observación objetiva de la conducta para el descubrimiento de las estructuras y procesos mentales supuestamente elicitadores de la conducta.

        Pero la diferencia con otros mentalismos no está sólo del lado del método (el conductismo metodológico del cognitivismo frente a la introspección del mentalismo tradicional), sino, más importante aún, de los conceptos y categorías fundamentales con los que intenta comprender la mente: la diferencia esencial está en la idea de mente.

          La categoría explicativa básica que utiliza el paradigma cognitivo es la de información: la mente es una entidad capaz de recibir, almacenar y procesar de diversos modos la información, y de generar una conducta en virtud de dichas actividades. Esta tesis primordial tiene importantísimas consecuencias en la idea de mente y de psicología propuesta por este paradigma. Por ejemplo, parece claro que las actividades mentales que no son cogniciones, las actividades mentales que no consisten en informar o describir el mundo, sólo con enormes dificultades pueden entrar en el programa de investigación cognitivo: aquí hay que incluir fundamentalmente el mundo de las emociones y el de la motivación: estar triste no es tener un estado informativo determinado, desear no

Page 47: Agentes Inteligentes en Sistemas (1)

es tener una representación del mundo, aunque, evidentemente, la información manejada por el sujeto tiene clara influencia tanto en la emoción y el sentimiento como en el deseo y la voluntad. En términos clásicos, la psicología cognitiva estudia la dimensión intelectual de la psíque, pero no la emotiva y la volitiva.

          En la forma de entender la información y el modo de procesar la información fueron importantes tanto ciertas ideas filosóficas como los avances tecnológicos en informática. Por parte de la filosofía, la influencia más clara tiene que ver con tesis racionalistas. En primer lugar por la importancia que se le da a las representaciones: el trato con la cosas está determinado por el conocimiento que el sujeto tiene del mundo, conocimiento que ha de estar presente de algún modo en él para que su conducta resulte eficaz. A esta forma vicaria de estar el mundo se le suele llamar representación, y la investigación de su estatuto y peculiaridades es precisamente uno de los temas principales en el paradigma cognitivo. Estas entidades tienen contenido semántico, significan algo (por ejemplo, conceptos, figuras, formas, ángulos, notas o propiedades, ...) y gracias a dicho significado se refieren al mundo De este modo, las representaciones son las unidades informativas que maneja el sujeto y cuyo procesamiento determina la conducta. Pero las representaciones se combinan unas con otras siguiendo reglas y el rendimiento de cada una de las facultades mentales (percepción, memoria, lenguaje, atención, ...) se define a partir de las distintas reglas de transformación y combinación de representaciones. De este modo, reglas y representaciones son dos de los elementos conceptuales básicos del cognitivismo y dan lugar al programa de investigación característico de este paradigma.

          La tecnología existente estableció el modo concreto de concebir las formas de instanciar la representación y de procesar la información. Aunque en los primeros años de la informática hubo algunos intentos de construir sistemas artificiales de procesamiento que reprodujesen algunos aspectos muy abstractos del cerebro (el Perceptrón, por ejemplo), el modelo que sin embargo tuvo éxito fue el del ordenador Von Neumann (los ordenadores actuales son ejemplos de este modelo). Sus características principales son las siguientes:

1.   la información está localizada en partes físicas concretas: si guardo en el disco duro de mi ordenador lo que ahora estoy escribiendo, la información se almacenará físicamente en un lugar preciso, al que el ordenador sabrá acceder mediante un sistema preciso de direcciones;

2. la información se procesa “en serie”, si hago que “corra” un programa en mi ordenador, las instrucciones de que éste consta se realizarán siguiendo un orden, y una en cada unidad de tiempo, nunca dos en el mismo momento (decimos que no hay dos procesadores, sino uno);

3. además, la información con la que trabaja el ordenador es significativa –al menos en el nivel del programador: una palabra, una letra, una línea, un ángulo, una figura, ...

4. el ordenador consta de partes físicamente diferenciadas para tareas realmente diferentes: grandes estructuras como la memoria, los periféricos, la unidad lógico-matemática, la unidad de procesamiento central...

5. la información está controlada desde una parte del ordenador privilegiada: la unidad central de procesamiento, unidad que se encarga de establecer las jerarquías en la actuación y el control del sistema;

6. las reglas de procesamiento describen transformaciones que atienden a restricciones lógicas, semánticas y sintácticas.

Page 48: Agentes Inteligentes en Sistemas (1)

         La psicología cognitiva clásica tomó estas ideas y las trasladó a la psicología: se entendió que la mente era como un programa informático y el cerebro como el hardware del ordenador. Se intentó describir el flujo de la información con la idea de que la mente procesa la información, que consta de macroestructuras que la transforman a su manera, se buscó el auténtico modo de darse las representaciones, ... hasta que en la segunda mitad de los años ochenta se produce una modificación sustancial en el paradigma cognitivo con el desarrollo del conexionismo. En 1986 D. E. Rumelhart y J. L. McClelland editan Parallel Distributed Processing, obra considerada como la “Biblia” del conexionismo y que supuso el cambio de rumbo en la psicología cognitiva. Es común señalar la radicalidad de dicho cambio, hasta el punto de que algunos autores señalan que con el conexionismo se da realmente un cambio de paradigma. Aunque sólo tras la lectura de la totalidad de este informe sobre el conexionismo se puede apreciar de un modo más cabal el contraste entre estas dos formas de hacer psicología cognitiva, se pueden adelantar algunas importantes semejanzas y diferencias entre ambos enfoques:

Parece claro que un primer punto común es la referencia a la computación: ambas teorías entienden la mente como un sistema que procesa información y responde al medio a partir de dicho procesamiento. Pero ni siquiera en este punto, que sin duda es el que da continuidad a las dos corrientes, se da el acuerdo:

o La psicología cognitiva clásica entiende el procesamiento como la aplicación de un conjunto de reglas a entidades situadas en el nivel de la psicología popular (creencias y deseos, básicamente); el conexionismo entiende el procesamiento como el cálculo de las señales de salida a partir de los cómputos que realizan las unidades de la red en función de los pesos de las conexiones y de determinadas funciones matemáticas que determina la activación de dichas unidades y las salidas correspondientes a cada una de ellas. Para el conexionismo la computación no se realiza sobre entidades reconocibles desde el nivel de la psicología popular.

o Las dos teorías proponen el uso de la simulación por ordenador para la comprobación de las hipótesis relativas a los procesos mentales, pero la psicología cognitiva clásica propone la simulación en el ordenador convencional y el conexionismo la simulación mediante arquitecturas semejantes a la del cerebro.

o La psicología cognitiva clásica propone la lógica y las reglas que imponen restricciones semánticas y sintácticas para realizar los cómputos (como ocurre en los programas de ordenador de la Inteligencia Artificial tradicional); el conexionismo, sin embargo utiliza herramientas matemáticas, particularmente estadísticas, para la realización de los cómputos que se supone realiza nuestra mente.

El objetivo de la psicología la psicología cognitiva clásica es el descubrimiento de las reglas que rigen los procesos mentales y de los elementos o estructuras básicas del procesamiento humano; el del conexionismo es el descubrimiento de redes adecuadas para la simulación de tareas característicamente mentales y de reglas de aprendizaje eficientes.

Page 49: Agentes Inteligentes en Sistemas (1)

Otro contraste que se suele destacar es el que se refiere al aprendizaje: los modelos clásicos rechazan el asociacionismo y tienen a defender posiciones innatistas, el conexionismo parece una vuelta al asociacionismo (las redes neuronales no son otra cosa que asociaciones entre unidades) y, puesto que las redes comienzan el aprendizaje con pesos establecidos aleatoriamente, tiende a defender la idea de la mente como una “tabula rasa” o papel en blanco”, siendo la experiencia, el ambiente en el que se desenvuelve la red, y no factores innatos, la que provoca la aparición de los pesos adecuados para el procesamiento y el almacenamiento de la información. Algunos autores consideran que estas diferencias separan al conexionismo de la psicología cognitiva y lo aproximan al conductismo pues, aunque no exactamente en el mismo sentido, éste también defiende el asociacionismo y el ambientalismo.

CONEXIONISMO

II. CARACTERÍSTICAS GENERALES DEL ENFOQUE CONEXIONISTA   

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

      En psicología, esta nueva forma de estudiar y explicar la mente y la conducta recibe el nombre de conexionismo (aunque otros prefieren el término “neoconexionismo”, para distinguirlo del antiguo conexionismo propuesto por Alexander Bain en la segunda mitad del siglo XIX, autor que también subrayó la importancia de las conexiones entre neuronas, y la investigación y experimentación fisiológica). Dado que para este paradigma el procesamiento y el almacenamiento de la información recae en amplios conjuntos de elementos simples (las unidades de las redes conexionistas), el modelo de procesamiento conexionista se llama también Procesamiento Distribuido en Paralelo (o PDP).

          En Inteligencia Artificial, los métodos de computación basados en redes neurales se incluyen en un campo de computación que prescinde del enfoque algorítmico tradicional y tomo como modelo los sistemas biológicos; esta nueva forma de computación incluye, entre otras, la lógica borrosa, las redes neuronales y el razonamiento aproximado, y recibe los nombres de computación cognitiva, computación del mundo real o computación Soft, para distinguirlo del enfoque

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 50: Agentes Inteligentes en Sistemas (1)

algorítmico tradicional o Computación Hard.

         En psicología llamamos conexionismo al paradigma que utiliza redes neuronales para comprender y explicar la vida psíquica y la conducta. Las redes neuronales son conjuntos de unidades interconectadas masivamente capaces de procesar y almacenar información mediante la modificación de sus estados. Aunque la siguiente afirmación exigiría importantes precisiones, en general se puede decir que el psicólogo conexionista considera que ha explicado un fenómeno psicológico (el reconocimiento de formas, la producción de lenguaje, la memoria, ...) cuando el modelo neuronal que construye se comporta del mismo modo que los seres humanos cuando realizan la misma tarea. No hay que olvidar que el conexionismo participa de una idea común con la psicología cognitiva clásica: para la psicología cognitiva (tanto la clásica como el conexionismo) la mente es un sistema capaz de procesar información, un sistema capaz de recibir señales de entrada, almacenar información y provocar información de salida a partir la información de entrada, la información almacenada y los mecanismos de cómputo. Dada esta suposición de que los fenómenos mentales y la conducta son consecuencia de elementos internos al sujeto, el conexionismo considera adecuada la explicación cuando la red que construye es capaz de realizar, a partir del vector de entrada, los distintos cómputos que provocan el vector de salida deseado.

Los elementos característicos presentes en la mayoría de los modelos conexionistas son los siguientes:

1. La red es un conjunto de unidades de procesamiento (neuronas) muy simples.

2. Dichas unidades interactúan entre sí mediante las conexiones que los asocian.

3. Los estímulos que afectan a las unidades de entrada se expresan en términos cuantitativos.

4. Toda unidad de la red viene definida por un nivel de activación expresado de forma cuantitativa.

5. Toda conexión viene caracterizada por un valor de fuerza del trazo o peso de la conexión, también expresado de forma cuantitativa.

6. El procesamiento y almacenamiento de la información se realiza de forma paralela y distribuida.

7. Existen reglas o funciones que computan la información en distintos niveles del procesamiento (para la modificación del nivel de activación a partir de las entradas, para la producción de la salida a partir del nivel de activación, ...).

8. Existen reglas o funciones de aprendizaje que le permiten a la red modificar los pesos de las conexiones para acomodar de modo cada vez más perfecto la información de entrada a la salida requerida.

Page 51: Agentes Inteligentes en Sistemas (1)

9. La función de cada unidad es simplemente realizar cálculos con las entradas que reciben y producir la información que envían a las unidades con las que están conectadas.

10. Las señales de salida que emite la red se expresan en términos cuantitativos.

11. Dado que toda la actividad de la red no es otra cosa que cálculos o transformaciones de números, se puede afirmar que en realidad la red neural es un dispositivo para computar una función, un sistema capaz de transformar la información de entrada en información de salida. La función presente en la red y que realiza el computo es básicamente el patrón o conjunto de pesos sinápticos de las unidades.

CONEXIONISMO

III. IMPLEMENTACIÓN DE LAS REDES NEURONALES 

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

      Las redes neuronales suelen implantarse en los ordenadores tradicionales, ordenadores seriales con arquitectura Von Neumann. Pero, naturalmente, las máquinas más adecuadas para este tipo de sistemas de computación son aquellas que reproducen en su arquitectura la propia arquitectura de la red. Las máquinas más conocidas son los neurocomputadores y los neurochips.

Neurocomputadores: constan de un conjunto de procesadores conectados entre sí y que operan concurrentemente. Por ejemplo, el MARK IV está formado por un conjunto de procesadores Motorola 68020 asociados cada uno de ellos a un coprocesador matemático, es capaz de simular hasta 256.000 neuronas y 5.500.000 sinapsis, y puede alcanzar una velocidad de 5.000.000 de interconexiones por segundo. El ANZA Plus puede simular redes de hasta 1.000.000 de neuronas y 15.000.000 de conexiones, a velocidades de 1.500.000

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 52: Agentes Inteligentes en Sistemas (1)

conexiones por segundo.

Neurochips: en este caso las redes neuronales se implementan en o uno o varios circuitos integrados específicos. Soportan menos neuronas que los neurocomputadores, pero la velocidad es muy superior que en los neurocomputadores pues las interconexiones entre neuronas se encuentran dentro del propio chip. No son productos comerciales y los encontramos fundamentalmente en las universidades y los centros de investigación. Un ejemplo de estas máquinas es el chip N64 de Intel, que incluye 64 neuronas, 10.000 sinapsis y cuya velocidad de procesamiento es de 2.500 conexiones por segundo.

Neurocomputadores de propósito especial: las máquinas anteriores son de propósito general, pero existen también algunas máquinas que han sido diseñadas para implementar un modelo específico de red neuronal.

CONEXIONISMO

IV. CAMPOS DE APLICACIÓN DE LAS REDES NEURONALES   

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

La mayoría de los modelos existentes tienen que ver con el reconocimiento de patrones: buscar un patrón a partir de una serie de ejemplos, clasificar patrones, identificar un estímulo, reconstruir un patrón a partir de datos distorsionados o incompletos, ... Muchas redes neuronales trabajan a partir de datos sensoriales y otras a partir de datos introducidos por el usuario.

Los campos de aplicación son fundamentalmente la psicología (en los campos de percepción, memoria, pensamiento, aprendizaje y lenguaje) y la Inteligencia Artificial, aunque también encontramos ejemplos en biología (modelos de retina y del neocortex, por ejemplo).

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 53: Agentes Inteligentes en Sistemas (1)

Las aplicaciones obtenidas en Inteligencia Artificial se utilizan en muchos dominios: por ejemplo, en medicina (diagnóstico y tratamiento a partir de datos obtenidos mediante electrocardiograma, encefalograma, análisis sanguíneo, ...), el ejército (clasificación de las señales de radar; creación de armas inteligentes, reconocimiento y seguimiento en el tiro al blanco, ...), la empresa y la industria (reconocimiento de caracteres escritos, optimización de plazas y horarios en líneas de vuelo, construcción de robots y sistemas de control, ...).

CONEXIONISMO

V. DIFERENCIAS ENTRE EL CONEXIONISMO Y LOS MODELOS COGNITIVOS TRADICIONALES  

V.1. Inspiración neuro-fisiológica: aproximación a las ciencias neurológicasV.2. El procesamiento es paralelo, no serialV.3. Procesamiento y representación de la información distribuido, no localistaV.4. Computación sin reglasV.5. Degradación elegante. Tolerancia a fallos

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

Como consecuencia de las característica citadas en la sección 2, el conexionismo presenta importantes diferencias respecto de los modelos que encontramos en la psicología cognitiva clásica. Veamos alguna de ellas.

V.1. INSPIRACIÓN NEURO-FISIOLÓGICA: APROXIMACIÓN A LAS CIENCIAS NEUROLÓGICAS

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 54: Agentes Inteligentes en Sistemas (1)

La psicología cognitiva clásica no daba importancia a la base orgánica de la vida mental. Cabe recordar que incluso sus propios postulados básicos le llevaron a considerar que la lógica existente en los procesos mentales se puede comprender y explicar con independencia de su realización en un sistema físico (esto es lo que afirma la tesis del funcionalismo, la teoría filosófica de la mente compartida por los psicólogos cognitivos). El conexionismo, sin embargo, toma al cerebro como modelo de procesamiento y su inspiración neurofisiológica aproxima la psicología a la biología. Si en la psicología cognitiva clásica la metáfora dominante era la metáfora del ordenador, ahora, en el conexionismo, la metáfora es el cerebro: la primera psicología clásica consideraba que podíamos entender el comportamiento de la mente comprendiendo el “comportamiento” del ordenador tipo Von Neumann, sin embargo el conexionismo afirma que podemos entender el comportamiento de la mente si comprendemos el comportamiento del cerebro humano. Con el conexionismo la Inteligencia Artificial, la Psicología y la Biología se convierten en disciplinas más próximas que lo que permitía el enfoque de la psicología cognitiva clásica. Claro está que esta aproximación es interesante desde el punto de vista de la unidad de las ciencias y la posición materialista dominante, pero también puede ser una dificultad para los que quieren defender la posibilidad de la psicología como ciencia independiente; de hecho las posiciones filosóficas de los conexionistas en el tema del estatuto de la mente tienden a ser reduccionistas o a defender el materialismo eliminativo (en lo esencial, tesis según las cuales los estados mentales no tienen auténtica realidad, son epifenómenos y, por lo mismo, no pueden ser causas de las conductas).

Aunque también existen redes neuronales que intentan ser modelos de los procesos reales de partes del cerebro, las que interesan a la psicología no intentan imitar el comportamiento del sistema nervioso sino de la mente. El conexionismo quiere ser una teoría psicológica no una teoría fisiológica. Sin embargo, sí se puede hablar de inspiración biológica en los modelos mentales propuestos. Las redes neuronales intentan reproducir las características principales del comportamiento del cerebro, particularmente de su estructura fisiológica básica, la neurona, y de su agrupación en estructuras complejas o redes de neuronas. A continuación vamos a fijarnos en los aspectos más elementales de las redes neuronales biológicas, aspectos que las redes conexionistas intentan emular.

Las unidades básicas del sistema nervioso son las neuronas. Estas unidades se conectan unas con otras formando redes extraordinariamente complejas. La principal función de las neuronas es recoger señales de diversas fuentes, transformarlas y producir señales de salida que transmiten a otras neuronas u otras partes del organismo. De este modo, en el cerebro el procesamiento de la información es paralelo y distribuido, paralelo en tanto que las señales recibidas las procesan simultáneamente millones de conexiones diferentes y distribuido porque la responsabilidad del almacenamiento de la información no recae sobre una unidad (una neurona) sino sobre amplios conjuntos de unidades.

Los órganos sensoriales reciben señales del exterior y mediante elementos transductores convierten las distintas energías que reciben en señales nerviosas. La información fluye desde los nervios sensoriales y, recorriendo estaciones intermedias como la médula espinal, el tronco

Page 55: Agentes Inteligentes en Sistemas (1)

cerebral, cerebelo, etc., llega hasta la corteza cerebral. A su vez, del cerebro parte la información por los nervios motores hasta los músculos u otros órganos y constituye la respuesta del organismo al medio.

En las neuronas cabe destacar las siguientes partes fundamentales:

el cuerpo celular o soma, cuya función principal es procesar las señales que recibe la unidad y enviar la información de salida hacia otras unidades;

el axón: es la fibra más gruesa y larga de todas las que se originan en el cuerpo celular; mediante los axones las neuronas se conectan unas con otras; su función es transmitir la información generada en el cuerpo celular a las otras células;

las dendritas: son pequeñas extensiones del soma y su función es recibir la información.

De este modo, las dendritas son los canales receptores de la información, el soma la unidad de procesamiento y el axón el canal transmisor de la información.

La información se traslada a través del axón y las dendritas en la forma de señales eléctricas. Sin embargo, el paso de la información de una unidad a otra no tiene la forma de cambios eléctricos sino químicos. La conexión entre el axón de una neurona y las dendritas de otra recibe el nombre de sinapsis. Las neuronas no están en contacto físico completo pues existe un pequeño espacio en la sinapsis (el espacio intersináptico). Cuando el impulso eléctrico llega al final del axón, se produce la liberación de unas sustancias químicas denominadas neurotransmisores. Los neurotransmisores se difunden en el espacio intersináptico y se unen a los extremos de las dendritas en ciertos lugares denominados receptores. En estos receptores se producen cambios químicos que provocan modificaciones eléctricas en la neurona y el flujo eléctrico o impulso nervioso.

Por su importancia en las redes neuronales conexionistas, es importante recordar también dos hechos más que se dan en las redes neuronales biológicas:

los efectos de los neurotransmisores sobre las dendritas pueden ser excitadores o inhibidores de forma que para calcular la influencia final del conjunto de entradas sobre una neurona es preciso sumar y restar sus estímulos.

para que la neurona responda enviando una señal eléctrica a lo largo del axón (el impulso nervioso) es necesario que los estímulos que recibe de otras unidades alcancen un cierto nivel eléctrico (el umbral del impulso eléctrico o intensidad mínima del estimulo que es suficiente para provocar el impulso nervioso); de este modo, la respuesta de la célula ante los estímulos tiene la forma de todo o nada.

Cuando se habla de la inspiración biológica de los modelos conexionistas se quiere señalar que estos modelos intentan reproducir gran parte de los aspectos existentes en las redes

Page 56: Agentes Inteligentes en Sistemas (1)

neurológica biológicas y descritos más arriba. Sin embargo hay otros aspectos del sistema nervioso que no se intentan reproducir. Citemos algunos:

Por ejemplo, el relativo al número de unidades de procesamiento: en todo el sistema nervioso central hay del orden de 1011 neuronas y de 1015 interconexiones, mientras que las redes conexionistas generalmente constan como mucho de varias centenas de unidades y de varios miles de conexiones.

En las redes conexionistas los pesos entre las conexiones se establecen inicialmente de forma aleatoria y se van corrigiendo mediante el aprendizaje; esto supone, traducido a los términos tradicionales, primar el ambientalismo y el aprendizaje frente a los componentes innatos. En el cerebro la importancia del aprendizaje para el desarrollo de las sinapsis no se puede obviar, pero tampoco se puede negar la importancia de factores innatos, factores que determinan los recursos fisiológicos necesarios para el procesamiento e incluso las rutas en el establecimiento de las conexiones.

En el caso de las redes biológicas, el aprendizaje da lugar a modificaciones en las fuerzas de conexión, pero también a modificaciones de las estructuras mismas de interconexión (por ejemplo, de las unidades conectadas y de los tipos de conexiones); en las redes conexionistas el aprendizaje actúa sobre los pesos de las conexiones pero no sobre las estructuras mismas.

V

A pesar de que los desarrollos técnicos permitieron incrementar la velocidad de los ordenadores, los resultados de éstos en tareas aparentemente sencillas como el reconocimiento de formas necesitaban un tiempo de ordenador muy alto y sus resultados no eran muy buenos. El contraste con la eficacia del cerebro se hizo cada vez más manifiesto pues aunque la velocidad de procesamiento de cada neurona es muy inferior a la del ordenador (la velocidad de procesamiento en los ordenadores se mide en nanosegundos y la de las neuronas en milisegundos o incluso centésimas de segundo) el cerebro humano es capaz de realizar ciertas tareas en un tiempo inferior que el ordenador. Los programas construidos por la Inteligencia Artificial tradicional resultan muy buenos para tareas que exigen la repetición del mismo proceso sobre los datos de entrada (millones de cómputos recursivos), lo que les permite a las máquinas aventajarnos en tareas como la de cálculos matemáticos; sin embargo el cerebro parece más eficaz que los ordenadores tradicionales en tareas típicas de los seres vivos: reconocer un enemigo en una ambiente que no presenta su figura con precisión, recordar instantáneamente formas de huida o aproximación, comprender una frase, reconocer un rostro, seguir en tiempo real el movimiento de un objeto en el espacio, ...; hay tareas para las cuales un niño de tres años resulta más eficiente que los ordenadores más potentes y los programas más sofisticados.

Page 57: Agentes Inteligentes en Sistemas (1)

La explicación de la eficacia del cerebro para este tipo de tareas se encuentra en el hecho de que para el procesamiento de la información el cerebro utiliza simultáneamente millones de neuronas y el ordenador convencional utiliza uno (o unos pocos) procesadores. En un procesamiento serial en cada momento sólo se realiza una operación, en un procesamiento en paralelo en cada momento se realizan tantas operaciones como unidades participan en el procesamiento completo. Ésta es precisamente una de las características principales del cerebro: en el cerebro cada unidad, o pequeñas poblaciones de unidades, participan en el procesamiento conjunto de la información, y aunque cada una de ellas, tomadas por separado, tarden en realizar sus procesamientos correspondientes, en conjunto la actividad es más eficaz. Las redes neuronales nos permiten reproducir más adecuadamente aquél tipo de tareas porque reproducen el procesamiento en paralelo característico del cerebro, lo que otorga a las redes una considerable ventaja en velocidad sobre un ordenador convencional pues la multitud de sinapsis de cada nivel ejecutan simultáneamente muchos pequeños cómputos, en lugar de hacerlo en laboriosa sucesión como en los ordenadores tradicionales.

V. 3. PROCESAMIENTO Y

El carácter distribuido de la información típico de las redes conexionistas se extiende a dos aspectos muy importantes relativos a la información: el procesamiento mismo y el almacenamiento de las representaciones.

El modelo conexionista no es localista en primer lugar porque, a diferencia de lo que ocurre en los ordenadores tradicionales, en las redes neuronales no existe la “unidad central de control”, unidad que controle y coordine el conjunto de unidades del sistema; en este modelo el procesamiento es responsabilidad de cada una de las unidades o neuronas, cada una de ellas se encarga de cómputos parciales cuya activación conjunta produce la señal de salida final. Desde un punto de vista fisiológico estos modelos suponen que en el cerebro no existe una parte encargada de un tipo específico de procesamiento, sino que la actividad cerebral tiene carácter global.

La información se puede almacenar de dos formas: los sistemas localistas retienen la información en unidades discretas: en cada unidad (por ejemplo, en cada porción física del disco duro del ordenador) se almacena una unidad informativa; en los sistemas distribuidos cada unidad informativa se retiene en poblaciones de individuos y cada una de ellas colabora de forma parcial en el almacenamiento de la información. La ventaja de esta forma de almacenamiento es que la destrucción de unidades en los sistemas localistas tiene un efecto más devastador que la destrucción de unidades en los sistemas distribuidos. En los modelos distribuidos de memoria cada unidad informativa se representa a partir de amplias poblaciones de unidades, pero, a la vez, cada unidad de memoria colabora en el almacenamiento de varias unidades informativas. No se puede dar interpretación cognitiva a cada una de las unidades o neuronas; la interpretación cognitiva (el decir, por ejemplo, que recuerda y relaciona conceptos)

Page 58: Agentes Inteligentes en Sistemas (1)

es algo válido sólo para la red en su conjunto, y en todo caso para los patrones de los pesos de las unidades.

Podemos apreciar qué se quiere indicar con la idea del carácter distribuido del almacenamiento y procesamiento de la información con dos ejemplos muy sencillos:

los relojes digitales suelen expresar la información horaria mediante segmentos; en este ejemplo, con los siete segmentos siguientes podemos representar diez números, dependiendo de los que estén activados y de los que están desactivados (es obvio en realidad que se puede representar más información, por ejemplo, además de números, letras); se puede observar que el daño en una de las unidades afectaría a la capacidad del sistema para representar la hora, pero no de un modo completo, a la vez que está claro también que cuanto más distribuida sea la forma de almacenar la información (cuantos más segmentos empleásemos) menos se resentiría el sistema:

las matrices nos pueden servir de ejemplo para mostrar cómo un conjunto de elementos puede procesar distintos conjuntos de datos (distintos vectores de entrada) para producir cada uno de ellos la salida correspondiente (distintos vectores de salida)

por ejemplo, la matriz

nos permite emparejar los vectores de entrada (1,1) y (1,-1) con los vectores de salida (-1,1) y (-1,-1):

la entrada +1 +1 produce: 1x -1 + 1x 0 1x 0 + 1x 1 = -1 1

la entrada +1 -1 produce: 1x -1 + -1x 0 1x 0 + -1x 1 = -1 -1

Por cierto que ésta es precisamente una de las curiosas eficacias de las redes conexionistas: un mismo patrón de pesos (que se puede representar mediante matrices) permite emparejar distintos vectores de entrada a sus vectores de salida correspondientes.

Page 59: Agentes Inteligentes en Sistemas (1)

V. 4. COMPUTACIÓN SIN REGLAS

En las redes conexionistas la computación no se rige por reglas. En los modelos cognitivos tradicionales el procesamiento consiste en la manipulación de símbolos mediante el empleo de reglas. Los símbolos tienen una interpretación semántica (son conceptos, propiedades, clases, frases, líneas, ángulos, recuerdos, ...) y las reglas describen el modo de transformar dichos símbolos en conjuntos significativos más amplios. Para el conexionismo, sin embargo, la computación no es otra cosa que el cálculo de las salidas a partir de información de entrada, y los tres elementos, (entradas, salidas y cálculos) expresados en términos cuantitativos. El comportamiento general de la red puede parecer comportamiento guiado por reglas, pero en realidad en sus componentes no hay otra cosa que elementos de cómputo puramente cuantitativos. El sistema se sitúa en un estado o en otro a partir de la modificación de los pesos y la activación o inhibición de cada unidad. Dado que las redes conexionistas son básicamente modelos de aprendizaje, la no utilización de reglas se traslada también al campo del aprendizaje. En la psicología cognitiva clásica aprender una destreza psicológica (la competencia lingüística, la capacidad para narrar un cuento, la capacidad matemática, ...) se describía como la adquisición o desarrollo de reglas capaces de organizar las salidas correspondientes (frases significativas, narración de cuentos, cálculos matemáticos, ...) a partir de los datos almacenados en la memoria; en el conexionismo el aprendizaje no es otra cosa que la modificación de los pesos de las conexiones para la transformación de los vectores de entrada en los vectores de salida pertinentes. Mediante funciones de aprendizaje adecuadas, las redes pueden modificar los pesos de modo que tras sucesivas presentaciones de los vectores de entrada representativos de una clase de datos (fonemas, caracteres escritos, figuras bidimensionales, ondas eléctricas, ...) la red va afinando sus respuestas hasta que se logran aciertos estadísticamente aceptables en el emparejamiento de los vectores de entrada con los vectores de salida pertinentes.

Podemos apreciar la diferencia de enfoques si nos fijamos en una de las tareas para la que las redes neuronales parecen más pertinentes, el reconocimiento de patrones; el reconocimiento de patrones no es otra cosa que la capacidad para identificar ejemplos de un mismo modelo, para clasificar distintos estímulos como siendo del mismo tipo. Los sistemas de reconocimiento tradicionales, los que aparecen en la psicología cognitiva clásica y en la Inteligencia Artificial tradicional, exigían elaborar reglas explícitas que recogiesen los aspectos esenciales que el sistema debía captar. Con las redes neuronales podemos conseguir que el sistema reconozca patrones sin presentarle dichas reglas explícitas de reconocimiento, basta con presentarle los ejemplos adecuados y entrenar a la red. Esta peculiaridad lleva también a caracterizar a las redes neuronales como sistemas dinámicos autoadaptativos:

autoadaptativos porque ellas mismas, sin que exista una unidad central rectora, son capaces de ajustar sus unidades de procesamiento o neuronas de modo conveniente para producir el vector de salida requerido;

Page 60: Agentes Inteligentes en Sistemas (1)

dinámicos porque pueden cambiar constantemente para adaptarse a las nuevas condiciones que imponen los nuevos conjuntos de datos o vectores de entrada que se le presentan.

El aprendizaje no es otra cosa que la modificación de los pesos o fuerzas de conexión existentes entre las distintas unidades, no la adquisición de reglas o algoritmos explícitos. Se supone que la red ha aprendido cuando consigue un patrón de pesos que provoca, para las entradas del mismo tipo, las salidas deseadas. Los problemas más importantes de la persona que diseña la red se refieren a la obtención de la arquitectura apropiada (las capas y unidades necesarias, las conexiones entre ellas, las funciones de activación y transferencia que ha de utilizar) y de un buen algoritmo de aprendizaje que le permita a la red discriminar los diferentes tipos de estímulos.

Una consecuencia de la ausencia de reglas explícitas y que merecería la pena estudiar con detalle es que con este sistema de procesamiento conseguiremos que el sistema o red reconozca las semejanzas entre entidades, pero no seremos capaces de describir en qué consisten dichas semejanzas.

V.5. DEGRADACIÓN ELEGANTE. TOLERANCIA A FALLOS

En estas redes, cuando algunas unidades dejan de funcionar adecuadamente su efecto no es catastrófico, afecta sólo a la eficacia y precisión de la red en una medida mayor o menor dependiendo de la cantidad de unidades deterioradas. Esto no ocurre con los modelos tradicionales en donde la pérdida de alguna de las unidades de memoria provocaba efectos importantes en el sistema. Otra dimensión de la degradación elegante es que la recuperación de la memoria en redes distribuidas es capaz de darse aún en los casos en que la información que se introduce para la búsqueda sea confusa, incompleta e incluso errónea (lo que se suele llamar tolerancia a fallos respecto de los datos). Esta es una característica de las redes y también del funcionamiento real de nuestra memoria: por ejemplo, cuando intentamos recordar el nombre de una persona utilizando descripciones de sus características, somos capaces de dar con el nombre aunque no recordemos todas sus propiedades y también aunque algunas de estas descripciones no correspondan en realidad a dicho sujeto. La razón por la que las redes son tolerantes a fallos es la existencia de un cierto grado de redundancia en el procesamiento y almacenamiento de la información, es decir su carácter distribuido y paralelo. En los ordenadores tradicionales –y en los modelos cognitivos basados en la arquitectura de dichos ordenadores– cada unidad de información tiene una localización y dirección precisa, por lo que

Page 61: Agentes Inteligentes en Sistemas (1)

los fallos de los distintos elementos que intervienen en el procesamiento tienen consecuencias más graves que en los modelos conexionistas.

CONEXIONISMO

VI. BREVE HISTORIA DEL CONEXIONISMO

 

 VI.1. Hasta la primera mitad de nuestro sigloVI.2. Años cincuenta y sesenta          VI.2.1. La memoria asociativa          VI.2.2. El reconocimiento de patrones          VI.2.3. Limitaciones de perceptrones y adalines elementalesVI.3. Años setenta y ochenta 

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

 VI.1. HASTA LA PRIMERA MITAD DEL SIGLO XX

       LAS PRIMERAS APORTACIONES DESTACABLES PROVIENEN DE LA NEUROFISIOLOGÍA: LURIA, LASHLEY Y HEBB SE ENFRENTARON A LAS DOCTRINAS DOMINANTES A FINALES DEL SIGLO XIX, DOCTRINAS QUE DEFENDÍAN EL CARÁCTER LOCALISTA DEL ALMACENAMIENTO Y DE LAS FUNCIONES DEL CEREBRO; FRENTE A ESTAS DOCTRINAS DEFENDIERON UNA CONCEPCIÓN DISTRIBUIDA DE LOS SISTEMAS DE PROCESAMIENTO Y MEMORIA DEL CEREBRO. SUS INVESTIGACIONES DEMOSTRARON QUE LA ESPECIALIZACIÓN PODÍA DARSE EN RELACIÓN A GRANDES REGIONES DEL CEREBRO, PERO EN ABSOLUTO EN LAS NEURONAS SINGULARES. LASHLEY LLEVÓ TAN LEJOS LA HIPÓTESIS DISTRIBUIDA QUE POSTULÓ EL CARÁCTER EQUIPOTENTE DEL CEREBRO (CUALQUIER REGIÓN DEL CEREBRO PUEDE REALIZAR CUALQUIER TAREA DETERMINADA).

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 62: Agentes Inteligentes en Sistemas (1)

        DE LOS TRES AUTORES CITADOS ES SIN DUDA DONALD HEBB EL MÁS IMPORTANTE EN RELACIÓN CON DESARROLLO DEL CONEXIONISMO, PARTICULARMENTE A PARTIR DE SU LIBRO PUBLICADO EN 1949 LA ORGANIZACIÓN DE LA CONDUCTA. HEBB DEFENDIÓ LA CONEXIÓN ENTRE PSICOLOGÍA Y FISIOLOGÍA, PROPUSO LA TESIS DEL CARÁCTER DISTRIBUIDO DE LA INFORMACIÓN EN UNIDADES INFORMATIVAS Y FORMULÓ UNO DE LOS PRIMEROS PROCEDIMIENTOS DE APRENDIZAJE (PROCEDIMIENTO QUE ALGUNOS AUTORES CREEN QUE YA HABÍA SUGERIDO SANTIAGO RAMÓN Y CAJAL): SI UN CONJUNTO DE NEURONAS CONECTADAS ENTRE SÍ SE ACTIVAN REPETIDAMENTE, SUS SINAPSIS AUMENTAN SU CONDUCTIVIDAD, O DE OTRO MODO: CONJUNTOS DE NEURONAS SINCRÓNICAMENTE ACTIVADAS TIENDEN A ORGANIZARSE EN CONJUNTOS CONECTADOS.       ESTAS IDEAS DE HEBB HAN RESULTADO PARTICULARMENTE FECUNDAS. POR EJEMPLO, YA EN 1954 ALBERT M. UTTLEY DEMOSTRÓ EN THE CLASSIFICATION OF SIGNALS IN THE NERVOUS SYSTEM QUE REDES ENTRENADAS CON EL MODELO DE APRENDIZAJE HEBBIANO ERAN CAPACES DE RECONOCER PATRONES SIMPLES BINARIOS (111000, 110111, ...) EN CLASES (POR EJEMPLO LAS QUE COMIENZAN POR 110).       EL SIGUIENTE HITO RESEÑABLE SE REFIERE A LA APORTACIÓN DEL NEUROFISIÓLOGO WARREN MCCULLOCH Y EL MATEMÁTICO WALTER PITTS: EN 1943 PUBLICARON A LOGICAL CALCULUS OF THE IDEAS IMMANENT IN NERVOUS ACTIVITY. EL ARTÍCULO DE MCCULLOCH Y PITTS FUE IMPORTANTE, ENTRE OTRAS RAZONES, PORQUE EN ÉL SE TRATA AL CEREBRO COMO A UN ORGANISMO COMPUTACIONAL. PROPUSIERON LA CONSTRUCCIÓN DE MÁQUINAS DE COMPUTAR CON UNA ESTRUCTURA ABSTRACTA SIMILAR A LA QUE CREYERON ENCONTRAR EN LAS REDES NEURONALES BIOLÓGICAS, AUNQUE, A DIFERENCIA DE LAS REDES CONEXIONISTAS ACTUALES, DIRIGIDAS POR UN ENFOQUE LÓGICO Y NO UNO PROBABILÍSTICO. DIERON MÁS IMPORTANCIA AL APRENDIZAJE QUE A DISPOSICIONES INNATAS EN LA FORMACIÓN DE LAS CONEXIONES ENTRE LAS UNIDADES, Y DEMOSTRARON QUE REDES NEURONALES SENCILLAS CONECTADAS ENTRE SÍ MEDIANTE SINAPSIS EXCITADORAS E INHIBIDORAS Y ASIGNANDO UN VALOR UMBRAL PARA LA ACTIVACIÓN DE LA UNIDAD DE SALIDA, ERAN CAPACES DE REPRESENTAR ADECUADAMENTE LAS LEYES LÓGICAS FUNDAMENTALES. A ESTAS NEURONAS SENCILLAS LAS LLAMARON NEURONAS “FORMALES”; ACTUALMENTE A LAS REDES CONSTITUIDAS POR DICHAS UNIDADES SE LAS SUELE LLAMAR REDES DE MCCULLOCH-PITTS. AUNQUE INTENTARON MODELAR ASPECTOS ELEMENTALES DE LAS NEURONAS BIOLÓGICAS, LAS NEURONAS FORMALES ERAN SIMPLEMENTE CONMUTADORES LÓGICOS, SEMEJANTES A LOS CIRCUITOS LÓGICOS QUE SE PUEDEN CREAR MEDIANTE INTERRUPTORES Y POR LOS QUE PUEDE FLUIR LA CORRIENTE ELÉCTRICA.      EN 1947 MCCULLOCH Y PITTS ESCRIBIERON HOW WE KNOW UNIVERSALS: THE PERCEPTION OF AUDITORY AND VISUAL FORMAS, OBRA EN LA QUE TRATARON EL PROBLEMA DEL RECONOCIMIENTO DE PATRONES O PROBLEMA DEL RECONOCIMIENTO DE VARIACIONES DE UN MISMO PATRÓN Y EN LA QUE PRESENTARON DOS REDES. LA PRIMERA TENÍA COMO

Page 63: Agentes Inteligentes en Sistemas (1)

OBJETIVO RECONOCER PROPIEDADES COMUNES EN DISTINTOS INDIVIDUOS (PROPIEDADES INVARIANTES DEL MISMO PATRÓN); LA SEGUNDA ERA CAPAZ DE GENERAR EL PATRÓN A PARTIR DE EJEMPLOS DE DICHO PATRÓN. HICIERON UNA INTERPRETACIÓN BIOLÓGICA DE ESTAS REDES SUPONIENDO QUE LAS REDES NEURONALES DE LOS CÓRTICES AUDITIVO Y VISUAL ERAN REDES DEL PRIMER TIPO Y QUE EL COLÍCULO SUPERIOR (INVOLUCRADO EN EL CONTROL DEL MOVIMIENTO DE LOS OJO) ERA UNA RED DEL SEGUNDO TIPO. 

VOLVER AL ÍNDICE

     EN LA DÉCADA DE LOS CINCUENTA LAS REDES NEURONALES SE UTILIZARON PARA DAR CUENTA DE DOS CAPACIDADES IMPORTANTES DE LA MENTE HUMANA: LA MEMORIA ASOCIATIVA Y EL RECONOCIMIENTO DE PATRONES.

VI.2.1. LA MEMORIA ASOCIATIVA

      EMPECEMOS CON LA MEMORIA ASOCIATIVA: LA ASOCIACIÓN ENTRE RECUERDOS ES UN HECHO CONOCIDO DESDE HACE MUCHO TIEMPO; CUANDO DOS RECUERDOS TIENE ALGÚN ASPECTO COMÚN QUEDAN LIGADOS ENTRE SÍ DE TAL MODO QUE UNO PUEDE EVOCAR A OTRO.       EL PRIMER TRABAJO EN ESTE CAMPO CORRESPONDE A WILFRID K. TAYLOR CON SU OBRA DE 1956 ELECTRICAL SIMULATION OF SOME NERVOUS SYSTEM FUNCTIONAL ACTIVITIES. TAYLOR PROPONE UNA RED EN TRES CAPAS: UNA CON UNIDADES SENSORIALES, OTRA CON UNIDADES ASOCIATIVAS Y LA ÚLTIMA CON UNIDADES MOTORAS. LOS PESOS DE LAS SINAPSIS SON MODIFICABLES Y LAS UNIDADES YA NO SON NEURONAS BIESTABLES (TODO-O-NADA), AL MODO DE LAS NEURONAS FORMALES DE MCCULLOCH-PITTS, SINO DISPOSITIVOS ANALÓGICOS. EL PROCEDIMIENTO DE ENTRENAMIENTO ES LA REGLA DE HEBB: SE AUMENTAN LOS PESOS ACTIVADOS SI SE ACTIVAN LAS UNIDADES MOTORAS DESEADAS. INICIALMENTE SE LE PRESENTAN PARES DE PATRONES; DE ESE PAR DE PATRONES UNO PROVOCA UNA RESPUESTA PRECISA EN LAS NEURONAS MOTORAS Y EL OTRO NO; MEDIANTE EL APRENDIZAJE, LA RED CONSIGUE QUE ESTOS ÚLTIMOS PATRONES, LOS QUE ORIGINARIAMENTE NO PROVOCABAN LA RESPUESTA EN LAS NEURONAS MOTORAS, AHORA SÍ LO HAGAN. EN ESTE SENTIDO SE PUEDE DECIR QUE LA RED CONSIGUE ASOCIAR PATRONES SENSORIALES DIFERENTES, Y MUESTRA UN COMPORTAMIENTO PARECIDO AL CONDICIONAMIENTO PAVLOVIANO. ADEMÁS EN SU RED, LA MEMORIA ASOCIADA SE ALMACENA EN EL PATRÓN DE PESOS Y POR LO TANTO DE FORMA DISTRIBUIDA.

Page 64: Agentes Inteligentes en Sistemas (1)

      EN TRABAJOS POSTERIORES TAYLOR CONSTRUYÓ UNA RED MÁS ELABORADA, CON SINAPSIS QUE VOLVÍAN DE LAS UNIDADES MOTORAS A LAS UNIDADES SENSORIALES Y CON SINAPSIS ENTRE UNIDADES DE LA MISMA CAPA. ESTA RED ERA MÁS EFICAZ EN LA ASOCIACIÓN DE ESTÍMULOS APAREADOS Y SE MOSTRÓ TAMBIÉN CAPAZ DE DISCRIMINAR PATRONES (RECOGIENDO POR TANTO LAS CAPACIDADES DE LOS PERCEPTRONES Y ADALINES). EN 1964 (CORTICO-THALAMIC ORGANIZATION AND MEMORY) AVENTURÓ INCLUSO UNA INTERPRETACIÓN BIOLÓGICA DE SU RED, SUGIRIENDO QUE LAS ÁREAS DE ASOCIACIÓN DE LA CORTEZA CEREBRAL Y EL TÁLAMO CONTENÍAN ESAS REDES.     LAS REDES ANTERIORES ASOCIAN INDIRECTAMENTE EL ELEMENTO A Y EL ELEMENTO B AL ESTAR ASOCIADOS AMBOS CON C (COMO OCURRE CON EL CONDICIONAMIENTO CLÁSICO); ESTUDIOS DE LOS AÑOS SESENTA Y SETENTA MOSTRARON QUE ESTAS REDES PUEDEN SERVIR TAMBIÉN PARA REPRESENTAR LA MEMORIA ASOCIATIVA ACCESIBLE O DIRECCIONABLE POR EL CONTENIDO; LLAMAMOS MEMORIA ACCESIBLE POR EL CONTENIDO A AQUELLA QUE NOS PERMITE RECORDAR ÍTEMS A PARTIR DE DESCRIPCIONES PARCIALES DE SUS CONTENIDOS O CARACTERÍSTICAS, INCLUSO CUANDO ALGUNA DE ESTAS DESCRIPCIONES ES ERRÓNEA. Y PRECISAMENTE POR ESTA CAPACIDAD ACTUALMENTE A LAS REDES ASOCIATIVAS SE LAS LLAMA TAMBIÉN MEMORIAS ASOCIATIVAS DIRECCIONABLES O ACCESIBLES POR CONTENIDO (ACAMS).  

VOLVER AL ÍNDICE 

VI.2.2. EL RECONOCIMIENTO DE PATRONES

    EN CUANTO AL RECONOCIMIENTO DE PATRONES, CABE DESTACAR LO SIGUIENTE: EN ESENCIA EL PROBLEMA CONSISTE EN EXPLICAR CÓMO SE PUEDE RECONOCER QUE INDIVIDUOS DISTINTOS PERTENECEN, NO OBSTANTE, AL MISMO TIPO. UN CASO TÍPICO DE RECONOCIMIENTO DE PATRONES ES NUESTRA CAPACIDAD DE INTERPRETAR COMO “A” SIGNOS QUE SIN EMBARGO SON DISTINTOS (“A”, “A”, “A”, “A”, “A”, “A”), PERO EVIDENTEMENTE ESTA CAPACIDAD APARECE TAMBIÉN EN OTROS CONTEXTOS: SOMOS CAPACES DE RECONOCER EL ROSTRO DE UNA PERSONA EN DISTINTAS CONDICIONES DE LUMINOSIDAD E INCLUSO AUNQUE CAMBIE SU PEINADO, SU MAQUILLAJE O SE DEJE BARBA; UN ANIMAL DEBE RECONOCER LOS INDIVIDUOS DE OTRA ESPECIE COMO SIENDO LA PRESA CON LA QUE SE HA DE ALIMENTAR, O SU POSIBLE PAREJA PARA LA REPRODUCCIÓN,...     YA SE HA CITADO LA APORTACIÓN DE MCCULLOCH Y PITTS EN ESTE CAMPO, POR LO QUE AHORA PODEMOS REFERIRNOS A OTROS AUTORES, COMENZANDO POR JOHN VON NEUMANN: EN SU ESCRITO DE 1956, PROBABILISTIC LOGICS AND THE SYNTHESIS OF RELIABLE ORGANISMS FROM

Page 65: Agentes Inteligentes en Sistemas (1)

UNRELIABLE COMPONENTS, MEJORÓ LAS REDES MCCULLOCH-PITTS CREANDO REDES CONFIABLES: EN LAS REDES ORIGINALES DE MCCULLUCH-PITTS CADA UNIDAD ACTUABA REPRESENTANDO UNA UNIDAD INFORMATIVA Y LO HACÍA CON LA LÓGICA TODO-O-NADA. ESTA REDES NO SON MUY CONFIABLES PUES EL DAÑO EN UNA UNIDAD PUEDE TENER EFECTOS CATASTRÓFICOS EN LA COMPUTACIÓN. PARA RESOLVER ESTA DIFICULTAD VON NEUMANN INTRODUJO LA REDUNDANCIA EN LA RED: UNA UNIDAD INFORMATIVA NO SE REPRESENTA MEDIANTE UNA NEURONA SINO MEDIANTE LA ACTIVACIÓN SINCRÓNICA DE UN CÚMULO DE NEURONAS (POR EJEMPLO SE PUEDE REPRESENTAR 1 CUANDO MÁS DE LA MITAD ESTÁ ACTIVADA Y 0 EN CASO CONTRARIO). VON NEUMANN PROBÓ QUE ESTAS REDES REDUNDANTES PUEDEN REALIZAR CÁLCULOS ARITMÉTICOS DE MODO MUY CONFIABLE.      EN 1963 SHAMUEL WINOGRAD Y JACK D. COWAN ESCRIBIERON RELIABLE COMPUTATION IN THE PRESENCE OF NOISE. EN ESTA OBRA RECOGIERON Y MEJORARON LAS IDEAS DE VON NEUMANN, DEFENDIENDO UNA PROPUESTA AÚN MÁS DISTRIBUIDA DEL CONOCIMIENTO: EN LAS REDES DE WINOGRAD-COWAN UN BIT O UNIDAD DE INFORMACIÓN SE REPRESENTABA MEDIANTE VARIAS NEURONAS, COMO EN LAS REDES DE VON NEUMANN, PERO, Y ESTA ERA LA NOVEDAD, CADA NEURONA REPRESENTABA PARCIALMENTE VARIOS BITS.

      LA FIGURA DE FRANK ROSENBLATT ES IMPRESCINDIBLE PAR ENTENDER EL DESARROLLO DEL CONEXIONISMO. EN SUS OBRAS DE 1958 THE PERCEPTRON, A PROBABILISTIC MODEL FOR INFORMATION STORAGE AND ORGANIZATION IN THE BRAIN Y DE 1962 PRINCIPLES OF NEURODYNAMICS, DEFIENDE LA IMPORTANCIA DE LAS REDES NEURONALES PARA LA COMPUTACIÓN Y DE LOS MÉTODOS PROBABILÍSTICOS MÁS QUE DE LOS LÓGICOS EN EL USO DE LAS REDES, MEJORA LA REGLA DE APRENDIZAJE DE HEBB Y PRESENTA UNA RED A LA QUE LLAMÓ “PERCEPTRÓN”. EN SU VERSIÓN MÁS SENCILLA, EL PERCEPTRÓN CONSTA DE DOS CAPAS: LA DE ENTRADA O CAPA CON UNIDADES SENSORIALES Y, CONECTADA CON LA ANTERIOR, LA DE SALIDA O CAPA CON UNIDADES MOTORAS. LAS UNIDADES ERAN UNIDADES MCCULLOCH-PITTS (PODÍAN TOMAR SIMPLEMENTE LOS VALORES ACTIVADO-DESACTIVADO). INICIALMENTE LOS PESOS DE LAS CONEXIONES ERAN ALEATORIOS, Y EL APRENDIZAJE CONSISTÍA EN LA MODIFICACIÓN DE LOS PESOS DE TAL FORMA QUE DADA UNA ENTRADA SE CONSIGUIESE LA SALIDA DESEADA. ROSENBLATT ENCONTRÓ UN SENCILLO PROCEDIMIENTO DE ENTRENAMIENTO CON EL CUAL LA RED PODÍA DAR CON LOS PESOS REQUERIDOS PARA TAL TAREA. EL PERCEPTRÓN ERA CAPAZ DE RECONOCER PATRONES SENCILLOS Y DE GENERALIZAR SIMILITUDES ENTRE PATRONES. PERO A PESAR DE LAS ESPERANZAS QUE MUCHOS INVESTIGADORES EN ESTE TIPO DE RED, PRONTO SE VIO QUE TENÍA SERIAS LIMITACIONES, QUE SE EJEMPLIFICARON EN LA IMPOSIBILIDAD DE LA RED PARA RESOLVER UNA TAREA LÓGICA APARENTEMENTE SENCILLA: LA DEL PROBLEMA DE LA DISYUNCIÓN EXCLUSIVA. EN TÉRMINOS MÁS TÉCNICOS, SE VIO QUE ERA INCAPAZ DE

Page 66: Agentes Inteligentes en Sistemas (1)

CLASIFICAR CLASES O PATRONES NO SEPARABLES LINEALMENTE (VER MÁS ADELANTE LA EXPOSICIÓN DEL PERCEPTRÓN Y DEL PROBLEMA CITADO).

    EN ESTE BREVE RECORRIDO DE LA HISTORIA DEL CONEXIONISMO ES PRECISO REFERIRSE A LA TRAYECTORIA DE MARVIN MINSKY, COMPAÑERO DE ROSENBLATT EN EL INSTITUTO. EN SUS PRIMEROS ESCRITOS MANTUVO ALGUNAS TESIS QUE, CLARAMENTE, SON UN ANTECEDENTE DEL CONEXIONISMO:

CARÁCTER RELATIVAMENTE INDIFERENCIADO DEL CEREBRO PUES AUNQUE SE DAÑE UNA PARTE OTRAS PUEDEN REALIZAR SU FUNCIÓN, PARTICULARMENTE SI EL DAÑO ES EN UNA ÉPOCA TEMPRANA;

IMPORTANCIA DEL APRENDIZAJE EN LA ORGANIZACIÓN DE LAS REDES NEURONALES;

IMPORTANCIA DEL ESTUDIO DEL CEREBRO Y DEL COMPORTAMIENTO DE LAS NEURONAS PARA LA CONSTRUCCIÓN DE UNA MÁQUINA QUE REPRODUZCA ASPECTOS SUSTANCIALES DE LA MENTE HUMANA.

       FUE ÉL PRECISAMENTE UNO DE LOS PRIMEROS EN AFIRMAR QUE EL CEREBRO NO ES OTRA COSA QUE UNA “MÁQUINA DE CARNE”. ESTAS TESIS PERTENECEN A SUS PRIMERAS INVESTIGACIONES (CON LAS QUE CONSIGUIÓ EL GRADO DE DOCTOR). SIN EMBARGO, PRONTO ABANDONÓ ESTE PLANTEAMIENTO CONEXIONISTA DEFENDIENDO LA IDEA DE QUE ES POSIBLE COMPRENDER LA MENTE HUMANA PRESCINDIENDO DEL ESTUDIO DEL CEREBRO Y ATENDIENDO EXCLUSIVAMENE A SUS MECANISMOS O COMPORTAMIENTO. COMO SE SABE, ESTA TESIS ES UNO DE LOS PRINCIPIOS FUNDAMENTALES DE LA PSICOLOGÍA COGNITIVA TRADICIONAL, POR LO QUE, EN RESUMEN, SE PODRÍA DECIR QUE LAS PRIMERAS PROPUESTAS DE MINSKY FAVORECIERON LAS TESIS CONEXIONISTAS Y LAS SEGUNDAS (POR LAS QUE ES CÉLEBRE) LAS TESIS DE LA PSICOLOGÍA COGNITIVA CLÁSICA.

       OTRA IMPORTANTE Y CURIOSA APORTACIÓN FUE LA DE O. SELFRIDGE CON SU OBRA DE 1959 PANDEMONIUM: A PARADIGM FOR LEARNING, EN DONDE LLAMÓ “PANDEMONIUM” A SU MODELO DE PROCESAMIENTO DISTRIBUIDO Y PARALELO DE LA INFORMACIÓN. SU PROPUESTA ES IMPORTANTE PORQUE SU MODELO PARA EL RECONOCIMIENTO DE PATRONES DESCANSA EN EL PROCESAMIENTO INTERACTIVO REALIZADO POR UN CONJUNTO DE UNIDADES DE PROCESAMIENTO; Y ES TAMBIÉN CURIOSA PORQUE EN VEZ DE HABLAR DE NEURONAS PARA REFERIRSE A LAS UNIDADES DE PROCESAMIENTO LES DIÓ EL NOMBRE DE “DEMONIOS” (INCLUSO EN LOS LIBROS QUE EXPLICAN EL MODELO SE LOS DIBUJA COMO PEQUEÑOS DIABLILLOS). ES HABITUAL PRESENTAR ESTE MODELO COMO UN INTENTO DE COMPRENDER EL RECONOCIMIENTO DE LAS LETRAS DEL ALFABETO. MÁS ADELANTE SE PRESENTA EL PANDEMONIUM CON CON CIERTO DETALLE.

    BERNARD WIDROW Y MARCIAL HOFF (ADAPTIVE SWITCHING CIRCUITS,1960) INVENTARON UNA VARIANTE DEL PERCEPTRÓN Y UN NUEVO

Page 67: Agentes Inteligentes en Sistemas (1)

PROCEDIMIENTO DE APRENDIZAJE, LA REGLA DELTA DEL APRENDIZAJE. LLAMARON “ADALINE” A SU RED (POR ADAPTIVE LINEAR NEURON, NEURONA LINEAL ADAPTATIVA). EN REALIDAD, LA ÚNICA DIFERENCIA CON EL PERCEPTRÓN ES EL PROCEDIMIENTO DE APRENDIZAJE O ENTRENAMIENTO QUE UTILIZARON. ERA TAMBIÉN UNA RED DE DOS CAPAS (CAPA DE ENTRADA Y CAPA DE SALIDA) INTERCONECTAS, Y COMPUESTAS POR UNIDADES BIESTABLES. SU FINALIDAD ERA TAMBIÉN EL RECONOCIMIENTO DE PATRONES. EL ADALINE FUE LA PRIMERA RED NEURONAL APLICADA A UN PROBLEMA REAL (COMO FILTRO PARA ELIMINAR LOS ECOS EN LAS LÍNEAS TELEFÓNICAS) Y SE HA USADO COMERCIALMENTE DURANTE VARIAS DÉCADAS.

VOLVER AL ÍNDICE

VI.2.3. LIMITACIONES DE PERCEPTRONES Y ADALINES ELEMENTALES

        MARVIN MINSKY Y SEYMOUR PAPERT, PUBLICARON EN 1969 PERCEPTRONS: AN INTRODUCTION TO COMPUTATIONAL GEOMETRY: EN ESTE LIBRO ESTUDIARON LOS PERCEPTRONES Y DEMOSTRARON QUE LOS PERCEPTRONES Y ADALINES ELEMENTALES (LOS QUE CONSTAN SÓLO DE DOS CAPAS) ERAN INCAPACES DE DISTINGUIR ENTRE PATRONES TAN SENCILLOS COMO T Y C, NI DE LLEVAR A CABO TAREAS LÓGICAS SIMPLES, COMO LA DE DECIDIR LA TABLA DE VERDAD DE LA DISYUNCIÓN EXCLUSIVA; PROBARON MATEMÁTICAMENTE QUE DICHAS REDES, AUNQUE PUDIESEN MODIFICAR SUS PESOS MEDIANTE REGLAS DE APRENDIZAJE, NO PODÍAN RESOLVER MÁS QUE PROBLEMAS LINEALMENTE SEPARABLES. ADEMÁS, AMPLIARON SUS CRÍTICAS CONJETURANDO QUE ESTA DIFICULTAD NO SE PODRÍA SUPERAR AÑADIENDO UNIDADES OCULTAS EN REDES MULTICAPA. ESTO ÚLTIMO SE DEMOSTRÓ FALSO A PARTIR DE 1986, CUANDO SE DESCUBRIÓ LA REGLA DELTA GENERALIZADA Y LA VALIDEZ DE SU USO EN REDES CON CAPAS OCULTAS. ESTE TIPO DE REDES Y LA REGLA CITADA PERMITIÓ RESOLVER EL PROBLEMA MÁS FAMOSO PLANTEADO A LOS PERCEPTRONES Y ADALINES, EL PROBLEMA DE LA DISYUNCIÓN EXCLUSIVA ANTES CITADO. SE SUELE INDICAR QUE COMO CONSECUENCIA DE LAS CRÍTICAS DE ESTOS AUTORES LAS AUTORIDADES AMERICANAS DIRIGIERON SUS FONDOS A LA INTELIGENCIA ARTIFICIAL Y LA PSICOLOGÍA COGNITIVA CLÁSICA, CON EL CONSIGUIENTE FRENO DE LA INVESTIGACIÓN EN LOS MODELOS DE COMPUTACIÓN CONEXIONISTA.

VI.3. AÑOS SETENTA Y OCHENTA

      J. A. ANDERSON ESCRIBIÓ EN 1973 EL ARTÍCULO  A THEORY FOR THE RECOGNITION OF ITEMS FROM SHORT MEMORIZED LISTS Y EN 1977 NEURONAL MODELS WITH COGNITIVE IMPLICATIONS. EN ESTOS ESCRITOS PRESENTÓ ANÁLISIS MATEMÁTICOS DE ALGUNAS PROPIEDADES DE LAS REDES

Page 68: Agentes Inteligentes en Sistemas (1)

NEURONALES Y DEFENDIÓ LA RELEVANCIA DE LAS REPRESENTACIONES DISTRIBUIDAS EN DISTINTOS CAMPOS DE LA PSICOLOGÍA, POR EJEMPLO EN EL DEL APRENDIZAJE DE CONCEPTOS; SUS INVESTIGACIONES FUERON TAMBIÉN IMPORTANTES EN EL CAMPO DE LA MEMORIA ASOCIATIVA POR CONTENIDO Y DE NUEVOS MODELOS DE REDES.    STEPHEN GROSSBERG ES UNO DE LOS MÁS DESTACADOS INVESTIGADORES EN EL CAMPO CONEXIONISTA; SUS PROPUESTAS APARECEN YA EN LOS AÑOS SESENTA Y CONTINÚAN EN NUESTROS DÍAS. HA ESCRITO MUCHOS LIBROS Y DESARROLLADO DIVERSOS MODELOS DE REDES (TAL VEZ LA MÁS CONOCIDA ES LA RED QUE PROPUSO EN 1967, AVALANCHA, PARA EL RECONOCIMIENTO DEL HABLA Y EL APRENDIZAJE DEL MOVIMIENTO DE LOS BRAZOS DE UN ROBOT); ADEMÁS DE REALIZAR LAS PRIMERAS INVESTIGACIONES SOBRE EL APRENDIZAJE COMPETITIVO, SUBRAYÓ LA IMPORTANCIA DE LOS MODELOS CONEXIONISTAS EN LOS CAMPOS DE LA PERCEPCIÓN Y DE LA MEMORIA. DESTACA SU LIBRO DE 1982 STUDIES OF MIND AND BRAIN.

       HOFSTADTER (GÖDEL, ESCHER, BACH: AN ETERNAL GOLDEN BRAID, 1979 Y METAMAGICAL THEMAS, 1985) DEFIENDE LA EXISTENCIA DE DOS NIVELES DE PROCESAMIENTO, EL QUE ESTUDIA LA PSICOLOGÍA COGNITIVA CLÁSICA (NIVEL ESTRUCTURAL) Y UN NIVEL DE PROCESAMIENTO MÁS BAJO, Y EN EL QUE SE SITÚAN LOS TRABAJOS DEL CONEXIONISMO (NIVEL MICROESTRUCTURAL), DE AHÍ QUE EN OCASIONES SE HABLE DEL CONEXIONISMO COMO UN ENFOQUE QUE ANALIZA LA “MICROESTRUCTURA DE LA COGNICIÓN” PARA COMPRENDER LOS FENÓMENOS COGNITIVOS.     ES EN LOS AÑOS OCHENTA CUANDO EL CONEXIONISMO EMPIEZA A TENER UN ÉXITO CONSIDERABLE, Y EN ESTA TRAYECTORIA ES FUNDAMENTAL LA OBRA DE G. E. HINTON, Y J. A. ANDERSON EDITADA EN 1981 PARALLEL MODELS OF ASSOCIATIVE MEMORY, Y LA OBRA DE J. A. ANDERSON DE 1983 COGNITIVE AND PSYCHOLOGICAL COMPUTATION WITH NEURAL MODELS. EN ESTA ÚLTIMA ANDERSON ESTUDIA EL HARDWARE DEL SISTEMA NERVIOSO REAL Y PROPONE MODELOS NEURONALES SENCILLOS BASADOS EN LOS BIOLÓGICOS Y DESTINADOS A EXPLICAR LOS PROCESOS COGNITIVOS.     J. A. FELDMAN Y D. H. BALLARD (1982: CONNECTIONIST MODELS AND THEIR PROPERTIES. COGNITIVE SCIENCIE, 6) DESARROLLARON MUCHOS DE LOS PRINCIPIOS COMPUTACIONALES DEL ENFOQUE PROCESAMIENTO DISTRIBUIDO PARALELO (PDP), UTILIZARON POR PRIMERA VEZ EL NOMBRE DE CONEXIONISMO PARA ESTE ENFOQUE, Y CRITICARON EL ENFOQUE TRADICIONAL DE LA INTELIGENCIA ARTIFICIAL DESTACANDO SU POCA PLAUSIBILIDAD BIOLÓGICA. PERO SIN DUDA EL IMPULSO DEFINITIVO A LA INVESTIGACIÓN CONEXIONISTA TIENE COMO PROTAGONISTAS A DAVID. E. RUMELHART, JAMES. L. MCCLELLAND Y VARIOS INVESTIGADORES MÁS QUE FORMAN LO QUE SE HA LLAMADO “GRUPO PDP”, Y CULMINA CON LA APARICIÓN DE LO QUE SE HA CONSIDERADO COMO LA “BIBLIA CONEXIONISTA”, “PARALLEL DISTRIBUTED PROCESSING: EXPLORATIONS IN

Page 69: Agentes Inteligentes en Sistemas (1)

THE MICROESTRUCTURE OF COGNITION” (DOS VOLÚMENES) EDITADA POR RUMELHART Y MCCLELLAND EN 1986. EN ESTA OBRA SE TRATAN IMPORTANTES CUESTIONES PERO SIN DUDA DESTACA LA DEMOSTRACIÓN DE CÓMO LAS REDES CON MÁS DE DOS CAPAS PUEDEN SOLUCIONAR LAS OBJECIONES MATEMÁTICAS PROPUESTAS POR MINSKY Y PAPERT Y QUE TANTO LIMITARON EL DESARROLLO EN LA INVESTIGACIÓN DE REDES NEURONALES.

     A PARTIR DE PARALLEL DISTRIBUTED PROCESSING SE SUCEDEN MULTITUD DE INVESTIGACIONES, ARTÍCULOS Y CONGRESOS, TANTO EN LOS CAMPOS DE LA INTELIGENCIA ARTIFICIAL COMO EN LOS DE LA PSICOLOGÍA, CONVIRTIÉNDOSE EL CONEXIONISMO EN UN MOVIMIENTO REVOLUCIONARIO EN EL PANORAMA DE LA CIENCIA COGNITIVA. EN ESTE CONTEXTO SE CREAN LA SOCIEDAD EUROPEA DE REDES NEURONALES (ENNS) Y LA SOCIEDAD INTERNACIONAL DE REDES NEURONALES (INNS), SOCIEDADES QUE ORGANIZAN CONGRESOS Y REUNIONES ANUALES Y EDITAN REVISTAS PARA LA DIVULGACIÓN DE LAS INVESTIGACIONES EN ESTE CAMPO DE INVESTIGACIÓN, REVISTAS ENTRE LAS QUE DESTACAN NEURAL NETWORKS (REVISTA OFICIAL DE LA SOCIEDAD INTERNACIONAL DE REDES NEURONALES); NETWORK, COMPUTATION IN NEURAL SYSTEM; TRANSACTIONS ON NEURAL NETWORKS; NERUAL NETWORKS COUNCIL; NEURAL COMPUTATION Y INTERNATIONAL JOURNAL OF NEURAL SYSTEMS.      DE OCTUBRE DE 1987 A FEBRERO DE 1988, EL INSTITUTO TECNOLÓGICO DE MASSACHUSSETS (MIT), PATROCINADO POR LA OFICINA DE TECNOLOGÍA TÁCTICA DE LA AGENCIA DE PROYECTOS DE INVESTIGACIÓN AVANZADA DEL DEPARTAMENTO DE DEFENSA DE ESTADOS UNIDOS (DARPA/TTO) LLEVÓ A CABO LA REVISIÓN DE LA INVESTIGACIÓN Y TECNOLOGÍA BASADA EN REDES NEURONALES, REVISIÓN QUE SE PLASMÓ EN EL LIBRO NEURAL NETWORK STUDY (DARPA 88).

     EN ESPAÑA TAMBIÉN SE HA CREADO UNA SOCIEDAD PARA LA INVESTIGACIÓN EN REDES NEURALES QUE YA HA ORGANIZADO VARIOS CONGRESOS, SE ORGANIZAN SEMINARIOS (PRECISAMENTE EL QUE SE REALIZÓ EN LA UNED EN EL CURSO 87-88 DIO LUGAR A LA EDICIÓN DE INTRODUCCIÓN AL PROCESAMIENTO DISTRIBUIDO EN PARALELO, ALIANZA EDITORIAL, EN DONDE SE REÚNEN LOS CAPITULOS MÁS IMPORTANTES DE PARALLEL DISTRIBUTED PROCESSING). EL PROGRAMA EUROPEO DE INVESTIGACIÓN ESPRIT HA FINANCIADO DIVERSOS PROYECTOS EN ESTE CAMPO, PROYECTOS EN LOS QUE, EN ESPAÑA, HAN PARTICIPADO LAS UNIVERSIDADES POLITÉCNICA Y AUTÓNOMA DE MADRID, LA POLITÉCNICA DEL PAÍS VASCO, EL CENTRO DE ESTUDIOS AVANZADOS DE BLANES, EL INSTITUTO DE CIBERNÉTICA DEL CSIC Y EL INSTITUTO DE INGENIERÍA DEL CONOCIMIENTO (IIC), ENTRE OTROS.

Page 70: Agentes Inteligentes en Sistemas (1)

CONEXIONISMO

VI. BREVE HISTORIA DEL CONEXIONISMO

 

 VI.1. Hasta la primera mitad de nuestro sigloVI.2. Años cincuenta y sesenta          VI.2.1. La memoria asociativa          VI.2.2. El reconocimiento de patrones          VI.2.3. Limitaciones de perceptrones y adalines elementalesVI.3. Años setenta y ochenta 

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

 VI.1. HASTA LA PRIMERA MITAD DEL SIGLO XX

       LAS PRIMERAS APORTACIONES DESTACABLES PROVIENEN DE LA NEUROFISIOLOGÍA: LURIA, LASHLEY Y HEBB SE ENFRENTARON A LAS DOCTRINAS DOMINANTES A FINALES DEL SIGLO XIX, DOCTRINAS QUE DEFENDÍAN EL CARÁCTER LOCALISTA DEL ALMACENAMIENTO Y DE LAS FUNCIONES DEL CEREBRO; FRENTE A ESTAS DOCTRINAS DEFENDIERON UNA CONCEPCIÓN DISTRIBUIDA DE LOS SISTEMAS DE PROCESAMIENTO Y MEMORIA DEL CEREBRO. SUS INVESTIGACIONES DEMOSTRARON QUE LA ESPECIALIZACIÓN PODÍA DARSE EN RELACIÓN A GRANDES REGIONES DEL CEREBRO, PERO EN ABSOLUTO EN LAS NEURONAS SINGULARES. LASHLEY LLEVÓ TAN LEJOS LA HIPÓTESIS DISTRIBUIDA QUE POSTULÓ EL CARÁCTER EQUIPOTENTE DEL CEREBRO (CUALQUIER REGIÓN DEL CEREBRO PUEDE REALIZAR CUALQUIER TAREA DETERMINADA).        DE LOS TRES AUTORES CITADOS ES SIN DUDA DONALD HEBB EL MÁS IMPORTANTE EN RELACIÓN CON DESARROLLO DEL CONEXIONISMO, PARTICULARMENTE A PARTIR DE SU LIBRO PUBLICADO EN 1949 LA ORGANIZACIÓN DE LA CONDUCTA. HEBB DEFENDIÓ LA CONEXIÓN ENTRE PSICOLOGÍA Y FISIOLOGÍA, PROPUSO LA TESIS DEL CARÁCTER DISTRIBUIDO

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 71: Agentes Inteligentes en Sistemas (1)

DE LA INFORMACIÓN EN UNIDADES INFORMATIVAS Y FORMULÓ UNO DE LOS PRIMEROS PROCEDIMIENTOS DE APRENDIZAJE (PROCEDIMIENTO QUE ALGUNOS AUTORES CREEN QUE YA HABÍA SUGERIDO SANTIAGO RAMÓN Y CAJAL): SI UN CONJUNTO DE NEURONAS CONECTADAS ENTRE SÍ SE ACTIVAN REPETIDAMENTE, SUS SINAPSIS AUMENTAN SU CONDUCTIVIDAD, O DE OTRO MODO: CONJUNTOS DE NEURONAS SINCRÓNICAMENTE ACTIVADAS TIENDEN A ORGANIZARSE EN CONJUNTOS CONECTADOS.       ESTAS IDEAS DE HEBB HAN RESULTADO PARTICULARMENTE FECUNDAS. POR EJEMPLO, YA EN 1954 ALBERT M. UTTLEY DEMOSTRÓ EN THE CLASSIFICATION OF SIGNALS IN THE NERVOUS SYSTEM QUE REDES ENTRENADAS CON EL MODELO DE APRENDIZAJE HEBBIANO ERAN CAPACES DE RECONOCER PATRONES SIMPLES BINARIOS (111000, 110111, ...) EN CLASES (POR EJEMPLO LAS QUE COMIENZAN POR 110).       EL SIGUIENTE HITO RESEÑABLE SE REFIERE A LA APORTACIÓN DEL NEUROFISIÓLOGO WARREN MCCULLOCH Y EL MATEMÁTICO WALTER PITTS: EN 1943 PUBLICARON A LOGICAL CALCULUS OF THE IDEAS IMMANENT IN NERVOUS ACTIVITY. EL ARTÍCULO DE MCCULLOCH Y PITTS FUE IMPORTANTE, ENTRE OTRAS RAZONES, PORQUE EN ÉL SE TRATA AL CEREBRO COMO A UN ORGANISMO COMPUTACIONAL. PROPUSIERON LA CONSTRUCCIÓN DE MÁQUINAS DE COMPUTAR CON UNA ESTRUCTURA ABSTRACTA SIMILAR A LA QUE CREYERON ENCONTRAR EN LAS REDES NEURONALES BIOLÓGICAS, AUNQUE, A DIFERENCIA DE LAS REDES CONEXIONISTAS ACTUALES, DIRIGIDAS POR UN ENFOQUE LÓGICO Y NO UNO PROBABILÍSTICO. DIERON MÁS IMPORTANCIA AL APRENDIZAJE QUE A DISPOSICIONES INNATAS EN LA FORMACIÓN DE LAS CONEXIONES ENTRE LAS UNIDADES, Y DEMOSTRARON QUE REDES NEURONALES SENCILLAS CONECTADAS ENTRE SÍ MEDIANTE SINAPSIS EXCITADORAS E INHIBIDORAS Y ASIGNANDO UN VALOR UMBRAL PARA LA ACTIVACIÓN DE LA UNIDAD DE SALIDA, ERAN CAPACES DE REPRESENTAR ADECUADAMENTE LAS LEYES LÓGICAS FUNDAMENTALES. A ESTAS NEURONAS SENCILLAS LAS LLAMARON NEURONAS “FORMALES”; ACTUALMENTE A LAS REDES CONSTITUIDAS POR DICHAS UNIDADES SE LAS SUELE LLAMAR REDES DE MCCULLOCH-PITTS. AUNQUE INTENTARON MODELAR ASPECTOS ELEMENTALES DE LAS NEURONAS BIOLÓGICAS, LAS NEURONAS FORMALES ERAN SIMPLEMENTE CONMUTADORES LÓGICOS, SEMEJANTES A LOS CIRCUITOS LÓGICOS QUE SE PUEDEN CREAR MEDIANTE INTERRUPTORES Y POR LOS QUE PUEDE FLUIR LA CORRIENTE ELÉCTRICA.      EN 1947 MCCULLOCH Y PITTS ESCRIBIERON HOW WE KNOW UNIVERSALS: THE PERCEPTION OF AUDITORY AND VISUAL FORMAS, OBRA EN LA QUE TRATARON EL PROBLEMA DEL RECONOCIMIENTO DE PATRONES O PROBLEMA DEL RECONOCIMIENTO DE VARIACIONES DE UN MISMO PATRÓN Y EN LA QUE PRESENTARON DOS REDES. LA PRIMERA TENÍA COMO OBJETIVO RECONOCER PROPIEDADES COMUNES EN DISTINTOS INDIVIDUOS (PROPIEDADES INVARIANTES DEL MISMO PATRÓN); LA SEGUNDA ERA CAPAZ DE GENERAR EL PATRÓN A PARTIR DE EJEMPLOS DE DICHO PATRÓN. HICIERON UNA INTERPRETACIÓN BIOLÓGICA DE ESTAS REDES SUPONIENDO QUE LAS REDES NEURONALES DE LOS CÓRTICES AUDITIVO Y VISUAL ERAN

Page 72: Agentes Inteligentes en Sistemas (1)

REDES DEL PRIMER TIPO Y QUE EL COLÍCULO SUPERIOR (INVOLUCRADO EN EL CONTROL DEL MOVIMIENTO DE LOS OJO) ERA UNA RED DEL SEGUNDO TIPO. 

VOLVER AL ÍNDICE

     EN LA DÉCADA DE LOS CINCUENTA LAS REDES NEURONALES SE UTILIZARON PARA DAR CUENTA DE DOS CAPACIDADES IMPORTANTES DE LA MENTE HUMANA: LA MEMORIA ASOCIATIVA Y EL RECONOCIMIENTO DE PATRONES.

VI.2.1. LA MEMORIA ASOCIATIVA

      EMPECEMOS CON LA MEMORIA ASOCIATIVA: LA ASOCIACIÓN ENTRE RECUERDOS ES UN HECHO CONOCIDO DESDE HACE MUCHO TIEMPO; CUANDO DOS RECUERDOS TIENE ALGÚN ASPECTO COMÚN QUEDAN LIGADOS ENTRE SÍ DE TAL MODO QUE UNO PUEDE EVOCAR A OTRO.       EL PRIMER TRABAJO EN ESTE CAMPO CORRESPONDE A WILFRID K. TAYLOR CON SU OBRA DE 1956 ELECTRICAL SIMULATION OF SOME NERVOUS SYSTEM FUNCTIONAL ACTIVITIES. TAYLOR PROPONE UNA RED EN TRES CAPAS: UNA CON UNIDADES SENSORIALES, OTRA CON UNIDADES ASOCIATIVAS Y LA ÚLTIMA CON UNIDADES MOTORAS. LOS PESOS DE LAS SINAPSIS SON MODIFICABLES Y LAS UNIDADES YA NO SON NEURONAS BIESTABLES (TODO-O-NADA), AL MODO DE LAS NEURONAS FORMALES DE MCCULLOCH-PITTS, SINO DISPOSITIVOS ANALÓGICOS. EL PROCEDIMIENTO DE ENTRENAMIENTO ES LA REGLA DE HEBB: SE AUMENTAN LOS PESOS ACTIVADOS SI SE ACTIVAN LAS UNIDADES MOTORAS DESEADAS. INICIALMENTE SE LE PRESENTAN PARES DE PATRONES; DE ESE PAR DE PATRONES UNO PROVOCA UNA RESPUESTA PRECISA EN LAS NEURONAS MOTORAS Y EL OTRO NO; MEDIANTE EL APRENDIZAJE, LA RED CONSIGUE QUE ESTOS ÚLTIMOS PATRONES, LOS QUE ORIGINARIAMENTE NO PROVOCABAN LA RESPUESTA EN LAS NEURONAS MOTORAS, AHORA SÍ LO HAGAN. EN ESTE SENTIDO SE PUEDE DECIR QUE LA RED CONSIGUE ASOCIAR PATRONES SENSORIALES DIFERENTES, Y MUESTRA UN COMPORTAMIENTO PARECIDO AL CONDICIONAMIENTO PAVLOVIANO. ADEMÁS EN SU RED, LA MEMORIA ASOCIADA SE ALMACENA EN EL PATRÓN DE PESOS Y POR LO TANTO DE FORMA DISTRIBUIDA.      EN TRABAJOS POSTERIORES TAYLOR CONSTRUYÓ UNA RED MÁS ELABORADA, CON SINAPSIS QUE VOLVÍAN DE LAS UNIDADES MOTORAS A LAS UNIDADES SENSORIALES Y CON SINAPSIS ENTRE UNIDADES DE LA MISMA CAPA. ESTA RED ERA MÁS EFICAZ EN LA ASOCIACIÓN DE ESTÍMULOS APAREADOS Y SE MOSTRÓ TAMBIÉN CAPAZ DE DISCRIMINAR

Page 73: Agentes Inteligentes en Sistemas (1)

PATRONES (RECOGIENDO POR TANTO LAS CAPACIDADES DE LOS PERCEPTRONES Y ADALINES). EN 1964 (CORTICO-THALAMIC ORGANIZATION AND MEMORY) AVENTURÓ INCLUSO UNA INTERPRETACIÓN BIOLÓGICA DE SU RED, SUGIRIENDO QUE LAS ÁREAS DE ASOCIACIÓN DE LA CORTEZA CEREBRAL Y EL TÁLAMO CONTENÍAN ESAS REDES.     LAS REDES ANTERIORES ASOCIAN INDIRECTAMENTE EL ELEMENTO A Y EL ELEMENTO B AL ESTAR ASOCIADOS AMBOS CON C (COMO OCURRE CON EL CONDICIONAMIENTO CLÁSICO); ESTUDIOS DE LOS AÑOS SESENTA Y SETENTA MOSTRARON QUE ESTAS REDES PUEDEN SERVIR TAMBIÉN PARA REPRESENTAR LA MEMORIA ASOCIATIVA ACCESIBLE O DIRECCIONABLE POR EL CONTENIDO; LLAMAMOS MEMORIA ACCESIBLE POR EL CONTENIDO A AQUELLA QUE NOS PERMITE RECORDAR ÍTEMS A PARTIR DE DESCRIPCIONES PARCIALES DE SUS CONTENIDOS O CARACTERÍSTICAS, INCLUSO CUANDO ALGUNA DE ESTAS DESCRIPCIONES ES ERRÓNEA. Y PRECISAMENTE POR ESTA CAPACIDAD ACTUALMENTE A LAS REDES ASOCIATIVAS SE LAS LLAMA TAMBIÉN MEMORIAS ASOCIATIVAS DIRECCIONABLES O ACCESIBLES POR CONTENIDO (ACAMS).  

VOLVER AL ÍNDICE 

VI.2.2. EL RECONOCIMIENTO DE PATRONES

    EN CUANTO AL RECONOCIMIENTO DE PATRONES, CABE DESTACAR LO SIGUIENTE: EN ESENCIA EL PROBLEMA CONSISTE EN EXPLICAR CÓMO SE PUEDE RECONOCER QUE INDIVIDUOS DISTINTOS PERTENECEN, NO OBSTANTE, AL MISMO TIPO. UN CASO TÍPICO DE RECONOCIMIENTO DE PATRONES ES NUESTRA CAPACIDAD DE INTERPRETAR COMO “A” SIGNOS QUE SIN EMBARGO SON DISTINTOS (“A”, “A”, “A”, “A”, “A”, “A”), PERO EVIDENTEMENTE ESTA CAPACIDAD APARECE TAMBIÉN EN OTROS CONTEXTOS: SOMOS CAPACES DE RECONOCER EL ROSTRO DE UNA PERSONA EN DISTINTAS CONDICIONES DE LUMINOSIDAD E INCLUSO AUNQUE CAMBIE SU PEINADO, SU MAQUILLAJE O SE DEJE BARBA; UN ANIMAL DEBE RECONOCER LOS INDIVIDUOS DE OTRA ESPECIE COMO SIENDO LA PRESA CON LA QUE SE HA DE ALIMENTAR, O SU POSIBLE PAREJA PARA LA REPRODUCCIÓN,...     YA SE HA CITADO LA APORTACIÓN DE MCCULLOCH Y PITTS EN ESTE CAMPO, POR LO QUE AHORA PODEMOS REFERIRNOS A OTROS AUTORES, COMENZANDO POR JOHN VON NEUMANN: EN SU ESCRITO DE 1956, PROBABILISTIC LOGICS AND THE SYNTHESIS OF RELIABLE ORGANISMS FROM UNRELIABLE COMPONENTS, MEJORÓ LAS REDES MCCULLOCH-PITTS CREANDO REDES CONFIABLES: EN LAS REDES ORIGINALES DE MCCULLUCH-PITTS CADA UNIDAD ACTUABA REPRESENTANDO UNA UNIDAD INFORMATIVA Y LO HACÍA CON LA LÓGICA TODO-O-NADA. ESTA REDES NO SON MUY CONFIABLES PUES EL DAÑO EN UNA UNIDAD PUEDE

Page 74: Agentes Inteligentes en Sistemas (1)

TENER EFECTOS CATASTRÓFICOS EN LA COMPUTACIÓN. PARA RESOLVER ESTA DIFICULTAD VON NEUMANN INTRODUJO LA REDUNDANCIA EN LA RED: UNA UNIDAD INFORMATIVA NO SE REPRESENTA MEDIANTE UNA NEURONA SINO MEDIANTE LA ACTIVACIÓN SINCRÓNICA DE UN CÚMULO DE NEURONAS (POR EJEMPLO SE PUEDE REPRESENTAR 1 CUANDO MÁS DE LA MITAD ESTÁ ACTIVADA Y 0 EN CASO CONTRARIO). VON NEUMANN PROBÓ QUE ESTAS REDES REDUNDANTES PUEDEN REALIZAR CÁLCULOS ARITMÉTICOS DE MODO MUY CONFIABLE.      EN 1963 SHAMUEL WINOGRAD Y JACK D. COWAN ESCRIBIERON RELIABLE COMPUTATION IN THE PRESENCE OF NOISE. EN ESTA OBRA RECOGIERON Y MEJORARON LAS IDEAS DE VON NEUMANN, DEFENDIENDO UNA PROPUESTA AÚN MÁS DISTRIBUIDA DEL CONOCIMIENTO: EN LAS REDES DE WINOGRAD-COWAN UN BIT O UNIDAD DE INFORMACIÓN SE REPRESENTABA MEDIANTE VARIAS NEURONAS, COMO EN LAS REDES DE VON NEUMANN, PERO, Y ESTA ERA LA NOVEDAD, CADA NEURONA REPRESENTABA PARCIALMENTE VARIOS BITS.

      LA FIGURA DE FRANK ROSENBLATT ES IMPRESCINDIBLE PAR ENTENDER EL DESARROLLO DEL CONEXIONISMO. EN SUS OBRAS DE 1958 THE PERCEPTRON, A PROBABILISTIC MODEL FOR INFORMATION STORAGE AND ORGANIZATION IN THE BRAIN Y DE 1962 PRINCIPLES OF NEURODYNAMICS, DEFIENDE LA IMPORTANCIA DE LAS REDES NEURONALES PARA LA COMPUTACIÓN Y DE LOS MÉTODOS PROBABILÍSTICOS MÁS QUE DE LOS LÓGICOS EN EL USO DE LAS REDES, MEJORA LA REGLA DE APRENDIZAJE DE HEBB Y PRESENTA UNA RED A LA QUE LLAMÓ “PERCEPTRÓN”. EN SU VERSIÓN MÁS SENCILLA, EL PERCEPTRÓN CONSTA DE DOS CAPAS: LA DE ENTRADA O CAPA CON UNIDADES SENSORIALES Y, CONECTADA CON LA ANTERIOR, LA DE SALIDA O CAPA CON UNIDADES MOTORAS. LAS UNIDADES ERAN UNIDADES MCCULLOCH-PITTS (PODÍAN TOMAR SIMPLEMENTE LOS VALORES ACTIVADO-DESACTIVADO). INICIALMENTE LOS PESOS DE LAS CONEXIONES ERAN ALEATORIOS, Y EL APRENDIZAJE CONSISTÍA EN LA MODIFICACIÓN DE LOS PESOS DE TAL FORMA QUE DADA UNA ENTRADA SE CONSIGUIESE LA SALIDA DESEADA. ROSENBLATT ENCONTRÓ UN SENCILLO PROCEDIMIENTO DE ENTRENAMIENTO CON EL CUAL LA RED PODÍA DAR CON LOS PESOS REQUERIDOS PARA TAL TAREA. EL PERCEPTRÓN ERA CAPAZ DE RECONOCER PATRONES SENCILLOS Y DE GENERALIZAR SIMILITUDES ENTRE PATRONES. PERO A PESAR DE LAS ESPERANZAS QUE MUCHOS INVESTIGADORES EN ESTE TIPO DE RED, PRONTO SE VIO QUE TENÍA SERIAS LIMITACIONES, QUE SE EJEMPLIFICARON EN LA IMPOSIBILIDAD DE LA RED PARA RESOLVER UNA TAREA LÓGICA APARENTEMENTE SENCILLA: LA DEL PROBLEMA DE LA DISYUNCIÓN EXCLUSIVA. EN TÉRMINOS MÁS TÉCNICOS, SE VIO QUE ERA INCAPAZ DE CLASIFICAR CLASES O PATRONES NO SEPARABLES LINEALMENTE (VER MÁS ADELANTE LA EXPOSICIÓN DEL PERCEPTRÓN Y DEL PROBLEMA CITADO).

    EN ESTE BREVE RECORRIDO DE LA HISTORIA DEL CONEXIONISMO ES PRECISO REFERIRSE A LA TRAYECTORIA DE MARVIN MINSKY, COMPAÑERO

Page 75: Agentes Inteligentes en Sistemas (1)

DE ROSENBLATT EN EL INSTITUTO. EN SUS PRIMEROS ESCRITOS MANTUVO ALGUNAS TESIS QUE, CLARAMENTE, SON UN ANTECEDENTE DEL CONEXIONISMO:

CARÁCTER RELATIVAMENTE INDIFERENCIADO DEL CEREBRO PUES AUNQUE SE DAÑE UNA PARTE OTRAS PUEDEN REALIZAR SU FUNCIÓN, PARTICULARMENTE SI EL DAÑO ES EN UNA ÉPOCA TEMPRANA;

IMPORTANCIA DEL APRENDIZAJE EN LA ORGANIZACIÓN DE LAS REDES NEURONALES;

IMPORTANCIA DEL ESTUDIO DEL CEREBRO Y DEL COMPORTAMIENTO DE LAS NEURONAS PARA LA CONSTRUCCIÓN DE UNA MÁQUINA QUE REPRODUZCA ASPECTOS SUSTANCIALES DE LA MENTE HUMANA.

       FUE ÉL PRECISAMENTE UNO DE LOS PRIMEROS EN AFIRMAR QUE EL CEREBRO NO ES OTRA COSA QUE UNA “MÁQUINA DE CARNE”. ESTAS TESIS PERTENECEN A SUS PRIMERAS INVESTIGACIONES (CON LAS QUE CONSIGUIÓ EL GRADO DE DOCTOR). SIN EMBARGO, PRONTO ABANDONÓ ESTE PLANTEAMIENTO CONEXIONISTA DEFENDIENDO LA IDEA DE QUE ES POSIBLE COMPRENDER LA MENTE HUMANA PRESCINDIENDO DEL ESTUDIO DEL CEREBRO Y ATENDIENDO EXCLUSIVAMENE A SUS MECANISMOS O COMPORTAMIENTO. COMO SE SABE, ESTA TESIS ES UNO DE LOS PRINCIPIOS FUNDAMENTALES DE LA PSICOLOGÍA COGNITIVA TRADICIONAL, POR LO QUE, EN RESUMEN, SE PODRÍA DECIR QUE LAS PRIMERAS PROPUESTAS DE MINSKY FAVORECIERON LAS TESIS CONEXIONISTAS Y LAS SEGUNDAS (POR LAS QUE ES CÉLEBRE) LAS TESIS DE LA PSICOLOGÍA COGNITIVA CLÁSICA.

       OTRA IMPORTANTE Y CURIOSA APORTACIÓN FUE LA DE O. SELFRIDGE CON SU OBRA DE 1959 PANDEMONIUM: A PARADIGM FOR LEARNING, EN DONDE LLAMÓ “PANDEMONIUM” A SU MODELO DE PROCESAMIENTO DISTRIBUIDO Y PARALELO DE LA INFORMACIÓN. SU PROPUESTA ES IMPORTANTE PORQUE SU MODELO PARA EL RECONOCIMIENTO DE PATRONES DESCANSA EN EL PROCESAMIENTO INTERACTIVO REALIZADO POR UN CONJUNTO DE UNIDADES DE PROCESAMIENTO; Y ES TAMBIÉN CURIOSA PORQUE EN VEZ DE HABLAR DE NEURONAS PARA REFERIRSE A LAS UNIDADES DE PROCESAMIENTO LES DIÓ EL NOMBRE DE “DEMONIOS” (INCLUSO EN LOS LIBROS QUE EXPLICAN EL MODELO SE LOS DIBUJA COMO PEQUEÑOS DIABLILLOS). ES HABITUAL PRESENTAR ESTE MODELO COMO UN INTENTO DE COMPRENDER EL RECONOCIMIENTO DE LAS LETRAS DEL ALFABETO. MÁS ADELANTE SE PRESENTA EL PANDEMONIUM CON CON CIERTO DETALLE.

    BERNARD WIDROW Y MARCIAL HOFF (ADAPTIVE SWITCHING CIRCUITS,1960) INVENTARON UNA VARIANTE DEL PERCEPTRÓN Y UN NUEVO PROCEDIMIENTO DE APRENDIZAJE, LA REGLA DELTA DEL APRENDIZAJE. LLAMARON “ADALINE” A SU RED (POR ADAPTIVE LINEAR NEURON, NEURONA LINEAL ADAPTATIVA). EN REALIDAD, LA ÚNICA DIFERENCIA CON EL PERCEPTRÓN ES EL PROCEDIMIENTO DE APRENDIZAJE O ENTRENAMIENTO QUE UTILIZARON. ERA TAMBIÉN UNA RED DE DOS CAPAS

Page 76: Agentes Inteligentes en Sistemas (1)

(CAPA DE ENTRADA Y CAPA DE SALIDA) INTERCONECTAS, Y COMPUESTAS POR UNIDADES BIESTABLES. SU FINALIDAD ERA TAMBIÉN EL RECONOCIMIENTO DE PATRONES. EL ADALINE FUE LA PRIMERA RED NEURONAL APLICADA A UN PROBLEMA REAL (COMO FILTRO PARA ELIMINAR LOS ECOS EN LAS LÍNEAS TELEFÓNICAS) Y SE HA USADO COMERCIALMENTE DURANTE VARIAS DÉCADAS.

VOLVER AL ÍNDICE

VI.2.3. LIMITACIONES DE PERCEPTRONES Y ADALINES ELEMENTALES

        MARVIN MINSKY Y SEYMOUR PAPERT, PUBLICARON EN 1969 PERCEPTRONS: AN INTRODUCTION TO COMPUTATIONAL GEOMETRY: EN ESTE LIBRO ESTUDIARON LOS PERCEPTRONES Y DEMOSTRARON QUE LOS PERCEPTRONES Y ADALINES ELEMENTALES (LOS QUE CONSTAN SÓLO DE DOS CAPAS) ERAN INCAPACES DE DISTINGUIR ENTRE PATRONES TAN SENCILLOS COMO T Y C, NI DE LLEVAR A CABO TAREAS LÓGICAS SIMPLES, COMO LA DE DECIDIR LA TABLA DE VERDAD DE LA DISYUNCIÓN EXCLUSIVA; PROBARON MATEMÁTICAMENTE QUE DICHAS REDES, AUNQUE PUDIESEN MODIFICAR SUS PESOS MEDIANTE REGLAS DE APRENDIZAJE, NO PODÍAN RESOLVER MÁS QUE PROBLEMAS LINEALMENTE SEPARABLES. ADEMÁS, AMPLIARON SUS CRÍTICAS CONJETURANDO QUE ESTA DIFICULTAD NO SE PODRÍA SUPERAR AÑADIENDO UNIDADES OCULTAS EN REDES MULTICAPA. ESTO ÚLTIMO SE DEMOSTRÓ FALSO A PARTIR DE 1986, CUANDO SE DESCUBRIÓ LA REGLA DELTA GENERALIZADA Y LA VALIDEZ DE SU USO EN REDES CON CAPAS OCULTAS. ESTE TIPO DE REDES Y LA REGLA CITADA PERMITIÓ RESOLVER EL PROBLEMA MÁS FAMOSO PLANTEADO A LOS PERCEPTRONES Y ADALINES, EL PROBLEMA DE LA DISYUNCIÓN EXCLUSIVA ANTES CITADO. SE SUELE INDICAR QUE COMO CONSECUENCIA DE LAS CRÍTICAS DE ESTOS AUTORES LAS AUTORIDADES AMERICANAS DIRIGIERON SUS FONDOS A LA INTELIGENCIA ARTIFICIAL Y LA PSICOLOGÍA COGNITIVA CLÁSICA, CON EL CONSIGUIENTE FRENO DE LA INVESTIGACIÓN EN LOS MODELOS DE COMPUTACIÓN CONEXIONISTA.

VI.3. AÑOS SETENTA Y OCHENTA

      J. A. ANDERSON ESCRIBIÓ EN 1973 EL ARTÍCULO  A THEORY FOR THE RECOGNITION OF ITEMS FROM SHORT MEMORIZED LISTS Y EN 1977 NEURONAL MODELS WITH COGNITIVE IMPLICATIONS. EN ESTOS ESCRITOS PRESENTÓ ANÁLISIS MATEMÁTICOS DE ALGUNAS PROPIEDADES DE LAS REDES NEURONALES Y DEFENDIÓ LA RELEVANCIA DE LAS REPRESENTACIONES DISTRIBUIDAS EN DISTINTOS CAMPOS DE LA PSICOLOGÍA, POR EJEMPLO EN EL DEL APRENDIZAJE DE CONCEPTOS; SUS INVESTIGACIONES FUERON TAMBIÉN IMPORTANTES EN EL CAMPO DE LA MEMORIA ASOCIATIVA POR CONTENIDO Y DE NUEVOS MODELOS DE REDES.

Page 77: Agentes Inteligentes en Sistemas (1)

    STEPHEN GROSSBERG ES UNO DE LOS MÁS DESTACADOS INVESTIGADORES EN EL CAMPO CONEXIONISTA; SUS PROPUESTAS APARECEN YA EN LOS AÑOS SESENTA Y CONTINÚAN EN NUESTROS DÍAS. HA ESCRITO MUCHOS LIBROS Y DESARROLLADO DIVERSOS MODELOS DE REDES (TAL VEZ LA MÁS CONOCIDA ES LA RED QUE PROPUSO EN 1967, AVALANCHA, PARA EL RECONOCIMIENTO DEL HABLA Y EL APRENDIZAJE DEL MOVIMIENTO DE LOS BRAZOS DE UN ROBOT); ADEMÁS DE REALIZAR LAS PRIMERAS INVESTIGACIONES SOBRE EL APRENDIZAJE COMPETITIVO, SUBRAYÓ LA IMPORTANCIA DE LOS MODELOS CONEXIONISTAS EN LOS CAMPOS DE LA PERCEPCIÓN Y DE LA MEMORIA. DESTACA SU LIBRO DE 1982 STUDIES OF MIND AND BRAIN.

       HOFSTADTER (GÖDEL, ESCHER, BACH: AN ETERNAL GOLDEN BRAID, 1979 Y METAMAGICAL THEMAS, 1985) DEFIENDE LA EXISTENCIA DE DOS NIVELES DE PROCESAMIENTO, EL QUE ESTUDIA LA PSICOLOGÍA COGNITIVA CLÁSICA (NIVEL ESTRUCTURAL) Y UN NIVEL DE PROCESAMIENTO MÁS BAJO, Y EN EL QUE SE SITÚAN LOS TRABAJOS DEL CONEXIONISMO (NIVEL MICROESTRUCTURAL), DE AHÍ QUE EN OCASIONES SE HABLE DEL CONEXIONISMO COMO UN ENFOQUE QUE ANALIZA LA “MICROESTRUCTURA DE LA COGNICIÓN” PARA COMPRENDER LOS FENÓMENOS COGNITIVOS.     ES EN LOS AÑOS OCHENTA CUANDO EL CONEXIONISMO EMPIEZA A TENER UN ÉXITO CONSIDERABLE, Y EN ESTA TRAYECTORIA ES FUNDAMENTAL LA OBRA DE G. E. HINTON, Y J. A. ANDERSON EDITADA EN 1981 PARALLEL MODELS OF ASSOCIATIVE MEMORY, Y LA OBRA DE J. A. ANDERSON DE 1983 COGNITIVE AND PSYCHOLOGICAL COMPUTATION WITH NEURAL MODELS. EN ESTA ÚLTIMA ANDERSON ESTUDIA EL HARDWARE DEL SISTEMA NERVIOSO REAL Y PROPONE MODELOS NEURONALES SENCILLOS BASADOS EN LOS BIOLÓGICOS Y DESTINADOS A EXPLICAR LOS PROCESOS COGNITIVOS.     J. A. FELDMAN Y D. H. BALLARD (1982: CONNECTIONIST MODELS AND THEIR PROPERTIES. COGNITIVE SCIENCIE, 6) DESARROLLARON MUCHOS DE LOS PRINCIPIOS COMPUTACIONALES DEL ENFOQUE PROCESAMIENTO DISTRIBUIDO PARALELO (PDP), UTILIZARON POR PRIMERA VEZ EL NOMBRE DE CONEXIONISMO PARA ESTE ENFOQUE, Y CRITICARON EL ENFOQUE TRADICIONAL DE LA INTELIGENCIA ARTIFICIAL DESTACANDO SU POCA PLAUSIBILIDAD BIOLÓGICA. PERO SIN DUDA EL IMPULSO DEFINITIVO A LA INVESTIGACIÓN CONEXIONISTA TIENE COMO PROTAGONISTAS A DAVID. E. RUMELHART, JAMES. L. MCCLELLAND Y VARIOS INVESTIGADORES MÁS QUE FORMAN LO QUE SE HA LLAMADO “GRUPO PDP”, Y CULMINA CON LA APARICIÓN DE LO QUE SE HA CONSIDERADO COMO LA “BIBLIA CONEXIONISTA”, “PARALLEL DISTRIBUTED PROCESSING: EXPLORATIONS IN THE MICROESTRUCTURE OF COGNITION” (DOS VOLÚMENES) EDITADA POR RUMELHART Y MCCLELLAND EN 1986. EN ESTA OBRA SE TRATAN IMPORTANTES CUESTIONES PERO SIN DUDA DESTACA LA DEMOSTRACIÓN DE CÓMO LAS REDES CON MÁS DE DOS CAPAS PUEDEN SOLUCIONAR LAS OBJECIONES MATEMÁTICAS PROPUESTAS POR MINSKY Y PAPERT Y QUE

Page 78: Agentes Inteligentes en Sistemas (1)

TANTO LIMITARON EL DESARROLLO EN LA INVESTIGACIÓN DE REDES NEURONALES.

     A PARTIR DE PARALLEL DISTRIBUTED PROCESSING SE SUCEDEN MULTITUD DE INVESTIGACIONES, ARTÍCULOS Y CONGRESOS, TANTO EN LOS CAMPOS DE LA INTELIGENCIA ARTIFICIAL COMO EN LOS DE LA PSICOLOGÍA, CONVIRTIÉNDOSE EL CONEXIONISMO EN UN MOVIMIENTO REVOLUCIONARIO EN EL PANORAMA DE LA CIENCIA COGNITIVA. EN ESTE CONTEXTO SE CREAN LA SOCIEDAD EUROPEA DE REDES NEURONALES (ENNS) Y LA SOCIEDAD INTERNACIONAL DE REDES NEURONALES (INNS), SOCIEDADES QUE ORGANIZAN CONGRESOS Y REUNIONES ANUALES Y EDITAN REVISTAS PARA LA DIVULGACIÓN DE LAS INVESTIGACIONES EN ESTE CAMPO DE INVESTIGACIÓN, REVISTAS ENTRE LAS QUE DESTACAN NEURAL NETWORKS (REVISTA OFICIAL DE LA SOCIEDAD INTERNACIONAL DE REDES NEURONALES); NETWORK, COMPUTATION IN NEURAL SYSTEM; TRANSACTIONS ON NEURAL NETWORKS; NERUAL NETWORKS COUNCIL; NEURAL COMPUTATION Y INTERNATIONAL JOURNAL OF NEURAL SYSTEMS.      DE OCTUBRE DE 1987 A FEBRERO DE 1988, EL INSTITUTO TECNOLÓGICO DE MASSACHUSSETS (MIT), PATROCINADO POR LA OFICINA DE TECNOLOGÍA TÁCTICA DE LA AGENCIA DE PROYECTOS DE INVESTIGACIÓN AVANZADA DEL DEPARTAMENTO DE DEFENSA DE ESTADOS UNIDOS (DARPA/TTO) LLEVÓ A CABO LA REVISIÓN DE LA INVESTIGACIÓN Y TECNOLOGÍA BASADA EN REDES NEURONALES, REVISIÓN QUE SE PLASMÓ EN EL LIBRO NEURAL NETWORK STUDY (DARPA 88).

     EN ESPAÑA TAMBIÉN SE HA CREADO UNA SOCIEDAD PARA LA INVESTIGACIÓN EN REDES NEURALES QUE YA HA ORGANIZADO VARIOS CONGRESOS, SE ORGANIZAN SEMINARIOS (PRECISAMENTE EL QUE SE REALIZÓ EN LA UNED EN EL CURSO 87-88 DIO LUGAR A LA EDICIÓN DE INTRODUCCIÓN AL PROCESAMIENTO DISTRIBUIDO EN PARALELO, ALIANZA EDITORIAL, EN DONDE SE REÚNEN LOS CAPITULOS MÁS IMPORTANTES DE PARALLEL DISTRIBUTED PROCESSING). EL PROGRAMA EUROPEO DE INVESTIGACIÓN ESPRIT HA FINANCIADO DIVERSOS PROYECTOS EN ESTE CAMPO, PROYECTOS EN LOS QUE, EN ESPAÑA, HAN PARTICIPADO LAS UNIVERSIDADES POLITÉCNICA Y AUTÓNOMA DE MADRID, LA POLITÉCNICA DEL PAÍS VASCO, EL CENTRO DE ESTUDIOS AVANZADOS DE BLANES, EL INSTITUTO DE CIBERNÉTICA DEL CSIC Y EL INSTITUTO DE INGENIERÍA DEL CONOCIMIENTO (IIC), ENTRE OTROS.

CONEXIONISMO

VII. ELEMENTOS DE LAS ARQUITECTURAS CONEXIONISTAS (1)  

Page 79: Agentes Inteligentes en Sistemas (1)

VII.1. CONCEPTOS Y ELEMENTOS DE LA ESTRUCTURA CONEXIONISTA

VII.1.1. Las unidades

VII.1.2 . Las conexiones entre las unidades (las sinapsis)

VII.1.3. P eso sináptico

VII.1.4. El patrón de conexión

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

 

      En las redes conexionistas es preciso distinguir dos tipos de elementos: los relativos a su estructura y los relativos a sus mecanismos de procesamiento:

Conceptos y elementos de la estructura conexionista

Conceptos y mecanismos básicos para el procesamiento

en las redes conexionistas

Las unidadesLa entrada (input) total

  La regla de propagación

Las conexiones entre las unidades

(las sinapsis)  El estado de activación

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 80: Agentes Inteligentes en Sistemas (1)

  La regla o función de activación

El peso sináptico La salida (output) de las

unidades

  La función de transferencia

El patrón de conexión Reglas de aprendizaje

     

VII.1. CONCEPTOS Y ELEMENTOS DE LA ESTRUCTURA CONEXIONISTA VII.1.1. Las unidades

          Los elementos básicos de procesamiento de la información en el cerebro son las neuronas;  dado que los modelos conexionistas son modelos de inspiración biológica, a las unidades básicas encargadas del procesamiento en las redes conexionistas se las llama habitualmente neuronas, aunque también podemos encontrar en la literatura los términos “células”, “unidades”, “neuronas artificiales”, “nodos”, elementos de procesamiento (PEs) o, simplemente,  “elementos”. La función de estas unidades tiene que ver esencialmente con el la recepción y tratamiento de la información: recibir información a partir de las conexiones que mantienen con otras neuronas, elaborar o transformar la información recibida y emitir información de salida hacia otras neuronas.

          Existen tres tipos de unidades:

1. Unidades de entrada: les corresponde este nombre por recibir información de fuentes externas a la propia red. Si la red dispone de sensores (por ejemplo, un scanner), la información externa es información sensorial; si la red está conectada con otras redes, las unidades de entrada reciben datos de las salidas de las otras redes; en otros casos, simplemente, las unidades de entrada reciben los datos que el usuario de la red introduce manualmente en el ordenador.

2. Unidades de salida: ofrecen las señales o información al exterior de la red; dan la respuesta del sistema. Si la red dispone de conexiones con sistemas motores (robots, por ejemplo) su respuesta será la intervención en el mundo físico; si la red está conectada con otras redes, su respuesta serán datos de entrada para éstas últimas redes; y si, simplemente, son redes que utilizamos en nuestro ordenador, las unidades de salida ofrece datos al usuario para su posterior tratamiento.

3. Unidades ocultas: aunque no todas las redes poseen este tipo de unidades, las redes mínimamente sofisticadas las incluyen. Estas unidades no tienen una relación directa ni con la información de entrada ni con la de salida, por lo que no son

Page 81: Agentes Inteligentes en Sistemas (1)

“visibles” al ambiente exterior a la red, de ahí su nombre. Su función es procesar la información en niveles más complejos, favorecer cómputos más eficaces.

          La información que puede recibir una red, la que puede ser almacenada y la que puede emitir, está determinada en gran medida por lo que se llama el abanico de entrada (fan-in) y el abanico de salida (fan-out). El abanico de entrada es el número de elementos que excitan o inhiben una unidad dada. El abanico de salida de una unidad es el número de unidades que son afectadas directamente por dicha unidad.

          Se llama capa o nivel o estrato al conjunto de neuronas que reciben información de la misma fuente (información externa, otra capa de neuronas) y ofrecen información al mismo destino (al usuario, a sistemas motores, a otra capa de neuronas).

 

Volver al índice

          Las sinapsis son las conexiones entre las neuronas. En la mayor parte de redes las sinapsis son unidireccionales: la neurona j transmite información a la neurona i y la neurona i la recibe, y nunca ocurre lo contrario. Sin embargo, en redes como las de Hopfield las sinapsis son bidireccionales.

          Tipos de sinapsis:

a) sinapsis inhibidora: en este tipo de conexión el impulso transmitido por una neurona inhibe la activación de la neurona con la que está conectada: si la neurona j le transmite a la neurona i un impulso que inhibe a ésta, el nivel de activación de la neurona i decrecerá, y decrecerá en función del peso establecido para dicha conexión y de la cantidad de información que se transmite por dicha sinapsis. Se suele representar la sinapsis inhibidora mediante puntos negros;

b) sinapsis excitadora: en este tipo de conexión el impulso transmitido por una neurona excita la activación de la neurona con la que está conectada: si la neurona j está conectada mediante una sinapsis excitadora con la neurona i, el nivel de

Page 82: Agentes Inteligentes en Sistemas (1)

activación de la unidad i aumentará si le llega información por dicha conexión desde la neurona j, y lo hará en función del peso de la conexión y de la magnitud de la señal o información que por dicha conexión se le envía. Se suele representar este tipo de conexión mediante puntos huecos.

Volver al índice

VII.1.3. Peso sináptico

          O peso de la conexión. Es uno de los conceptos más importantes en las redes, y ello por varias razones: en primer lugar porque los cómputos de la red tienen que ver esencialmente con ellos; en segundo lugar, y concretando la afirmación anterior, porque los cálculos que el sistema realiza a partir de la información de entrada para dar lugar a la información de salida se basan en dichos pesos; y, en tercer lugar, porque en cierto modo (como veremos) son el análogo a las representaciones de los objetos en los modelos cognitivos tradicionales. Una sinapsis es fuerte, o tiene un gran peso de conexión, si la información por ella recibida contribuye en gran medida en el nuevo estado que se produzca en la neurona receptora, y es débil en caso contrario. Los pesos sinápticos son valores numéricos, se expresan en términos numéricos sencillos (generalmente números enteros o fraccionarios negativos o positivos) con los que “se ponderan” las señales que reciben por dicha sinapsis. En la literatura sobre redes encontramos ligeras variantes en la notación utilizada para

 representar el peso sináptico de una conexión entre la neurona j y la neurona i, donde la neurona i recibe la información que la neurona j emite: por ejemplo, Wij (del inglés Weight, peso), pero también wij y wij.

          Dado que en ocasiones es importante representar mediante un vector la totalidad de los pesos correspondientes a las conexiones de varias neuronas con una salida, y que se reserva para dicho vector correspondiente al peso la “W” mayúscula, cuando nos referimos al peso correspondiente a una conexión parece más adecuado utilizar la “w” minúscula. 

Volver al índice

          En los modelos conexionistas el conocimiento que la red alcanza a partir del aprendizaje se representa mediante el patrón de conexión, patrón que determinará, por lo tanto, el modo de procesamiento de las señales y la respuesta del sistema ante cualquier entrada.

          En los modelos más simples la entrada total correspondiente a cada unidad depende esencialmente de los valores de entrada y de los pesos que ponderan el modo en que dichos valores colaboran en la entrada total. Por ello en estos modelos el patrón de conexión es simplemente el conjunto de pesos correspondientes a cada una de las conexiones de la red; los pesos positivos indicarán entradas excitatorias y los negativos entradas inhibitorias. Para representar el patrón de conexión se utiliza una

Page 83: Agentes Inteligentes en Sistemas (1)

matriz de pesos W, en donde cada uno de los elementos de la matriz (representado como wij) indica el peso correspondiente a la conexión de la unidad j y la unidad i. El número correspondiente a w representa la intensidad o fuerza de la conexión, y el signo (+ o –) indica si la unidad j excita a la unidad i (la conexión es excitatoria) o si la unidad j inhibe a la unidad i (la conexión es inhibitoria). Si el número correspondiente a w es 0 se quiere indicar que la unidad j no está conectada a la unidad i.

          Veamos un ejemplo:

valores de los pesos wi1: -0.5          wj1: 1

wi2: 0.3            wj2: 0.2

wi3: -1            wj3: 0

wi4: 0.6            wj4: -0.3

la matriz correspondiente al patrón de conexión

(matriz de los pesos W ) seráo, utilizando otra forma de representación:

 ui uj

u1 -0.5 1

u2 0.3 0.2

u3 -1 0

 

Page 84: Agentes Inteligentes en Sistemas (1)

u4 0.6 -0.3

 

CONEXIONISMO

VII. ELEMENTOS DE LAS ARQUITECTURAS CONEXIONISTAS (2) 

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

VII.2. CONCEPTOS Y MECANISMOS BÁSICOS PARA EL PROCESAMIENTO EN LAS REDES CONEXIONISTAS  

VII.2.1. Notación utilizada para representar los elementos y mecanismos de las redes conexionistas

VII.2.2. La entrada (input) total . La regla de propagación

VII.2.3. El estado de activación

VII.2.4. La regla o función de activación

VII.2.4.a. Concepto y fórmula general

VII.2.4.b. Tipos de funciones de activación

Función identidad Función de activación tipo umbral

VII.2.5 . La salida de las unidades . La función de transferencia

VII.2.5.a. Concepto y fórmula general de la función de transferencia

VII.2.5.b. Tipos de función de salida o de transferencia

Función identidad o función lineal

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 85: Agentes Inteligentes en Sistemas (1)

Función umbral Función mixta Funciones de Saturación : o Función Sigmoide o Función Tangencial Hiperbólica Neuronas lineales Neuronas no lineales

VII.2.6. Reglas de aprendizaje

VII.2.6.a. Concepto y modelos de aprendizaje

aprendizaje supervisado aprendizaje no supervisado aprendizaje reforzado

VII.2.6.b. Regla de Hebb (o regla del producto)

VII.2.6.c. Regla de Widrow-Hoff o regla delta o regla del menor error cuadrático

VII.2.6.d. Regla Delta generalizada (o regla de propagación hacia atrás)

  VII.2.1. Notación utilizada para representar los elementos y mecanismos de las redes conexionistas

          La tarea de cada neurona o unidad es simple: recibir las entradas de las células vecinas y calcular un valor de salida, el cual es enviado a todas las células restantes. Toda la información que la red recibe, almacena, transforma y envía se expresa en términos matemáticos, en la forma de cantidades y de fórmulas aplicadas a cantidades.

          La representación interna de la información se genera en las sinapsis o conexiones y en la actividad de las neuronas, particularmente en las de la capa oculta. Dado que las redes modifican sus estados a través del tiempo como consecuencia de las distintas entradas de información, es imprescindible también introducir en la descripción de los estados de activación la referencia al tiempo:

1. a cada neurona (unidad i, ui) le corresponde en cualquier instante un valor numérico denominado valor o estado de activación ai(t);

2. cada unidad utiliza una función de salida, fi, que calcula la señal de salida (“oi”, del inglés output o salida) a partir del estado de activación que en ese momento tiene la neurona;

3. la señal de salida se trasmite a otras unidades con las que dicha neurona está conectada;

4. una neurona recibe la señal de todas las unidades con las que está conectada, pero lo hace teniendo en cuenta:

el peso asociado a cada una de las conexiones, wij (del inglés “wheit”, peso)

Page 86: Agentes Inteligentes en Sistemas (1)

y la intensidad o señal que se transmite por la sinapsis; a la suma de todas las señales ponderadas por el peso de las correspondientes

conexiones se le llama NETi

5. el nuevo estado de activación ai(t+1) de la neurona i se calcula mediante una función de activación Fa, teniendo en cuenta la entrada total calculada o NET y su anterior estado de activación, ai(t)

(Tomado de "Redes neuronales artificiales", J. R. Hilera y V. J. Martínez,  Editorial Ra-ma; p. 51.)

La notación empleada en las redes neuronales no es unánime:

las unidades o neuronas se representan como “u” o como “n” la función de activación se suele representar por Fa, pero también,

simplemente, por F; dado que es preciso referirse a dos funciones, la de activación y la de transferencia, conviene utilizar una notación distinta para cada una de ellas, por ejemplo para la función de activación la F mayúscula (Fa) y para la de transferencia la f minúscula (fi);

la referencia a la activación actual se suele representar como a(t) y la siguiente como a(t+1); pero en la literatura sobre el tema también podemos encontrar la referencia a la activación actual como a(t-1) y  el estado de activación siguiente como a(t) (y tanto en negrita como en caracteres normales);

para distinguir la parte de la fórmula que corresponde al nombre de las unidades de la parte de la fórmula correspondiente a los otros elementos, se pueden emplear varias estrategias:

o subíndice para los nombres y letra normal para el resto: oi o letra normal para el nombre de la unidad y negrita para el resto: oi

Page 87: Agentes Inteligentes en Sistemas (1)

para referirse al peso de cada conexión se puede emplear tanto la O mayúscula como la o minúscula, lo mismo que para el peso (W o w) y para la entrada total en cada unidad (Net o NET O NET o net).

Volver a al índice

VII.2.2. La entrada (input) total. La regla de propagación     

          Una neurona recibe señales desde múltiples neuronas por lo que es necesario calcular el efecto global que tendrá ese conjunto de señales o inputs. El input total se denomina NET, y para el caso de las entradas que le llega a la neurona i en el tiempo t, NETi(t). Llamamos regla de propagación a la fórmula que nos indica cómo calcular dicha entrada total o NET; existen varias reglas de propagación, pero la más sencilla y habitual es la que se representa del siguiente modo:

 

                        NETi(t+1) =  ∑j wij * oj(t)

 

 

          NETi es la suma de todas las señales que llegan a la neurona i (señales representadas como oj), ponderada cada una de ellas por el peso de conexión asociado, (wij). Cuando una determinada señal oj llega a la neurona i por una sinapsis inhibidora, el peso wij asociado a dicha sinapsis será negativo, por lo que el resultado del producto, wij*oj, aportará un elemento negativo a la suma.

                Los valores que transmite una neurona a las neuronas con las que está conectada se representan como “o” (oj sería el valor que transmite la neurona j). Pongamos que los valores que transmite las neuronas de la capa de entrada, y los pesos correspondientes a sus conexiones con la neurona i son los siguientes:

 

valores: O(t)                oj: 0.5              ok: 0.3             ot: 0.5             ou: -1

Page 88: Agentes Inteligentes en Sistemas (1)

pesos: (Wij)                 wil: -0.5           wik: 1               wit: 0.5            wiu: -0.3

          En ocasiones los pesos de todas las conexiones o sinapsis correspondientes a una neurona se suelen representar mediante una matriz: la matriz Wij incluiría todos los pesos de las conexiones con la neurona i (wi1, wi2, wi3, ...wij);  si un elemento de la matriz es positivo indica que la conexión es excitatoria, si es negativo, la conexión es inhibitoria y si es 0 no existe conexión entre neuronas; en el caso anterior la matriz sería:

Wij = [–0.5, 1, 0.5, –0.3]

      También es habitual referirse al conjunto de valores de entrada de una unidad como el vector O(t) (de “output”, salida, puesto que normalmente estos valores que le llegan a una unidad son la salida que produce otra unidad). En el caso anterior, el vector de valores que le llegan desde otras neuronas y correspondiente al instante anterior a la modificación de la neurona i (instante que se suele representar como (t)) sería:

O(t) = [0.5, 0.3, 0.5, -1].

          Si utilizamos la regla de propagación antes señalada, la entrada total que le llega a la neurona i o NETi será la suma de las entradas parciales ponderadas por los pesos correspondientes: 

            (0.5 x -0.5) + (0.3 x 1) + (0.5 x 0.5) + (-1 x -0.3) =  -2.5 + 0.3 + 2.5 + 0.3 = 0.6

 

          La entrada total se calcula para después averiguar el estado de activación que la va a corresponder a la unidad, pero, dado que la regla de propagación citada es muy sencilla, la función de activación que ha de calcular su activación no se suele referir a NETi, sino simplemente al sumatorio de los productos del peso por el valor de las entradas (Wij * Oj).

Volver a al índice

VII.2.3. El estado de activación

          La activación (o excitación, o actividad) de una neurona es muy importante para el procesamiento puesto que la salida que la neurona provoca depende de ella. La activación es el grado o nivel de excitación de una neurona, y, generalmente, cambia en función de cuatro factores:

Page 89: Agentes Inteligentes en Sistemas (1)

el anterior estado de activación de la unidad;

las entradas que la neurona recibe;

los pesos de las conexiones por las que recibe las señales; la función de activación utilizada para calcular la activación a partir de dichas

entradas.

          Se llama ciclo a cada una de las veces que la red toma los vectores de entrada (conjunto de valores de entrada) para realizar los cómputos correspondientes; pues bien, dado que en cada ciclo la activación de las neuronas puede ser distinta, es preciso caracterizar dicha activación en cada pasada de la información o ciclo, por ello es necesario referirse al tiempo; así, es habitual representar como Ai(t) (o también, con minúscula, como ai(t)), el nivel de activación de la neurona i en el tiempo t.

          Lo que la red representa en cada momento depende del conjunto o patrón de activación de la totalidad de las unidades que la componen, por ello es conveniente también especificar dicho patrón. Para reflejar el patrón de activación se suele utilizar un vector de N números reales a(t), vector que representa el estado de activación de todas las unidades de la red en el tiempo t; en el vector, cada uno de los elementos representa la activación de cada unidad en el tiempo t:

                                               A(t) = (a1(t), a2(t), ..., ai(t), ...., an(t))

          De este modo, cabe caracterizar el procesamiento que realiza la red como la evolución que sufren a través del tiempo los patrones de activación de las unidades.

           

          Hay muchos modelos de redes conexionistas y los valores de activación que pueden tomar las unidades no son los mismos en todos ellos. Los valores utilizados con  más frecuencia son los siguientes:

I.  CONTINUOS

a)  abiertos; los modelos que utilizan este tipo reciben el nombre de modelos no acotados (o modelos sin límite): el valor de activación de una neurona i puede ser cualquier número real;

b)  o cerrados; los modelos que utilizan este tipo reciben el nombre de modelos acotados (o modelos con límites): pueden tomar cualquier valor real comprendido en un intervalo con un valor mínimo y un valor máximo,  por ejemplo, el intervalo {0,1}, o el intervalo  {-1,1}, generalmente siguiendo una función sigmoidal.

II. DISCRETOS: estos valores se utilizan en los modelos más sencillos.

Page 90: Agentes Inteligentes en Sistemas (1)

a) los más frecuentes son los valores binarios: la neurona sólo puede tener dos estados: activada o desactivada, estados que se suelen identificar mediante el par de valores {0,1}, representado el 1 el estado de activado y el 0 el estado de desactivado o en reposo, o bien {-1,+1}; o, simplemente,  {–,+}, representado el 1 (o el +) el estado de activado y el -1 (o el –) el estado de desactivado.

b) en otros casos son valores discretos no binarios, valores que están entre cualquiera de un pequeño conjunto: por ejemplo, pueden estar restringidos al conjunto de valores {-1, 0, +1}, o a un  pequeño conjunto finito de  valores tales como {1, 2, 3, 4, 5, 6, 7, 8, 9}.

          Naturalmente, el comportamiento y las utilidades de las redes con distintos tipos de valores de activación son también distintos; por ejemplo, si las entradas responden a información analógica y no a señales discretas, entonces los valores más adecuados son los continuos, no los discretos.

Volver a al índice

VII.2.4. La regla de activación

VII.2.4.a. Concepto y fórmula general

          El estado de activación de una unidad depende de la función de activación, que no es otra cosa que una función matemática utilizada para calcular el siguiente estado de activación; dicha función calcula la nueva actividad de la unidad o neurona a partir de:

el anterior estado de activación de la unidad (aunque esta cantidad no siempre se tiene en cuenta);

todas las entradas que recibe dicha unidad de las otras unidades;

los pesos de las conexiones que la unidad en cuestión tiene con las unidades de las que recibe las entradas.

        Si tenemos la unidad i, su actividad en el tiempo t+1 dependerá de la función de activación (Fa) aplicada a: 

el estado de activación de la neurona i en el tiempo t;

todas las entradas oj recibidas por la unidad i desde las neuronas j de la capa anterior en el tiempo t;

Page 91: Agentes Inteligentes en Sistemas (1)

los pesos de conexión wij correspondientes a las distintas sinapsis por los que cada señal oj llega a la neurona i en el tiempo t.

          De este modo, podemos representar la función de activación para el cálculo del nuevo estado de activación de la unidad i en el tiempo t+1 utilizando la siguiente notación:

 

ai(t+1) = Fa [ai(t), oj(t), wij]

          Dado que la entrada total o NET correspondiente a dicha unidad es igual a la suma de todas las entradas ponderadas por sus correspondientes pesos, la anterior fórmula también se puede expresar del siguiente modo:

 

ai(t+1) = Fa [ai(t), NETi(t)]   

 

          Como más arriba se ha indicado, la notación utilizada no es la misma en todos los autores, así en la fórmula algunos utilizan F, otros Fa, y para referirse al tiempo algunos utilizan la notación t y t-1 y otros t+1 y t, pero son fórmulas equivalentes.

          Como ocurría para los valores de activación de cada neurona, existen múltiples funciones de activación, y es el diseñador de la red quien debe establecer la que se ha de utilizar en función de las peculiaridades de la tarea para la que se diseña la red.

                       

Volver a al índice

VII. 2. 4. b. Tipos de funciones de activación

Función identidad          Se trata de una función muy simple que no tiene en cuenta el anterior estado de activación de la unidad. Se puede expresar con la siguiente fórmula:

ai(t+1) = ∑j wij oj(t)

          Según esta función de activación, el estado de activación que le corresponde a la unidad i (ai(t+1)) tras recibir las señales desde las unidades a las que está conectada

Page 92: Agentes Inteligentes en Sistemas (1)

es el resultado de sumar todas las señales recibidas (oj), ponderadas cada una de ellas por el peso sináptico (wij) asociado a la sinapsis por la que se transmite la señal.

          Podemos representar el conjunto de estímulos de entrada que le llegan a una unidad desde la capa anterior como un vector, y los pesos sinápticos correspondientes mediante una matriz; en esta circunstancia, el cálculo del nuevo estado de activación de todas las neuronas se obtiene simplemente mediante el producto de matrices.

          En algunas redes se incluye en la función de activación un factor que representa una fracción del valor de activación anterior, por ejemplo:

ai(t+1) =  ½ ai(t) + ∑j wij oj(t)

          Con esta variante conseguimos que la unidad o neurona mantenga cierto estado de activación durante varios ciclos, incluso en el caso de que las entradas sean cero, en esta última circunstancia en cada período de tiempo su estado de activación corresponderá a la mitad del valor de activación anterior. Con este tipo de funciones de activación se garantiza que cada neurona no varíe en su estado y en su respuesta demasiado bruscamente (recordamos que la respuesta de la red depende en gran medida de los estados de activación de las unidades que la componen).

           

Función de activación tipo umbral          Esta función es algo más complicada que la anterior y se utiliza con frecuencia en las redes conexionistas, en particular cuando cada unidad sólo puede tener dos estados: activada o desactivada (1 ó 0, respectivamente). Se suele representar la función tipo umbral del siguiente modo:

 

ai(t+1) =     

  1 si ∑j wij oj(t) > umbral

  0 si ∑j wij oj(t) ≤ umbral

                                  

                              

            Estas fórmulas quieren indicar, simplemente, que la neurona i se activará (tomará el valor 1) si y sólo si la suma ponderada de sus entradas supera cierto umbral, umbral que ha de ser decidido por el diseñador de la red.

Volver a al índice

Page 93: Agentes Inteligentes en Sistemas (1)

VII.2.5. La salida de las unidades. La función de transferencia         

VII.2.5.a. Concepto y fórmula general de la función de transferencia

          Las unidades o neuronas transmiten señales a otras con las que están conectadas. La intensidad de estas señales y, por lo tanto, el grado en que influyen en las unidades con las que están conectadas está determinado por dos factores:

su grado de activación;

una función matemática que modula dicho estado de activación provocando la señal de salida, función que suele ser la misma para todas las unidades.

          Por lo tanto, unidades con el mismo grado de activación pero distintas funciones de salida producirán distintas señales (oi). A dicha función se le llama habitualmente función de transferencia, y puede representarse del siguiente modo:

oi(t+1) = fi[ai(t+1)]

          El valor de salida o respuesta de la unidad i (representado por oi), en el tiempo t+1, será el resultado de aplicar la función de transferencia (fi) a su estado de actividad (ai) en el tiempo t+1.

                   Podemos utilizar la notación vectorial para representar el conjunto de todos los valores de salida en el tiempo t+1. Así, el vector O(t+1) contendrá las salidas de todas las neuronas o unidades en el tiempo t+1:

O(t+1) = (f1[a1(t+1)], f2[a2(t+1)],..., fi[ai(t+1)],..., fn[an(t+1)])

VII.2.5.b. Tipos de función de salida o de transferencia

          Existen varios tipos de funciones de transferencia. La función escalón o umbral únicamente se utiliza cuando las salidas de la red son binarias (dos posibles valores): la salida de una neurona se activa sólo cuando el estado de activación es mayor o igual que cierto valor umbral. Las funciones mixta y sigmoidal son las más apropiadas cuando queremos como salida información analógica.

Función identidad o función lineal

Page 94: Agentes Inteligentes en Sistemas (1)

          Es la más sencilla y la de menos uso. Se llama función de identidad porque la salida correspondiente a la unidad es igual a su estado de activación. En realidad esta función equivale a no aplicar función de salida. La fórmula correspondiente a esta función es

fi[ai(t+1)] = ai(t+1)

y la salida correspondiente a dicha unidad se puede representar como

oi(t+1) = ai(t+1)

 

y, en representación gráfica:

       La función de identidad es adecuada cuando la función de activación que hemos utilizado para calcular la activación de la unidad es de tipo umbral. En este caso la activación de la unidad será 1 si está activa y 0 si está inactiva, y la salida correspondiente será 1 en el primer caso y 0 en el segundo (o 1 y -1 si hemos preferido esta notación).  

 

Función umbral           O función escalón. Su uso es más frecuente que la función identidad. Con la función umbral la unidad envía señales de salida sólo cuando su activación es mayor o igual que cierto valor umbral. La respuesta de salida será binaria o discreta: sólo 1 ó 0 (o bien 1 y -1 si utilizamos esta otra notación), y dependerá de si el valor de activación (que en este caso es un valor continuo) supera cierto umbral.

 

Page 95: Agentes Inteligentes en Sistemas (1)

 oi(t+1) =      

  1 si ai(t+1) ≥  umbral 

  0 si ai(t+1) < umbral

    

si el umbral es 0 tendríamos

 

  

         oi(t+1) =    

                                  

  1 si ai(t+1)  ≥ 0      0 si ai(t+1)  < 0

                                

      

oi(t+1) =     

                          

 

  1 si ai(t+1)  ≥ 0    -1 si ai(t+1)  < 0

                                

 

y, en representación gráfica:

Si en lugar de 0 el umbral fuese otro número, el escalón quedaría desplazado.

 

Función mixta          Con esta función,  si la activación es menor que un límite inferior, la salida es 0 (ó -1). Si la activación es mayor o igual que el límite superior, entonces la salida es 1. Si la activación está entre los límites, la salida es una función lineal de la activación

Page 96: Agentes Inteligentes en Sistemas (1)

  0 si x < -C      -1 si x < - C 

f(x) =       1 si x ≥ C  x/ (2C) + ½ en otro caso

f(x) =      1 si x ≥ C

  a.x en otro caso

  

          

y, en representación gráfica

 

C es el límite superior de la activación y -C el límite inferior

  

Funciones de Saturación           Son las funciones en las que los incrementos o disminuciones de la intensidad de la actividad de la unidad producen incrementos o disminuciones de los valores de salida hasta llegar a unos límites de salida máxima o mínima a partir de los cuales la salida se estabiliza y es la misma a pesar del incremento o disminución de la intensidad de actividad de la unidad. Dicho de otro modo: mediante las funciones de saturación conseguimos que el aumento de la actividad de la unidad por encima de un límite no se traduzca en un incremento de salida (y lo mismo para los valores mínimos). Las funciones de saturación establecen límites máximos y mínimos para las salidas (por ejemplo 1 y -1) y aunque la actividad de la unidad esté por encima de dichos límites, la salida es siempre el valor máximo.

          Hay varias funciones de saturación, siendo la más utilizada la función sigmoide.

Page 97: Agentes Inteligentes en Sistemas (1)

Función SigmoideEs una de las funciones de transferencia más utilizadas. Produce salidas

continuas y proporcionales al nivel de activación de la neurona dentro del rango [0,1]; sus niveles de saturación son 0 y 1, por lo que su salida máxima será 1 y la mínima 0. Cuando el nivel de activación supere al umbral de saturación máximo la salida seguirá siendo 1 y cuando el nivel de activación sea inferior al umbral de saturación mínimo la salida seguirá siendo 0.

Función Tangencial HiperbólicaEs similar a la anterior pero en este caso la saturación es 1 para el valor

máximo y -1 para el mínimo.

Atendiendo a los tipos de funciones que intervienen en el cómputo, las neuronas se pueden clasificar en neuronas lineales y neuronas no lineales. 

Neuronas lineales         Tienen funciones de activación y de transferencia lineales, por lo que la composición de ambas funciones da lugar a otra función lineal. En estas neuronas la salida oi es linealmente dependiente (es decir, proporcional) de sus entradas Oj ponderadas cada una de ellas por el peso asociado a las sinapsis (Wij) por las que le llega a la unidad i las entradas señal. La respuesta de las neuronas lineales no está acotada y puede tomar cualquier valor.

          Está demostrado que los cómputos que realizan redes con más de dos capas con unidades lineales se pueden realizar también con redes de dos  capas, con lo que se hace superfluo construir redes de más de dos capas si las funciones utilizadas son siempre lineales.

          Las primeras redes que aparecieron eran de este tipo y presentaban por esta característica dos grandes problemas:

1. Falta de persistencia en las respuestas: todo cambio en las señales de entrada produce inevitablemente cambios en las salidas; ello puede dar lugar a que cambios

Page 98: Agentes Inteligentes en Sistemas (1)

realmente muy pequeños en las entradas provoquen fluctuaciones bastante grandes en la respuesta.

2. Falta de adecuación simultánea a señales grandes y pequeñas: si las funciones utilizadas amplifican mucho las señales de entrada, entonces señales de entrada de pequeña intensidad no se perderán sino que provocarán una respuesta de la neurona (señales de entrada moderada provocarán respuestas elevadísimas). En el caso de que dichas funciones amplifiquen poco las señales de entrada (si produce salidas moderadas ante valores medios), entonces las señales de entrada débiles producirán señales poco significativas.

Neuronas no lineales          En estas neuronas su respuesta no es una función lineal o proporcional de sus entradas pues o bien la función de activación o bien la de transferencia o bien ambas son funciones no lineales. Este es el caso cuando la unidad o neurona utiliza las funciones no lineales Umbral, Sigmoide o Hiperbólica Tangente.

          Estas neuronas son más interesantes que las anteriores pues producen respuestas acotadas y con ello resuelven en gran medida los problemas anteriores; por ejemplo en el caso del uso de la función umbral, la neurona produce una salida discreta (0 o 1 por ejemplo) con lo que no se da el problema de la fluctuación de la respuesta. En el caso de neuronas con función sigmoide o hiperbólica tangente las repuestas sólo varíen significativamente ante los cambios de las entradas cuando el valor de la actividad de la neurona está a medio camino entre los dos niveles de saturación, mientras que cuando se alcanza los niveles de saturación pequeñas fluctuaciones en los datos de entrada no producen cambios en la respuesta; con ello se consigue el efecto de que la neurona no produce salidas con cambios significativos cuando las nuevas señales de entrada no son muy diferentes de los actuales.

Volver a al índice

VII.2.6. Reglas de aprendizaje

VII.2.6.a. Conceptos y modelos de aprendizaje 

          En las redes neuronales se dice que la red aprende cuando es capaz de ofrecer ante un determinado patrón de entrada el correspondiente patrón de salida. Esta capacidad para emparejar adecuadamente los vectores de entrada y los vectores de salida lo consigue la red mediante la modificación de los patrones de interconexión. Las redes neuronales biológicas realizan estas modificaciones mediante, al menos, los siguientes procedimientos:

      1. el desarrollo de nuevas conexiones;

      2. la pérdida de las conexiones existentes;

Page 99: Agentes Inteligentes en Sistemas (1)

      3. la modificación de la fuerza de las conexiones que ya existen.

          Los aspectos 1 y 2 han sido poco tratados en el marco de las redes neuronales conexionistas. De todos modos, pueden considerarse como un caso especial de 3, puesto que el cambio de la fuerza de conexión de cero a algún otro valor, sea positivo o negativo, tiene un efecto similar al hecho de desarrollarse una nueva conexión; y, a la inversa, siempre que se modifique la fuerza de conexión situándola en cero es como si se perdiese una conexión existente. En definitiva, el aprendizaje en las redes conexionistas consiste en la modificación de las intensidades de las conexiones; las reglas de aprendizaje no son otra cosa que las reglas o procedimientos para cambiar los pesos sinápticos o pesos de las conexiones.

          En la vida de la red se suelen distinguir dos periodos o fases: durante la fase de aprendizaje se la entrena para que modifique sus pesos sinápticos hasta que su respuesta ante los patrones de entrada sea correcta. En la fase de funcionamiento real o fase de ejecución la red ya es operativa y sus pesos sinápticos no volverán a ser modificados; la red ya se puede utilizar en la tarea para la que ha sido diseñada.

          Existen varios modelos de aprendizaje, siendo los principales el supervisado, el no supervisado y el reforzado.

aprendizaje supervisado: en este modelo existe un agente externo (supervisor o maestro) que controla el proceso de aprendizaje de la red. La red debe relacionar dos fenómenos (X e Y) mediante la presentación de un conjunto de ejemplos (x1, y1), (x2, y2), ..., (xn, yn). En la formulación anterior, "X" representa las entradas e "Y" las salidas requeridas Se llama “juego de ensayo” al conjunto formado por las parejas anteriores, “patrón de estímulos-respuesta deseada”. En algunos casos no hay ninguna duda en cuanto a los elementos que deben componer dicho juego de ensayo puesto que se conocen perfectamente todos los patrones que la red debe reconocer y sus salidas correspondientes (este ocurre, por ejemplo con el uso del Perceptrón para el cómputo de las funciones lógicas); pero en la mayoría de los casos esto no es así y es preciso tener mucho cuidado en la elección del juego de ensayo y tratar de incluir en él los patrones más representativos del problema o fenómeno que se intenta computar. El maestro presenta a la red una entrada x y la red produce una salida oi. Normalmente esta salida no coincide con la salida requerida, por lo que el maestro debe calcular el error de salida, ei = e(oi, yi) y proceder a la modificación de los pesos utilizando alguna regla de aprendizaje con la intención de aproximar la salida obtenida a la salida deseada. Tras esta modificación se presenta el siguiente patrón del juego de ensayo y se procede de la misma manera. Cuando se termina con el último patrón del juego de ensayo, se tiene que volver a empezar de nuevo pues los pesos se han modificado y es preciso comprobar que la red responde adecuadamente. A cada uno de los pasos completos del juego de ensayo se le llama ciclo; dependiendo de la complejidad del problema, serán precisos pocos o muchos ciclos para el aprendizaje. La fase de aprendizaje termina cuando los pesos se estabilizan o convergen en unos valores óptimos. En este caso la red consigue responder correctamente a todas las presentaciones de los patrones estimulares del juego de ensayo. Aunque el ideal de aprendizaje es el cien por cien de aciertos, se considera que concluye cuando se minimizan razonablemente los errores ante el conjunto de ejemplos presentados.

aprendizaje no supervisado: en este tipo de aprendizaje no existe dicho agente externo que vaya modificando los pesos sinápticos en función de la corrección de la salida de la red; la red no compara su respuesta efectiva con la

Page 100: Agentes Inteligentes en Sistemas (1)

salida correcta puesto que no se le especifica cuál ha de ser dicha salida correcta. Con este aprendizaje se busca que la red se autoorganice y encuentre por sí misma características, regularidades, correlaciones o categorías en los datos de entrada. En el aprendizaje no supervisado es necesario presentar  un mayor número de patrones de entrada y utilizar reglas de aprendizaje distintas a las que nos sirven para el caso anterior; además las arquitecturas de las redes suelen ser distintas (por ejemplo muchas de ellas tienen dos capas), destacando  las redes de Kohonen y de Grossberg. El modelo que comentamos tiene mucha importancia para los sistemas biológicos pues es evidente que la cantidad de habilidades aprendidas con la ayuda de un “profesor” es muy inferior a la que se aprende “espontáneamente”.

aprendizaje reforzado: en cierto modo es una variante del aprendizaje supervisado pues también utiliza un supervisor que examina las salidas del sistema; sin embargo en el aprendizaje reforzado no se dispone de salidas deseadas precisas por lo que no es posible  computar el error para cada una de las unidades de salida; el supervisor valora el comportamiento global de la red mediante un criterio y en función de él modifica los pesos mediante un mecanismo de probabilidades. Para ilustrar la diferencia entre este tipo de aprendizaje y el supervisado se suele indicar que en el reforzado el supervisor se comporta  como un crítico (que opina sobre la respuesta de la red) y no como un maestro (que indica a la red la respuesta concreta que debe generar), mientras que en el supervisado el supervisor se comporta como un maestro. En el aprendizaje reforzado los algoritmos son más complejos que en el  supervisado y el tamaño de las muestras superior. Uno de los algoritmos más conocidos para este tipo de aprendizaje es el algoritmo asociativo con recompensa y penalización presentado en 1985 por Barto y Anandan

Volver a al índice

VII.2.6.b. Regla de Hebb (o regla del producto)           

          En La organización de la conducta, escrito en 1949, Hebb defiende la idea de que el aprendizaje y la memorización se basa en modificaciones de las conexiones existentes entre las neuronas y en la creación de conexiones nuevas; pero el cambio que le pareció más determinante para explicar el aprendizaje y la memoria es el relativo a la modificación del potencial con el que se transmiten las señales nerviosas entre las neuronas. Expresó esta modificación del modo siguiente (regla de Hebb): cuando dos neuronas tienden a estar activas o inactivas simultáneamente, la fuerza o intensidad de sus conexiones aumenta, y disminuye en caso contrario.

          Para dar cuenta de esta modificación supuso que el incremento de la conexión se debe a un aumento del área de unión sináptica. En la actualidad se considera que esta explicación biológica no es adecuada puesto que se cree más bien que la causa está en un incremento de la velocidad con que se libera el neurotransmisor en la célula presináptica. Sin embargo, no interesa su explicación biológica sino la formulación general antes citada, que como se observa no se expresa en términos matemáticos precisos; por esta razón, existen muchas interpretaciones matemáticas de la regla de Hebb.  Al aprendizaje que sigue este modelo se le llama aprendizaje tipo Hebb. Veamos algunas de dichas interpretaciones matemáticas:

Page 101: Agentes Inteligentes en Sistemas (1)

∆wij =  ai(t) * aj(t)

∆wij = µ(ai–ai) * (aj–aj)

∆wij = µ * ai(t) * aj(t)

∆wij = µ * ai(t) * oj(t)

 

∆wij : es el incremento que se ha de sumar o restar al peso sináptico

µ : es la tasa de aprendizaje

ai(t) : es la activación de la neurona i en el tiempo t

ai : media de los valores de activación de i

aj : es la activación de la neurona j

aj : media de los valores de activación de j

oj(t) : es la señal que emite la neurona j en el tiempo t

 

            Se trata de una regla de aprendizaje no supervisado, pues no existe ninguna información externa que nos indique si los resultados de la red son erróneos, ni que nos ayude a decidir cómo y en qué grado modificar las conexiones.; la regla hace simplemente que las unidades vayan influyéndose unas a otras, y se autoconfiguran la permeabilidad sináptica de la red a partir de las reacciones a los estímulos recibidos.

Volver a al índice

VII.2.6.c. Regla de Windrow-Hoff o regla delta o regla del menor error cuadrático

          La utilizaron por primera vez, en 1960, B. Widrow y M. Hoff para su red ADALINE. Se trata de una regla de aprendizaje supervisado (es preciso presentar a la red todos los casos de pares entrada-salida que se desea que la red aprenda, y que el maestro modifique los pesos de las conexiones para corregir los errores en las salidas). Se denomina “regla delta” porque en esencia el procedimiento consiste en modificar los pesos de las conexiones (por lo tanto, favorecer el aprendizaje de la red) a partir del cálculo de la diferencia (o delta) entre las salidas efectivas de la red y las salidas deseadas.

          El maestro presenta a la red un vector o patrón de entrada. Si la red produce el vector de salida deseado no realiza ningún cambio en los pesos. Si existe discrepancia entre ambos vectores, los pesos se cambian para reducir la diferencia. Cuando existe diferencia entre las salidas efectivas y las deseadas la modificación afecta a todos los pesos de las neuronas que colaboran en el error, y se modifican en proporción a su

Page 102: Agentes Inteligentes en Sistemas (1)

influencia en el error. Se sigue el procedimiento citado minimizar el error y, en los mejores casos, convertirlo en cero. En la literatura sobre el tema existen varias formulaciones; presentamos dos de las más sencillas:

∆wij = µ [Ti(t+1) – ai(t+1)] oj(t)

∆wij : incremento o decremento del peso sináptico

µ : tasa de aprendizaje

Ti(t+1) : activación deseada en la neurona i

ai(t+1) : activación real de la neurona i

oj(t) : señal emitida por la neurona j y enviada a la neurona i

 

          En esta primera fórmula intervienen los valores de los estados de activación (el que realmente tiene la unidad y el deseado), por lo que para averiguar si la salida final de la red es la correcta es preciso tener en cuenta la función de transferencia.

           

            Otra formulación es la siguiente:

 

∆wij = µ [Ti(t+1) – oi(t+1)] aj(t)

∆wij : incremento o decremento del peso sináptico

µ : tasa de aprendizaje

Ti : es la señal deseada de la unidad i (la unidad de salida)

oi : es la señal producida por la unidad i (la unidad de salida)

aj(t) : es la activación de la unidad j (la unidad de entrada)

           

          La expresión entre corchetes representa el error que se comete en el nivel de activación de la neurona. El nuevo peso sináptico wij se calcula sumando o restando el incremento obtenido con la fórmula general.

Page 103: Agentes Inteligentes en Sistemas (1)

Volver a al índice

VII.2.6.d. Regla Delta Generalizada (o regla de propagación hacia atrás)

          La regla delta no se puede utilizar en redes que tengan más de dos capas de unidades pues con él no es posible averiguar en cuánto colaboran las unidades de las capas intermedias en el error total. Dado que hay muchos problemas de clasificación que las redes de dos capas no pueden resolver y sí lo pueden hacer las redes multicapa, es necesario ampliar la regla delta para aplicarla a estas últimas. La regla delta generalizada es precisamente una modificación de la regla delta para su aplicación a redes multicapa Se suele atribuir su desarrollo a David E. Rumelhart, Geoffrey Hinton, Robert J. Williams (“Learning internal representations by error propagation”, en Parallel Distributed Processing: Explorations in the Microstructure of Cognition, vol. 1, Foundations, ed. David E. Rumelhart y James L. McClelland, Cambridge: Mit Press, 1986).

          Esta regla trabaja con el modelo de aprendizaje supervisado, su aplicación es válida sólo con redes alimentadas hacia adelante, y al igual que la regla delta, compara la respuesta emitida por la red con la respuesta deseada y reajusta los pesos sinápticos de todas las sinapsis de forma proporcional a la diferencia encontrada. Pero, y esta es la diferencia fundamental, con la regla delta generalizada el cálculo se hace capa a capa desde la capa de salida hacia la de entrada (de ahí que se llame retropropagación del error, o mejor, de la corrección del error). Dada la complejidad de la táctica empleada para la modificación de los pesos no se incluye en este informe su desarrollo matemático.

          La regla delta de aprendizaje presenta también algunas dificultades características, por ejemplo, que se caiga en un mínimo local: en el proceso de minimización del error la red puede llegar a una situación en la que cualquier pequeño cambio en los pesos, positivo o negativo, incrementa el error;  en esta situación la regla no es capaz de determinar la dirección en la que se debe mover los pesos para que, con un incremento mayor, el error vuelva a decrecer.

Page 104: Agentes Inteligentes en Sistemas (1)

 

      La regla delta generalizada es una de las más utilizadas en las redes conexionistas multicapa alimentadas hacia adelante; desde un punto de vista histórico y metodológico supuso un impulso muy importante para el conexionismo pues consiguió superar las dificultades matemáticas descubiertas por Minsky y Papert y que tanto frenaron la investigación en redes neurales. Con este algoritmo de aprendizaje utilizado en redes multicapa es posible resolver el problema de la disyunción exclusiva y el de la distinción entre T y C (recordamos que estos problemas se utilizaron como ejemplo de las limitaciones del Perceptrón).

CONEXIONISMO

VIII. ALGUNOS MODELOS DE REDES NEURONALES 

Page 105: Agentes Inteligentes en Sistemas (1)

 VIII.1. REDES DE McC ULLOCH-PITTS O REDES DE NEURONAS FORMALES

VIII.2. PERCEPTRONES

VIII.3. EL PANDEMONIUM: UN MODELO PARA EL RECONOCIMIENTO DE PATRONESVIII.3.1. La tarea de reconocimiento de patrones: dos explicaciones, el modelo de plantillas y el modelo de análisis de característicasVIII.3.2. El Pandemonium: rasgos principalesVIII.3.3. El Pandemonium: base experimentalVIII.3.4. El Pandemonium: dificultadesVIII.3.5. El Pandemonium y el conexionismoVIII.4. NETtalk: APRENDER A LEER EN INGLÉS

Introduzca los términos de búsqueda. Envíe el formulario de

búsqueda

Web www.e-torredebabel.com

VIII. 1. REDES DE McCULLOCH-PITTS O REDES DE NEURONAS FORMALES

           En 1943, Warren McCulloch (neurofisiólogo) y Walter Pitts (matemático) publicaron en el Bulletin of Mathematical Biophysics "Un cálculo lógico de las ideas inmanentes en la actividad nerviosa"; en este artículo defendieron la tesis de que las actividades de las neuronas y las relaciones existentes entre ellas podían estudiarse mediante la lógica proposicional. Creyeron que las neuronas tenían un comportamiento biestable (al producir salidas todo-nada) y que, en este sentido, eran semejantes al comportamiento también biestático de los conmutadores eléctricos (abierto-cerrado). Junto con la idea relativa al comportamiento supuestamente lógico de las neuronas, presentaron también la idea de construir máquinas de computar con una arquitectura similar a las neuronas. A pesar de su conocimiento insuficiente de las neuronas y las sinapsis orgánicas, sus ideas han tenido mucha importancia en el desarrollo de la psicología cognitiva: consideraron que las leyes que gobiernan la mente tienen más que ver con  las leyes que gobiernan la información que con las relativas a la materia (idea más común a la psicología cognitiva clásica que al conexionismo); pero en su comprensión del aprendizaje anticiparon también ideas conexionistas: dieron más importancia al aprendizaje que a factores innatos, consideraron que nuestro cerebro comienza con redes aleatorias, que los estímulos provocan conexiones de una determinada manera y que los estímulos posteriores, si son fuertes y constantes, llevarían a la red a manifestar una configuración determinada. Esta configuración determinaría que la respuesta de la red fuese distinta ante nuevos estímulos. En definitiva, su artículo fue importante al tratar al cerebro comoorganismo computacional.

          Demostraron también que redes neuronales sencillas, conectadas entre sí mediante sinapsis excitadoras o excitadoras e inhibidoras, y asignando un valor umbral para la activación de la unidad de salida, eran capaces de representar adecuadamente las leyes lógicas fundamentales. Llamaron neuronas “formales” a las neuronas que componen dichas redes. Aunque intentaron modelar aspectos elementales de las neuronas biológicas, las

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1 GALT:#660000;G

es

Page 106: Agentes Inteligentes en Sistemas (1)

neuronas McCulloch-Pitts no eran otra cosa que conmutadores lógicos, semejantes a los circuitos lógicos que se pueden crear mediante simples interruptores por los que pueden fluir la corriente eléctrica.

            Las redes siguientes son algunos ejemplos que presentaron en su artículo, y, como se indica, sirven para calcular los valores de verdad de la disyunción, la conjunción y la conjunción con negación. Las neurona podía recibir tanto entradas excitadoras como inhibidoras. La neurona tomaba valor 0 cuando estaba desactivada y valor 1 cuando estaba activada (es decir utilizaba una función de activación tipo umbral). La salida de la unidad era 1 cuando estaba activada y 0 cuando estaba desactivada (por lo tanto la función de transferencia era la función identidad). En todos los casos el peso sináptico de las conexiones excitadoras era 1. Las sinapsis inhibidoras provocaban la inhibición total de la neurona: independientemente de la cantidad de excitación que le llegase desde las sinapsis excitadoras, si una sinapsis inhibidora se excitaba, la neurona quedaba totalmente desactivada y producía la salida 0;  por lo tanto, la neurona producía 1 de salida si y sólo si no recibía ninguna señal inhibidora y las señales excitadoras que recibía igualaban o superaban el valor umbral. Esta es una de las diferencias fundamentales respecto de las redes que se utilizan actualmente

pero también podemos utilizar los siguientes gráficos para representar las neuronas McCulloch- Pitts, gráficos que seguramente resultan más intuitivos (tomado de Estructura, dinámica y aplicaciones de las redes de neuronas artificiales, VVAA, Editorial Centro de Estudios Ramón Areces, p. 103); el número en el interior de la neurona indica el umbral

 

Volver al índice

VIII. 2. PERCEPTRONES

          En 1958 Frank Rosenblatt escribió The Perceptron, a Probabilistc Model for Information Storage and Organization in the Brain. Rosenblatt rechazó el uso que McCulloch y Pitts hicieron de la lógica simbólica aplicada a las redes y defendió métodos probabilísticos. En esta obra llamó “perceptrones” a unas redes McCulloch-Pitts capaces de modificar los pesos de sus conexiones si las respuestas de la red no eran las correctas y demostró que estas redes se podían entrenar para clasificar ciertos patrones en iguales o distintos,

Page 107: Agentes Inteligentes en Sistemas (1)

por tanto que eran capaces del reconocimiento de formas sencillas. 

Ejemplo de un Perceptrón sencillo las unidades y conexiones que se muestran son sólo ilustrativas

y no reflejan totalmente la complejidad del modelo

           El mecanismo de procesamiento del Perceptrón es el siguiente: el patrón a reconocer incide en la capa sensorial; cada una de las unidades sensoriales responde en forma todo o nada al patrón de entrada;señales generadas por las unidades sensoriales se transmiten a las unidades de asociación; éstas unidades se activan si la suma de sus entradas sobrepasa algún valor umbral. Cuando una unidad de la capa asociativa se activa, provoca una señal de salida, la cual va por las sinapsis correspondientes hasta las unidades de la capa de salida; estas responden de forma muy similar a las de las unidades de asociación: si la suma de sus entradas sobrepasa un umbral, producen un valor de salida 1, en caso contrario su salida vale 0 (por lo tanto, la función de actividad de las unidades era tipo umbral, produciendo actividades con valores discretos, 0 y 1, y la función de trasferencia era la función de identidad).

          La representación del Perceptrón utilizada más arriba puede inducir a pensar que se trata de una red multicapa, pero este no es el caso: las conexiones entre las unidades sensitivas y las de la capa de asociación son fijas, no se modifican durante el aprendizaje; siempre es preciso presentar a la red el patrón de entrada, y esto se puede hacer de varias formas, por ejemplo el usuario puede introducir los datos en el ordenador mediante el teclado, pero si la red está conectada a algún sensor (como el Perceptrón intentaba simular) los datos le llegarán a través de él. Por lo tanto, a todos los efectos el Perceptrón puede considerarse como una red de dos capas, sin unidades ocultas. 

          El Perceptrón era una red capaz de aprendizaje. En su configuración inicial a los pesos de las conexiones se les da valores arbitrarios, por lo que ante la presencia de estímulos la red genera respuestas arbitrarias, respuestas que no coinciden con las deseadas. Se considera que la red ha conseguido aprender cuando los pesos se han ajustado de tal modo que la respuesta que emite es la deseada. El procedimiento propuesto por Rosenblatt para este entrenamiento era sencillo: se le presenta a la red un patrón cuya señal se transmite hasta la capa  de salida, provocando la activación de alguna de sus unidades; si se activan las unidades de respuesta correcta, no se hace ningún ajuste de sus pesos;  si la respuesta es incorrecta se procede de la manera siguiente: si la unidad debía estar activada y no lo está, aumentar todos los pesos de sus conexiones; si la unidad debía estar desactivada y está activada, disminuir los pesos de sus conexiones. Se repite este procedimiento con todos los patrones deseados de estímulo-respuesta. Rosenblatt creyó que era posible hacer

Page 108: Agentes Inteligentes en Sistemas (1)

que los pesos converjan en un conjunto de valores, a partir de los cuales le es posible a la red computar cada uno de los patrones de entrada para producir los correspondientes patrones de salida.

          En el párrafo anterior se ha descrito de modo cualitativo y poco preciso la modificación que han de sufrir los pesos cuando la red produce errores; existen varios algoritmos que se pueden utilizar para detallar con exactitud el modo de modificar los pesos de las conexiones, por ejemplo:

si la respuesta es 0 debiendo ser 1, wij (t+1) = wij(t) + µ*oi;

si la respuesta es 1 debiendo ser 0, wij (t+1) = wij(t) – µ*oi

donde wij : es el peso correspondiente a la conexión de la unidad i con la unidad j

oi : es la salida de la unidad i

µ : es la tasa de aprendizaje que controla la velocidad de adaptación

        En 1969 Marvin Minsky y Seymour Papert escribieron Perceptrons: An Introduction to Computational Geometry. En esta obra analizaron las capacidades y limitaciones del Perceptrón, y demostraron que hay ciertas clases de problemas que el Perceptrón y cualquier modelo simple de dos capas no puede resolver. perceptrones sólo pueden distinguir tramas o patrones linealmente separables, y dado que hay muchos e importantes problemas que no son linealmente separables, concluyeron que los perceptrones son poco adecuados como  clasificadores de patrones. Además ampliaron su crítica afirmando que esta dificultad no se puede resolver con redes multicapa (algo que posteriormente se demostró erróneo). Decimos que un patrón o conjunto de datos de entrada de la red es linealmente separable cuando el espacio de todas las entradas puede dividirse en dos regiones, quedando en uno de los lados del hiperplano las correspondientes a una categoría y en la otra parte del hiperplano las correspondientes a otra categoría. Se llaman hiperespacios a los espacios dimensionales (por ejemplo, el espacio euclideo es un caso particular de hiperespacio, y consta de tres dimensiones); se llaman hiperplanos a los objetos de n-1 dimensiones que dividen un hiperespacio de dimensiones en varias regiones; en el caso de un espacio bidimensional, el hiperplano es una línea que descompone el espacio en dos regiones; en el caso del espacio tridimensional, el hiperespacio es un plano y puede dividir el espacio en tres regiones. En la resolución de problemas puede ser útil la referencia a los hiperplanos puesto que permiten separar regiones de puntos de un hiperespacio en categorías individuales o clases, por lo que es un recurso útil para distinguir unas clases de otras.

          La obra de Minsky y Papert supuso un importante freno en el desarrollo de la investigación en redes neuronales pues convenció a la administración americana de la bondad de la arquitectura tradicional (la arquitectura Von Neumann) y de la incompetencia de las arquitecturas de redes neuronales, y llevó a muchos investigadores a preocuparse por la línea tradicional en psicología cognitiva e Inteligencia Artificial y despreocuparse de los modelos conexionistas.

            Se puede comprender la crítica de Minsky y Papert y el problema de la separabilidad lineal si nos fijamos en uno de los más conocidos y sencillos problemas que la red no puede resolver: el relativo al problema XOR o disyunción exclusiva. Dado que el Perceptrón es capaz de asociar patrones de entrada con patrones de salida y que las tablas de verdad de los funtores son también correspondencias entre pares de valores de verdad y el valor del enunciado molecular compuesto por el funtor correspondiente, parece que podemos utilizar los perceptrones para decidir los valores de verdad de los enunciados moleculares; por ejemplo, la tabla de verdad de la función AND (la conjunción) y de la función OR (la disyunción inclusiva) son las

Page 109: Agentes Inteligentes en Sistemas (1)

siguientes

x1 x2 x1∧ x2 x1 x2 x1∨ x2

0 0 0 0 0 0

0 1 0 0 1 1

1 0 0 1 0 1

1 1 1 1 1 1

                 tabla de verdad de la conjunción

tabla de verdad de la disyunción inclusiva

                 La tarea que tiene que realizar el Perceptrón es, en el primer caso, aprender a asociar la entrada (1,1) con la salida 1, y las entradas restantes con la salida 0; en el segundo caso debe aprender a asociar la entrada (0,0) con la salida 1, y las entradas restantes con la salida 1. La red que se ha de utilizar para realizar la computación debe constar de dos unidades de entrada y una unidad de salida: cada unidad de entrada recoge uno de los elementos del patrón de entrada y la unidad de salida produce una salida, que es la que corresponde a la solución.

 

 

      Como se ha indicado, para la función OR (disyunción inclusiva) la red debe ser capaz de devolver la salida 0 si se le presenta el patrón (0,0) y para los restantes patrones la salida 1; para la función AND (la conjunción) la red debe devolver la salida 1 para el patrón (1,1) y 0 para los restantes patrones. Veamos el caso de la función OR:

x1 y x2 son las entradas a la neurona; en las neuronas de la capa de entrada la salida es igual a su

entrada; w1 y w2 son los pesos de las conexiones entre las neuronas de entrada y la neurona de salida; la entrada neta es la suma ponderada de las entradas (ww2x2); la función de activación de la neurona de salida es la función identidad;

la salida es discreta tomando alguno de los valores del par (1,0);

la función de salida o transferencia es de tipo escalón, es decir establece un umbral que es necesario superar para que la salida sea 1.

Page 110: Agentes Inteligentes en Sistemas (1)

          De este modo, tendríamos:

entrada neta = w1x1 + w2x2

activación de la unidad de entrada =  w1x1 + w2x2 valor de salida = 1 si w1x1 + w2x2  ³ umbral

                       0 si w1x1 + w2x2 < umbral

          Para el caso de la disyunción inclusiva, el umbral puede ser cero o superior, sin embargo, para la conjunción el umbral ha de ser mayor que cero. Es posible entrenar a la red para que modifique sus pesos de modo que converjan en los adecuados para producir el patrón de salida adecuado. Expresado en términos de hiperplanos, la red resuelve los problemas lógicos anteriores si existe un hiperplano capaz de distribuir el plano en dos regiones: en el caso de la función AND (la conjunción), en una región quedarían los patrones de entrada (0,0), (0,1), (1,0) y en la otra región el patrón (1,1); en el caso de la función OR (la disyunción inclusiva), en una región quedaría el patrón (0,0) y en la otra los patrones de entrada (0,1), (1,0), (1,1); estos patrones corresponden a los valores de verdad posibles de los enunciados que componen el enunciado molecular. Veamos cómo se puede utilizar este método:

primero construimos un plano en el que se pueda representar cada uno de los vectores de entrada; el plano tendrá las coordinadas x1, x2;

en segundo lugar, mediante puntos, situamos en el plano los cuatro valores de verdad correspondientes a la función lógica que se quiere computar;

en tercer lugar, representamos en el plano la ecuación w1x1 + w2x2 (que corresponde a la función de activación); w1 y w2 son los pesos y x1 y x2 los distintos patrones de entrada. Esta ecuación es la ecuación de una línea en el plano x1, x2.

          La recta divide el espacio en dos regiones que podríamos interpretar uno como correspondiendo al valor 1, y el otro como correspondiendo al valor 0; si en cada una de estas regiones se incluye el patrón de entrada correspondiente, entonces podemos decir que la red es capaz de computar la función lógica, pues distribuye adecuadamente los valores de verdad del patrón de entrada con el valor de salida que les debe corresponder. En las figuras siguientes se muestra el plano xi, x2 con los cuatro puntos que corresponden a los cuatro vectores de entrada (0,0), (0,1), (1,0), (1,1).

  

en la función AND al vector (0,0) le debe corresponder la salida 0, al  (0,1) la salida 0, al (1,0) la salida 0 y al (1,1) la salida 1 (en el gráfico la salida se pone en negrita); como se puede apreciar, la recta generada por la ecuación w1x1 + w2x2 permite distribuir correctamente los valores de salida, luego la red podría computar la función lógica AND

Page 111: Agentes Inteligentes en Sistemas (1)

  

en la función OR al vector (0,0) le debe corresponder la salida 0, al  (0,1) la salida 1, al (1,0) la salida 1 y al (1,1) la salida 1; como en el caso anterior, la recta también distribuye correctamente los valores de salida, por ello la red podría computar la función lógica OR

          Sin embargo, la red de dos capas no puede computar adecuadamente la función lógica XOR (la disyunción exclusiva); veámoslo:

x1 x2 x1 x2

0 0 0

0 1 1

1 0 1

1 1 0

                

tabla de verdad de la disyunción exclusiva

si ahora representamos en el plano las vectores de entrada y los valores de verdad correspondiente, tenemos

 

      Se observa fácilmente que con una sola línea es imposible separar los puntos 1 y 1 de los puntos 0 y 0; no hay forma de disponer la línea de modo que separe los conjuntos de puntos citados. Esto es precisamente lo que se quiere indicar cuando se dice que este problema no es linealmente separableSi tuviésemos dos líneas entonces sería posible descomponer el espacio en tres regiones, en dos de las cuales se encontrarían los puntos 0 y en la otra los puntos 1. Los perceptrones de dos capas no pueden dar lugar más que a una línea, pero podemos conseguir dos líneas si entre la capa de entrada y la de salida situamos una capa intermedia con dos neuronas, cada una de las cuales nos permitirá obtener una línea (ver gráficos de la página siguiente). En la época de Rosenblatt no se disponía de un algoritmo de aprendizaje adecuado para redes con capas ocultas y hubo que esperar a los años ochenta para su perfecto desarrollo (la regla delta generalizada) y, por lo tanto, para la superación del problema de la separabilidad lineal.

Page 112: Agentes Inteligentes en Sistemas (1)

 

Red multicapa con unidades ocultas que resuelve

correctamente el problema XOR. Si el umbral de la unidad c = 0.4, de la d = 1.2, de la e = 0.5 y los pesos wca = 1,  wcb = 1, wda = 1, wdb = 1, wec = 0.6, wed = -

0.4, la red da lugar a la representación gráfica inferior. Se aprecia que las dos líneas crean una región en donde se sitúa el

conjunto formado por 1 y 1 y dos regiones en donde se sitúan los

otros dos valores; por lo tanto, la red  resuelve  el problema XOR

Volver al índice

VIII. 3. EL PANDEMONIUM: UN MODELO PARA EL RECONOCIMIENTO DE PATRONES

VIII. 3. 1. La tarea de reconocimiento de patrones: dos explicaciones, el modelo de plantillas y el modelo de análisis de características

          Una característica del sistema de procesamiento visual humano es su flexibilidad: somos capaces de identificar un patrón, un tipo de estímulo, con independencia sus posibles variaciones en tamaño, posición en el contexto y orientación espacial; e incluso cuando su forma varía en ciertos límites; fijémonos en los siguientes ejemplos:

 

        En todos ellos reconocemos sin dificultad la letra "E", y todos ellos pueden interpretarse como variaciones del mismo patrón, el correspondiente a dicha letra. Podemos llamar “reconocimiento de patrones” al hecho de identificar distintos estímulos como perteneciendo a la misma clase, como siendo del mismo tipo. Los psicólogos han presentado diversas teorías para comprender el modo en que nuestra mente es capaz de reconocer patrones; una de las primeras y más sencillas es la de “comparación de plantillas”.  Según esta teoría en nuestra memoria debe haber un modelo o plantilla correspondiente a cada forma que podamos reconocer. Cuando vemos un objeto, la imagen que se produce en la retina se la compara con las plantillas almacenadas en nuestra memoria y aquella que mejor se ajusta a la imagen retiniana es la que identifica al objeto visto. Fácilmente se ve que esta teoría no

Page 113: Agentes Inteligentes en Sistemas (1)

 

es satisfactoria: un cambio en la posición, tamaño u orientación del objeto provocaría un desajuste que haría imposible el reconocimiento. Además no podríamos reconocer formas deterioradas pues tampoco coincidirían con las plantillas.

      Podríamos modificar la teoría para superar estas dificultades: por ejemplo suponiendo que existen tantas plantillas almacenadas como variedades posibles de posición, rotación,  tamaño y distorsión, pero está claro que ésta no es una buena solución pues exigiría un número tan grande de plantillas que ni siquiera el cerebro podría almacenar. Otra estrategia más razonable consistiría en suponer que antes de la comparación del input retiniano con las plantillas nuestra mente realiza un análisis preparatorio, lo que algunos autores llaman “preprocesamiento”:  mediante este análisis las imágenes retinianas se someten a un proceso de normalización que los traduce a un formato estándar compatible con los formatos de las plantillas existentes en nuestra memoria (ajustando el tamaño y la orientación por ejemplo). Existen algunos resultados experimentales que parecen avalar la hipótesis de la normalización.        

           Algunas de las dificultades del modelo de plantillas se pueden resolver con otro modelo algo más complejo que el anterior: el modelo basado en el análisis de características. Esta teoría defiende que nuestra mente no trabaja con copias exactas de la información sino con el análisis de las características internas de cada patrón; por ejemplo, el sistema visual utilizaría un análisis de características al menos en las siguientes dimensiones: líneas y sus variantes (verticales, horizontales, oblicuas), ángulos y sus variantes y curvas. En la memoria se representa cada patrón mediante una lista de sus características geométricas y (al menos en las versiones más elaboradas) sus correspondientes pesos. Así, la letra "A" podría representarse mediante la siguiente lista de características: pesos altos: dos líneas inclinadas, una hacia la derecha y otra hacia la izquierda, una línea horizontal, un ángulo apuntando hacia arriba; pesos bajos o nulos: líneas verticales, líneas curvas discontinuas, ángulos rectos, etc. El patrón estimular activa los detectores de características, y la configuración de la activación resultante se compararía con la de los patrones almacenados en la memoria; la configuración que mejor se ajuste determinaría la interpretación perceptual del sistema.

VIII. 3. 2. El Pandemonium: rasgos principales

          El Pandemonium propuesto por O. Selfridge en su escrito de 1959 Pandemonium: A paradigm for learning  es precisamente uno de los primeros y más conocidos modelos de reconocimiento de patrones basados en el análisis de características. Originariamente el Pandemonium se concibió como un programa de ordenador para reconocer señales del código Morse, pero posteriormente se le dio una interpretación psicológica como modelo de reconocimiento alfanumérico. La exposición y comentarios que siguen se refiere precisamente a la versión más conocida del Pandemonium (la de Lindsay y Norman en su obra Introducción a la psicología cognitiva) y cuyo objetivo es el reconocimiento de letras. El Pandemonium  consiste en varios conjuntos de unidades a las que Selfrigde dio el nombre de “demonios”, unidades que realizan distintas tareas y provocan la información de salida (la identificación de la forma presentada al sistema). El dibujo siguiente es una representación habitual del Pandemonium (tomado de Linsay y Norman, Introducción a la psicología cognitiva).

Page 114: Agentes Inteligentes en Sistemas (1)

    Los tipos de demonios de los que consta el modelo son los siguientes:

Demonios de la imagen: su tarea es registrar la imagen del signo externo.

Demonios de características: la tarea de las unidades de este tipo es analizar la imagen registrada; cada demonio de características está especializado en un aspecto particular de la forma (unos detectan líneas, otros ángulos, otros curvas, ...)  por lo que el  procesa- miento en este nivel consiste en la descomposición de la forma en sus características relevantes; cada demonio de características detecta la presencia de alguno de los rasgos para los que ha sido definido (por ejemplo el demonio correspondiente a las líneas verticales detecta la presencia y número de líneas verticales en la figura).

 

Demonios cognitivos: reciben y examinan la información de los demonios de características; cada demonio cognitivo está especializado en el reconocimiento de una forma (por ejemplo, uno para la letra "A" otro para la "B", ...) y busca en los datos que les ofrecen los demonios de características la presencia de los rasgos que definen la letra en la están especializados (por ejemplo el demonio cognitivo de la letra "A" buscará la presencia de una línea horizontal, dos oblicuas y tres ángulos agudos).

Demonio de decisión: cuando un demonio cognitivo encuentran una característica que buscaba empieza a gritar y cuantas más características descubre más grita; la tarea del demonio de decisión es escuchar el Pandemonium producido por los demonios cognitivos y seleccionar el que grita más fuerte; la interpretación que el sistema hace de la forma que se le presenta corresponde a la letra decidida por este demonio.

          Una cuestión muy importante que tiene que decidir el diseñador de un Pandemonium es la de determinar las características de cada patrón. Se han dado distintas propuestas de los criterios más adecuados para ello, propuestas entre las que destaca la que presentó en 1969 E. J. Gibson en su obra Principles of perceptual learning and development. Los criterios que defendió se referían a la selección de la lista de características para las letras mayúsculas, y son los siguientes:

1. Las características críticas deben estar presentes en algunos miembros, pero no en otros, de modo que permitan una clara distinción entre ellos.

2. No deben variar cuando cambia el brillo, tamaño o perspectiva.

Page 115: Agentes Inteligentes en Sistemas (1)

3. Deben producir un único patrón para cada letra.

4. La lista no debe ser muy extensa.

          Más explícita es la propuesta de Linsay y Norman en su libro ya clásico Introducción a la psicología cognitiva. El cuadro siguiente (tomado de dicha obra) presenta los demonios de características necesarios para la identificación de una letra y los valores que activan para cada una de las letras del alfabeto. Mediante las siete características citadas podemos identificar adecuadamente la totalidad de las letras.

 Líneas

verticales

Líneas horizontale

s

Líneas oblicuas

Ángulos rectos

Ángulos agudos

Curvas continuas

Curvas discontinua

s

A   1 2   3    

B 1 3   4     2

C             1

D 1 2   2     1

E 1 3   4      

F 1 2   3      

G 1 1   1     1

H 2 1   4      

I 1 2   4      

J 1           1

K 1   2 1 2    

L 1 1   1      

M 2   2   3    

N 2   1   2    

O           1  

P 1 2   3     1

Q     1   2 1  

R 1 2 1 3     1

S             2

T 1 1   2      

U 2           1

V     2   1    

W     4   3    

X     2   2    

Y 1   2   1    

Z   2 1   2    

           En realidad, el modelo basado en el análisis de características es semejante al de comparación de plantillas, sólo que aquí las plantillas son las partes geométricas que componen la letra (podríamos llamar a cada característica “miniplantilla”) y en el segundo caso las letras mismas. Parece que este modelo puede explicar lo que el modelo de plantillas puede explicar (ya que las plantillas están compuestas por características) y, además, otra serie de fenómenos para los que el modelo de plantillas es ineficaz.

Volver al índice

VIII. 3. 3. El Pandemonium: base experimental

Page 116: Agentes Inteligentes en Sistemas (1)

          La teoría del análisis de características (bien sea al modo del Pandemonio, bien sea con otro tipo de architectura) goza de un apoyo experimental razonable, apoyo mayor que la teoría de las plantillas. Veamos alguno de estos experimentos:

En su artículo de 1964 Visual search (“Scientific American”, 210) Neisser planteó la siguiente hipótesis: si el modelo de detección de características es correcto la identificación de una letra (que podríamos llamar letra-objetivo) en un contexto formado por otras letras con características muy semejantes será más lenta que la identificación de una letra en un contexto formado por letras con características muy distintas; por ejemplo la identificación de la letra-objetivo "Z" en el contexto de las letras "X", "(letras angulosas) será más lenta que la identificación de dicha letra-objetivo en el contexto de las letras "C", "S" o "G" (letras redondeadas). Esta hipótesis parece razonable puesto que se debe tardar más en rechazar una "N" que una "C", puesto que la "Z" comparte con la "N" más rasgos que con la "C"experimentos, los sujetos tardaban más en identificar la letra-objetivo cuando estaban en un contexto con letras similares que cuando estaban en un contexto con letras menos parecidas.

Existen ciertas técnicas que nos permiten preparar el ojo de tal modo que la imagen visual en la retina sea la misma aunque el ojo cambie de posición; en estos casos se observa (y quizá por la fatiga de los receptores retinianos) que la imagen empieza a desaparecer, pero lo hace perdiendo partes significativas, no al azar (la “imagen detenida” va perdiendo líneas rectas, curvas, segmentos significativos, ...). Estos estudios de fragmentación perceptual parecen avalar la teoría del análisis de características.

Otro conjunto de experimentos importante se refiere a las confusiones que se producen en el reconocimiento de letras cuando éstas se presentan en condiciones que dificultan su identificación. Existen varias técnicas para provocar la confusión en los sujetos que realizan la tarea (por ejemplo utilizar el taquistoscopio para presentar estímulos en tiempos extremadamente breves). Los resultados de estos experimentos muestran que las letras que comparten más características tienden a confundirse, algo que la teoría del análisis de características predice.

Algunas investigaciones sugieren la  existencia de diversos tipos de células nerviosas funcionalmente distintas, células que responden selectivamente a distintos estímulos: unas a  bordes, otras a vértices, otras a barras luminosas, otras a barras oscuras, ...). Sin embargo los resultados y experimentos son controvertidos y no hay un acuerdo unánime en este punto. En el caso de existir la especialización nerviosa citada, la teoría de los detectores de características quedaría fuertemente avalada.

Volver al índice

VIII. 3. 4. El Pandemonium: dificultades

          Pero, más allá de su bondad (por ejemplo para explicar la identificación de los caracteres escritos y las formas geométricas sencillas) el modelo del Pandemonium y, en general, la teoría del análisis de características, presenta importantes deficiencias si lo queremos utilizar como una teoría general del reconocimiento de patrones. Veamos alguna de ellas:

          El Pandemonium no puede distinguir entre una "T" y una "T" invertida, o una letra y su imagen en el espejo. La causa de estas limitaciones está en el tipo de información que el sistema considera relevante para la identificación: el Pandemonium se fija en los elementos que componen el patrón pero no en sus relaciones estructurales. Las relaciones estructurales tienen que ver, por ejemplo, con el modo de estar localizados y orientados unos rasgos respecto de otros (la simetría, la intersección, la igualdad, ...), y, sin duda, intervienen realmente en el modo en que nosotros reconocemos patrones. Además, posiblemente nuestra mente atiende a

este tipo de relaciones para distinguir variantes del mismo patrón: vemos como distintos los signos A, A, (aunque todos sean ejemplos de la letra "A"), somos capaces de clasificar ejemplos del mismo patrón en grupos a partir de sus semejanzas. Seguramente debido a la limitación citada, el modelo del Pandemonium no puede

Page 117: Agentes Inteligentes en Sistemas (1)

explicar esta competencia (por ejemplo, el demonio de decisión responderá del mismo modo  y sin matices ante dichos signos). 

          Otra limitación de este modelo es que no introduce datos “de alto nivel” como puede ser la información contextual (se ha demostrado experimentalmente que el sentido global de una frase interviene en la interpretación particular que se le asigna a una letra), o las expectativas inducidas. 

          Por lo demás, cuando creamos un Pandemonium e intentamos comprobar su validez, parece necesario que nosotros hayamos interpretado antes el estímulo en los términos de las categorías físicas que el propio sistema utiliza para definir el patrón (líneas rectas, curvas, ángulos, ...), de tal manera que, en realidad, Pandemonium interpreta lo que antes nosotros hemos interpretado del estímulo, no interpreta el estímulo mismo; para que de verdad fuese capaz de realizar esto último al sistema se le debería presentar la energía luminosa del propio estímulo (es decir, debería estar conectado a un sensor y utilizar los datos que éste le ofrezca). Por ejemplo, si al sistema le presentamos una letra que conste de una línea recta, no es cierto que el estímulo básico o primitivo sea propiamente una línea recta pues esto ya exige una interpretación (es necesario saber qué es una línea recta); nuestra mente es capaz de descubrir líneas rectas en el entorno, y es necesario una explicación de esta competencia; el Pandemonium no da cuenta de la habilidad de nuestra mente para captar este tipo de regularidad en los estímulos. O dicho en otros términos: en el reconocimiento de patrones existe un procesamiento de la información anterior y más básico que el que nos ofrece los modelos al estilo del Pandemonium. 

       Por último, y relacionado con lo anterior, el modelo del Pandemonium tiene poca validez ecológicaser competente en situaciones bastante artificiales (pocos patrones, cada uno de ellos compuesto de un número reducido de categorías y que se ofrecen en condiciones perceptuales óptimas), como ocurre en el caso de las letras del alfabeto; sin embargo,  en situaciones normales, los estímulos son objetos tridimensionales y se ofrecen en condiciones físicas no necesariamente perfectas (poca iluminación, sombras, escorzos, mezcla de unos objetos con otros, ...); en estas situaciones reales la eficacia de un Pandemonium es prácticamente nula.

Volver al índice

VIII. 3. 5. El Pandemonium y el conexionismo

          Este modelo de identificación de patrones se puede incluir en el enfoque conexionista pues presenta algunos de sus rasgos principales:

1. Existen muchas unidades de procesamiento.

2. La información se almacena de un modo bastante distribuido: en el nivel de los demonios de características cada letra se define por la activación de un conjunto de unidades y cada unidad colabora en la identificación de varias letras.

3. El procesamiento es en paralelo pues todas las unidades de cada nivel actúan simultáneamente.

4. Las unidades están conectadas entre sí formando distintos niveles o capas.

5. La entrada y la salida de cada una de las unidades se expresa de modo cuantitativo.

6. El cómputo que realiza el sistema es básicamente de tipo cuantitativo y probabilístico (los demonios cognitivos reciben información cuantitativa de los demonios de características y envían su señal al demonio de decisión de modo cuantitativo (gritando mucho, poco o nada).

Page 118: Agentes Inteligentes en Sistemas (1)

          Pero también encontramos algunas importantes diferencias:

La primera y más llamativa se refiere al sistema de representación gráfica utilizado: en los modelos conexionistas típicos las unidades se suelen representar con círculos, reciben el nombre de neuronas y las conexiones entre ellas se representan mediante líneas rectas; en el Pandemonium las unidades reciben el nombre de demonios, se las representa mediante pequeños diablillos, y las conexiones entre ellas mediante flechas más o menos imaginativas.

En el Pandemonium las conexiones son excitatorias: en el sentido de que si un demonio de características detecta un característica envía su señal a un demonio cognitivo provocando un aumento en la posibilidad de que este se active o un incremento en su activación; a su vez el incremento de los demonios cognitivos provoca un aumento en la posibilidad de que el demonio de decisión se decida por el carácter que representa dicho demonio cognitivo;  pero el Pandemonium (al menos en sus versiones más sencillas) no presenta conexiones inhibitorias mientras que las redes conexionistas tradicionales sí lo hacen.

Aunque, como se ha dicho, el sistema es un sistema de representación distribuida, las redes tradicionales distribuyen de un modo más acentuado la información. Un aspecto de esta diferencia se refiere a la interpretación cognitiva: en los modelos de redes conexionistas en los que la información está más distribuida las unidades no representan ni significan nada, los significados y las representaciones aparecen como consecuencia de la interacción entre una muchedumbre de unidades, y se reflejan particularmente en el patrón de pesos y el patrón de actividad. En el Pandemonium hay, al menos, un nivel en el que es posible la interpretación cognitiva puesto que en él la información se representa de forma localista y no distribuida (el de los demonios de características, en donde cada demonio representa una letra)  Por otro lado, es cierto que también se han propuesto importantes ejemplos de redes conexionistas con  unidades que permiten una interpretación cognitiva (por ejemplo la red NETtalk explicada más abajo), y, por lo tanto, representaciones locales. 

El Pandemonium no presenta de modo preciso las modificaciones cuantitativas que sufren las unidades (por ejemplo la intensidad exacta necesaria para la activación de un demonio cognitivo, ni la magnitud exacta de la señal que envía un demonio cognitivo al demonio de decisión para que se decida por la letra correspondiente al demonio cognitivo).

En el modelo tampoco encontramos conceptos habituales en el procesamiento de las redes conexionistas tradicionales (umbral, función de activación, función de transferencia, .... );

El procesamiento realizado por el Pandemonium depende de las asignaciones que el diseñador del sistema a establecido, las cuales dependen, a su vez, de la comprensión que el diseñador tiene de las características esenciales de las letras (por ejemplo, considerar que la características esenciales de la letra G son tener una línea vertical, una línea horizontal, un ángulo recto y una curva discontinua); por esta razón en realidad el Pandemonium no es un sistema capaz de aprender a reconocer formas (no sufre un proceso de modificación de las unidades para adecuar la entrada con la salida del sistema) ni utiliza algoritmos de aprendizaje; sin embargo las redes tradicionales pueden aprender en el sentido citado y para ello disponen de algoritmos de aprendizaje. El Pandemonium puede llegar a reconocer patrones pero su capacidad se debe básicamente a la comprensión que el diseñador tiene de la estructura de los patrones que ha de identificar.

          De todos modos, las diferencias anteriores no son significativas pues algunas se refieren incluso a cuestiones de índole estético (el uso de “demonio” en vez de “neurona”, o los dibujos de las unidades); y la mayoría de ellos se deben a la falta de concreción con habitualmente se presenta el Pandemonium. De hecho es posible utilizar las ideas básicas que utiliza este modelo para explicar nuestra capacidad para reconocer patrones y reflejarla de un modo más preciso y detallado y en términos similares a las redes conexionistas tradicionales. Es lo que ocurriría si intentásemos implementar el Pandemonium en un ordenador; en este caso sería preciso concretar con precisión las modificaciones cuantitativas que afectan a las unidades, a la vez que las funciones matemáticas que determinan el cómputo en los distintos niveles de procesamiento; incluso

Page 119: Agentes Inteligentes en Sistemas (1)

podrían añadirse conexiones inhibitorias para favorecer el procesamiento. Con estos complementos (que no implican un cambio en el modelo sino su concreción) la representación y arquitectura del Pandemonium de Selfridge tendría el mismo aroma que los modelos conexionistas tradicionales.

          Sin embargo, en donde las diferencias están más marcadas es en el tema del aprendizaje. Ya se ha dicho que una de las características principales de las redes conexionistas es que aprenden a reconocer patronessólo que reconocen patrones; pero en el caso del Pandemonium quien debe aprender es el diseñador de la reddebe descubrir y aprender cuáles son las características básicas que tiene cada letra (ángulos, líneas rectas, líneas curvas, ...) y debe descubrir “a mano” las dificultades con las que puede tropezar el sistema para realizar un procesamiento eficaz. Por ejemplo, si intentamos poner en funcionamiento el Pandemonium podemos observar que en principio tendría dificultades para distinguir la letra "P" de la "R": la "P" tiene una línea vertical, dos horizontales, tres ángulos rectos y una curva discontinua y la "R" todas ellas más una línea oblicua, de modo que los demonios cognitivos de la "P" y la "R" se activan por igual y el demonio de decisión no podrá elegir entre ellos. El diseñador ha de utilizar alguna estrategia para resolver este problema, por ejemplo obligar a que un demonio cognitivo se active al máximo si y sólo si están presentes todas las características de la letra correspondiente, de este modo tanto la ausencia de una característica como la presencia de una característica irrelevante inhibirá la respuesta de la unidad. Con este ejemplo se quiere señalar que el modelo del Pandemonium exige que el diseñador conozca la “lógica” del procesamiento de la información para el reconocimiento de patrones, algo que, como se sabe, constituye uno de los objetivos de la psicología cognitiva tradicional. Esto no ocurre en el caso de los modelos conexionistas: en ellos la red utiliza algoritmos para la modificación de los pesos de sus conexiones y gracias a dichas modificaciones puede aprender por sí misma a reconocer los patrones (una consecuencia de ello es que en los modelos conexionistas no es posible saber cuáles son los elementos relevantes que la red toma en cuenta para el procesamiento ni el orden ni la lógicade dicho procesamiento; precisamente la originalidad del planteamiento conexionista es que rechaza la existencia de reglas de procesamiento).

Volver al índice

VIII. 4. NETtalk: APRENDER A LEER EN INGLÉS

          Terrence Sejnowsky y Charles R. Rosenberg escribieron en 1986 NETtalk: A Parallel Network that Learns to Read Aloud. En este artículo presentaron la red NETtalk, cuya finalidad era leer y hablar textos en inglés.

          NETtalk tiene una estructura  de tres capas interconectadas con cerca de 20.000 sinapsis:

en la capa de entrada encontramos 7 grupos de 29 unidades cada uno (203 unidades de entrada);

la capa oculta consta de 80 unidades;

y la capa de salida de 26 unidades.

          De las 29 neuronas que consta cada grupo de la capa sensorial, 26 codifican una letra del alfabeto inglés y las otras tres restantes la puntuación y los límites entre palabras. Puesto que las unidades de entrada se distribuyen en siete grupos, el patrón de entrada que la red es capaz de reconocer ha de ser de 7 caracteres como máximo. Las unidades de salida o motoras codifican las dimensiones fundamentales del habla: fonemas,

Page 120: Agentes Inteligentes en Sistemas (1)

acentos y hiatos entre sílabas.  

          La red transformaba los datos de entrada  (las letras) en fonemas o sonidos. Dado que los pesos originales se establecieron al azar, los primeros resultados no eran buenos; el entrenamiento consistió en presentar cerca de 1000 palabras del habla corriente de un niño; un “maestro” o supervisor controlaba la corrección de la respuesta de la red y modificaba los pesos mediante la regla delta generalizada (entrenamiento con propagación hacia atrás). Tras casi 50.000 presentaciones y las modificaciones correspondientes de sus pesos, la red era capaz de leer y hablar con una exactitud del 95 por ciento.

          Resultan sorprendentes algunas semejanzas entre NETtalk y la capacidad lingüística humana:

la progresiva eficacia de la red guarda cierta semejanza con la de los niños: las primeras respuestas se parecen a los balbuceos sin sentido de un bebé, pero el sucesivo ajuste de los pesos mejora la calidad de los balbuceos lentamente, hasta culminar en unas respuestas coherentes e inteligibles ante cualquier texto en inglés;

es capaz de generalizar: al presentarle nuevas palabras del mismo niño el sistema era capaz de leer y pronunciar con una exactitud del 78 por ciento;  

degradación elegante: la red muestra una clara resistencia al daño; la destrucción de algunos elementos de la red no tiene consecuencias catastróficas en el rendimiento total, simplemente disminuye su rendimiento.

            Las propiedades citadas son las que cabría esperar de un sistema de procesamiento distribuido y paralelo (como se ha comentado en la sección correspondiente), y, sin duda, resulta más eficaz para modelar la capacidad humana para detectar patrones que los modelos de plantillas y de análisis de características.  

          La figura siguiente es un esquema simplificado de la arquitectura del NETtalk (tomado de Soledad Ballesteros, Psicología General. Un enfoque cognitivo).

Page 121: Agentes Inteligentes en Sistemas (1)

Volver al índice

CONEXIONISMO

IX. REDES NEURONALES PARA EXPLICAR EL CEREBRO 

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

          Cuando nos enfrentamos con la difícil tarea de comprender los presupuestos, tesis y alcance del conexionismo muy pronto se nos presenta la siguiente pregunta: los modelos conexionistas, ¿qué quieren explicar, la mente o el cerebro? ¿Son modelos de la mente o del cerebro? Una respuesta que habitualmente se ofrece es que las redes conexionistas se han desarrollado en el campo de la psicología para explicar habilidades y competencias mentales (percepción, lenguaje, pensamiento, ...); ese tipo de redes pertenecen a la psicología y son modelos de la mente;  frente a ellas, se indican ejemplos de redes creadas en el marco de la neurociencia para dar cuenta de procesos puramente cerebrales (y, en este caso, son por lo tanto modelos del cerebro).

          Con el término “psicobiología” podemos referirnos al enfoque que intenta explicar el mundo de la mente y la conducta a partir de elementos, estructuras y procesos biológicos. Una parte importante de esta disciplina incluye el estudio de la influencia que sobre la psíque tienen las substancias químicas, tanto exógenas como endógenas (por ejemplo el influjo de los neurotransmisores en la conducta). Pero parece claro que también el estudio de cómo la arquitectura y procesos del sistema nervioso influyen en la mente y la conducta (lo que cabría llamar psiconeurología) debe formar parte de la psicobiología. En el momento actual de la ciencia disponemos ya de explicaciones “biologistas” para dar cuenta de importantes fenómenos psicológicos, y no sólo en el ámbito de los trastornos de conducta; no es arriesgado afirmar que en el campo de la percepción este enfoque ya nos permite explicar algunos fenómenos perceptuales (por ejemplo, simplemente el hecho de poder percibir colores, o la distinción de contornos a partir de peculiaridades del procesamiento

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 122: Agentes Inteligentes en Sistemas (1)

neural como la del efecto de la inhibición lateral, ...). Aunque la siguiente tesis exigiría, naturalmente, un análisis cuidadoso parece que el conexionismo tiene como destino formar parte de la psicobiología (o psiconeurología) antes que de lo que tradicionalmente entendemos por psicología.

          El conexionismo oscila entre las siguientes posiciones:

la Inteligencia Artificial: si las redes que se construyen no intentan reproducir el funcionamiento real del cerebro y buscan, simplemente,  imitar competencias típicamente humanas, entonces no tenemos psicobiología pero tampoco psicología, tenemos una tecnología que nos faculta para construir arquitecturas que puedan  ser implementadas en sistemas físicos no biológicos como los ordenadores y los robots (por ejemplo para el reconocimiento de textos, el reconocimiento del habla, el movimiento preciso en un entorno poco amigable, ...);

la biología: si se construyen redes que quieren ser fieles a los mecanismos y estructuras reales de nuestro sistema nervioso, y se las utiliza para dar cuenta de competencias tradicionalmente atribuidas a la mente (lenguaje, percepción, memoria, ...); este enfoque no es psicología (al menos psicología mentalista) sino psiconeurología y, por supuesto, sus descubrimientos pueden tener relevancia en Inteligencia Artificial.

          El conexionismo parece ser una teoría que apela al cerebro para explicar competencias atribuidas tradicionalmente a la mente. Con esto se quiere sugerir que desde el conexionismo se defiende la tesis de que lo mental no tiene un estatuto propio, que la vida mental no posee un tipo de regularidades que puedan dar lugar a una disciplina independiente de la biología (más exactamente de las ciencias del sistema nervioso). En esta línea de interpretación se incluyen, por ejemplo, las tesis de dos de los representantes más destacados en el campo de la reflexión teórica sobre el sentido, valor y límites del conexionismo, los Churchland.

          Por otro lado, la idea de que es preciso comprender el funcionamiento de las estructuras nerviosas para dar cuenta de los procesos mentales (es decir, la idea de que las redes conexionistas han de ser modelos del cerebro) se encuentra en los orígenes mismos del conexionismo y ha dado lugar a redes neuronales e hipótesis que gozan de cierto apoyo experimental; citemos algunos ejemplos:

la regla de aprendizaje descubierta por Hebb quería describir el modo real en que se relacionan las neuronas en el cerebro para formar asociaciones estables entre ellas;

en su obra de 1947 How We Know Universals: The Perception of Auditory and Visual Formas, McCulloch y Pitts, defendieron la tesis de que las redes neuronales de los córtices auditivo y visual eran capaces de reconocer propiedades invariantes del mismo patrón,  que las redes neuronales del colículo superior (involucrado en el control del movimiento de los ojo) podían generar el patrón a partir de ejemplos de dicho patrón, y presentaron una descripción abstracta de dichas redes; 

Taylor propuso las redes que llevan su nombre para explicar la memoria asociativa y afirmó que las áreas de asociación de la corteza cerebral y el tálamo contenían dichas redes;

Page 123: Agentes Inteligentes en Sistemas (1)

y en este mismo contexto hay que situar las teorías del cerebelo, del hipocampo y del neocortex defendidas por Marr a finales de los sesenta y principios de los años setenta:

* el funcionamiento del cerebelo es semejante a las redes asociativas direccionables por contenido (ACAMs), y gracias a dicho funcionamiento los animales pueden realizar movimientos voluntarios delicados y precisos;

* el hipocampo es el soporte físico de la memoria a corto plazo o memoria de trabajo, y puede clasificar patrones y recuperar un patrón a partir de datos fragmentarios porque es también un ACAM;

* las representaciones que nos formamos de las clases y subclases de objetos se basan en el hecho de que el neocortex tiene una estructura y mecanismo similares al del Perceptrón.

       La figura siguiente representa la red propuesta por Marr para explicar el funcionamiento del cerebelo (tomado de Stephen R. Graubard, comp. El nuevo debate sobre la inteligencia artificial).  

 

células granulares (g); son

las únicas células excitatorias, el resto

son inhibitorias;

células de Golgi (Go) controlan los umbrales de las

células granulares;

células de cesta (Ba): controlan los umbrales de las

células de Purkinje (Pu)

células estrelladas (S):

controlan los umbrales de las

células de Purkinje (Pu)

La red se comporta como una red ACAM

y asocia los patrones de las fibras musgosas

(MF) y de las células en pendiente (CF).

Page 124: Agentes Inteligentes en Sistemas (1)

     

  

CONEXIONISMO

APÉNDICE: MATRICES

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

 

   

     

      Una matriz es una formación rectangular de números. Una matriz de m por n (escrito m x n) tiene m filas y n columnas.  Por ejemplo:

  es una matriz 2 x 4 es una matriz 4 x 2  

  es una matriz cuadrada 4 x 4 es una matriz  fila 1 x 4

  es una matriz columna 4 x 1  

      Generalmente las matrices se representan con letras mayúsculas en negrita, por ejemplo, A, B y C podrían representar tres matrices.

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 125: Agentes Inteligentes en Sistemas (1)

      La posición de un elemento en una matriz es de importancia fundamental. Si son intercambiados elementos distintos, la matriz también cambia. Por ejemplo: 

, ,

son todas matrices distintas. Dos matrices son idénticas si y sólo si cada elemento de una es igual al correspondiente elemento de la otra.  Dos matrices no pueden ser iguales a menos que tengan el mismo número de filas y el mismo número de columnas; así:

    

       La suma (o sustracción) de matrices es sencilla, pero solamente puede realizarse si las matrices son del mismo orden (es decir, m x n), esto es, cuando tienen el mismo número de filas y columnas. Los elementos correspondientes se suman (o, en el caso de la sustracción, los elementos se restan).

Ejemplo

 

 + + = =  

    Ejemplo

 

 + =  =  

Multiplicación de matrices por números reales

           Multiplicar una matriz por un número p es multiplicar cada elemento de la matriz por p.   

2   =   

 Multiplicación de matrices

           Dos matrices se pueden multiplicar si y sólo si el número de columnas de la primera matriz es igual al número de filas de la segunda 

A x B = 

 

Ejemplo

Page 126: Agentes Inteligentes en Sistemas (1)

                                             * = = 

 Ejemplo

  * = =

Ejemplo

  * = = 2  

        

CONEXIONISMO

BIBLIOGRAFÍA BÁSICA EN CASTELLANO 

 

Introduzca los términos de búsqueda. Envíe el

formulario de búsqueda

Web www.e-torredebabel.com

1. Ballesteros Jiménez, Soledad. (1995). Psicología general. Un enfoque cognitivo. Madrid: Editorial Universitas, Segunda edición.

2. Boden, Margaret A. (compiladora).(1990). The Philosophy of Artificial Intelligence. Londres: Oxford University Press. Traducción castellana (1994): Filosofía de la Inteligencia Artificial. México: Editorial Fondo de Cultura Económica.

3. Churchland, Paul M. (1988). Matter and Consciousness. Cambridge, MA: Revised Edition. The MIT Press. Traducción castellana (1992): Materia y

w w w .e-torredeb

Buscar

pub-3445538573 1 6474334069 ISO-8859-1 ISO-8859-1

GALT:#660000;G es

Page 127: Agentes Inteligentes en Sistemas (1)

conciencia. Una introducción contemporánea a la filosofía de la mente. Barcelona: Editorial Gedisa.

4. Churchland, Paul M. y Churchland, Patricia Smith. (1990). ¿Podría pensar una máquina? Investigación y Ciencia. Marzo.

5. Corbí, Josep y Prades, Josep L. (1995). El conexionismo y su impacto en la filosofía de la mente. En Fernando Broncano (ed.) La mente humana. Madrid: Editorial Trotta y Consejo Superior de Investigaciones Científicas.  

6. Engel, Pascual (comp.). (1988). Psichologie ordinaire et sciences cognitives. Paris: Centre National de la Recherche Scientifique. Traducción castellana (1993): Psicología ordinaria y ciencias cognitivas. Barcelona: Editorial Gedisa.

7. Fernández Trespalacios, José Luis. (1986). Psicología General (I). Madrid: Editorial Gráficas Maravillas.

8. Fernández Trespalacios, José Luis. (1990). ¿Qué es la psicología? Una visión actual de sus puntos de vista teóricos y de sus aplicaciones. Madrid: Editorial Gráficas Maravillas.

9. Fernández Trespalacios, José Luis. (1990). Enfoques actuales de la psicología científica. Madrid: Lección de la sesión inaugural del curso 1990/1991.

10.Ferrater Mora, José. (1990). Modos de modelar la mente. en VVAA. Modelos de la mente. Madrid: Editorial de la Universidad Complutense.

11.Fodor, Jerry A. (1995). The Language of Thought. Cronwell. Nueva York. Traducción castellana (1984): El lenguaje del pensamiento. Madrid: Alianza Editorial.

12.Freeman, James A. y Skapura, David M. (1991). Neural Networks. Algorithms, Applications, and Programming Techniques. Massachusetts: Addison-Wesley Publishing Company. Traducción castellana (1993): Redes neuronales. Algoritmos, aplicaciones y técnicas de programación. Wilmington, Delaware, USA: copublicado por Addison-Wesley Iberoamericana y Ediciones Díaz de Santos

13.Fuentes Melero, Luis J. (1992). Reconocimiento de patrones. En José Luis Fernández Trespalacios y Pío Tudela, (coord.), Tratado de Psicología General. Vol. 3. Atención y percepción. Madrid: Alhambra Universidad.

14.García-Albea, José E. (1991). Entrevista con Jerry Fodor. En  La mente y sus representaciones: cognición e inteligencia artificial. Madrid: Revista de Occidente, Abril 1991.

15.García-Albea, José E. (1991). La mente como máquina simbólica. En  La mente y sus representaciones: cognición e inteligencia artificial. Madrid: Revista de Occidente, Abril 1991.

Page 128: Agentes Inteligentes en Sistemas (1)

16.García Madruga, Juan A. (1991). El enfoque computacional en el estudio del desarrollo de la mente. En La mente y sus representaciones: cognición e inteligencia artificial. Madrid: Revista de Occidente, Abril.

17.Graubard, Stephen R. (compilador). (1988). The artificial intelligence debate False starts, real foundations. Cambridge, MA: Mit Press edition. Traducción castellana (1993): El nuevo debate sobre la inteligencia artificial. Sistemas simbólicos y redes neuronales. Barcelona: Editorial Gedisa.

18.Hilera, José R. y Martínez, Victor J. (1995). Redes neuronales artitificiales. Fundamentos, modelos y aplicaciones. Madrid: Editorial RA-MA.

19. Johnson-Laird, Philip N. (1988). The Computer and the Mind: An Introduction to Cognitive Science. William Collins Sons and Co. Lid., Glasgow. Traducción castellana  (1990): El ordenador y la mente. Introducción a la ciencia cognitiva. Barcelona: Editorial Paidós.

20.Lindsay, Peter H. y Norman, Donald A. 1977 Human Information Processing. An Introduction to Psychology Nueva York, Academic Press. Traducción castellana (1986): Introducción a la psicología cognitiva. Primera reimpresión. Madrid: Editorial Tecnos.

21.Martínez Arias, Rosario y Yela, Mariano (coordinadores). (1991). Pensamiento e inteligencia. Madrid: Editorial Alhambra.

22.Mayor, Juan. (1990). Modelos de la mente y modelos mentales. en VVAA. Modelos de la mente. Madrid. Editorial de la Universidad Complutense.

23.Mora, Francisco y Sanguinetti, Ana María. (1994). Diccionario de neuronciencias. Madrid: Alianza Editorial.

24.Olmeda, Ignacio y Barba-Romero, Sergio (editores). (1993). Redes neuronales artificiales. Fundamentos y aplicaciones. Alcalá de Henares: Servicio de Publicaciones de la Universidad de Alcalá.

25.Pitarque, Alfonso y Algarabel, Salvador. (1991). El conexionismo como marco de simulación: aplicación a una tarea de facilitación semántica. Cognitiva, vol. 3, 2.

26.Pylyshyn, Zenon W. (1984). Computation and Cognition. Toward a Foundation for Cognitive Science. Cambridge, MA: The MIT Press. Traducción castellana (1988): Computación y conocimiento. Hacia una fundamentación de la ciencia cognitiva.  Madrid: Editorial Debate.

27.Ríos, Juan, Pazos, Alejandro, Brisaboa, Nieves R. y Caridad, Serafín. (1991). Estructura, dinámica y aplicaciones de las redes de neuronas aritificiales. Madrid: Editorial Centro de Estudios Ramón Areces.

28.Rivière, Angel. (1991). Objetos con mente. Madrid: Alianza Editorial.

29.Rumelhart, David E., McClelland, James L. y el grupo PDP. (1986). Parallel Distributed Processing: Explorations in the Microstructure of Cognition.

Page 129: Agentes Inteligentes en Sistemas (1)

Massachusetts: The MIT Press. Traducción castellana: (1992). Introducción al procesamiento distribuido en paralelo. Madrid:  Alianza Editorial.

30.Searle, John R. (1990). ¿Es la mente un programa informático? Investigación y Ciencia. Marzo, 1990.

31.Sierra-Vázquez, V. (1992). Procesamiento visual inicial: aspectos biológicos, psicofísicos y computacionales del análisis espacial de imágenes por el sistema visual humano. En José Luis Fernández Trespalacios y Pío Tudela, (coord.),  Tratado de Psicología General. Vol. 3. Atención y percepción. Madrid: Alhambra Universidad.

32.Toribio Mateas, Josefa. (1995) Eliminativismo y el futuro de la Psicología Popular. En Fernando Broncano (ed.) La mente humana. Madrid: Editorial Trotta y Consejo Superior de Investigaciones Científicas.

http://www.e-torredebabel.com/Psicologia/Conexionismo/Conexionismo-Indice.htm

==============================================

Herramientas en GNU/Linux para estudiantes universitarios

Redes Neuronales con GNU/Linux

Francisco José Palacios Burgos

Copyright (c) 2.003 Francisco J. Palacios Burgos.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Tabla de contenidos

1. Historia de las Redes Neuronales

1.1. Inteligencia Artificial

1.2. Redes Neuronales

2. Conceptos Básicos sobre RNA

2.1. La neurona artificial

Page 130: Agentes Inteligentes en Sistemas (1)

2.2. Arquitectura de una RNA

3. Tipos de Redes Neuronales

3.1. Clasificación de las RNA

3.2. El perceptron multicapa (MLP)

3.3. Redes Autoorganizadas. Redes SOFM

3.4. Redes de funcion de base radial (RBF)

4. Ejemplo de entrenamiento de una red neuronal. Caso RBF

4.1. Ejemplo de aprendizaje para un problema de clasificacion por medio de una red RBF

A. Referencias interesantes

B. GNU Free Documentation License

B.1. PREAMBLE

B.2. APPLICABILITY AND DEFINITIONS

B.3. VERBATIM COPYING

B.4. COPYING IN QUANTITY

B.5. MODIFICATIONS

B.6. COMBINING DOCUMENTS

B.7. COLLECTIONS OF DOCUMENTS

B.8. AGGREGATION WITH INDEPENDENT WORKS

B.9. TRANSLATION

B.10. TERMINATION

B.11. FUTURE REVISIONS OF THIS LICENSE

B.12. ADDENDUM: How to use this License for your documents

Lista de tablas

4-1. Datos de entrenamiento

Lista de figuras

1-1. Representación de una neurona biológica

Page 131: Agentes Inteligentes en Sistemas (1)

2-1. Representación de una neurona artificial tipo McCulloch-Pitts

2-2. Funciones de activación más usuales

3-1. Representación de redes unidireccionales y realimentadas

3-2. Representación de un Perceptrón Multicapa (MLP)

3-3. Forma funcional de una sigmoide

3-4. Arquitectura típica de un mapa SOM

3-5. Arquitectura típica de una red de tipo RBF

3-6. Forma funcional de una función tipo Gaussiana

3-7. Centros en el espacio de las entradas

Lista de ecuaciones

2-1. Suma ponderada

3-1. Error cuadrático medio

3-2. Términos delta

3-3. Distancia Euclídea entre el vector sináptico y la entrada

3-4. Actualización de los pesos en una red SOM

3-5. Actualización de los pesos de la capa de salida en una red RBF

http://softwarelibre.unsa.edu.ar/docs/descarga/2003/curso/htmls/redes_neuronales/index.html

d

Page 132: Agentes Inteligentes en Sistemas (1)