Vous êtes sur la page 1sur 12

Redes neuronales (y algoritmos genticos)

1. El Perceptron 2. Descenso por gradiente 3. Regla Delta 4. Redes multicapa 5. Funciones de activacin 6. Retropropagacin 7. Computacin evolucionista

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

transp. 1

Neurona formal (1943)


e 1 e n i 1 i m

s=1 si (

U) y (

i = 0)
j

El modelo simula: Sinapsis excitadoras e inhibidoras Umbral de excitacin Sumacin espacial

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

transp. 2

Neuronas formales y lgica de orden 0

McCulloch y Pitts (1943)


x x x 1 2 3 3 x x x 1 2 3 x x x 1 2 3 2 x x x 1 2 3 x x x x x 1 2 x 3 1 x x x 1 2 3 x x 1 2 1 3 1 x x x 1 2 3 x x 1 2 3 1 1 1 x x +x x 1 2 1 2 1 x +x +x 1 2 3

1 x x x

1 2

1 2

Regla de entrenamiento (refuerzo):

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

Si s 1 y r 1 reducir los wi correspondientes a xi aumentar los correspondientes a xi 0

0y
transp. 4

Si s 1 y r 1 aumentar los wi correspondientes a xi reducir los correspondientes a xi 0

 

x 1 x2

xn r

 

Conjunto de entrenamiento:

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

transp. 3

El Perceptron (Rosenblatt, 1958)


x0=-1 w 0 y= w x i i s = 1 si y > 0 s = -1 si y <= 0

w 1

w n x n

11

0y

Algoritmo del Perceptron


x x0=-1 w 0 y= w x i i s = 1 si y > 0 s = -1 si y <= 0

w 1

w n x n

while (!cond_term) { for (e=0; e<nEj; e++) for (i=0; i<=n; i++) { dw[i] = k*(r[e]-s[e])*x[i][e]; w[i] = w[i] + dw[i]; } } x[i][e] = xi para el ejemplo e

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

transp. 5

Convergencia del Perceptron

n algoritmo de refuerzo

Minsky y Papert (1969)

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

Condicin de convergencia: separabilidad lineal en el espacio x1 x2

xn

transp. 6

Descenso por gradiente: principio

1 r e se 2 E w 2 (e: ndice de ejemplos)


Error de una hiptesis w :

Idea: acercarse al mnimo mediante incrementos de w proporcionales al gradiente de E

c 2002 DIT-ETSIT-UPM

Descenso por gradiente: adaptacin de pesos

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

wi

K re

se xie

E wi

1 2 wi

re

se

re

Como se

w xe , se xie

E w

1 2

re

se 2 ;

E w0

E wn

K E

E w0

E wn

: direccin de mximo crecimiento de E

Aprendizaje: redes neuronales (y algoritmos genticos)

Elemento lineal: y x

sx

w x
E

w 2

w 1

transp. 7

K E

transp. 8

Descenso por gradiente: algoritmo

while (!cond_term) { for (i=0; i<=n; i++) dw[i] = 0; for (e=0; e<nEj; e++) for (i=0; i<=n; i++) dw[i] = dw[i] + k*(r[e]-s[e])*x[i][e]; for (i=0; i<=n; i++) w[i] = w[i] + dw[i]; } x[i][e] es xie: valor de la entrada i para el ejemplo e

Variante del algoritmo del gradiente (Widrow y Hoff, 1960: adalines):


Iteracin sobre los ejemplos, modicando wi para cada uno

while (!cond_term) { for (e=0; e<nEj; e++) for (i=0; i<=n; i++) w[i] = w[i] + k*(r[e]-s[e])*x[i][e]; }

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

Algoritmo (igual al del Perceptron, pero re se

0 1 ):

No funcin error global, sino por ejemplo: Ee w


1 2

re

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

transp. 9

Descenso incremental o regla delta

se

transp. 10

Diferencias entre Perceptron, Gradiente y Regla Delta

Delta aproxima Gradiente para K sucientemente pequeo, y requiere menos computacin Si hay varios mnimos (funciones de activacin no lineales), Delta mejor que Gradiente para evitar mnimos locales Perceptrn usa el error (discreto) a la salida del umbral; Gradiente/Delta, el error (continuo) de la combinacin lineal de entradas Perceptrn converge tras un nmero nito de iteraciones a una hiptesis (w) que clasica perfectamente los ejemplos siempre que stos sean linealmente separables Gradiente/Delta convergen asintticamente a una hiptesis de mnimo error (local) aunque los ejemplos no sean linealmente separables (Demostraciones en Hertz et al., 1991)

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

transp. 11

Redes multicapa

Perceptron y otras funciones de activacin con una sola capa: limitacin por la condicin de separabilidad lineal Se pueden conseguir supercies no lineales con una red de varias capas? Para funciones lgicas, s (ejemplo tpico: ORX) Pero no con el algoritmo del gradiente ni la regla delta: la red seguira siendo lineal Con funciones de activacin no lineales? (como el Perceptron) Nuestra opinin personal es que la extensin es estril (Minsky y Papert, 1969)

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

transp. 12

El entrenamiento de redes multicapa

Problema del entrenamiento: asignacin de mrito (credit assignment) Mrito (o responsabilidad) de un peso (wi j : E medida de su contribucin al error global ( w ) Dicultad con el Perceptron: la funcin de activacin no es diferenciable Se necesita una neurona con funcin de activacin no lineal, para conseguir supercies no lineales

ij

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

Neurona no lineal y diferenciable


x 1j w 1j x0j =-1 w 0j y= j wnj x nj
E y j y j wi j 1 y j 2

w x ij ij

("net ") j

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

wi j

K j xi j , con j

rj

sj sj 1

sj

transp. 14

rj

sj

rj

sj

rj

sj sj 1

Si se conoce r j (neurona de salida) para un ejemplo e,

Ee y j

E wi j

E y j

xi j
s j y j

Con esta funcin sigmoidal (o logstica),

ds dy

sy

diferenciable, para poder calcular wi j

E wi j

transp. 13

s(y j) =

1 -y 1+e j

sy

sj

Notacin para redes multicapa

xi j : entrada a la neurona j procedente de la i


(para la capa de entrada, entradas a la red)

wi j : peso de la conexin de la neurona i a la j j : factor de error de la neurona j e: ndice sobre los ejemplos l : ndice sobre las neuronas de salida h r: ndices sobre neuronas ocultas
Para varias neuronas de salida el error global de una hiptesis w es:

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

Ajuste de pesos en redes multicapa Considerando regla Delta, wi j

Para la funcin de activacin sigmoidal resulta:


Neuronas de la capa anterior a la de salida: Neuronas de la capa c:


r: capa c+1

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

sh 1

sh

sh 1

sh l whl l

whr r

Neuronas de salida: l

sl

sl

rl

Ee y j

sl

Ee wi j

Regla delta: Ee w

rle

Gradiente: E w

1 2 e l 1 2 l

rle

sle sle

2 2
transp. 15

K j xi j , con

transp. 16

Algoritmo de retropropagacin: adelante


/* Se inicia w[c][i][j] con nmeros aleatorios pequeos */ iniciar(w); while (!cond_term) { for (ie=0; ie<nEj; ie++) { /* nEj: nmero de ejemplos */ for (j=0; j<nn[0]; j++) { /* nn[c]: num. neuronas en capa c */ for (i=0; i<nEnt; i++) /* nEnt: num. entradas a la red */ x[0][i][j] = e[ie][i][j]; s[0][j] = f(x[0][i][j], w[0][i][j]); /*sigm((w*x)): bucle en i*/ } /* Se propaga hacia adelante la entrada */ for (c=1; c<nc; c++) { /* nc: nmero de capas */ for (j=0; j<nn[c]; j++) { for (i=0; i<nn[c-1]; i++) /* nn[c-1] = num.ent. capa c */ x[c][i][j] = s[c-1][i]; s[c][j] = f(x[c][i][j], w[c][i][j]); /* bucle en i */ } } /* ya tenemos las salidas para el ejemplo ie */

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

transp. 17

Algoritmo de retropropagacin: errores de salida


/* Errores en la capa de salida (nc-1) */ for (l=0; l<nn[nc-1]; l++) { d[nc-1][l] = s[nc-1][l]*(1 - s[nc-1][l])*(r[ie] - s[nc-1][l]); /* Ajuste de pesos de la capa de salida */ for (i=0; i<nn[nc-2]; i++) /* Si nc = 1, nn[nc-2] = nEnt */ w[nc-1][i][l] = w[nc-1][i][l] + K*d[nc-1][l]*x[nc-1][i][l]; }
En el caso de una sola capa, hemos terminado (falta cerrar el bucle de ejemplos y la condicin de terminacin) En el caso de varias capas falta lo ms interesante: propagar hacia atrs los errores, modicando los pesos convenientemente

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

transp. 18

Algoritmo de retropropagacin: atrs


/* Se propagan hacia atrs los errores (si nc > 1)*/ for (c=nc-2; c>=0; c--) { for (h=0; h<nn[c]; h++) { suma = 0; for (r=0; r<nn[c+1]; r++) suma = suma + w[c][h][r]*d[c+1][r]; d[c][h] = s[c][h]*(1 - s[c][h])*suma; /* y se van ajustando los pesos */ for (i=0; i<nn[c-1]; i++) /* Si c=0, nn[c-1] = nEntr */ w[c][i][h] = w[c][i][h] + K*d[c][h]*x[c][i][h]; } } } /* cierra el bucle de ejemplos */ } /* cierra la condicin de terminacin */
Atribuido generalmente a Rumelhart, Hinton y Williams (1985) Idea original de Werbos (1974) redescubierta por Parker (1982) (Widrow, Proc. IEEE, Sep. 1990)

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

transp. 19

Redes multicapa: ejemplo Una capa oculta: supercies convexas Dos capas ocultas: supercies arbitrarias Ejemplo: reconocimiento de 10 sonidos vocales en el contexto h_d (Huang y Lippmann, 1988)
4000
head

heed
hid

had head hid

2000 F2 (Hz)

1000
F 2

heard whod hood

hud hod

whod

500 0 500

hawed
1000 F1 (Hz) 1400

hood

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

transp. 20

Modelos basados en la naturaleza (binicos)

Ontognesis Modelos neurocibernticos Filognesis Modelos evolucionistas Al n y al cabo, no hay tantas tcnicas informticas que hayan demostrado su valor a lo largo de 3.000 millones de aos de pruebas de campo (Forsyth, 1986)

reproduccin mutaciones

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

transp. 21

La evolucin como modelo Primeras ideas: Generacin de mutaciones al azar sobre el cdigo binario de programas (Frieldberg, 1958) Actualmente, nfasis en otros mecanismos genticos, p. ej., trueque de genes (crossover) Computacin evolucionista: Algoritmos genticos: individuos = cadenas de bits Programacin gentica: individuos = rboles sintcticos de los programas

poblacin de individuos competicin por recursos seleccin combinacin de adaptados

transp. 22

Algoritmos genticos para optimizacin

Operadores genticos:

Mutacin (cambio de un bit con probabilidad pequea) Seleccin de las parejas reproductoras (probabilidad proporcional al valor de la funcin)

Entrecruzamiento de los genomas de cada pareja

Nueva generacion: los hijos sustituyen a los individuos menos adaptados Convergencia: cuando hay muchos valores iguales La mutacin sirve para resolver el problema de los mximos locales

c 2002 DIT-ETSIT-UPM

Aprendizaje: redes neuronales (y algoritmos genticos)

Poblacin: valores del dominio x1

xn en binario

Problema: encontrar el mximo de f x1

xn

transp. 23

Vous aimerez peut-être aussi