Redes Neuronales



Las redes neuronales como su nombre lo indica pretenden imitar a pequeñísima escala la forma de funcionamiento de las neuronas que forman el cerebro humano. Todo el desarrollo de las redes neuronales tiene mucho que ver con la neurofisiología, no en vano se trata de imitar a una neurona humana con la mayor exactitud posible. Entre los pioneros en el modelado de neuronas se encuentra Warren McCulloch y Walter Pitts. Estos dos investigadores propusieron un modelo matemático de neurona. En este modelo cada neurona estaba dotada de un conjunto de entradas y salidas. Cada entrada está afectada por un peso. La activación de la neurona se calcula mediante la suma de los productos de cada entrada y la salida es una función de esta activación. La principal clave de este sistema se encuentra en los pesos de las diferentes entradas. Como se ha visto, las entradas son modificadas por el peso y las salidas son función de estas modificaciones. Esto nos lleva a concluir que los pesos influyen de forma decisiva en la salida y por lo tanto pueden ser utilizados para controlar la salida que se desea.

 

En realidad cuando se tienen interconectadas muchas de estas neuronas artificiales lo que se hace inicialmente es entrenar el sistema. El entrenamiento consiste en aplicar unas entradas determinadas a la red y observar la salida que produce. Si la salida que produce no se adecua a la que se esperaba, se ajustan los pesos de cada neurona para interactivamente ir obteniendo las respuestas adecuadas del sistema. A la red se le somete a varios ejemplos representativos , de forma que mediante la modificación de los pesos de cada neurona , la red va "aprendiendo".


LA NEURONA BIOLÓGICA

A finales del siglo XIX se logró una mayor claridad sobre el trabajo del cerebro debido a los trabajos de Ramón y Cajal en España y Sherrington en Inglaterra. El primero trabajó en la anatomía de las neuronas y el segundo en los puntos de conexión de las mismas o sinapsis. Se estima que en cada milímetro del cerebro hay cerca de 50.000 neuronas, conteniendo en total más de cien mil millones de neuronas y sinapsis en el sistema nervioso humano. La estructura de una neurona se muestra en la figura 1.

Figura1. La Neurona

El tamaño y la forma de las neuronas es variable, pero con las mismas subdivisiones que muestra la figura. Subdividiéndose así en tres partes:

 

1.el cuerpo de la neurona,

2.ramas de extensión llamadas dendritas para recibir las entradas, y

3.un axón que lleva la salida de la neurona a las dendritas de otras neuronas.

 

El cuerpo de la neurona o Soma contiene el núcleo. Se encarga de todas las actividades metabólicas de la neurona y recibe la información de otras neuronas vecinas a través de las conexiones sinápticas (algunas neuronas se comunican solo con las cercanas, mientras que otras se conectan con miles).

 

Las dendritas, parten del soma y tienen ramificaciones. Se encargan de la recepción de señales de las otras células a través de conexiones llamadas sinápticas. Si pensamos, desde ahora, en términos electrónicos podemos decir que las dendritas son las conexiones de entrada de la neurona. Por su parte el axón es la "salida" de la neurona y se utiliza para enviar impulsos o señales a otras células nerviosas. Cuando el axón está cerca de sus células destino se divide en muchas ramificaciones que forman sinapsis con el soma o axones de otras células. Esta unión puede ser "inhibidora" o "excitadora" según el transmisor que las libere. Cada neurona recibe de 10.000 a 100.000 sinapsis y el axón realiza una cantidad de conexiones similar.

 

La transmisión de una señal de una célula a otra por medio de la sinapsis es un proceso químico. En el se liberan substancias transmisoras en el lado del emisor de la unión. El efecto es elevar o disminuir el potencial eléctrico dentro del cuerpo de la célula receptora.

Si su potencial alcanza el umbral se envía un pulso o potencial de acción por el axón. Se dice, entonces, que la célula se disparó. Este pulso alcanza otras neuronas a través de la distribuciones de los axones.

 

Una neurona se puede comparar con una caja negra compuesta por varias entradas y una salida. La relación de activación entre la salida y la entrada, o en términos circuitales o de teoría de control, la función de transferencia se encuentra en la figura 2.

 

 

 

Figura2. Función de

Transferencia de una neurona

 

La variable f es la frecuencia de activación o emisión de potenciales y u es la intensidad del estímulo del soma.

 

1.1.1.2 La Neurona Artificial.

 

Un circuito eléctrico que realice la suma ponderada de las diferentes señales que recibe de otras unidades iguales y produzca en la salida un uno o un cero según el resultado de la suma con relación al umbral o nivel de disparo, conforma una buena representación de lo que es una neurona artificial. La función de transferencia para la activación o disparo de la neurona puede ser de umbral lógico (figura 4) o de limitación dura (figura 4b) o de función sigmoidal (tipo s) (figura 4c). W representa el peso o ponderación de la conexión a través de una entrada.

 

 

 

 

Figura 4. Funciones de transferencia o activación

de una neurona artificial

 

En particular, la función sigmoidal se define así:

 

La neurona artificial es un dispositivo eléctrico que responde a señales eléctricas. La respuesta la produce el circuito activo o función de transferencia que forma parte del cuerpo de la neurona. Las "dendritas" llevan las señales eléctricas al cuerpo de la misma. Estas señales provienen de sensores o son salidas de neuronas vecinas. Las señales por las dendritas pueden ser voltajes positivos o negativos; los voltajes positivos contribuyen a la excitación del cuerpo y los voltajes negativos contribuyen a inhibir la respuesta de la neurona (figura 5).

 

 

Figura 5. Excitación, inhibición, disparo

 

1.1.2 REDES NEURONALES

 

1.1.2.1 La Red Neuronal Biológica

 

El sistema de neuronas biológico está compuesto por neuronas de entrada (sensores) conectados a una compleja red de neuronas "calculadoras" (neuronas ocultas), las cuales, a su vez, están conectadas a las neuronas de salidas que controlan, por ejemplo, los músculos. La figura 6 muestra un esquema conceptual.

 

Figura 6. Estructura neuronal

 

 

Los sensores pueden ser señales de los oídos, ojos, etc. Las respuestas de las neuronas de salida activan los músculos correspondientes. En el cerebro hay una gigantesca red de neuronas "calculadoras" u ocultas que realizan la computación necesaria. De esta manera similar, una red neuronal artificial debe ser compuesta por sensores del tipo mecánico o eléctrico.

 

Redes neuronales artificiales (Artificial Neural Networks (ANN))

 

Supervisado.- mediante este tipo se introduce a la red una serie de patrones de entrada y salida . La red es capaz de ajustar los pesos con el fin de memorizar la salida deseada

No supervisado.- aquí la red responde clasificando los patrones de entrada en función de las características mas adecuadas de cada uno

Autosupervisado.- en este tipo la propia red corrige los errores en la interpretación a través de una realimentacion.

 

El entrenamiento de la red es muy importante ya que servirá para que posteriormente la respuesta del sistema sea la adecuada. Si nos fijamos un poco eso tiene mucho que ver con el aprendizaje humano. Cuando a un niño se le ordena coger un vaso , empieza moviendo el brazo de forma cuasi-aleatoria hasta que choca con el vaso y lo presiona con sus dedos. La próxima vez que se le ordene al niño, éste alcanzará el vaso con mayor soltura y precisión . Este mismo modelo se ha ensayado en redes neuronales de características similares a las del niño. Una vez que el brazo mecánico choca con la pieza y memoriza la secuencia , en posteriores ocasiones al brazo le cuesta menos realizar la misma operación se dice entonces que el sistema adquirió experiencia.

 

En conclusión las redes neuronales se orientan a desarrollar máquinas o sistemas inteligentes capaces de simular, desarrollar y optimizar muchas de las funciones de un ser humano así como también la investigación científica ya que pueden hacer cosas que el hombre por sus limitaciones físicas no puede realizar.

 

1.2 CLASIFICACIÓN DE LAS ANN

 

Teniendo en cuenta estas ocho componentes básicas de toda red neuronal, los distintos modelos de red neuronal pueden clasificarse de acuerdo con cuatro criterios básicos (Hilera y Martínez, 1995): (1) la naturaleza de las señales de entrada y salida, (2) la topología de la red, (3) el mecanismo de aprendizaje que utilizan y (4) el tipo de asociación de las señales de entrada y salida y la forma de representar estas señales. Las distintas posibilidades de presentarse estos aspectos junto con las distintas funciones de activación y transferencia nos permiten la clasificación de los distintos modelos.

 

 

1.2.1 De Acuerdo Con Su Naturaleza

De acuerdo con la naturaleza de las señales de entrada y de salida podemos clasificar las redes neuronales en analógicas, discretas (generalmente, binarias) e híbridas:

 

Las redes analógicas procesan datos de entrada de naturaleza analógica, valores reales continuos, habitualmente acotados y usualmente en el compacto [-1,1] o en el [0,1], para dar respuestas también continuas. Las redes analógicas suelen presentar funciones de activación continuas, habitualmente lineales o sigmoides. Entre estas redes neuronales destacan las redes de Backpropagation , la red continua de Hopfield, la de Contrapropagación, la Memoria Lineal Asociativa, la Brain-State-in-Box, y los modelos de Kohonen (mapas auto-organizados (S.O.M.)y Learning Vector Quantizer, (L.V.Q.) .

Las redes discretas (binarias) procesan datos de naturaleza discreta, habitualmente {0,1}, para acabar emitiendo una respuesta discreta. Entre las redes binarias destacan la Maquina de Boltzman, la Máquina de Cauchy, la red discreta de Hopfield, el Cognitrón y el Neogognitrón.

 

Las redes híbridas, procesan entradas analógicas para dar respuestas binarias, entre ellas destacan el Perceptrón, la red Adaline y la Madaline.

 

 

1.2.2 De Acuerdo Con Su Topología

 

Por lo que hace a la topología de la red, las redes pueden clasificarse de acuerdo con el número de capas o niveles de neuronas, el número de neuronas por capa y el grado y tipo de conectividad entre las mismas. La primera distinción a establecer es entre las redes Monocapa y las Multicapa.

Las redes Monocapa sólo cuentan con una capa de neuronas, que intercambian señales con el exterior y que constituyen a un tiempo la entrada y salida del sistema. En las redes Monocapa (red de Hopfield o red Brain-State-in-Box, máquina de Boltzman, máquina de Cauchy), se establecen conexiones laterales entre las neuronas, pudiendo existir, también conexiones autorrecurrentes (la salida de una neurona se conecta con su propia entrada), como en el caso del modelo Brain-State-in Box.

Las redes Multicapa disponen de conjuntos de neuronas jerarquizadas en distintos niveles o capas, con al menos una capa de entrada y otra de salida, y, eventualmente una o varias capas intermedias (ocultas).

Normalmente todas las neuronas de una capa reciben señales de otra capa anterior y envían señales a la capa posterior (en el sentido Entrada - Salida). A estas conexiones se las conoce como conexiones hacia delante o feedforward. Si una red sólo dispone de conexiones de este tipo se la conoce como red feedforward. Sin embargo, puede haber redes en las que algunas de sus neuronas presenten conexiones con neuronas de capas anteriores, conexiones hacia atrás o feedback. En tal caso hablaremos de una red feedback o interactiva. Entre las primeras destacan los distintos modelos de Kohonen, aunque presentan conexiones laterales y autorrecurrrentes, el Perceptrón (multicapa) o M.L.P., las redes Adaline y Madaline, la Memoria Lineal Adaptativa y las Backpropagation.

 

Entre las segundas debemos mencionar el Cognitrón y el Neocognitrón, junto con los modelos de Resonancia y las máquinas multicapa de Boltzman y Cauchy.

 

 

Las redes neuronales se clafican según su artitectura:

apa de entrada Capa de salida

 

Capa oculta

ARQUITECTURA RBF

Entrada de patrones ARQUITECTURA KOHONEN

 

Entradas

 

 

 

 

 

 

 

 

 

ARQUITECTURA HOPFIELD

 

 

ARQUITECTURA FEEDFORWARD

 

Frecuentemente se habla en la artitectura de lo que sxon las capas ocultas, las definiremos como las capas intermedias entre al capa de salida y la capa de entreda; recuerde que el toolbox de matlab trabaja solo con capas ocultas.

 

 

Neurona Artificial

 

La neurona artificial se caracteriza por tratar de asimilar ciertas características y propiedades de la neurona biológica.

Continuación se muestra un diagrama de una neurona artificial

 

 

 

S Y e

d

La regla de aprendizaje esta dada por :

Donde

Pesos

Error

Rata de aprendizaje

Entradas

Salida deseada

Funcion de activacion

Valor ponderado de las entradas por los pesos

 

 

 

El Perceptrón fué propuesto por Rosenblatt en 1959 en su obra "Principles of Neurodynamics"[3]. Los Perceptrones son redes de propagación hacia adelante basados en unidades binarias. En una forma sencilla, el Perceptrón consta de una capa de entrada de n elementos, dichas entradas, se propagarán a una capa de m unidades actuadoras y de estas a una sola unidad de salida. El objetivo de esta operación es aprender a dar una transformación dada usando muestras de aprendizaje, con entrada x y su correspondiente salida y. En la definición original la actividad de las unidades actuadoras puede ser cualquier función f de la capa de entrada, pero el procedimiento de aprendizaje sólo ajusta las conexiones de la unidad de salida. La razón para esto es que no hay una fórmula para encontrar el ajuste de conexiones entre la capa de entrada y la función f. La unidad de salida de un Perceptrón es un elemento lineal o elemento de umbral, el cual se adecua a la siguiente regla:

 

Perceptrón con dos entradas, cada entrada es multiplicada por el peso W correspondiente, y los resultados son sumados, siendo evaluados contra el valor de umbral, si el resultado es mayor al mismo, el perceptrón se activa.

 

La función se puede expresar:

????????

a = x1w1 + x2w2 +... + xnwn

b = umbral

y = F(a)

 

Si a >= b, y=1

Si a < b, y=0

 

 

El perceptrón es capaz tan sólo de resolver funciones definidas por un hiperplano que corte un espacio de dimensión N. Un ejemplo de una función que no puede ser resuelta es el operador lógico XOR.

 

El vector de pesos [w1 w2... wn] es perpendicular al hiperplano.

 

<Picture>

 

El hiperplano divide en dos zonas un plano de 2 dimensiones, note que el vector de pesos (w1=1 y w2=1, con b=0.5) es perpendicular al hiperplano.

 

El entrenamiento de un perceptrón es por medio de la regla de aprendizaje delta:

Para cada peso W se realiza un ajuste dW según la regla:

 

dW = LR ( T - Y ) X

 

Donde LR es la razón de aprendizaje, T el valor deseado, Y el valor obtenido, y X la entrada aplicada al perceptrón.

 

 

Rosemblatt probó un teorema sobre el aprendizaje del perceptrón y dado esto, en los 60s los Perceptrones crearon un gran interés en la comunidad científica sobre las Redes Neuronales.

 

La euforia inicial se convirtió en desilusión cuando Minsky y Paper publicaron su libro "Perceptrons: An Introduction to Computational Geometry"[4] en 1969, en el cual ellos mostraban las deficiencias de los modelos del Perceptrón, con lo cual frenaron el desarrollo de las Redes Neuronales. Por un tiempo sólo algunos investigadores continuaron trabajando, los más notables fueron Teuvo Kohonen, Stephen Grossberg, James Anderson y Kunihiko Fukushima.

 

 

 

Adaline

 

El "Elemento Lineal Adaptable", también llamado Adaline (primeramente conocido como Neurona Lineal Adaptable), fue sugerido por Widrow y Hoff en su obra "Adaptive switching circuits"[5]. En una simple implementación física, la cual es Ejemplo de aplicación a una compuerta logica OR

 

  1. inicialmente la neurona toma los siguientes pesos

Y tomando una función de activación en escalón de un solo polo {0 1}

  1. iniciamos calculando el valor ponderado de la suma de las entradas por los pesos en la iteración 1 (k=1)

 

b. Luego se compara el valor con la función de activación

 

c. Calculando el error

tenemos que = -1

 

  1. Los nuevos pesos quedan

  1. a. Se inicia una nueva iteración (k=2), hallamos de nuevo S

 

b. La comparación con la función de activación

 

 

c. El error es

tenemos que = 0

 

d. El nuevo calculo de los pesos no se ve alterado por e = 0

3. a. Se inicia una nueva iteracion (k = 3)

b. La comparacion con la funcion de activacion

 

 

c. El error es

tenemos que = 0

 

d. El nuevo calculo de los pesos no se ve alterado por e = 0

4. a. Iteracion con k = 4

b. La comparacion con la funcion de activacion

 

 

c. El error es

tenemos que = 0

 

d. El nuevo calculo de los pesos no se ve alterado por e = 0

Despues de llegar hasta la novena iteracion (k=0) y ver que el e=0 decimos que la neurona aprendio despues de haber pasado un ciclo osea dwi/dt = 0

 

BACKPROPAGATION (Retropropagación)

 

 

 

 

Antecedentes Históricos

 

La neurona formal

 

El primer desarrollo es presentado por McCulloch y Pitts en 1943 en su trabajo "A logical calculus of the ideas immanent in nervous activity"[1]. En este trabajo, las neuronas fueron presentadas como modelos de las neuronas biológicas y como componentes conceptuales de los circuitos que pueden desarrollar eventos computacionales.

 

 

 

 

Aprendizaje de Hebb

 

Hebb señaló en 1949 en su trabajo "The Organization of Behavior" [2] que si dos neuronas que están interconectadas entre sí, se activan al mismo tiempo esto indica que existe un incremento en la fuerza sináptica. Así mismo, la forma de corrección que emplea esta regla, es incrementar la magnitud de los pesos si ambas neuronas están inactivas al mismo tiempo.

Aplicaciones de las redes neuronales..

 

Las RNA han sido aplicadas a un numero en aumento de problemas en la vida real y de considerable complejidad, donde su mayor ventaja es en la solución de problemas que son bastante complejos para la tecnología actual, tratándose de problemas que no tienen una solución algorítmica cuya solución algorítmica es demasiado compleja para ser encontrada.

 

En general, debido a que son parecidas al las del cerebro humano, las RNA son bien nombradas ya que son buenas para resolver problemas que el humano puede resolver pero las computadoras no. Estos problemas incluyen el reconocimiento de patrones y la predicción del tiempo. De cualquier forma, el humano tiene capacidad para el reconocimiento de patrones, pero la capacidad de las redes neuronales no se ve afectada por la fatiga, condiciones de trabajo, estado emocional, y compensaciones.

 

Se Conocen Cinco Aplicaciones Tecnológicas Aplicadas:

  • Sistemas de control en reactores, procesos químicos físicos etc.