Logo Studenta

teoria sobre redes neuronales artificiales

¡Estudia con miles de materiales!

Vista previa del material en texto

Trabajo Fin de Master Anexo II 
_____________________________________________________________________________________ 
 
 Universidad de Sevilla 67 
ANEXO II.- 
TEORÍA SOBRE REDES NEURONALES ARTIFICIALES 
 
1. Concepto de red neuronal artificial 
 
Una red neuronal artificial (RNA) es un modelo matemático que intenta 
reproducir el modo de funcionamiento y operación del cerebro humano. Hoy en 
día, aunque existen muchas ramas encargadas de su estudio y desarrollo, 
éstas se engloban dentro de la inteligencia artificial. Como se verá en la breve 
reseña histórica siguiente, los primeros trabajos que establecieron las bases de 
las RNA no corresponden a ingenieros, sino a fisiólogos. 
 
En 1943, Walter Pitts y Warren McCulloch intentaron explicar el funcionamiento 
del cerebro humano, por medio de una red de células conectadas entre sí. En 
1949, el fisiólogo Donald Hebb expresó en su libro “The Organitation of 
Behaviour”, la conocida regla de aprendizaje Hebb. Su propuesta se basaba en 
la conductividad de la sinapsis, es decir, en las conexiones de las neuronas. En 
1951, Frank Rosenblett presentó una estructura llamada Perceptrón, que 
consistía en una red neuronal con aprendizaje supervisado, cuya regla de 
aprendizaje era una modificación de la propuesta por Hebb. 
 
Posteriormente, y siguiendo con este afán de emular el funcionamiento y 
estructura del cerebro humano, se han ido desarrollado numerosos modelos de 
RNA, entre los que cabe destacar: Adeline y Madeline (1960), Avalancha 
(1967), Backpropagation (1974), Hopfield y Self-Organizing Map (SOM) (1980) 
y las redes basadas en ART (Adaptative Resonance Theory) (1986). 
 
De lo comentado anteriormente, se aprecia, que esta rama del tratamiento de 
la señal, tiene más de cincuenta años, sin embargo, sólo en las últimas 
décadas se ha desarrollado la tecnología que permite su aplicación de manera 
eficiente. 
 
La principal característica de todas las RNA, independientemente de su 
estructura y propiedades, es su capacidad de aprender. También, 
independientemente del tipo o características de la RNA, la unidad básica de 
todas las redes neuronales son las “neuronas”, elementos que se combinan, 
dando lugar a las diferentes estructuras de red existentes. 
 
 
Figura 36.- Neurona humana vs neurona artificial 
 
Trabajo Fin de Master Anexo II 
_____________________________________________________________________________________ 
 
 
 Universidad de Sevilla 
68 
El proceso de aprendizaje de las RNA, lo que persigue fundamentalmente, es 
el ajuste entre las conexiones de esas unidades básicas, las neuronas. 
Actualmente, uno de los campos de más debate es el del aprendizaje de estas 
estructuras. No existen unos fundamentos teóricos sobre la estructura que 
debe tener una RNA para un problema concreto, por lo tanto, el algoritmo de 
aprendizaje óptimo, variará en función de la aplicación concreta y por ende, de 
la estructura de la RNA. Por eso, los elementos más importantes para 
seleccionar la estructura y método de aprendizaje de las RNA, son por un lado, 
las características de la aplicación concreta y por otro, el conocimiento y 
experiencia que se tenga en el campo de la aplicación concreta en el que se 
esté trabajando. 
 
2. Clasificación de redes neuronales 
 
Como se ha visto, para enfrentarse a problemas reales, a lo largo de la historia 
los científicos y técnicos han ido planteando diferentes modelos de redes 
neuronales. Esto ha provocado la existencia de muchos modelos, algunos 
híbridos, siendo difícil una clasificación estricta de las RNA. 
 
Redgers y Alexander, establecieron una clasificación de RNA atendiendo a 
cinco propiedades: topología, arquitectura, modelo neuronal, algoritmo de 
aprendizaje y planificación de la ejecución. Kohonen, por otro lado, estableció 
una clasificación de RNA en tres grupos: Redes feedforward, redes 
backforward y redes competitivas. 
 
Actualmente, y atendiendo a dos de sus características principales, se 
consideran los siguientes tipos de RNA: 
 
Según su topología 
 
En función de la topología, es decir, del patrón de conexiones que presenta la 
RNA, se puede hablar de tres tipos básicos de redes: 
 
1) Red Feedforward 
 
2) Red Backforward 
 
Son dos tipos de redes de propagación hacia delante o acíclicas en las 
que todas las señales van desde la capa de entrada hacia la salida, sin 
existir ciclos ni conexiones, entre neuronas de la misma capa. En función 
de su estructura, pueden ser de dos clases: 
 
Monocapa (por ejemplo, el Perceptrón o el Adaline) 
 
Multicapa (por ejemplo, el Perceptrón Multicapa) 
 
3) Red Recurrente, que presenta al menos, un ciclo cerrado de activación 
neuronal (por ejemplo, la red Elman o la red Hopfield). 
 
 
Trabajo Fin de Master Anexo II 
_____________________________________________________________________________________ 
 
 
 Universidad de Sevilla 
69 
Según el algoritmo de aprendizaje 
 
En función del tipo de aprendizaje (si necesita o no un conjunto de 
entrenamiento supervisado). Para cada tipo de aprendizaje, existen varios 
modelos propuestos: 
 
1) Aprendizaje supervisado: necesitan un conjunto de datos de entrada 
previamente clasificado o cuya respuesta objetivo sea conocida. 
Ejemplos de este tipo de redes son: el perceptrón simple, la red Adaline, 
el perceptrón multicapa, red backpropagation y la memoria asociativa 
bidireccional. 
 
2) Aprendizaje no supervisado o autoorganizado: no necesitan de tal 
conjunto previo. Ejemplos de este tipo de redes son: las memorias 
asociativas, las redes de Hopfield, la máquina de Boltzmann y la 
máquina de Cauchy, las redes de aprendizaje competitivo, las redes de 
Kohonen o mapas autoorganizados y las redes de resonancia adaptativa 
(ART). 
 
3) Redes híbridas: son un enfoque mixto en el que se utiliza una función 
de mejora para facilitar la convergencia. Un ejemplo de este último tipo 
son las redes de base radial. 
 
4) Aprendizaje reforzado: se sitúa a medio camino entre el supervisado y 
el autoorganizado. 
 
Los siguientes apartados, se van a centrar en la estructura, funciones de 
activación y algoritmos de aprendizaje de las redes Perceptrón Multicapa (MLP, 
Multi-Layer Perceptron, en terminología anglosajona), debido a que son las 
más utilizadas en el estado de la técnica, para el modelado de las descargas 
eléctricas. 
 
3. Red Perceptrón Multicapa 
 
Un perceptrón multicapa (MLP) es una extensión de un perceptrón simple. Este 
modelo es el más utilizado en la actualidad, extendiéndose su aplicación a casi 
todos los ámbitos técnicos. 
 
La popularidad de este modelo de redes neuronales no se debe únicamente al 
éxito obtenido por su aplicación práctica, sino que existen demostraciones 
teóricas, que permiten explicar su éxito. En el estudio de Funahashi [24] se 
demuestra que una red MLP, cuya función de activación no sea constante, 
acotada y monótona creciente, es una aproximación universal de funciones. Al 
mismo tiempo, Hornik y algunos colaboradores, en su estudio [25], llegan a la 
misma conclusión, utilizando funciones de activación sigmoides, no 
necesariamente continuas. 
 
a) Principales elementos 
 
Los principales elementos para la definición de una red MLP son: 
Trabajo Fin de Master Anexo II 
_____________________________________________________________________________________ 
 
 
 Universidad de Sevilla 
70 
 
- Estructura de la red. 
- Funciones de activación. 
- Algoritmo de aprendizaje. 
 
 
 
 
 
Figura 37.- Esquema de entradas-salidas de red MLP de tres capas y modelo de neurona 
 
b) Funciones de activación 
 
 
Figura 38.- Funciones de activación de redes neuronales artificiales 
Trabajo Fin de Master Anexo II 
_____________________________________________________________________________________ 
 
 
 Universidad de Sevilla 
71 
 
 
c) Algoritmos de aprendizaje 
 
El aprendizaje esun proceso fundamental de las RNA y de forma general, 
consiste en el ajuste de todos los parámetros de la red, en base a la actividad 
para la que se quiera utilizar dicha red. Partiendo de un conjunto de pesos 
aleatorios, el aprendizaje busca un conjunto de pesos que permita a la RNA, 
desarrollar una tarea determinada. El aprendizaje es un proceso iterativo, en el 
que la red, va refinando sus parámetros, para alcanzar el objetivo de la 
aplicación concreta que se intenta abordar. 
 
Las redes MLP utilizan una función de error que mide su rendimiento actual, en 
función de sus pesos. El aprendizaje se convierte en un proceso de búsqueda 
de aquellos pesos que hagan mínima dicha función. 
 
Algoritmos de gradiente descendiente 
 
El algoritmo de gradiente descendiente es uno de los más utilizados en el 
estado de la técnica. Si se define E(w), como la función de error en función de 
los pesos (w) de la red, el aprendizaje busca un mínimo global de esta función 
de error. 
 
De forma iterativa, se puede expresar como que, dados los pesos de la red 
w(0) para el instante n = 0, se calcula la dirección de mayor variación de la 
función de error, que viene dada por el gradiente ∆E(w). Posteriormente, se 
actualizan los pesos, en los del sentido contrario a los de la variación de la 
función de error: 
 
w(n+1) = w(n) – α · ∆E(w) 
 
Algoritmo backpropagation 
 
El algoritmo backpropagation, es el algoritmo de aprendizaje supervisado de 
gradiente descendiente más usado. Sin embargo, este algoritmo posee una 
convergencia muy lenta y también, puede provocar la caída en un mínimo local 
(con gradiente cero, pero error puede ser significativo), y por tanto, se han 
planteado mejoras para acelerar su convergencia y evitar el problema de la 
caída en un mínimo local. 
 
Entre estos algoritmos mejorados, se encuentran el algoritmo backpropagation 
con momento, 
 
w(n+1) = w(n) – α · ∆E(w) +η· ∆w(t) 
 
que consiste, en tener en cuenta, en los cambios de los pesos, el gradiente de 
la iteración anterior, realizando un promedio de éste y el actual. η es el 
momento del algoritmo y su efecto es tal, que acelera el cambio, si las 
direcciones de las dos iteraciones son similares y realiza pasos más pequeños, 
si se produce oscilación en el gradiente. 
Trabajo Fin de Master Anexo II 
_____________________________________________________________________________________ 
 
 
 Universidad de Sevilla 
72 
 
Algoritmo Quasi-Newton 
 
Puede que la dirección del gradiente no sea la que más rápido converja hacia 
el mínimo de la función de error. De esta manera, existen modelos que 
actualizan sus pesos en base a la expresión 
 
w(n) = w(n-1) + α(n) · d(n) 
 
donde, 
 
d(n), indica la dirección de búsqueda de la iteración n. 
 
Esta dirección, es la conjugada de las (n-1) direcciones anteriores, por lo que, 
se puede generalizar la expresión anterior como 
 
w(n) = w(n-1) – H(w(n-1))-1 · ∆E(w) 
donde, 
 
H, es la matriz Hessiana. 
 
El método de Newton puede que no converja (si el punto inicial no está 
suficientemente cerca del óptimo), pero si lo hace, su rapidez, es del orden de 
diez a cien veces superior a la del gradiente descendiente. 
 
Algoritmo basado en el método Levenberg-Marquardt 
 
El algoritmo de Levenberg-Marquardt es una modificación del método de 
Newton, que elimina el cálculo de la matriz Hessiana. La actualización de los 
pesos sigue la expresión 
 
w(n) = w(n-1) + α(n) · d(n) 
 
Al mismo tiempo, la magnitud del cambio de los pesos viene dada por la 
expresión 
 
∆w(n) = – α·M(w) · ∆E(w) 
 
Si M(w) = I, se convierte en el algoritmo de gradiente descendiente. 
Si M(w) = H-1(w), se tiene el método de Newton. 
 
Se suele establecer M(w) en un valor de compromiso, M(w) = [ ] 1))((· −+ nwHIµ 
 
Por lo tanto, la actualización de los pesos sigue la expresión: 
 
w(n) = w(n-1) - α(n) · [ ] 1))((· −+ nwHIµ ·∆E(w) 
 
Trabajo Fin de Master Anexo II 
_____________________________________________________________________________________ 
 
 
 Universidad de Sevilla 
73 
En comparación con los algoritmos de gradiente descendiente, el algoritmo de 
Levenberg-Marquardt requiere un mayor esfuerzo computacional, pero su 
convergencia es más rápida. 
 
d) Algunas consideraciones sobre la capacidad de generalización 
 
Una vez finalizado el aprendizaje, la RNA puede ser utilizada para la tarea para 
la que se entrenó. Desde este punto de vista, a partir de los patrones existentes 
en los datos de entrenamiento, la red adquiere la capacidad de generalizar y 
poder utilizarse para otros datos distintos para los que fue entrenada. Por eso, 
es necesario evaluar la RNA, no sólo considerando su capacidad para 
aprender los patrones del entrenamiento, sino también su comportamiento ante 
patrones de datos de entrada nunca vistos. Esta capacidad es la que se 
conoce como capacidad de generalización. 
 
Durante la fase de entrenamiento, se deben analizar dos tipos de errores: el 
error de aprendizaje, indica la calidad de la respuesta de la red a los patrones 
de entrenamiento y el error de generalización, que indica la calidad de la 
respuesta de la red a patrones nunca vistos. 
 
La causa más común de perdida de capacidad de generalización es el 
sobreaprendizaje. Esto sucede cuando la cantidad de ciclos de entrenamiento 
tiende a ser muy alta. Al aumentar el número de ciclos, la red tiende a 
sobreajustar la respuesta a los patrones de entrenamiento, a expensas de una 
menor capacidad de generalización. La figura 39, muestra una situación 
idealizada de lo anterior, existiendo un punto, donde la red empieza a perder la 
capacidad de generalización, como consecuencia del sobreaprendizaje de los 
patrones de entrenamiento. 
 
 
 
 
Figura 39.- Representación de la generalización de una red neuronal artificial 
 
En ocasiones la perdida de capacidad de generalización se produce por un uso 
excesivo de neuronas ocultas en la red neuronal. Esto hace que la red tienda a 
ajustar con mucha exactitud los patrones de entrenamiento, impidiendo que la 
red extraiga las características del conjunto.

Continuar navegando