Академический Документы
Профессиональный Документы
Культура Документы
La Inteligencia artificial (IA) surge así como una disciplina cuyo objetivo es proveer
técnicas para el desarrollo de programas capaces de simular la inteligencia que utilizan
los humanos para solucionar problemas en una gran cantidad de dominios, por lo que la
IA provee un conjunto de formalismos que pueden representar los problemas, las
herramientas y técnicas para resolverlos. Según diversos autores, las actividades
esenciales asociadas con la inteligencia son:
Responder de manera flexible a una gran variedad de situaciones
Dar sentido a los mensajes contradictorios y/o ambiguos.
Reconocer la importancia relativa de los diferentes elementos d ela situación problemática
planteada.
Encontrar similitudes entre situaciones, sin importar las diferencias que las separan.
Encontrar las diferencias entre situaciones, sin importar lo similares que puedan parecer.
Por su amplio contenido es difícil definir a la Inteligencia Artificial (IA), pero resulta de
interés para este trabajo arribar a un concepto esclarecedor, por lo que se expondrán
diferentes posiciones acerca de la IA.
Si bien existen muchas definiciones de Inteligencia Artificial (IA) en las que cada autor la
presenta de una manera ligeramente diferente, aquí se resumirían las más
representativas, agrupadas como lo propone Stuart (1995) en dos categorías:
Las que conciernen a los procesos de pensamiento y razonamiento.
Las que conciernen al comportamiento.
En general estas definiciones miden el éxito de la implementación de herramientas de la
Inteligencia Artificial (IA) de dos maneras diferentes:
En términos de performance humana: es decir, capacidad de resolución de problemas,
capacidad de razonamiento abstracto, etc.
En términos de “racionalidad” a concepto ideal de inteligencia: Como establece
Stuart (1995) quien define a un sistema como racional “si hace lo correcto”, es decir, una
acción a la que llega por medio de procesos lógico mesurables.
ALGORITMOS GENÉTICOS:
Es un algoritmo ideado por Quinlan (1993), dentro de los métodos inductivos del
Aprendizaje Automático, que aprende a partir de ejemplos preclasificados y se utilizan
para modelar las clasificaciones en los datos mediante árboles de decisión. Estos
algoritmos han tenido gran impacto en la Minería de datos.
Para cada atributo, se consideran una prueba con n resultados, siendo n el número de
valores posibles que pueden tomar el atributo. Para cada atributo continuo, se realiza una
prueba binaria sobre cada uno de los valores que toma el atributo en los datos.
Existen dos ejemplos:
Positivos: fuerzan la generalización de las reglas generadas, que en casos extremos,
donde la población tiene una varianza muy baja a reglas que se adapten muy bien a las
muestras y muy mal a los ejemplos negativos.
Negativos: se utilizan para prevenir que la generalización sea excesiva. Se debe
encontrar la relación justa de ejemplos negativos y positivos para el entrenamiento del
algoritmo y la generación de cada una de las reglas.
Se pretende entonces que el conocimiento adquirido cubra todos los ejemplos positivos y
ningún ejemplo negativo, manteniendo que los ejemplos sean representativos de los
conceptos que se están tratando de enseñar. Además, la distribución de las clases en el
conjunto de ejemplos de entrenamiento, a partir de los que el sistema aprende, debe ser
similar a la distribución existente para los datos en los cuales se aplicará el sistema.
Son modelos que intentan reproducir el comportamiento del cerebro que constan de
dispositivos elementales de procesamiento denominados neuronas artificiales. Una
definición global podría ser: “una red neuronal artificial es procesador distribuido
masivamente paralelo, que tiene una predisposición natural a almacenar conocimiento
experimental y hacerlo disponible para su utilización”.
Otras definiciones válidas son, las que plantean ARPA en su Neural Network Study en
que una: “red neuronal artificial” es un sistema compuesto de muchos elementos simples
de procesamiento operando en paralelo y cuya función es determinada por la estructura
de la res, fuerza de las conexiones y el procesamiento llevado a cabo en los elementos
individuales o nodos”.
Por su parte Kohonen plantea que: “una red neuronal artificial es un conjunto de redes
interconectadas masivamente en paralelo de elementos simples, usualmente adaptivos y
con organización jerárquica, las cuales intentan interactuar con los objetos del mundo real
del mismo modo que lo hace el sistema nervioso biológico”.
Existen también otros estudiosos que han desarrollado definiciones similares, como
Haykin (1999) y Gurney (1995).
La neurona artificial pretende simular las características más importantes de las neuronas
biológicas. Cada una se caracteriza en un instante cualquiera por un estado de activación
que transforma el estado actual en una señal de salida. En los sistemas biológicos el
proceso de cambio de estado es un proceso asincrónico, mientas que en las neuronas
artificiales este proceso es sincrónico. Existen tres tipos de neuronas:
De entrada: son aquellas que reciben estímulos externos, relacionadas con el aparato
sensorial y cumplen la función de ingreso de información al sistema.
Ocultas: son aquellas que se encargan de procesar la información ingresada. Se genera
algún tipo de representación interna de la información y se la procesa.
De salida: una vez finalizado el periodo de procesado, la información llega a las unidades
de salida, cuya misión es dar la respuesta del sistema.
Esta visión representa al cerebro humano como una máquina, que ostenta ciertas
cualidades de procesamiento de la información que la ciencia intenta imitar.
APLICACIONES CON RNA:
Los campos de aplicación de las redes neuronales artificiales son variados y están
planteados en distintos trabajos de investigación, como el desarrollado Cinca y Galizo
Larraz. Una clasificación de los tipos de aplicaciones de las redes puede ser:
Para optimización: Determinan la solución de un problema tal que sea aceptable.
Generalmente, se aplican redes retroalimentadas como la de Hopfield (1994) y se utilizan
en campos como el manejo de niveles de tesorería, existencias, producción.
Para reconocimiento: En este caso se entrena a las redes para lograr detectar patrones
específicos, como pueden ser sonidos, números, letras, lenguaje humano escrito en
general y representar el resultado en código ASCII, UNICODE o cualquier otro.
Para generalización: Se entrena la red con casos reales y después se la utiliza para
evaluar casos futuros. Especialmente se la utiliza en la clasificación o predicción de un
elemento nuevo dentro de grupos existentes.
Diseño de una RNA
Modelo biológico
La neurona está formada por el cuerpo de la célula o soma, en donde se aloja el núcleo de
la célula. Del cuerpo de la célula salen ramificaciones de diversas fibras conocidas
como dendritas y sale también una fibra más larga denominada axón. Las dendritas se
ramifican tejiendo una tupida red alrededor de la célula, mientras el axón se extiende
generalmene un centímetro y en algunos casos hasta un metro. Este también se ramifica
en filamentos y subfilamentos mediante los que establece conexión con las dendritas y los
cuerpos de las células de otras neuronas. A esta conexión se la conoce con el nombre
de sinapsis. Cada neurona puede establecer conexión desde con una docena de neuronas
hasta con cientos de miles.
Las señales se propagan de una neurona a otra mediante una complicada reacción
electroquímica. Las sinapsis liberan sustancias químicas transmisoras y entran a la
dendrita, con lo cual se eleva el potencial eléctrico del cuerpo de la célula. Una vez que se
rebasa un cierto límite, se envía al axón un impulso eléctrico o potencial de acción. El
impulso se difunde a través de las ramas del axón llegando finalmente a las sinapsis y
liberando transmisores en los cuerpos de otras neuronas. Las sinapsis que aumentan el
potencial se conocen como excitadoras y las que lo disminuyen como inhibidoras. Una de
las características más importantes de las conexiones sinápticas es la plasticidad:
capacidad para alterar a largo plazo la intensidad de las conexiones como respuesta a un
patrón de simulación. Las neuronas establecen también conexiones con otras neuronas y
a veces con grupos de ellas capaces de migrar de un sitio a otro. Los mecanismos
anteriores constituyen el fundamento del aprendizaje en el cerebro.
Conviene, para aclarar ideas, establecer una similitud directa entre la actividad sináptica y
la actividad análoga en las redes neuronales artificiales: Las señales que llegan a la sinapsis
son las entradas a la neurona; éstas son ponderadas (atenuadas o simplificadas) a través
de un parámetro, denominado peso, asociado a la sinapsis correspondiente. Estas señales
de entrada pueden excitar a la neurona o inhibirla (peso negativo). El efecto es la suma de
las entradas ponderadas. Si la suma es igual o mayor que el umbral de la neurona, entonces
esta se activa.
Elementos de una red neuronal artificial
Las redes neuronales artificiales (RNA) son modelos que intentan reproducir el
comportamiento del cerebro.
Una RNA está constituida por nodos, o unidades, que están unidas mediante conexiones.
Algunas de las unidades están conectadas al ambiente externo y se designan como
unidades de entrada o de salida según reciban estímulos externos o den la respuesta del
sistema, respectivamente. Hay otras unidades (neuronas) que simplemente están
conectadas a otras neuronas del sistema y que al no tener relación directa con la
información de entrada ni con la de salida del sistema, se denominan como unidades
ocultas.Se conoce como capa o nivel a un conjunto de neuronas cuyas entradas provienen
de la misma fuente ( que puede ser otra capa de neuronas) y cuyas salidas se dirigen al
mismo destino (que puede ser otra capa de neuronas).
A cada conexión se le asigna un peso numérico, wji. Este constituye el principal recurso
de memoria de largo plazo, y el aprendizaje usualmente se realiza con la actualización de
tales pesos.
yj(t+1) = f(Netj)
La entrada calculada Netj se define como la suma ponderada de las salidas yn de las
neuronas conectadas a la entrada y los pesos wn asociados a cada sinapsis.
yj = fj(aj(t))
En algunos modelos, esta salida es igual al nivel de activación de la unidad, en cuyo caso
la función fj es la función identidad.
fj(aj(t)) = aj(t)
Existen tres funciones de transferencia típicas que determinan distintos tipos de neuronas:
Función escalón : se utiliza cuando las salidas de la red son binarias. La salida de
una neurona se activa sólo cuando el estado de activación es mayor o igual que
cierto valor umbral t que representa la mínima entrada total ponderada necesaria
para provocar la activación de la neurona.
Función lineal : responde a las expresión f(x) = x. Se define un límite inferior -t y
otro superior, t. Si la suma de las señales de entrada es menor que que -t, la
activación se define como 0 o -1. Si la suma es mayor que t, la activación es 1. Para
valores de entrada situada entre ambos límites, la activación se define como una
función lineal de la suma de las señales de entrada.
Función sigmoidal : es la más apropiada cuando se quiere como salida
información analógica. Con esta función, para la mayoría de los valores del estímulo
de entrada (variable independiente), el valor dado por la función es cercano a uno
de los valores asintóticos. La importancia de esta función es que su derivada es
siempre positiva y cercana a cero para los valores grandes positivos o negativos;
además toma su valor máximo cuando x es 0. Esto hace que se puedan utilizar las
reglas de aprendizaje en las cuales se usan derivadas. La expresión de esta función
responde a la forma
Para no tener que estar ajustando límites y sólo ajustar pesos, lo que facilita el aprendizaje,
resulta adecuado considerar la existencia de una neurona ficticia conectada a la entrada de
cada neurona, con valor de salida unidad, yo = -1, y peso de la conexión woj = t.
La actualización de los estados de las unidades (evolución de la red neuronal) puede ser
de dos tipos: modo asíncrono y síncrono. En el primer caso, las neuronas evalúan su estado
continuamente, según les va llegando información y de forma independiente. En el caso
síncrono, los cambios se realizan simultáneamente aunque la información también llega de
forma contínua. Lo importante de todo esto es que en cada una de las unidades se efectúa
un cálculo local con base en las entradas que le proporcionan sus vecinas, pero sin que
sea necesario un control global en todo el conjunto de unidades. En la práctica, la mayoría
de las implantaciones de RNAs son realizadas en software utilizando el control síncrono
para la actualización de las unidades.
La conectividad entre los nodos de una red está relacionada con la forma en que las salidas
de las neuronas están canalizadas para convertirse en entradas de otras neuronas. La
señal de salida de un nodo puede ser la entrada de otra neurona o incluso de sí mismo
(conexión autorrecurrente).
Cuando ninguna salida de las neuronas es entrada de neuronas del mismo nivel o de
niveles precedentes sino que están conectadas a neuronas del siguiente nivel, hablamos
de red de propagación hacia adelante, o de prealimentación o de alimentación
progresiva. La estructura es la de un grafo dirigido aciclico (GAD). Lo interesante de que no
haya ciclos es que permite realizar el cálculo uniformemente, desde las unidades de entrada
hasta las unidades de salida
Las redes neuronales artificiales (RNA) tienen muchas ventajas debido a que están
basadas en la estructura del sistema nervioso, principalmente el cerebro.
Aprendizaje: Las RNA tienen la habilidad de aprender mediante una etapa que se llama
etapa de aprendizaje. Esta consiste en proporcionar a la RNA datos como entrada a su vez
que se le indica cuál es la salida (respuesta) esperada.
Auto organización: Una RNA crea su propia representación de la información en su
interior, descargando al usuario de esto.
Tolerancia a fallos: Debido a que una RNA almacena la información de forma redundante,
ésta puede seguir respondiendo de manera aceptable aun si se daña parcialmente.
Flexibilidad: Una RNA puede manejar cambios no importantes en la información de
entrada, como señales con ruido u otros cambios en la entrada (ej. si la información de
entrada es la imagen de un objeto, la respuesta correspondiente no sufre cambios si la
imagen cambia un poco su brillo o el objeto cambia ligeramente)
Tiempo real: La estructura de una RNA es paralela, por lo cuál si esto es implementado
con computadoras o en dispositivos electrónicos especiales, se pueden obtener respuestas
en tiempo real.
Hay muchas buenas razones para el uso de redes neuronales y los avances en este campo
incrementarán su popularidad. Son excelentes como clasificadores/reconocedores de
patrones – y pueden ser usadas donde las técnicas tradicionales no funcionan. Las redes
neuronales pueden manejar excepciones y entradas de datos anormales, muy importante
para sistemas que manejan un amplio rango de datos (sistemas de radar y sonar, por
ejemplo). Muchas redes neuronales son biológicamente plausibles, lo que significa que
pueden proveer pistas de como trabaja el cerebro según progresen. Avances en la
neurociencia también ayudarán al avance en las redes neuronales y hasta el punto en que
sean capaces de clasificar objetos con la precisión de un humano y la velocidad de una
computadora! El futuro es brillante.
REDES NO RECURRENTES