lunes, 30 de septiembre de 2013

Redes Neuronales

Redes Neuronales

Para empezar a hablar acerca de redes neuronales, primero debemos tener en cuenta dos conceptos, cual es la definición de una red neuronal y cuales son los tipos de redes neuronales que hasta hoy conocemos.
Comencemos por citar algunas definiciones:
Estudio de Redes Neuronales de DARPA (1988, AFCEAInternational Press, p. 60):

"Una red neuronal es un sistema compuesto de muchos elementos procesadores simples operando en paralelo, cuya función es determinada por la estructura de la red, fuerza en las conexiones y el procesamiento realizado por los elementos computacionales en los nodos."

Dr. Haykin, S. (1994, Neural Networks: A comprehensive foundation, NY, McMillan, P.2):
"Una red neuronal es un procesamiento distribuido masivamente paralelo que tiene una tendencia natural para almacenar conocimiento empírico y hacerlo disponible para el uso.

Recuerda al cerebro en dos aspectos:
1.- El conocimiento se adquiere por la red a través de un proceso de aprendizaje.
2.- Las conexiones interneurónicas se conocen como pasos sinápticos y se usan para almacenar el conocimiento."
Ya teniendo una breve percepción de lo que es una red neuronal debemos ahora saber que existen dos tipos de redes neuronales, las redes neuronales biológicas y las redes neuronales artificiales ANN (Artificial Neural Network).

REDES NEURONALES BIOLÓGICAS.

Son el principal elemento del Sistema Nervioso. Las redes neuronales biológicas están compuestas por un gran número de elementos llamados neuronas. Una neurona es una célula compuesta por cuerpo, un número de extensiones llamadas dendritas, que sirven de entradas, y una larga extensión llamada axón que actúa como salida. La sinapsis conecta el axón de una neurona a las dendritas de las otras neuronas. Las neuronas están dispuestas en capas. En general las neuronas de una capa reciben entradas desde otra capa y envían sus salidas a neuronas de una tercera. Dependiendo de la aplicación también es posible que las neuronas de una capa reciban entradas y provean salidas a neuronas de la misma capa.
Las conexiones entre neuronas tienen pesos asociados que representan la influencia de una sobre la otra. Si dos neuronas no están conectadas, el correspondiente peso de enlace es cero. Esencialmente, cada una envía su información de estado multiplicado por el correspondiente peso a todas las neuronas conectadas con ella. Luego cada una, a su vez, suma los valores recibidos desde sus dendritas para actualizar sus estados respectivos.
Se emplea normalmente un conjunto de ejemplos representativos de la transformación deseada para "entrenar" el sistema, que, a su vez, se adapta para producir las salidas deseadas cuando se lo evalúa con las entradas "aprendidas".
Además se producirán respuestas cuando, en la utilización, se presenten entradas totalmente nuevas para sistema, esto es durante el modo entrenamiento la información sobre el sistema a resolver es almacenada dentro del ANN y la red utiliza su modo productivo en ejecutar transformaciones y aprender. De este modo el sistema de red neuronal no reside necesariamente en la elegancia de la solución particular sino en su generalidad de hallar solución a problemas particulares, habiéndose proporcionado ejemplos del comportamiento deseado. Esto permite la evolución de los sistemas autómatas sin una reprogramación explícita.
Las redes neuronales artificiales se basan en el circuito de procesamiento de entradas en el cual los pesos son sumados. Las funciones de peso serán llamadas desde ahora como atenuadores. En la implementación, las entradas a una neurona son pesadas multiplicando el valor de la entrada por un factor que es menor o igual a uno. El valor de los factores de peso es determinado por el algoritmo de aprendizaje.
Las entradas atenuadas son sumadas usando una función no lineal llamada Función "Sigmoid". Si la salida de la función suma excede el valor de entrada máximo de la neurona, esta responde generando una salida.

REDES NEURONALES ARTIFICIALES.

Las redes neuronales artificiales (ANN) imitan su funcionamiento a aquellas que se encuentran en el ámbito biológico. Son aptas para resolver problemas que no poseen un algoritmo claramente definido para transformar una entrada en una salida; aprenden, reconocen y aplican relaciones entre objetos.
Se emplea normalmente un conjunto de ejemplos representativos de la transformación deseada para "entrenar" el sistema, que, a su vez, se adapta para producir las salidas deseadas cuando se lo evalúa con las entradas "aprendidas".
Además se producirán respuestas cuando, en la utilización, se presenten entradas totalmente nuevas para sistema, esto es durante el modo entrenamiento la información sobre el sistema a resolver es almacenada dentro del ANN y la red utiliza su modo productivo en ejecutar transformaciones y aprender. De este modo el sistema de red neuronal no reside necesariamente en la elegancia de la solución particular sino en su generalidad de hallar solución a problemas particulares, habiéndose proporcionado ejemplos del comportamiento deseado. Esto permite la evolución de los sistemas autómatas sin una reprogramación explícita.
Las redes neuronales artificiales se basan en el circuito de procesamiento de entradas en el cual los pesos son sumados. Las funciones de peso serán llamadas desde ahora como atenuadores. En la implementación, las entradas a una neurona son pesadas multiplicando el valor de la entrada por un factor que es menor o igual a uno. El valor de los factores de peso es determinado por el algoritmo de aprendizaje.
Las entradas atenuadas son sumadas usando una función no lineal llamada Función "Sigmoid". Si la salida de la función suma excede el valor de entrada máximo de la neurona, esta responde generando una salida.
En la figura podemos ver un modelo en capas de una red neuronal artificial, que consiste de un conjunto de neuronas.
Cada neurona tiene varias entradas y su salida esta conectada a un conjunto de otros procesadores de entradas.
Cuando una ANN funciona en modo normal, a partir de los datos presentados en la entrada, se genera un patrón específico de salida. La relación Entrada/Salida será determinada durante el modo entrenamiento, entonces cuando una entrada conocida es presentada da la salida esperada.
El algoritmo de entrenamiento ajusta los pesos de las entradas hasta que se alcanza la salida esperada.
Las neuronas en la figura tienen una leve complejidad computacional, porque solo se comunican con las neuronas más cercanas conectándose de forma simple. Por las características y capacidades que ofrece la tecnología VLSI es posible (en costos) construir una Red Neuronal con muchos procesadores.


No hay comentarios:

Publicar un comentario