Presentaci - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Presentaci

Description:

El Backpropagation es una variante del algoritmo del decenso por gradiente que ... el gradiente se requiere primero propagar hacia atr s las sensibilidades. ... – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 27
Provided by: lucianom3
Category:

less

Transcript and Presenter's Notes

Title: Presentaci


1
El algoritmo backpropagation  Objetivo Presentar
una generalización del algoritmo LMS llamada
Backpropagation. El Backpropagation se utiliza
para entrenar redes multicapas. El
Backpropagation es una variante del algoritmo del
decenso por gradiente que tiene como índice de
rendimiento el error cuadrático medio. La
diferencia entre el Backpropagation y el
algoritmo LMS está en la forma en que se calculan
las derivadas. En redes unicapas lineales, el
error es una función lineal de los pesos. Las
derivadas con respecto a los pesos se calculan
fácilmente. En redes multicapas con funciones de
transferencia no lineales, la relación entre los
pesos y el error es más compleja. Las reglas de
aprendizaje del perceptrón de Rosenblatt y el
algoritmo LMS de Widrow-Hoff fueron diseñadas
para entrenar redes unicapa tipo perceptrón. 
2
Esas redes tienen la desventaja de que solo
pueden resolver problemas de clasificación donde
las entradas sean linealmente separables. El
backpropagation fue descubierto en 1974 por Paul
Werbos y luego redescubierto independientemente
en la década de 1980 por Rumelhart, Hinton,
Williams, Parker y Le Cun. Las redes
perceptrónicas multicapas entrenadas con
backpropagation es el tipo de red que ha
alcanzado mayor aplicación. Redes de
perceptrones multicapas Son cascadas de redes
unicapa de perceptrones. Cada capa puede tener
una función de transferencia diferente y un
número de neuronas también diferente.
3
b2S
a3 f3(W3f2(W2f1(W1p b1) b2) b3)
4
Ejemplo Redes multicapas para clasificación de
patrones.   Las entradas/salidas para la
función XOR son
Pi ti
Gráficamente tenemos el problema
5
Como las dos categorías no son linealmente
separables, un perceptrón unicapa no puede lograr
la clasificación.   Este problema se resuelve con
una red de dos capas, y con otras redes
multicapas. Una solución será utilizar dos
neuronas en la primera capa para crear dos
fronteras de decisión. La primera que separe p1
de los otros patrones, y la segunda que haga lo
mismo con p4.   La segunda capa con una sóla
neurona, se utiliza para combinar las dos
fronteras.
6
Ejemplo Redes multicapas para aproximar
funciones. Las redes multicapas implementan
funciones.
Consideremos una red de la forma una entrada,
dos neuronas en la primera capa con función de
transferencia log-sigmoidal, y una neurona en una
segunda capa con función de transferencia
lineal.   f1(n) 1/(1e-n) f2(n)
n   Supongamos que los valores nominales de los
pesos y los sesgos para la red son
Si se varía el valor de la entrada p en el rango
-2,2, la salida de la red será algo como
7
Al ajustar los pesos de la red, su salida
cambiará, no sólo de forma sino se desplazará
hacia arriba, abajo, etc. Los parámetros se
pueden cambiar todos o uno a la vez. Se puede
aproximar casi cualquier función, si se tiene un
número suficiente de neuronas en la capa oculta.
8
Cómo entrenar tales redes multicapas? El
algoritmo Backpropagation   Recordemos que en
redes multicapas, la salida de una capa es la
entrada a la siguiente
M es el número de capas en la red. Las neuronas
en la primera capa reciben las entradas externas
p. Las salidas de las neuronas de la última capa
son las salidas a de la red.   Indice de
rendimiento del backpropagation el error
cuadrático medio.   El algoritmo cuenta con un
conjunto de patrones de entrenamiento de la red
9
Cuando cada entrada pq se le aplica a la red, la
salida de la red se compara con la salida
esperada tq   El algoritmo ajusta los parámetros
de la red con el fin de minimizar el error
cuadrático medio
X es el vector de pesos y sesgos.   Si la red
tiene varias salidas, la generalización es
Igual que con LMS, se estima o aproxima el error
cuadrático medio por
para un instante k
El valor esperado del cuadrado del error se
reemplazó por el cuadrado del error en la
iteración k.   El algoritmo del decenso por
gradiente para el error cuadrático medio
aproximado es
10
Cálculo de las derivadas parciales   En redes
multicapas, el error no es una función explícita
de los pesos en las capas ocultas, por lo tanto
las derivadas no son fáciles de calcular. Para
calcular tales derivadas se usa la regla de la
cadena. Regla de la cadena   Supongamos que
tenemos una función f que es una función
explícita de la variable n. Supongamos que
queremos tomar la derivada de f con respecto a la
variable w
11
Aplicando este concepto al cálculo del gradiente
La entrada de red en la capa m es una función
explícita de los pesos y sesgos en esa capa
Sm-1 es el número de neuronas (salidas) en la
capa m-1.
Entonces
Se define una nueva variable, la sensibilidad del
índice de rendimiento a cambios en el i-ésimo
elemento de la entrada de red en la capa m
12
El gradiente se convierte en
El algoritmo del decenso por gradiente aproximado
queda
En forma matricial para la capa m
13
Falta calcular ese gradiente, la sensibilidad del
error ante entradas de red. Esto es lo que se
conoce como Backpropagation. Cálculo de las
sensibilidades
Se requiere de nuevo la regla de la cadena. El
término backpropagation se debe a que se describe
una relación recurrente en la cual la
sensibilidad en la capa m se calcula de la
sensibilidad en la capa m1.   Par obtener las
sensibilidades se usa la siguiente matriz
Jacobiana
 
14
Para cualquier elemento de la matriz
La nueva forma matricial del Jacobiano
15
La relación de recurrencia para la sensibilidad
(el backpropagation) usando la regla de la cadena
en forma matricial será
Las sensibilidades se propagan hacia atrás a
través de la red, desde la última capa hasta la
primera.   El backpropagation usa la misma
técnica del decenso por gradiente aproximado que
el LMS, solo que para calcular el gradiente se
requiere primero propagar hacia atrás las
sensibilidades. Es una implementación de la regla
de la cadena.
16
El algoritmo se inicia con la capa final
En forma matricial
17
Ejemplo Se desea aproximar una función con una
red de dos capas, la primera de dos neuronas con
función de transferencia log-sigmoide y la
segunda capa de una neurona con función de
transferencia lineal. La red tiene una sóla
entrada. Se desea aproximar la función
Para obtener el conjunto de entrenamiento se
evalúa esa función en diferentes de valores de
p. Se escogen los valores iniciales para los
pesos y los sesgos
 
Para el primer valor de p
La salida de la primera capa
18
La salida de la segunda capa
El error será
19
Cálculo de los nuevos pesos y sesgos   Necesitamos

En forma matricial
20
Para la segunda capa
Para la primera capa
21
Supongamos para actualizar los pesos, una tasa de
aprendizaje de 0.1 Para la segunda capa
Para la primera capa
22
De esta manera se completa la primera iteración,
al presentar una sóla entrada. El siguiente paso
sería escoger otra entrada p y realizar el mismo
procedimiento. Se continua hasta que la
diferencia entre las salidas de la red y las
esperadas logren un nivel aceptable.
23
Uso del backpropagation   En general, no podemos
decir cuántas capas o cuántas neuronas se
necesitan para lograr un rendimiento adecuado de
las ANN (escogencia de arquitecturas). Hay que
experimentar con varias neuronas en la capa
interna para lograr aproximar funciones
arbitrarias.   Convergencia Cuando no se obtiene
un buen rendimiento de la red, es porque la
capacidad de las redes está limitada por el
número de neuronas internas. Las condiciones
iniciales influyen en la búsqueda de un mínimo
local o un mínimo global. En el LMS se garantiza
la ubicación de un mínimo global cuando la tasa
de aprendizaje es pequeña. El error cuadrático
medio para redes multicapas es muy complejo y
tiene muchos mínimos locales. Cuando el
Backpropagation converge, no estamos seguros que
lo haga a un mínimo global. Para ello, se hace el
entrenamiento con varias condiciones iniciales.
24
Generalización En la mayoría de los caso el
entrenamiento se hace con un número finito de
patrones. Ese conjunto de patrones representa los
pares entradas/salidas de tantas clases
diferentes como sea posible. Lo que se busca es
que la red generalice lo que ha aprendido de la
población.   La generalización, tiene que ver con
la capacidad de la red de responder adecuadamente
ante entradas que no forman parte de conjunto de
entrenamiento.   Por ejemplo, se le presenta un p
distinto a los del conjunto de entrenamiento
(después de entrenada), si responde tal como lo
haría la función que se está aproximando, la red
hará una buena generalización.   Para que una red
realice una buena generalización, debe contener
menos parámetros que el número de patrones del
conjunto de entrenamiento. Como en todos los
problemas de modelado, se desea la red más simple
para representar de manera adecuada el conjunto
de entrenamiento.
25
Variaciones de Backpropagation Objetivo Aumentar
la velocidad de convergencia para las
aplicaciones prácticas.   Técnicas heurísticas
tasa de aprendizaje variable, uso del momentum,
re-escalado de variables, etc.   El entrenamiento
de las redes de conexión hacia delante para
minimizar el error cuadrático medio es un
problema de optimización.   Técnicas de
optimización el algoritmo del gradiente
conjugado y el algoritmo de Levenberg-Marquardt
que es una variación del método de Newton.   La
diferencia entre todos los métodos está en la
forma que se usan las derivadas para modificar
los pesos.   El backpropagation es una
generalización del LMS. Cuando se usa con redes
unicapa lineales, son equivalentes. Los pesos
iniciales y los sesgos se escogen aleatorios de
valores pequeños.
26
En la variación batching, los parámetros se
modifican después de que se le presentan todas
las entradas de entrenamiento.   El momentum es
un filtraje que se hace de los parámetros para
evitar la oscilación de sus valores. El momentum
mantiene la trayectoria del error o de los
parámetros en una dirección. En cuanto a la
variación de la tasa de aprendizaje, si el error
se incrementa, sobre el 5, después de que se le
presenta todo el conjunto de entrenamiento, se
desecha el cambio, y la tasa de aprendizaje se
multiplica por algún factor entre 0ltfactorlt1. Si
el error decrece, entonces la modificación de los
pesos se acepta y la tasa de aprendizaje se
mutiplica por algún factor gt 1. Lo mismo pasa con
el momentum.
Recordar sobreentrenamiento.
Write a Comment
User Comments (0)
About PowerShow.com