PERCEPTRON MULTICAPA

20
1 COMPUTACIÓN NEURONAL Y EVOLUTIVA Oswaldo Velez-Langs, [email protected] Ernesto Staffetti, [email protected] Web: http://platon.escet.urjc.es/~ovelez/docencia/cne/ PERCEPTRON MULTICAPA INTRODUCCION El Perceptrón Multicapa (MLP, Multilayer Perceptron) al igual que la mayoría de las redes neuronales artificiales, crean modelos a partir de multiplicadores, sumadores, funciones, etc. El perceptrón multicapa (Rumelhart et al., 1986) es el exponente más típico de las redes neuronales artificiales con aprendizaje supervisado.

Transcript of PERCEPTRON MULTICAPA

Page 1: PERCEPTRON MULTICAPA

1

COMPUTACIÓN NEURONAL Y EVOLUTIVA

Oswaldo Velez-Langs, [email protected]

Ernesto Staffetti, [email protected]

Web: http://platon.escet.urjc.es/~ovelez/docencia/cne/

PERCEPTRON MULTICAPA

INTRODUCCIONEl Perceptrón Multicapa (MLP, Multilayer Perceptron) al

igual que la mayoría de las redes neuronales artificiales, crean modelos a partir de multiplicadores, sumadores, funciones, etc. El perceptrón multicapa (Rumelhart et al., 1986) es el exponente más típico de las redes neuronales artificiales con aprendizaje supervisado.

Page 2: PERCEPTRON MULTICAPA

2

IntroducciónEl entrenamiento de estas redes, se basa en la

presentación sucesiva y de forma reiterada, de pares de vectores en las capas de entrada y salida (vectores entrada y salida deseada). La red crea un modelo a base de ajustar sus pesos en función de los vectores de entrenamiento, de forma que a medida que se pasan estos patrones, para cada vector de entrada la red producirá un valor de salida más similar al vector de salida esperado. Estas redes también se llaman de retropropagación (backpropagation), nombre que viene dado por el tipo de aprendizaje que utilizan.

INTRODUCCION

• Los perceptrones multicapa con aprendizaje de retropropagación son una variación del modelo ADALINE (Widrow et al., 1960), que utiliza la regla Delta como forma de aprendizaje (Esta regla de aprendizaje, se fundamenta en la utilización del error entre la salida real y esperada de la red para modificar los pesos).

• Estas redes adaptan la regla Delta de tal forma, que se facilite el entrenamiento de todas las conexiones entre los distintos niveles de la red.

Page 3: PERCEPTRON MULTICAPA

3

Red Multicapa

Page 4: PERCEPTRON MULTICAPA

4

BACKPROPAGATION

Page 5: PERCEPTRON MULTICAPA

5

BACKPROPAGATION

• Procedimiento para encontrar el vector gradiente de una función error asociada a la salida de la red con respecto a los parámetros de la misma.

• El nombre backpropagation surge pues del cálculo que se hace en el sentido inverso de la red, propagándose desde los nodos de salida hacia los nodos de entrada

• Esto permite poder aplicar a posteriori alguno de los muchos métodos de optimización con gradiente para obtener el comportamiento deseado de la red

BACKPROPAGATION

Page 6: PERCEPTRON MULTICAPA

6

El Backpropagation Standard es el algoritmo de descenso del gradiente donde los pesos de la red son movidos a lo largo de la dirección negativa del gradiente (Es donde se minimiza para obtener T).

Existen varias técnicas como lo son:

• El algoritmo del gradiente conjugado.

• El algoritmo de Newton.

En ultima instancia lo que busca este algoritmo del Backpropagation es el entrenamiento de Redes Neuronales Feedforward, con las cuales podemos resolver problemas específicos como: Aproximación de Funciones, clasificación, asociación de vectores, etc.

BACKPROPAGATION

BACKPROPAGATION

Page 7: PERCEPTRON MULTICAPA

7

BACKPROPAGATION

BACKPROPAGATION

Page 8: PERCEPTRON MULTICAPA

8

BACKPROPAGATION

BACKPROPAGATION

Page 9: PERCEPTRON MULTICAPA

9

BACKPROPAGATION: RESUMEN

Page 10: PERCEPTRON MULTICAPA

10

BACKPROPAGATION: RESUMEN

BACKPROPAGATION: RESUMEN

Page 11: PERCEPTRON MULTICAPA

11

BACKPROPAGATION: RESUMEN

BACKPROPAGATION: RESUMEN

Page 12: PERCEPTRON MULTICAPA

12

CONCLUSION

• Las redes perceptrón multicapa (también denominadas redes de retropropagación), se engloban dentro de las redes con aprendizaje supervisado, es decir, utilizan para su entrenamiento patrones formados por un vector de entrada y un vector de salida. Son una variación del modelo ADALINE que utiliza la regla Delta como forma de aprendizaje.

El método de aprendizaje consta de dos etapas:

• En la primera, los patrones de entrada se presentan a la capa deentrada de la red. Esta información se propaga de capa en capa. Las neuronas de las capas intermedias, calculan la suma de los productos de los valores de las neuronas de entrada y los valores de los pesos asociados a las conexiones, utilizando esta suma para computar el valor de la función de activación, hasta obtener un resultado en la capa de salida.

• En la segunda etapa, el resultado que proporciona la red en la capa de salida es comparado con el resultado esperado para cada uno de los vectores de entrenamiento, calculando el error que se utiliza para modificar los pesos de las capas intermedias. Por esta razón a este tipo de redes se les denomina de retropropagación.

CONCLUSION

Page 13: PERCEPTRON MULTICAPA

13

El proceso de aprendizaje del perceptrón puede resumirse:

• Partiendo de un punto aleatorio W(0) del espacio donde nw es el numero de parámetros de la red (pesos + umbrales), el aprendizaje desplaza el vector de parámetros W(n-1) en el espacio siguiendo la dirección negativa del gradiente del error en dicho punto, alcanzando así un nuevo punto W(n) que estará más próximo al mínimo del error que el anterior . El proceso continua hasta encontrar un mínimo de la función de error E, lo que sucede cuando

wnR

wE

∂∂

Capacidad de Generalización• A la hora de evaluar el perceptron, no sólo es importante

saber si la RN ha aprendido con éxito los patrones de entrenamiento, sino que es imprescindible, conocer el comportamiento de la misma ante patrones no usados durante este.

• De nada sirve que una RN aprenda correctamente los patrones de entrenamiento y no responda de forma adecuada ante patrones nuevos. Es necesario que durante el aprendizaje la RN extraiga las características de las muestras que le permitan responder correctamente a patrones diferentes.

Page 14: PERCEPTRON MULTICAPA

14

Capacidad de Generalización• Para que se dé la generalización es necesario

disponer de dos conjuntos de muestras o patrones; uno para entrenar la red y modificar sus pesos y umbrales (conjunto de entrenamiento) y otro para medir la capacidad de la RN de responder correctamente ante patrones que no han sido usados durante el entrenamiento (conjunto de validación o test).

• Los anteriores deben obtenerse de separaciones aleatorias dentro de las muestras disponibles

Page 15: PERCEPTRON MULTICAPA

15

Deficiencias del PMCA pesar de su éxito, el algoritmo de retropropagación tiene

algunas deficiencias que son analizadas a continuación:Minimos Locales• La superficie que define el error E en función de los

parámetros de la red es compleja y ruidosa. Debido a la utilización del método del gradiente se corre el riesgo que el proceso finalice en un mínimo local

• Una forma de evitar lo anterior es aumentar el numero de neuronas ocultas dado que se supone que la RN posee un escaso poder de representación interna. Otro posible método es utilizar una tasa de aprendizaje que decrezca a medida que se avanza en el proceso de aprendizaje

Deficiencias del PMCParalisis• Este fenómeno también se conoce como saturación, y

se produce cuando la entrada total a una neurona de la red toma valores muy altos, tanto positivos como negativos, dado que las funciones de activación poseen dos asintotas horizontales, si la entrada alcanza un valor alto. esta se satura y alcanza un valor de activación maximo o mínimo.

• Este fenómeno se produce fundamentalmente cuando los parámetros toman valore altos, por ello se recomienda partir de valores iniciales aleatorios próximos a cero

Page 16: PERCEPTRON MULTICAPA

16

Ejemplo de funcionamiento• El siguiente ejemplo muestra los pasos a seguir

para la resolución de un problema utilizando el PMC y también la influencia que ciertos parámetros podrían tener en el comportamiento de la red.

• El caso trata sobre aproximación de funciones, supóngase que se desea construir un PMC para aproximar la sgte. función definida por partes.

Page 17: PERCEPTRON MULTICAPA

17

Ejemplo de funcionamiento

Conjunto de muestras o ejemplos• En este caso (dado que se conoce la expresión

analítica) podemos obtener dicho conjunto sobre el intervalo[-10,10] en concreto 200 muestras uniformemente distribuidas.

• Aunque no es estrictamente necesario, es recomendable realizar una transformación de los datos de entrada y salida para que estén normalizados o escalados en el intervalo [0,1]

Ejemplo de funcionamiento

Extracción de los conjuntos de entrenamiento y test

• Del conjunto de muestras disponibles se extraen estos dos conjuntos. Es conveniente realizar dicha separación de forma aleatoria, para que los conjuntos no tengan ningún sesgo de información sobre el problema, en este caso puede tomarse un 60% para entrenar y un 40% para validar.

Page 18: PERCEPTRON MULTICAPA

18

Ejemplo de funcionamiento

Diseño de la arquitectura del PMC• Para este caso el PMC tiene una neurona de

entrada y otra neurona de salida, en una primera aproximación se fija una única capa oculta con 10 neuronas. Posteriormente dicho parámetro será modificado con el objeto de conseguir la red más adecuada

Ejemplo de funcionamientoProceso de aprendizaje• Una vez definida la arquitectura de la red, se

procede a realizar el entrenamiento de la misma. Para ello se debe en primer lugar fijar los parámetros que intervienen en dicho proceso: la razón de aprendizaje y el numero de ciclos de aprendizaje. Ambos parámetros siempre van a depender del problema a resolver y quizás sea necesario realizar simulaciones previas para fijarlos de acuerdo al problema, en este caso se fijan a: α= 0. 2 y 30000

Page 19: PERCEPTRON MULTICAPA

19

Ejemplo de funcionamiento

Cuestiones• ¿Cómo afecta el numero de neuronas

ocultas la resolución de este problema?• ¿Cómo afecta la razón de aprendizaje al

proceso de entrenamiento?

Ejemplo de funcionamiento

Page 20: PERCEPTRON MULTICAPA

20

Los MLP son aproximadoresuniversales

Teorema: Sea g una función real creciente y acotada, sea K un conjunto compacto en Rd ,y f K ->R una función continua. Entonces para cada ε > 0 existe un k ∈ N y w i , w ij , θi , ∈ R tales que

Donde:

Prueba en: G. Cybenko. Approximation by superpositions of a Sigmoid

function. Mathematics of Control, Signals and Systems, 2:303--314, 1989

Ejemplo de funcionamiento