Teoría RedesNeuronales
Teoría RedesNeuronales
Teoría RedesNeuronales
2: Redes Neuronales
Artificiales
Hemos visto que una neurona en el hombre funciona por impulsos eléctricos que se
generan cuando se cumplen unas determinadas condiciones químicas a su vez generadas
por un potencial eléctrico. El ciclo es: un efecto externo –posiblemente una
configuración determinada de conexiones dendríticas junto con un determinado
potencial eléctrico- produce una despolarización de la célula, esa despolarización
equivale a un potencial de acción que se genera y se propaga como un pulso eléctrico.
Las concentraciones de Na+ y de K + hacen que el potencial de la membrana vuelva a su
valor de reposo.
Los impulsos no pueden generarse a una velocidad mayor que 500 veces por segundo.
Por tanto las neuronas son relativamente lentas. Por otro lado, se considera que en el
cerebro hay unos 100.000 millones de neuronas (10 11) y diez veces más conexiones (10
12
). Es materialmente imposible crear un sistema electrónico con tal cantidad de
procesadores y de conexiones.
2. La Neurona artificial
La neurona artificial consta como se ve en la figura 2 de varias partes. Por un lado están
las entradas, los pesos, el sumatorio, y finalmente la función adaptadora. Los valores de
las entradas se multiplican por unos pesos y se suman: Σi wij xi . Esta función suma se
completa con la suma de un umbral θ i . Este umbral tiene el mismo efecto que una
entrada con valor –1. Sirve para que la suma pueda estar desplazada a izquierda o
derecha del origen. Después de la suma, tenemos la función f que se aplica al conjunto
resultando el valor final de la salida, llamado también yi. Al resultado de la suma antes
de aplicarle la función f, suele llamársele también valor de activación ai.
Otra función que puede utilizarse, que también es derivable es la función gaussiana.
Como vemos en la tabla, la función gaussiana permite una activación en torno al valor 0
tanto a derecha como a izquierda. Finalmente, por completitud se pone también la
función senoidal, pero ésta se utiliza raramente.
N
yi = f ( ∑ (w
j =1
ij − x j )2 − θi )
El significado es el siguiente: En vez de sumar las entradas con unos pesos, lo que se
hace es la distancia euclídea entre las entradas y los pesos. Estas funciones se llaman
funciones de base radial, dado que la activación depende de la distancia a un punto. Para
ilustrar esto , veamos en la figura 5 la zona de activación neuronal para dos entradas x 1
y x 2 cuando los pesos son w 1 y w 2.
Las redes binarias son aquellas para las que las entradas tienen un valor de 0 o 1
exclusivamente (las salidas por tanto también valen entre 0 y 1). Las no binarias tienen
como entrada y salida valores continuos. Una red neuronal supervisada es aquella para
la que existen parejas de ejemplos de entrada y salida para los que puede entrenarse o
programarse la red. Una red neuronal no supervisada, es aquella para la que no se tienen
ejemplos de entrada/salida, y la función de la red es reorganizar los pesos de la red para
obtener a la salida alguna función objetivo, pero a priori no se conoce el resultado que
se obtendrá. Una aplicación típica de una red no supervisada es para la realización de
agrupamientos automáticos de los datos. Una red clásica no supervisada es la de mapas
autoorganizativos de Kohonen. Nosotros en este curso nos centraremos en las redes
supervisadas y no binarias.
Una red neuronal puede clasificarse también, según la topología en redes de izquierda a
derecha (forward), redes con realimentación y redes con memoria.
Fig 8:Red neuronal con una capa oculta y una capa de salida
Se dice que una red neuronal tiene memoria, cuando la salida de una neurona es
utilizada como entrada en neuronas de la misma capa o de otras, pero después de un
cierto tiempo, llamado tiempo de retardo de la red. Estas redes integran la evolución de
los vectores de entrada en el tiempo.
Por otro lado, una red neuronal genérica, de izquierda a derecha, se considera dividida
en capas de neuronas. Se llama primera capa de neuronas aquellas neuronas cuyas
conexiones a la entrada están unidas a entradas de la red. La segunda capa de neuronas
son aquellas cuyas entradas están formadas por las salidas de las neuronas de la primera
capa, y así sucesivamente para siguientes capas, hasta llegar a la capa de salida, que
produce tantas salidas como neuronas en la última capa (cada neurona de la última capa
produce una salida de la red). En la figura 8 aparece una red de izquierda a derecha con
dos capas ,una capa oculta (llamada así porque sus salidas son internas a la red) y una
capa de salida.
4. Tipo de proceso
El tipo de proceso es la capacidad que tiene la red neuronal para clasificar datos en
clases complejas. Supongamos por un momento que la función de activación es la
unidad (función lineal). La red neuronal a través de sus capas y de sus sumas de pesos
Cuando la función de activación no es la lineal sino que es una sigmoide, entonces las
regiones a diferenciar no están limitadas por rectas, sino que están limitadas por curvas
de formas no lineales.
El algoritmo básico parte de unos pesos wij aleatorios, y en cada paso del mismo estos
pesos se modifican en la dirección contraria a la derivada del error actual respecto a
esos mismos pesos. El resultado es obtener unos pesos que contribuyen a un error final
menor que el original. Los pesos evolucionan hasta un mínimo local. El error es la
diferencia cuadrática media entre las salidas de la red con los pesos actuales y las
salidas deseadas del ejemplo actual. Es necesario definir los siguientes términos:
M
E = ∑ ( d i − yiN )
2
i =1
Parámetros de la red
N capas de neuronas
M número de salidas (neuronas) en la última capa
Li neuronas en la capa i (o sea, LN = M
yik salida de la neurona i de la capa k
ei entradas a la red
di salida deseada (a aprender)
aik estado de activación de la neurona i de la capa k
k
w ij peso entre la neurona i de la capa (k-1) y la neurona j de la capa k
∂E
wijk ( t + 1) = wijk ( t ) − η
∂wijK ( t )
∂E ∂y j ∂a kj
k
∂E
= ⋅ ⋅
∂wijk ( t ) ∂y kj ∂a kj ∂wijk ( t )
Calculemos cada término, para ello vamos a utilizar una función de activación tipo
sigmoide:
1
y kj = − a kj
1+ e
− a kj − a kj
∂y kj e 1 e
=− = = y kj (1 − y kj )
∂a kj
(1 + e )
2 − a kj − a kj
− a kj 1+ e 1+ e
∂a kj
= yik −1 k = 2,..., N wijk
∂wijk ( t )
∂a1j
= ei En la 1ª capa
∂wij1 ( t )
e1 e2
∂E
Nos queda el término que por definición es δ kj
∂y j
k
En la última capa:
∂E
δ jN = = −2 ( d j − y Nj ) = 2 ( y Nj − d j )
∂y j
N
Para verlo más claro, supongamos una salida y kj tiene conexiones en tres salidas
k +1
posteriores y1,2,3
δE
Entonces, puede escribirse como
δ y kj
o bien, generalizando
∂E Lk +1 ∂E ∂yik +1 ∂aik +1
δ kj = =∑ ⋅ ⋅
∂y kj i=1 ∂yik +1 ∂aik +1 ∂y kj
O sea:
LK +1
δ jK = ∑ δ ik +1 ⋅ yik +1 ⋅ (1 − yik +1 ) ⋅ wkji+1 pues aik +1 = ∑ wkji+1 y kj
i =1 j
(
δ jN = 2 yiN ′d j )
LK +1
δ = ∑ δ ik +1 ⋅ yik +1 ⋅ (1 − yik +1 ) ⋅ wkji+1
k
j
i =1
c) Actualización de pesos
Referencia