Sunteți pe pagina 1din 12

4.

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.

A.1. SISTEMAS NEURONALES BIOLÓGICOS

A.1.1. El Cerebro y su estructura.


Se estima que el cerebro humano contiene más de cien mil millones (1011) de células especializadas
llamadas neuronas entrelazadas mediante cien billones (1014) de sinapsis organizadas en grupos que
tejen redes con un alto y complejo grado de interconectividades. Las neuronas y las conexiones entre
ellas constituyen la clave para el procesamiento de la información. (figura A-1).

Figura A-1 Estructura básica de una neurona Biológica

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.

Figura A-2 Detalle de una Sinapsis

El potencial eléctrico de la membrana celular de cada neurona depende de la permeabilidad iónica y


puede ser calculado por la ecuación de Nernst

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.

A.2. SISTEMAS NEURONALES ARTIFICIALES


Una Red Neuronal Artificial es un sistema compuesto de muchos elementos de procesamiento simples
operando en paralelo, denominados neuronas, cuyo comportamiento es determinado por la estructura
de la red, la fuerza en las conexiones y el algoritmo de entrenamiento utilizado; posee una tendencia
natural para adquirir y almacenar conocimiento empírico haciéndolo disponible para su uso.

Figura A-3 Red Neuronal Artificial


En definitiva, las Redes Neuronales no son más que un modelo artificial y simplificado del cerebro
humano, que es el ejemplo más perfecto que tenemos a disposición de un sistema capaz de adquirir
conocimiento a través de la experiencia. Las Redes Neuronales pueden ser construidas con hardware
especial o simuladas en computadoras normales.

59
J.M. Londoño y M.A. Meza.

A.2.1. Idealización de las neuronas artificiales

Figura A-4 Neurona Artificial con sus elementos Vs Neurona Biológica.


Ya que el conocimiento que se posee sobre el sistema biológico no es completo, se han de definir
algunas funcionalidades y estructuras de conexión distintas a las substraídas desde la perspectiva
biológica para elaborar el modelo de una Red Neuronal Artificial.
Cada neurona dentro de la red artificial es una unidad de proceso simple que toma una o más entradas
de información y produce una salida. En una neurona, cada entrada de información x tiene un peso
asociado w que modifica la fuerza de cada entrada conectada con esa neurona. Esto significa que el
peso le da más o menos importancia a la información que transporta en la activación a de la neurona
receptora.
Se considera el procesamiento interno dividido en dos fases: en la primera, se combina la información
sumando las entradas x multiplicadas por su correspondiente peso w; en la segunda, con este valor
ponderado s se pasa al cálculo del nivel de activación de cada neurona a, con una función de activación
determinada f( ). La neurona se activa si la fuerza combinada de la señal de entrada es superior a un
cierto nivel que llamaremos umbral o tendencia b. Lo anterior puede ser expresado matemáticamente
como:

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.

A.2.2. Estructuras de las redes neuronales artificiales


La estructura de la red está definida por el número de neuronas en cada capa, el número de capas, el
tipo de conexiones entre ellas y la función de activación.

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.

originando una retroalimentación de la información procesada (feed-


back). Una red neuronal con conexiones hacia atrás recibe el
nombre de red recurrente.
CONEXIÓN LATERAL: Interacción de neuronas ubicadas en la misma
capa. Un ejemplo de este tipo son las redes competitivas.
CONEXIÓN CON RETARDO: Los elementos de retardo se incorporan en
las conexiones para realizar modelos dinámicos y temporales.7

• Función de Activación o Función de transferencia


La excitación, producto de la combinación de todas las entradas
ponderadas por sus respectivos pesos, es modificada por la función
de activación suministrando el nivel de estímulo de la neurona.
Hay dos tipos básicos de funciones de transferencia: las continuas y las discretas. Las funciones
continuas normalmente usadas son: rampa, Gaussiana, logarítmica sigmoidal, tangente hiperbólica
sigmoidal, lineal, entre otras. Se llaman así por ser diferenciables en todo sus puntos. Las funciones
discretas normalmente usadas son las funciones escalón, que no son diferenciables.
Función escalón

1 si s ≥ 0
f (s ) =  ( A-5 )
î 0 si s < 0

Función Escalón Simétrica

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.

Función Sigmoide Bipolar

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. OPERACIÓN CON REDES NEURONALES


Existen dos fases en toda aplicación de redes neuronales artificiales: la fase de aprendizaje o
entrenamiento y la fase de prueba.

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.

lineal, el mayor problema asociado a la optimización es la alta posibilidad de converger hacia un


mínimo local, en vez de hacia el mínimo absoluto (figura A-6).

Figura A-6 Función de costo


El proceso del entrenamiento se da por concluido cuando la red produce una salida correcta para cada
argumento de la información de entrada, entonces se dice que ha convergido. Los pesos de la red se
congelan en sus estados entrenados y la red está entonces lista para su validación y posterior uso.

• 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.

• Aprendizaje Por Refuerzo


Es utilizado en situaciones donde los ejemplos de aprendizaje sólo se pueden obtener con un bajo nivel
de detalle o sólo una parte de la información de salida puede ser catalogada como buena o mala,
incluso, frecuentemente la única información aprovechable es un valor escalar r que indica cual es el
desempeño de la red.
Éste es un esquema de aprendizaje de ensayo y error, según el cual un agente computacional aprende a
realizar una apropiada acción por la recepción de retroalimentaciones evaluativas (llamadas señal de
refuerzo) a través de interacción con el medio externo. Si una acción es seguida por un estado
satisfactorio de sucesos o un mejoramiento en el estado de sucesos entonces, por ejemplo una
disminución en el valor de la función de costo, la tendencia para producir esa acción es reforzada, en
caso contrario, será atenuada o inhibida.

64
Redes neuronales artificiales aplicadas a la simulación de ondas sísmicas a través del suelo.

A.3.2. Fase de validación


Una vez entrenada la red, se inicia la llamada fase de prueba o funcionamiento directo, en la que se
procesan los vectores de prueba, diferentes a los de entrenamiento, que constituyen la entrada habitual
de la red, calculando el error generado y analizando el rendimiento definitivo del sistema para
determinar la validez del diseño.

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.

A.4. ÁREAS DE APLICACIÓN


Se realizan investigaciones de redes neuronales en áreas como: Aprendizaje adaptativo,
autoorganización, operaciones en tiempo real, identificación tendencias en mercados, predicción,
pronósticos de ventas, control de procesos industriales, análisis de riesgo, mercados potenciales y
análisis de inversión, reconocimiento del habla y escritura, diagnósticos médicos, detección de minas
marinas, análisis de texturas, reconocimiento facial, decisiones sobre otorgamientos de préstamos,
entre muchas otras.

65
J.M. Londoño y M.A. Meza.

A.5. ORIGEN DE LOS ALGORITMOS DE APRENDIZAJE

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 )

El límite de clasificación de la salida entre negativa o positiva es denominado plano de decisión y

corresponde al hiperplano w T x + b = 0 (figura A-8); así, el requerimiento de (A-13) queda reducido a


encontrar este hiperplano mediante la adaptación de los pesos y la tendencia según varíe el error e.
Para ajustar los parámetros del perceptrón se usa la siguiente ecuación donde η corresponde a una
constante entre 0 y 1, se conoce como rata de aprendizaje y corresponde a la potencia en la
modificación de los pesos.8

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.

Posteriormente se involucraron funciones de transferencia lineales responsables de que las salidas


tomaran un valor cualquiera, surgiendo así las redes ADALINE (ADAptative LINear Element,
elemento lineal adaptativo) y MADALINE (Multi - ADALINE). Este modelo fue propuesto por
Widrow-Hoff para encontrar una relación lineal entre los datos entrada y salida, su principal aporte a la
tecnología de R.N.A. radica en la implementación de la Regla Delta para ajustar los pesos, ya que en
ella se basaron todos los desarrollos subsiguientes en Redes Neuronales Artificiales. La regla de
aprendizaje de Widrow–Hoff se limita a entrenar únicamente una sola capa.

A.5.2. Regla de aprendizaje Delta:


La regla de entrenamiento adoptada para ADALINE se deriva del concepto de gradiente descendente
para minimizar el error del entrenamiento E(w). Los pesos deben ser modificados una cantidad ∆w
proporcional al gradiente negativo de E(w); así, para una red con N entradas y una capa de K
perceptrones (K salidas) la regla se expresa como:

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.

Figura A-9 Perceptrón Multicapa

El algoritmo de retropropagación es presentado en la sección 2.2.1. de este reporte.

68