Académique Documents
Professionnel Documents
Culture Documents
ANEXO A
FUNDAMENTOS TEORETICOS DE REDES
4. NEURONALES ARTIFICIALES
No hay una definición universalmente aceptada de una Red Neuronal Artificial. Sin embargo, hay un
acuerdo en aceptar que se trata de una red constituida de muchos procesadores simples que trabajan en
paralelo con un nivel de interconexión considerablemente alto, cada uno de ellos dotado de una
pequeña cantidad de memoria local y con la capacidad de adquirir, almacenar y usar conocimiento de
carácter empírico. Las Redes Neuronales Artificiales (R.N.A.) fueron originalmente desarrolladas
como una simulación abstracta de los sistemas nerviosos biológicos. Sin embargo, dado que el
conocimiento acerca de estos sistemas es incompleto y la capacidad de las maquinas existentes es
limitada, estos modelos sólo son amplias idealizaciones de una red real de redes neuronales.
57
J.M. Londoño y M.A. Meza.
Como estructura básica de una neurona biológica podemos considerar tres partes fundamentales:
• El cuerpo de la neurona, donde desarrolla su actividad fundamental.
• Ramas de extensión o dendritas, usadas para recibir las entradas.
• El axón, que transportar la salida de la neurona y se ramifica para establecer contactos sinápticos
con otras neuronas.
El axón lleva la información por medio de diferencias de potencial eléctrico entre las membranas
celulares, esta señal es conocida como potenciales de acción y dependen del potencial de cada
neurona. El impulso se transmite en una única dirección a través del axón hasta llegar a la sinapsis,
produciendo allí la liberación de una sustancia química denominada neurotransmisor que se esparce
por el fluido existente en el espacio sináptico. Cuando este fluido alcanza el otro extremo, la neurona
recoge las señales de entrada combinando todas las influencias excitadoras e inhibidoras. Si las
influencias excitadoras dominan y exceden un cierto nivel critico, un umbral alrededor de 10
milivoltios, entonces la neurona se activa y envía una señal positiva a otras neuronas por sus sinapsis
de salida. Esta propiedad se conoce como ley del todo o nada e impone ciertas limitaciones en el tipo
de mensajes que se pueden transportar, prohibiendo la transmisión directa de información
cuantitativamente graduada.
EK =
RT
ZF
([ ] [K ] )
ln K + f
+
d ( A-1 )
donde EK es el valor del potencial en la membrana por el ion potasio K+ en equilibrio, R es una
constante termodinámica, T es la temperatura absoluta, Z es la valencia del ion = +1, F es la constante
de Faraday, y [K+]f y [K+]d son las concentraciones de K por fuera y por dentro de la membrana. En
realidad, la relación entre el potencial eléctrico y la permeabilidad iónica es la de un círculo cerrado, en
58
Redes neuronales artificiales aplicadas a la simulación de ondas sísmicas a través del suelo.
la que los cambios de potencial causan cambios de permeabilidad y estos a su vez causan cambios en
el potencial. [5]
Además, se puede citar un modelo muy acertado para describir la propagación de la señal que viaja por
el axón mediante la siguiente ecuación unidimensional
∂ 2V ∂V
λ2 −V −τ =0 ( A-2 )
∂x 2
∂t
donde x representa la longitud del Axón, τ es la constante de tiempo de la membrana, λ es un
parámetro adimensional, y V es la tendencia del potencial a través de la membrana. [5]
Aunque todavía no está del todo claro, parece que la amplitud y velocidad de este impulso dependen
del diámetro del axón y la frecuencia del número de disparos que se efectúen, razonamiento sugerido
por Donald Hebb. El aprendizaje de Hebb postula que la fuerza sináptica entre neuronas se incrementa
si representan conceptos asociados, siendo así, cuando una neurona participa constantemente en activar
una neurona de salida, la influencia de la neurona de entrada aumenta.
59
J.M. Londoño y M.A. Meza.
N
s= ∑w ⋅ x
i =1
i i +b ( A-3 )
a = f (s ) ( A-4 )
De la misma manera como el aprendizaje en un sistema biológico involucra los ajustes en las
conexiones sinápticas que existe entre las neuronas, para conseguir un óptimo desempeño de las redes
artificiales, se busca conseguir, mediante un cierto tipo de entrenamiento, los pesos asociados w y las
tendencias b adecuadas para cada una de las entradas y unidades de procesamiento, en búsqueda de
una salida objetivo o producción satisfactoria.
60
Redes neuronales artificiales aplicadas a la simulación de ondas sísmicas a través del suelo.
• Número de neuronas:
Una sola neurona tiene una capacidad muy limitada como dispositivo para solucionar problemas. Sin
embargo, cuando un número de neuronas se conectan entre sí para formar una red compleja, su
habilidad para encontrar características propias de un fenómeno particular y para alcanzar un óptimo
desempeño en la representación de éste, se incrementa considerablemente.
Actualmente no se han desarrollado relaciones que determinen el número óptimo de neuronas para un
problema específico, de tal forma que su elección se deja al criterio y experiencia del analista [14].
• Número de capas:
Se llama capa a la colección de elementos de procesamiento y los pesos asociados a sus entradas con la
particularidad de encontrarse localizados en un mismo nivel dentro de la red. En la figura A-5 la
primera capa toma los estímulos del exterior y es llamada capa de entrada. La última capa produce la
respuesta de la red y es llamada capa de salida. Entre estas capas puede haber una o varias capas, éstas
son llamadas capas ocultas, porque no están directamente conectadas con el exterior.
Figura A-5 Red neuronal con capa de entrada salida y una oculta
• Conexiones:
Una neurona puede estar conectada con cualquier otra, lo que
incluye conexiones de la neurona consigo misma. Las siguientes
son estructuras de conexión típicas usadas en el manejo de Redes
Neuronales:
CONEXIÓN HACIA DELANTE: los datos de las neuronas de una capa
inferior son propagados hacia las neuronas de la capa superior.
Esta transmisión se conoce como alimentación hacia delante
(feed-forward).
CONEXIÓN HACIA ATRAS: estas conexiones llevan los datos de las
neuronas de una capa superior a otras de la capa inferior,
61
J.M. Londoño y M.A. Meza.
1 si s ≥ 0
f (s ) = ( A-5 )
î 0 si s < 0
1 si s ≥ 0
f (s ) = ( A-6 )
î −1 si s < 0
Función Rampa
1 si s > 1
f (s ) = s si 0 ≤ s ≤ 1 ( A-7 )
0 si s < 0
î
Función Rampa Simétrica
1 si s > 1
f (s ) = s si − 1 ≤ s ≤ 1 ( A-8 )
− 1 si s < −1
î
Función Sigmoide Unipolar
f (s ) =
1
( A-9 )
1 + e − λS
7
Ver retropropagación temporal Sec.2.2.3.
62
Redes neuronales artificiales aplicadas a la simulación de ondas sísmicas a través del suelo.
f (s ) =
2
−1 ( A-10 )
1 + e − λS
Función lineal
( )=
( A-11 )
Función Gaussiana
f (s ) = e − S
2
( A-12 )
A.3.1. Entrenamiento
Es la parte más importante en el manejo de Redes Neuronales, consiste en ajustar los pesos w y
tendencias b de forma tal que la red establezca un aceptable vínculo de correspondencia o mapeo entre
entradas y salidas. Este proceso de entrenamiento hace a una red neuronal tan diferente de un
ordenador convencional.
En la secuencia de entrenamiento los cambios en los pesos y tendencias se pueden realizar ya sea
inmediatamente después de propagar a través de la red cada vector de entrenamiento, lo que es
conocido como adaptación por dato, o después de haber propagado por la red todos los vectores de
entrenamiento completando así una época; éste último caso es conocido como adaptación por bloque
(Batching).
En esencia los métodos anteriormente mencionados para llevar a cabo el entrenamiento son idénticos,
pero por las condiciones mencionadas, las ecuaciones a la hora de aplicar uno u otro varían
brevemente, en forma no en fondo.
Dentro de la fase de entrenamiento se visualizan tres tipos de entrenamientos:
• Aprendizaje Supervisado:
Consiste en tomar un conjunto de pares de entrenamiento [x(t), y(t)] para t=1,2,...,p, que son las entrada
y salidas deseadas para el sistema estudiado, y propagarlos repetidamente a través de la red para que
sean asociados. Mediante la adaptación de pesos y tendencias, se busca el mínimo de una función de
error n-dimensional producida por la diferencia entre respuesta yˆ (t ) dada por la red ante una
excitación x(t ) determinada y la salida y (t ) deseada para la misma. En muchos de los casos, el
entrenamiento se convierte en un ejercicio de optimización numérica de una función usualmente no
63
J.M. Londoño y M.A. Meza.
• Aprendizaje No Supervisado:
A la red únicamente se le presentan los datos de entradas y aprende a clasificarlos basada sólo en la
similitud con otros, halla algunas propiedades del conjunto de datos de entrada y aprende a reflejar
esas propiedades en el conjunto de datos de salida. Los algoritmos de aprendizaje no supervisados son
útiles cuando el usuario no sabe exactamente que clases de salidas se desean o esperan. Como ejemplo
se puede citar la restauración de imágenes, en donde se presenta como entrada una imagen defectuosa
y se desea restaurarla a la imagen original.
64
Redes neuronales artificiales aplicadas a la simulación de ondas sísmicas a través del suelo.
A.3.3. Generalización
El propósito fundamental es que la red neuronal aprenda a generalizar, es decir, si habiendo aprendido
a clasificar correctamente las muestras de aprendizaje, al presentarse una nueva muestra, la clasificará
correctamente, porque ha aprendido a reconocer las características que discriminan las diferentes
clases de muestras.
La generalización se puede extender a un problema de interpolación y extrapolación. Una red se
considera que está entrenada con éxito si puede aproximar los valores de los patrones de entrenamiento
y puede dar predicciones suficientemente acertadas para el espacio de datos no entrenado (figura A-7).
Figura A-7 La línea con cruces corresponde al resultado del entrenamiento, mientras que la línea continua a las simulaciones.
En la gráfica a la izquierda no se alcanza aún una buena generalización, pues faltan ciclos de entrenamiento.
Por el contrario, a la derecha ha ocurrido un sobre entrenamiento o “Overfitting”, es decir, la red aprendió sólo
las muestras de entrenamiento (las marcas x) y no generaliza correctamente los demás puntos.
65
J.M. Londoño y M.A. Meza.
A.5.1. Perceptrón
Creado por Rosenblatt en 1958 [14]. Un perceptrón simple consiste en un sólo elemento de
procesamiento usado para clasificación, con una o varias entradas, sus respectivos pesos y una única
salida, procesa datos de tipo binario (±1) usando una función de activación escalón (A-6); es entrenado
mediante una técnica que se conoce como regla de aprendizaje del perceptrón.
N
∑
a = yˆ = signo wi ⋅ x i + b
i =1
: y ( A-13 )
2ηyx i si y ≠ yˆ
∆wi = ηex i = η ( y − yˆ ) x i = ( A-14 )
î 0 si y = yˆ
El perceptrón tiene importancia desde un punto de vista histórico, ya que fue uno de los primeros
desarrollos en R.N.A.9 y generó gran interés debido a su habilidad para generalizar y para aprender
patrones desde conexiones inicialmente distribuidas en forma aleatoria; pero desde una perspectiva
práctica carece de trascendencia, ya que sus limitaciones al manejar exclusivamente patrones de
entrada con independencia lineal para posibilitar la existencia del hiperplano de clasificación10, la
hacen inaplicable para muchos casos de interés.
La independencia lineal implica separabilidad lineal, lo inverso no siempre es verdadero.
En el afán de suplir las deficiencias presentadas por los perceptrones simples se desarrollaron en
primera instancia redes para clasificación múltiple, agrupando varios perceptrones simples en una
capa de red, generando tantos hiperplanos de clasificación como perceptrones eran añadidos a la capa.
8
Nótese que la tendencia puede ser interpretada como una entrada adicional a la neurona con un valor de 1 por lo que (B-14) es
aplicable.
9
El Desarrollo Histórico de R.N.A. puede ser encontrado en [14],[25],[39]
10
El hiperplano w*p+b=0, es una línea perpendicular al vector de pesos y está desviada de los ejes de acuerdo a la tendencia b.
66
Redes neuronales artificiales aplicadas a la simulación de ondas sísmicas a través del suelo.
Figura A-8 Un perceptrón simple y un ejemplo de dos clases linealmente separables y no. Para la imagen central se puede
determinar un hiperplano solución, mientras que para la derecha no es posible obtener un resultado aceptable
con un perceptrón simple.
K K
N
E (w ) = 1
2 ∑ (y
k =1
k − yˆ k ) = 1
2 ∑ y − ∑ w
k =1
k
i =1
ik xi
( A-15 )
∆w = −η∇ w E (w ) ( A-16 )
∂E K
N
∆wik = −η = η y k −∑ ∑w x i x i = η ( y k − yˆ k )x i ( A-17 )
∂wik
ik
k =1 i =1
Nótese que aunque la regla de aprendizaje de Widrow-Hoff (A-17) y la del perceptron (A-14) son
semejantes, su diferencia radica en que la regla del perceptrón fue desarrollada sobre la suposición
empírica de Hebbian [21], mientras que la Widrow-Hoff fue derivada del método del gradiente
descendente11. Un desarrollo siguiente abrió paso a los perceptrones multicapa, se trata de varios
perceptrones unicapa conectados en cascada, como en la figura A-9. El problema de este tipo de
11
Ver Anexo C
67
J.M. Londoño y M.A. Meza.
Perceptrón está en su entrenamiento, ya que es difícil modificar correctamente los pesos de las capas
ocultas pues no se conoce una salida deseada para las neuronas en estas capas.
Para lograr entrenar un perceptrón multicapa, se implementó el algoritmo de Retropropagación
(BackPropagation), cuyo nombre se deriva de su propiedad de ir propagando los errores producidos en
la capa de salida hacia atrás por toda la red hasta la capa de entrada.
68