Perceptrón Multicapa

 

Ahora que conocemos algo acerca de las redes neuronales, veamos el modelo más importante (por su antigüedad y utilidad) de red neuronal. Este modelo, el perceptrón multicapa, se basa en el perceptrón simple y resuelve de forma eficiente problemas de clasificación y reconocimiento de patrones.

 

 

PERCEPTRÓN SIMPLE

            El Perceptrón Simple (Rosenblatt, 1959), consta de una red con una capa de salida de n neuronas y otra de salida con m neuronas.

             Utiliza señales binarias, tanto de entrada como de salida de las neuronas y su función de activación es de tipo signo (ver figura 3).

 Como regla de propagación se usa la suma ponderada del producto escalar por el vector de entrada, debiendo superarse un cierto umbral :

 La regla de aprendizaje es una variante de la ley de Hebb:

siendo el factor de aprendizaje (una constante empírica que determina la facilidad con la que la red aprende) e y’i la salida deseada.

 El perceptrón simple, como otras redes neuronales contemporáneas (el Adaline de Widrow-Hoff, etc.) , se revelaron inútiles cuando años más tarde Minsky publicó un artículo que venía a recoger todas sus limitaciones:

 El perceptrón simple sólo sirve para clasificar problemas linealmente separables, cosa que ya se podía hacer mediante métodos estadísticos, y de una forma mucho más eficiente.

 

 

 

PERCEPTRÓN MULTICAPA

           

El Perceptrón Multicapa (MLP), debido al grupo PDP (Paralell Distributed Processing) de 1986, es una extensión y generalización del perceptrón simple en el que:

·        Se añaden una o más capas ocultas. Generalmente una capa oculta es suficiente.

·        Se permiten entradas continuas.

·        Las funciones de activación son de tipo sigmoide (puede ser lineal en la capa de salida).

Su principal ventaja e innovación es su algoritmo de aprendizaje, el algoritmo de retropropagación (en inglés backpropagation, BP), debido a Werbos, Rumelhart y Parker. El incremento de cada peso wij se expresa como:

aj(t) es la salida del elemento de proceso j

es la derivada de la señal de error en la capa de salida con relación a la función de activación en el elemento de proceso i ( que es, como en el perceptrón simple, el producto escalar de vector de entrada por vector de pesos)

 Si el elemento i al que se refiere es un elemento de salida:

 

con f’i la derivada de la función de transferencia (sigmoide), con lo que nos queda:

        El problema es propagar estas expresiones desde la capa de salida a las capas anteriores. Si el elemento i es de una capa interior (entrada u oculta):

con h=1...n, siendo n=número de elementos de proceso en la capa destino.

 Si la función de transferencia es sigmoide, tenemos:

                           

Estas ecuaciones forman la llamada regla delta generalizada.

La regla delta generalizada es en el fondo un algoritmo del gradiente, que trata de minimizar el error cuadrático medio (MSE – Medium Square Error):

      1.      Se aplica una pareja de ejemplo (x,y)

2.      Se propaga hacia adelante y calculamos la salida real y’

3.      Se calcula el error según la diferencia entre y e y’

4.      Se van modificando los pesos hacia atrás

5.      Volvemos al paso 1 hasta que se alcance un cierto valor mínimo de error.

El proceso de entrenamiento y minimización del error puede sufrir distintos contratiempos. Uno es el sobreentrenamiento, que hace que, cuando la red entrena demasiado, pierda capacidad de generalización.

El otro fenómeno es el sobreajuste, que ocurre cuando hay demasiadas neuronas en la capa oculta, y que implica también pérdida en la capacidad de generalización.

Aquí podemos ver una gráfica con la evolución del error la lo largo del tiempo, y el efecto del sobreentrenamiento:

 

        Teorema de Kolmogorov:

“Dada cualquier función continua f(0,1)n --> Rm, existe una RNA de 3 capas, de propagación hacia adelante, con n elementos de proceso en la capa de entrada, m en la de salida y (2n+1) en la capa oculta; que implementa dicha función de forma exacta”

        Sin embargo, el Teorema de Kolmogorov es un teorema de existencia. No hay ninguna técnica que nos diga cómo obtener la arquitectura de red para un determinado problema, ni mucho menos cuál es la arquitectura de red óptima para el problema.

         A pesar de todos los éxitos del MLP y del algoritmo de BP, todavía quedan por resolver algunos problemas importantes:

·        El tiempo de computación necesario para el entrenamiento puede llegar a ser muy alto. Como hemos visto, es un problema asumible, pues una vez entrenada, la red puede congelar sus pesos y continuar funcionando.

·        Parálisis de red: Cuando los pesos alcanzan valores muy altos, la función sigmoide hace que la salida de la capa oculta sea muy cercana a 0 ó 1. De las ecuaciones del algoritmo de BP se deduce que el incremento de pesos en esos casos es prácticamente nulo, lo cual produce una parálisis en el entrenamiento. Una posible solución es añadir una pequeña cantidad de ruido a la salida de la neurona.

·        Mínimos locales: la función de error de una red compleja está llena de valles y picos, y la propia naturaleza del algoritmo puede producir la caída en uno de los valles, que no es necesariamente el mínimo. Una posible solución es incrementar el número de neuronas ocultas, pero como se ha visto, estos produce otros efectos secundarios indeseables.