domingo, 25 de noviembre de 2012

Definición y Ventajas de las Redes Neuronales


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