You are on page 1of 14

HISTORIA

Entre 1984 y 1985, surgieron los primeros problemas con el razonamiento simbólico, estos
impulsaron al desarrollo de los primeros agentes reactivos; y es hasta 1990 cuando comienzan
a aparecer algunas arquitecturas híbridas estratificadas por capas, que simulan los primeros
agentes inteligentes. (Antoine, 2003). General Magic en 1990 fue la primera compañía en
invertir en tecnología de agentes para construir un sistema basado en agentes para dispositivos
portátiles. Fue llamada “Telscrip” y lo utilizó Motorola y AT&T. (Lawton, 1996). Más tarde
Telscrib evoluciona en “Tabriz AgentWare”, que desarrolló para trabajo en servidores en
Internet.

Posteriormente el tema de agentes comenzó a adentrarse muy de lleno en la mayoría de los


desarrollos, impulsados por la implantación de internet. Características como autonomía,
sociabilidad, capacidad de reacción e iniciativa, los hacían demasiado atractivos para ser
implantados en ambientes donde estos factores fueran necesarios y así fue como el paradigma
de agentes tuvo sus fundamentos en la tecnología de los paradigmas orientados a objetos.

Lo que se pretendía con la tecnología de agentes era lograr un gran parecido con la actividad
humana y una gran capacidad de raciocinio, por lo que, en 1995, con Windows 95 y las interfaces
gráficas, nace Microsoft Agent, una tecnología capaz de emplear personajes animados, y
software de reconocimiento de voz para mejorar la interacción con los usuarios de
computadoras.

La transición de la IA al desarrollo de agentes inteligentes, se dio a partir de la implementación


de algoritmos o técnicas de aprendizaje en agentes; anteriormente los agentes estaban
diseñados para procedimientos específicos en los cuales los protocolos estaban definidos en su
totalidad. En la actualidad los agentes que tienen tareas pequeñas pueden llegar a evaluar si
están empleando optimización en los procesos, con lo cual pueden modificar sus propias reglas
de comportamiento. Esto representa el principio en el camino hacia el anhelo de desarrollar
software con un comportamiento más inteligente.

¿QUÉ ES UN AGENTE?

Un agente es cualquier cosa capaz de percibir su medioambiente con la ayuda de sensores y


actuar en ese medio utilizando actuadores.

DEFINICIÓN DE AGENTES INTELIGENTES

Un agente inteligente es un programa especialmente concebido para realizar ciertas tareas de


manera autónoma en una red por encargo de un usuario. Esta herramienta permite ganar
tiempo en la vigilancia y la colecta de información de interés para la empresa. El usuario define
los parámetros de la tarea que realizará de manera autónoma el agente, luego el agente informa
de los resultados al usuario.

Todas las fuentes de información accesibles en una red pueden ser vigiladas por un agente
inteligente: archivos, páginas web, bases de datos, foros, newsletters, etc.
DIFERENCIA ENTRE AGENTES INTELIGENTES Y SOFTWARE CONVENCIONAL

Hay dos principales características que distinguen a los agentes inteligentes del desarrollo de
software tradicional y estas son la inteligencia y la agencia.

1. La dimensión de inteligencia se refiere al grado en el cual la aplicación utiliza


razonamiento, aprendizaje y otras técnicas para interpretar la información o
conocimiento al cual tiene acceso. Se puede decir que hay tres niveles de formas de
inteligencia
 La forma más modesta de inteligencia permite al usuario expresar sus preferencias.
 Una forma intermedia podría formalizar un conjunto de reglas de razonamiento que,
combinadas con conocimiento a corto y largo plazo, siguiendo un proceso de inferencia
puede conducir a la toma de alguna acción.
 Y un nivel superior es la capacidad del agente de modificar su capacidad de
razonamiento en la base nuevo conocimiento derivado de muchas fuentes, es decir,
aprender.
2. La agencia es el grado en el cual el agente puede percibir su entorno y actuar en él.
Define al agente, en otras palabras, para que un programa sea un agente debe poseer
autonomía, habilidad social, reactividad y proactividad.

CARACTERÍSTICAS DE LOS AGENTES INTELIGENTES

Reactivo. El agente es capaz de responder a cambios en el entorno en que se encuentra situado.

Pro-activo, a su vez el agente debe ser capaz de intentar cumplir sus propios planes u objetivos.

Social, debe de poder comunicarse con otros agentes mediante algún tipo de lenguaje de
comunicación de agentes.

Continuidad Temporal: se considera un agente un proceso sin fin, ejecutándose continuamente


y desarrollando su función.

Autonomía: un agente es completamente autónomo si es capaz de actuar basándose en su


experiencia. El agente es capaz de adaptarse, aunque el entorno cambie severamente. Por otra
parte, una definición menos estricta de autonomía sería cuando el agente percibe el entorno.

Racionalidad: el agente siempre realiza «lo correcto» a partir de los datos que percibe del
entorno.

Adaptabilidad: está relacionado con el aprendizaje que un agente es capaz de realizar y si puede
cambiar su comportamiento basándose en ese aprendizaje.

Movilidad: capacidad de un agente de trasladarse a través de una red telemática.

Veracidad: asunción de que un agente no comunica información falsa a propósito.

Benevolencia: asunción de que un agente está dispuesto a ayudar a otras gentes si esto no entra
en conflicto con sus propios objetivos.
FUNCIONES BÁSICAS DE LA TECNOLOGÍA DE AGENTES

un agente se puede considerar para llevar a cabo las siguientes funciones:

Ejecución de Tareas: La capacidad de realizar tareas son las destrezas que el agente posee para
lograr sus objetivos.

Conocimiento de su entorno: El conocimiento del entorno debe de ser introducido o construido


por el desarrollador. Algunos agentes además adquieren su conocimiento por aprendizaje.

Capacidad de Comunicación: Se distingue dos tipos de comunicación, la interacción con el


usuario, y la que se refiere a comunicación inter-agente.

CLASIFICACIÓN DE LOS AGENTES INTELIGENTES

Agente Interfaz: Es un software cuasi-inteligente que asiste a un usuario cuando interactúa con
una o más aplicaciones.

El agente puede aprender mediante las siguientes cuatro técnicas:

 Por observación e imitación del usuario.


 A través de una retroalimentación positiva o negativa del usuario.
 Recibiendo instrucciones explicitas del usuario.
 Asesorándose de otros agentes. De esta manera el agente puede actuar como un
asistente personal y autónomo del usuario, cooperando con él para terminar una cierta
tarea.

En los agentes de interfaz pueden encontrarse subdivisiones debido a diferentes tareas para las
cuales son construidos. Las más comunes son:

 Asistentes. - Trabajan realizando tareas típicas como el manejo de la agenda. Estos


agentes ayudan al usuario a planificar las reuniones.
 Filtros. - Su tarea principal es la de analizar información según un conjunto de reglas
dadas por el usuario.
 Guías. - Asisten a los usuarios en el uso de una aplicación. Estos agentes monitorean las
acciones de los usuarios e intentan sugerir qué pasos realizar para alcanzar el objetivo.
 Agentes Colaborativos: Constituyen un sistema Multiagentes, es decir existe más de un
agente dedicado a satisfacer los requerimientos de sus usuarios. Además, deben poseer
un alto grado de autonomía para actuar interactuando con sus pares.

Los agentes colaborativos se pueden utilizar para la solución de algunos problemas:

 Para resolver problemas que son muy grandes para un agente centralizado.
 Para permitir la interconexión e interoperabilidad de sistemas de IA existentes como
sistemas expertos, sistemas de soporte de decisión etc.
 Solucionar problemas que son inherentemente distribuidos.
 Proporcionar soluciones que simulen recursos de información distribuidos.
 Incrementar la modularidad, velocidad, confiabilidad, flexibilidad y reutilización en
sistemas de información.
Agentes Móviles: Son procesos capaces de “viajar” por una red de computadoras, interactuando
con hosts externos, recolectando información en nombre de su dueño y retornando a “casa”
luego de completar las tareas establecidas.

Agentes De Recuperación De Información: Poseen métodos para permitir el rápido acceso y


recuperación de información relevante. Tienen la tarea de administrar, manipular y juntar
información de fuentes distribuidas. El objetivo principal de los agentes dedicados
específicamente a la recuperación de información es obtener información por el usuario.

Agente Hibrido: Está formado por una parte reactiva y otra deliberativa, estructuradas en capas
con diferentes niveles de abstracción.

Agentes De Búsquedas: Es un software de búsqueda y recuperación de información en la Web


que realiza una búsqueda integrada en diferentes motores de búsqueda y que incorpora un
sistema de inteligencia artificial que le permite adaptarse a las preferencias y gustos del usuario
y a su entorno.

Agentes Reactivos: Representan una categoría especial de agentes que no poseen modelos
simbólicos de su entorno; en su lugar actúan y responden a los estímulos que presenta el estado
actual del entorno en el que están embebidos.

HISTORIA
1936 - Alan Turing. Fue el primero en estudiar el cerebro como una forma de ver
el mundo de la computación. Sin embargo, los primeros teóricos que concibieron
los fundamentos de la computación neuronal fueron Warren McCulloch, un
neurofisiólogo, y Walter Pitts, un matemático, quienes, en 1943, lanzaron una
teoría acerca de la forma de trabajar de las neuronas (Un Cálculo Lógico de la
Inminente Idea de la Actividad Nerviosa - Boletín de Matemática Biofísica). Ellos
modelaron una red neuronal simple mediante circuitos eléctricos.

1949 - Donald Hebb. Fue el primero en explicar los procesos del aprendizaje
(que es el elemento básico de la inteligencia humana) desde un punto de vista
psicológico, desarrollando una regla de como el aprendizaje ocurría. Aun hoy,
este es el fundamento de la mayoría de las funciones de aprendizaje que pueden
hallarse en una red neuronal. Su idea fue que el aprendizaje ocurría cuando
ciertos cambios en una neurona eran activados. También intentó encontrar
semejanzas entre el aprendizaje y la actividad nerviosa. Los trabajos de Hebb
formaron las bases de la Teoría de las Redes Neuronales.

1950 - Karl Lashley. En sus series de ensayos, encontró que la información no


era almacenada en forma centralizada en el cerebro, sino que era distribuida
encima de él.
1956 - Congreso de Dartmouth. Este Congreso frecuentemente se menciona
para indicar el nacimiento de la inteligencia artificial.

1957 - Frank Rosenblatt. Comenzó el desarrollo del Perceptron. Esta es la red


neuronal más antigua; utilizándose hoy en día para aplicación como identificador
de patrones. Este modelo era capaz de generalizar, es decir, después de haber
aprendido una serie de patrones podía reconocer otros similares, aunque no se
le hubiesen presentado en el entrenamiento. Sin embargo, tenía una serie de
limitaciones, por ejemplo, su incapacidad para resolver el problema de la función
OR-exclusiva y, en general, era incapaz de clasificar clases no separables
linealmente.

1959 - Frank Rosenblatt: Principios de Neurodinámica. En este libro confirmó


que, bajo ciertas condiciones, el aprendizaje del Perceptron convergía hacia un
estado finito (Teorema de Convergencia del Perceptron).

1960 - Bernard Widroff/Marcian Hoff. Desarrollaron el modelo Adaline


(ADAptative LINear Elements). Esta fue la primera red neuronal aplicada a un
problema real (filtros adaptativos para eliminar ecos en las líneas telefónicas)
que se ha utilizado comercialmente durante varias décadas.

1961 - Karl Steinbeck: Die Lernmatrix. Red neuronal para simples realizaciones
técnicas (memoria asociativa).

1969 - Marvin Minsky/Seymour Papert. En este año casi se produjo la “muerte


abrupta” de las Redes Neuronales; ya que Minsky y Papert probaron
(matemáticamente) que el Perceptrons no era capaz de resolver problemas
relativamente fáciles, tales como el aprendizaje de una función no-lineal. Esto
demostró que el Perceptron era muy débil, dado que las funciones no-lineales
son extensamente empleadas en computación y en los problemas del mundo
real.

1974 - Paul Werbos. Desarrolló la idea básica del algoritmo de aprendizaje de


propagación hacia atrás (backpropagation); cuyo significado quedó
definitivamente aclarado en 1985.
1977 - Stephen Grossberg: Teoría de Resonancia Adaptada (TRA). La Teoría de
Resonancia Adaptada es una arquitectura de red que se diferencia de todas las
demás previamente inventadas. La misma simula otras habilidades del cerebro:
memoria a largo y corto plazo.

1985 - John Hopfield. Provocó el renacimiento de las redes neuronales con su


libro: “Computación neuronal de decisiones en problemas de optimización.”

1986 - David Rumelhart/G. Hinton. Redescubrieron el algoritmo de aprendizaje


de propagación hacia atrás (backpropagation).

A partir de 1986, el panorama fue alentador con respecto a las investigaciones y


el desarrollo de las redes neuronales. En la actualidad, son numerosos los
trabajos que se realizan y publican cada año, las aplicaciones nuevas que surgen
(sobre todo en el área de control) y las empresas que lanzan al mercado
productos nuevos, tanto hardware como software (sobre todo para simulación).

DEFINICIÓN DE REDES NEURONALES

Una red neuronal es un procesador distribuido en paralelo de forma masiva con


una propensión natural a almacenar conocimiento experimental y convertirlo en
disponible para su uso. Asemeja al cerebro en dos aspectos:

 El conocimiento se adquiere por la red mediante un proceso de


aprendizaje.
 Las fuerzas de conexión interneuronal, conocidas como ponderaciones
sinápticas, se utilizan para almacenar el conocimiento.

VENTAJAS DE UNA RED NEURONAL

Aprendizaje Adaptativo: Capacidad de aprender a realizar tareas basadas en


un entrenamiento o en una experiencia inicial.

Auto-organización: Una red neuronal puede crear su propia organización o


representación de la información que recibe mediante una etapa de aprendizaje.

Tolerancia a fallos: La destrucción parcial de una red conduce a una


degradación de su estructura; sin embargo, algunas capacidades de la red se
pueden retener, incluso sufriendo un gran daño.
Operación en tiempo real: Los cómputos neuronales pueden ser realizados en
paralelo; para esto se diseñan y fabrican máquinas con hardware especial para
obtener esta capacidad.

Fácil inserción dentro de la tecnología existente: Se pueden obtener chips


especializados para redes neuronales que mejoran su capacidad en ciertas
tareas. Ello facilitará la integración modular en los sistemas existentes.

DESVENTAJAS DE UNA RED NEURONAL

Complejidad de aprendizaje para grandes tareas, cuantas más cosas se


necesiten que aprenda una red, más complicado será enseñarle.

Tiempo de aprendizaje elevado, esto depende de dos factores: primero si se


incrementa la cantidad de patrones a identificar o clasificar y segundo si se
requiere mayor flexibilidad o capacidad de adaptación de la red neuronal para
reconocer patrones que sean sumamente parecidos, se deberá invertir más
tiempo en lograr que la red converja a valores de pesos que representen lo que
se quiera enseñar.

No permite interpretar lo que se ha aprendido, la red por si sola proporciona


una salida, un número, que no puede ser interpretado por ella misma, sino que
se requiere de la intervención del programador y de la aplicación en si para
encontrarle un significado a la salida proporcionada.

Elevada cantidad de datos para el entrenamiento, cuanto más flexible se


requiera que sea la red neuronal, más información tendrá que enseñarle para
que realice de forma adecuada la identificación.
NIVELES O CAPAS DE UNA RED NEURONAL
La distribución de neuronas dentro de la red se realiza formando niveles o capas,
con un número determinado de dichas neuronas en cada una de ellas. A partir
de su situación dentro de la red, se pueden distinguir tres tipos de capas:
De entrada: es la capa que recibe directamente la información proveniente de
las fuentes externas de la red.
Ocultas: son internas a la red y no tienen contacto directo con el entorno exterior.
El número de niveles ocultos puede estar entre cero y un número elevado. Las
neuronas de las capas ocultas pueden estar interconectadas de distintas
maneras, lo que determina, junto con su número, las distintas topologías de
redes neuronales.
De salidas: transfieren información de la red hacia el exterior.
MECANISMOS DE APRENDIZAJE

Se ha visto que los datos de entrada se procesan a través de la red neuronal


con el propósito de lograr una salida.

Una red neuronal debe aprender a calcular la salida correcta para cada
constelación (arreglo o vector) de entrada en el conjunto de ejemplos. Este
proceso de aprendizaje se denomina: proceso de entrenamiento o
acondicionamiento. El conjunto de datos (o conjunto de ejemplos) sobre el cual
este proceso se basa es, por ende, llamado: conjunto de datos de
entrenamiento.

Si la topología de la red y las diferentes funciones de cada neurona (entrada,


activación y salida) no pueden cambiar durante el aprendizaje, mientras que los
pesos sobre cada una de las conexiones si pueden hacerlo; el aprendizaje de
una red neuronal significa: adaptación de los pesos.

Un aspecto importante respecto al aprendizaje de las redes neuronales es el


conocer cómo se modifican los valores de los pesos, es decir, cuáles son los
criterios que se siguen para cambiar el valor asignado a las conexiones cuando
se pretende que la red aprenda una nueva información. Hay dos métodos de
aprendizaje importantes que pueden distinguirse:

Aprendizaje supervisado: es una técnica para deducir una función a partir de


datos de entrenamiento. Los datos de entrenamiento consisten de pares de
objetos (normalmente vectores): una componente del par son los datos de
entrada y el otro, los resultados deseados.

En este tipo de aprendizaje se suelen considerar, a su vez, tres formas de


llevarlo a cabo, que dan lugar a los siguientes aprendizajes supervisados:

Aprendizaje por corrección de error. Consiste en ajustar los pesos de las


conexiones de la red en función de la diferencia entre los valores deseados y los
obtenidos a la salida de la red, es decir, en función del error cometido en la salida.
Aprendizaje por refuerzo. Se trata de un aprendizaje supervisado, más lento
que el anterior, que se basa en la idea de no disponer de un ejemplo completo
del comportamiento deseado, es decir, de no indicar durante el entrenamiento
exactamente la salida que se desea que proporcione la red ante una determinada
entrada.

Aprendizaje estocástico. Consiste básicamente en realizar cambios aleatorios


en los valores de los pesos de las conexiones de la red y evaluar su efecto a
partir del objetivo deseado y de distribuciones de probabilidad.

Aprendizaje no supervisado: es un método de Aprendizaje Automático donde


un modelo es ajustado a las observaciones. Se distingue del Aprendizaje
supervisado por el hecho de que no hay un conocimiento a priori. En el
aprendizaje no supervisado, un conjunto de datos de objetos de entrada es
tratado.
En cuanto a los algoritmos de aprendizaje no supervisado, en general se suelen
considerar dos tipos, que dan lugar a los siguientes aprendizajes:

Aprendizaje hebbiano. Esta regla de aprendizaje es la base de muchas otras,


la cual pretende medir la familiaridad o extraer características de los datos de
entrada. Las entradas y salidas permitidas a la neurona son: {-1, 1} o {0, 1}
(neuronas binarias). Esto puede explicarse porque la regla de aprendizaje de
Hebb se originó a partir de la neurona biológica clásica, que solamente puede
tener dos estados: activa o inactiva.

Aprendizaje competitivo y comparativo. Se orienta a la clusterización o


clasificación de los datos de entrada. Como característica principal del
aprendizaje competitivo se puede decir que, si un patrón nuevo se determina que
pertenece a una clase reconocida previamente, entonces la inclusión de este
nuevo patrón a esta clase matizará la representación de la misma. Si el patrón
de entrada se determinó que no pertenece a ninguna de las clases reconocidas
anteriormente, entonces la estructura y los pesos de la red neuronal serán
ajustados para reconocer la nueva clase.
TOPOLOGÍA DE LAS REDES NEURONALES
Según el número de capas
Redes monocapa: En las redes monocapa, se establecen conexiones entre las
neuronas que pertenecen a la única capa que constituye la red. Las redes
monocapas se utilizan generalmente en tareas relacionadas con lo que se
conoce como auto asociación (regenerar información de entrada que se presenta
a la red de forma incompleta o distorsionada).

Las redes multicapas: Es una generalización de la anterior, existiendo un


conjunto de capas intermedias entre la capa de entrada y la de salida (capas
ocultas). Este tipo de red puede estar total o parcialmente conectada.

Según el tipo de conexiones


Redes neuronales no recurrentes: En esta red la propagación de las señales
se produce en un sentido solamente no existiendo la posibilidad de
realimentaciones. Lógicamente estas estructuras no tienen memoria.
Redes neuronales recurrentes: Esta red viene caracterizada por la existencia
de lazos de realimentación. Estos lazos pueden ser entre neuronas de diferentes
capas, neuronas de la misma capa o más sencillamente, entre una misma
neurona.

Según el grado de conexión


Redes neuronales totalmente conectadas: En este caso todas las neuronas
de una capa se encuentran conectadas con las de las de la capa siguiente (redes
no recurrentes) o con las del anterior (redes recurrentes).
Redes neuronales parcialmente conectadas: En este caso no se da la
conexión total entre neuronas de diferentes capas.

APLICACIONES DE LAS REDES NEURONALES

Las redes neuronales pueden utilizarse en un gran número y variedad de


aplicaciones, tanto comerciales como militares. Se pueden desarrollar redes
neuronales en un periodo de tiempo razonable, con la capacidad de realizar
tareas concretas mejor que otras tecnologías.

Cuando se implementan mediante hardware (redes neuronales en chips VLSI),


presentan una alta tolerancia a fallos del sistema y proporcionan un alto grado
de paralelismo en el procesamiento de datos. Esto posibilita la inserción de redes
neuronales de bajo coste en sistemas existentes y recientemente desarrollados.

Automóviles. Sistemas de Piloto automático. Detección de fallas por


reconocimiento externo de vibraciones.

Bancos. Lectura de cheques y otros documentos. Evaluación de aplicaciones


de créditos.

Electrónica. Predicción de secuencia de códigos. Distribución de elementos en


Circuitos Integrados. Control de Procesos. Análisis de fallas. Visión Artificial.
Reconocimiento de Voz. Modelamiento no-lineal.

Finanzas. Tasación real de los bienes. Asesoría de préstamos. Previsión en la


evolución de precios. Seguimiento de hipotecas. Análisis de uso de Línea de
Crédito. Evaluación del riesgo en créditos. Identificación de falsificaciones.
Interpretación y reconocimiento de firmas.

Manufactura. Control de la producción y del proceso. Análisis y diseño de


productos. Diagnóstico de fallas en el proceso y maquinarias. Identificación de
partículas en tiempo real. Inspección de calidad mediante sistemas visuales.
Predicción de calidad del 9 papel. Análisis de mantenimiento de máquinas.
Modelamiento dinámico de procesos químicos.
Robótica. Control dinámico de trayectoria. Robots elevadores. Controladores.
Sistemas ópticos.

Seguridad. Códigos de seguridad adaptivos. Criptografía. Reconocimiento de


huellas digitales.

Telecomunicaciones. Compresión de datos e imágenes. Automatización de


servicios de información. Traslación en tiempo real de lenguaje hablado.

Transporte. Diagnóstico de frenos en camiones. Sistemas de ruteo y


seguimiento de flotas.

Voz. Reconocimiento de voz. Compresión de voz. Clasificación de vocales.


Transformación de texto escrito a voz.

You might also like