Darpa (1988), define una red
neuronal como un sistema compuesto de muchos elementos simples de procesamiento
los cuales operan en paralelo y cuya función es determinada por la estructura
de la red, el peso de las conexiones; realizándose el procesamiento en cada uno
de los nodos o elementos de computo.
Según Haykin (1994), una red neuronal es un procesador paralelo masivamente distribuido que tiene una facilidad natural para el almacenamiento de conocimiento obtenido de la experiencia para luego hacerlo utilizable. Se parece al cerebro en dos aspectos:
1. El conocimiento es obtenido por la red a través de un proceso de aprendizaje.
2. Las conexiones interneuronales conocidas como pesos sinápticos son utilizadas para almacenar dicho conocimiento.
Kohonen (1998) las define como redes de elementos simples (usualmente adaptativos) masivamente interconectados en paralelo 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.
En síntesis se puede considerar que una Red Neuronal Artificial es un sistema de procesamiento de información que tiene ciertas características de comportamiento en común con las redes neuronales biológicas. Las redes neuronales artificiales han sido desarrolladas como generalizaciones de modelos matemáticos del conocimiento humano o de la biología neuronal, con base en los siguientes considerandos:
1. El procesamiento de información se realiza en muchos elementos simples llamados neuronas.
2. Las señales son pasadas entre neuronas a través de enlaces de conexión
3. Cada enlace de conexión tiene un peso asociado, el cual, en una red neuronal típica, multiplica la señal transmitida.
4. Cada neurona aplica una función de activación (usualmente no lineal) a las entradas de la red (suma de las señales de entrada pesadas) para determinar su señal de salida.
Las RNAs han sido aplicadas en un
gran número de problemas reales de complejidad considerable. Su más importante
ventaja es la de resolver problemas que son muy complejos para tecnologías
convencionales, problemas que no tienen una solución determinística o para los
cuales una solución determinística es muy complicado encontrarla. En general,
por ser una abstracción del cerebro biológico, las RNA son buenas para resolver
aquellos problemas que las personas resuelven adecuadamente, pero que los
computadores no. Estos problemas, entre otros, incluyen reconocimiento de
patrones y problemas de pronóstico (los cuales requieren el reconocimiento de
una tendencia en unos datos).
Ventajas
que ofrecen las red neuronal.
Debido a su constitución y a
sus fundamentos, las redes neuronales artificiales presentan un gran número de
características semejantes a las del cerebro. Por ejemplo, son capaces de
aprender de la experiencia, de generalizar de casos anteriores a nuevos casos,
de abstraer características esenciales a partir de entradas que representan
información irrelevante, etc. Esto hace que ofrezcan numerosas ventajas y que
este tipo de tecnología se esté aplicando en múltiples áreas. Entre las
ventajas se incluyen:
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.
Aprendizaje
adaptativo.
La capacidad de aprendizaje
adaptativo es una de las características más atractivas de redes neuronales.
Esto es, aprenden a llevar a cabo ciertas tareas mediante un entrenamiento con
ejemplos ilustrativos.
Como las redes neuronales
pueden aprender a diferenciar patrones mediante ejemplos y entrenamientos, no
es necesario elaborar modelos a priori ni necesidad de especificar funciones de
distribución de probabilidad.
Las redes neuronales son
sistemas dinámicos autoadaptativos. Son adaptables debido a la capacidad de autoajuste de los elementos
procesales (neuronas) que componen el sistema. Son dinámicos, pues son capaces
de estar constantemente cambiando para adaptarse a las nuevas condiciones.
En el proceso de
aprendizaje, los enlaces ponderados de las neuronas se ajustan de manera que se
obtengan ciertos resultados específicos. Una red neuronal no necesita un
algoritmo para resolver un problema, ya que ella puede generar su propia
distribución de pesos en los enlaces
mediante el aprendizaje. También existen redes que continúan aprendiendo a lo
largo de su vida, después de completado su período de entrenamiento.
La función del diseñador es
únicamente la obtención de la arquitectura apropiada. No es problema del
diseñador el cómo la red aprenderá a discriminar. Sin embargo, sí es necesario
que desarrolle un buen algoritmo de aprendizaje que le proporcione a la red la
capacidad de discriminar, mediante un entrenamiento con patrones.
Auto-organización.
Las redes neuronales emplean
su capacidad de aprendizaje adaptativo para autoorganizar la información que
reciben durante el aprendizaje y/o la operación.
Mientras que el aprendizaje
es la modificación de cada elemento procesal, la autoorganización consiste en
la modificación de la red neuronal completa para llevar a cabo un objetivo
específico.
Cuando las redes neuronales
se usan para reconocer ciertas clases de patrones, ellas autoorganizan la
información usada. Por ejemplo, la red llamada backpropagation, creará su
propia representación característica, mediante la cual puede reconocer ciertos
patrones.
Esta autoorganización
provoca la generalización: facultad de las redes neuronales de responder
apropiadamente cuando se les presentan datos o situaciones a las que no había
sido expuesta anteriormente. El sistema puede generalizar la entrada para
obtener una respuesta. Esta característica es muy importante cuando se tiene
que solucionar problemas en los cuales la información de entrada no es muy
clara; además permite que el sistema dé una solución, incluso cuando la
información de entrada está especificada de forma incompleta.
Tolerancia
a fallos.
Las redes neuronales fueron
los primeros métodos computacionales con la capacidad inherente de tolerancia a
fallos. Comparados con los sistemas 10computacionales tradicionales, los cuales
pierden su funcionalidad cuando sufren un pequeño error de memoria, en las
redes neuronales, si se produce un fallo en un número no muy grande de neuronas
y aunque el comportamiento del sistema se ve influenciado, no sufre una caída
repentina.
Hay dos aspectos distintos
respecto a la tolerancia a fallos:
a) Las redes pueden aprender
a reconocer patrones con ruido, distorsionados o
incompletos. Esta es una tolerancia a fallos respecto a
los datos.
b) Las
redes pueden seguir realizando su función (con cierta degradación)
aunque se destruya parte de
la red.
La razón por la que las redes neuronales son
tolerantes a los fallos es que tienen su información distribuida en las
conexiones entre neuronas, existiendo cierto grado de redundancia en este tipo
de almacenamiento. La mayoría de los ordenadores algorítmicos y sistemas de
recuperación de datos almacenan cada pieza de infor rmación en un espacio
único, localizado y direccionable. En cambio, las redes neuronales almacenan
información no localizada. Por lo tanto, la mayoría de las interconexiones
entre los nodos de la red tendrán sus valores en función de los estímulos
recibidos, y se generará un patrón de
salida que represente la información almacenada.
Operación
en tiempo real.
Una de las mayores
prioridades, casi en la totalidad de las áreas de aplicación, es la necesidad
de realizar procesos con datos de forma muy rápida. Las redes neuronales se
adaptan bien a esto debido a su
implementación paralela. Para que la mayoría de las redes puedan operar en un
entorno de tiempo real, la necesidad de cambio en los pesos de las conexiones o
entrenamiento es mínimo.
Fácil
inserción dentro de la tecnología existente.
Una red individual puede ser
entrenada para desarrollar una única y bien definida tarea (tareas complejas,
que hagan múltiples selecciones de patrones, requerirán sistemas de redes
interconectadas). Con las herramientas computacionales existentes
(no del tipo
PC), una red
puede ser rápidamente
entrenada, comprobada, verificada
y trasladada a una implementación hardware
de bajo coste.
Por lo tanto,
no se presentan
dificultades para la
inserción de redes
neuronales en aplicaciones
específicas, por ejemplo
de control, dentro
de los sistemas
existentes. De esta
manera, las redes
neuronales se pueden
utilizar para mejorar
sistemas en forma
incremental y cada
paso puede ser
evaluado antes de
acometer un desarrollo
más amplio.
No hay comentarios:
Publicar un comentario