You are on page 1of 22

1

Procesamiento Digital de Imgenes


Pablo Roncagliolo B.
N 21
prb@2007 2
Redes Neuronales
2
prb@2007 3
Redes Neuronales Bsicas
C C lulas de McCulloch&Pitts lulas de McCulloch&Pitts
El Perceptr El Perceptr n n
ADALINE ADALINE
El Perceptr El Perceptr n Multicapa n Multicapa
prb@2007 4
1943. Fueron un modelo simplificado del 1943. Fueron un modelo simplificado del
funcionamiento de las neuronas del cerebro. funcionamiento de las neuronas del cerebro.
Cada c Cada c lula puede tener dos estados de salida, 0 lula puede tener dos estados de salida, 0 1. 1.
Celulas de McCulloch-Pitts

x
1
x
i
x
n
S
w
1
w
i
w
n
3
prb@2007 5
Las c Las c lulas operan en lapsos discretos. lulas operan en lapsos discretos.
Una red neuronal de c Una red neuronal de c lulas de McCulloch lulas de McCulloch- -Pitts tiene la capacidad de Pitts tiene la capacidad de
computo universal. Es decir, cualquier estructura que pueda ser computo universal. Es decir, cualquier estructura que pueda ser
programada en un computador, puede ser modelada con este tipo de programada en un computador, puede ser modelada con este tipo de
redes. redes.
Sin embargo, el tama Sin embargo, el tama o de estas redes para problemas complejos es o de estas redes para problemas complejos es
muy elevado. Adem muy elevado. Adem s el m s el m todo de aprendizaje para redes muy grandes todo de aprendizaje para redes muy grandes
no es apropiado. no es apropiado.
Celulas de McCulloch-Pitts

x
1
x
i
x
n
S
w
1
w
i
w
n

x
1
x
i
x
n
S
w
1
w
i
w
n

>
= +

contrario caso en
t x w
t s
i
i i
... 0
) ( 1
) 1 (

prb@2007 6
Ejemplo: NOT Ejemplo: NOT
Celulas de McCulloch-Pitts
-1
x S
-1
0 1 1
1 0 0
1

S w x x
i i
4
prb@2007 7
Ejemplo: AND Ejemplo: AND
Celulas de McCulloch-Pitts
1
x
1
S
1
1
x
2
1 2 1 1
0 1 0 1
0 1 1 0
0 0 0 0
2 1
S w x x x
i i
prb@2007 8
Ejemplo: OR Ejemplo: OR
Celulas de McCulloch-Pitts
0
x
1
S
1
1
x
2
1 2 1 1
1 1 0 1
1 1 1 0
0 0 0 0
2 1
S w x x x
i i
5
prb@2007 9
XOR ??? Con una celula no es posible. XOR ??? Con una celula no es posible.
Celulas de McCulloch-Pitts
?
x
1
S
?
?
x
2
0 1 1
1 0 1
1 1 0
0 0 0
2 1
S w x x x
i i
prb@2007 10
Rosenblat generaliz Rosenblat generaliz las c las c lulas de McCulloch lulas de McCulloch- -Pitts Pitts
Se concibi Se concibi como un sistema capaz de realizar tareas de clasificaci como un sistema capaz de realizar tareas de clasificaci n de n de
forma autom forma autom tica. tica.
La idea era disponer de un sistema que a partir de un conjunto d La idea era disponer de un sistema que a partir de un conjunto de e
ejemplos (patrones) de clases diferentes, fuera capaz de determi ejemplos (patrones) de clases diferentes, fuera capaz de determinar las nar las
ecuaciones de las superficies que hac ecuaciones de las superficies que hac an de frontera de dichas clases. an de frontera de dichas clases.
El Perceptrn

>
=
=
=

=
contrario caso en
s si
s F
y F y
x w y
n
i
i i
1
1
) , (
) , ' (
'
1

x
1
y
w1
w2
x
2

y
6
prb@2007 11
Se puede expresar la misma ecuaci Se puede expresar la misma ecuaci n considerando SIGMA como parte n considerando SIGMA como parte
de la sumatoria de entrada a la funci de la sumatoria de entrada a la funci n: n:

>
=
|

\
|
+ =

=
contrario caso en
s si
s F
x w F y
n
i
i i
1
0 1
) , (
1

( ) + + =
2 2 1 1
x w x w F y
Ej. Para dos entradas: Ej. Para dos entradas:
Se observa que el umbral que separa las dos respuestas de la red Se observa que el umbral que separa las dos respuestas de la red 1 y 1 y
1, corresponde a una recta con pendiente 1, corresponde a una recta con pendiente w1/w2 e intercepto w1/w2 e intercepto - - /w2 /w2
El Perceptrn
prb@2007 12
Graficamente, la separaci Graficamente, la separaci n de las dos clases: n de las dos clases:
El Perceptrn
7
prb@2007 13
En el caso general ser En el caso general ser a: a:
Dado el conjunto de puntos A=(a1,a2....an) y B=(b1,b2....bn). Ob Dado el conjunto de puntos A=(a1,a2....an) y B=(b1,b2....bn). Obtener el tener el
conjunto W=(w1,w2....wn) tal que: conjunto W=(w1,w2....wn) tal que:
0 .... :
0 .... :
1 1
1 1
> + + +
> + + +

n n
n n
b w b w B b
y
a w a w A a
r
r
Esta es la base del aprendizaje del PERCEPTRON. Esta es la base del aprendizaje del PERCEPTRON.
El Perceptrn
prb@2007 14
El proceso de aprendizaje: El proceso de aprendizaje:
PASO 0: PASO 0: Comenzar con valores aleatorios para pesos y umbral. Comenzar con valores aleatorios para pesos y umbral.
PASO 1: PASO 1: Seleccionar un ejemplo X del conjunto de entrenamiento. Seleccionar un ejemplo X del conjunto de entrenamiento.
PASO 2: PASO 2: Si y<>d(x), modificar w Si y<>d(x), modificar w
i i
de acuerdo con: de acuerdo con:
w w
i i
=d(x)x =d(x)x
i i
PASO 3: PASO 3: Si no se ha cumplido el criterio de finalizaci Si no se ha cumplido el criterio de finalizaci n, volver a n, volver a 1 1
El Perceptrn

= =
1
1
) (
:
x vector del clase x d
Sea
8
prb@2007 15
El proceso de aprendizaje: El proceso de aprendizaje:
w w
i i
=d(x)x =d(x)x
i i
Se observa que si la salida y=d(x)=1 para un vector x de clase Se observa que si la salida y=d(x)=1 para un vector x de clase 1, 1,
entonces entonces
w w
i i
= = - -x x
i i
El delta W es proporcional al nodo de entrada y en la direcci El delta W es proporcional al nodo de entrada y en la direcci n de n de
clasificaci clasificaci n del vector x. n del vector x.
El Perceptrn
prb@2007 16
Ejemplo: AND Ejemplo: AND
El Perceptrn
) ( 1 1 1
) ( 0 1 0
) ( 0 0 1
) ( 0 0 0
2 1
B
A
A
A
AND x x
x
1
y
1
1
x
2
0.5
Mal
Clasifica Salida Patron
1 ) 0 | 0 , 0 ( +
Inicialmente al azar
w1=w2=1
Umbral=0.5
w w
i i
=d(x)x =d(x)x
i i
w w
1 1
=w =w
1 1
+ + w w
1 1
=1+( =1+(- -1)*0= 1)*0= 1 1
w w
2 2
=w =w
2 2
+ + w w
2 2
=1+( =1+(- -1)*0= 1)*0= 1 1
w w
0 0
=w =w
0 0
+ + w w
0 0
=0.5+( =0.5+(- -1)*1= 1)*1= - -0.5 0.5
1
1

>
=
contrario caso en
s si
s F
1
0 1
) , (
( ) + + =
2 2 1 1
x w x w F y
Actualizo pesos
9
prb@2007 17
Ejemplo: AND Ejemplo: AND
El Perceptrn
) ( 1 1 1
) ( 0 1 0
) ( 0 0 1
) ( 0 0 0
2 1
B
A
A
A
AND x x
x
1
y
1
1
x
2
-0.5
Mal
Clasifica Salida Patron
1 ) 0 | 1 , 0 ( +
w w
i i
=d(x)x =d(x)x
i i
w w
1 1
=w =w
1 1
+ + w w
1 1
=1+( =1+(- -1)*0=1 1)*0=1
w w
2 2
=w =w
2 2
+ + w w
2 2
=1+( =1+(- -1)*1=0 1)*1=0
w w
0 0
=w =w
0 0
+ + w w
0 0
= =- -0.5+( 0.5+(- -1)*1= 1)*1=- -1.5 1.5
2

>
=
contrario caso en
s si
s F
1
0 1
) , (
( ) + + =
2 2 1 1
x w x w F y
prb@2007 18
Ejemplo: AND Ejemplo: AND
El Perceptrn
) ( 1 1 1
) ( 0 1 0
) ( 0 0 1
) ( 0 0 0
2 1
B
A
A
A
AND x x
x
1
y
1
0
x
2
-1.5
Mal
Bien
Clasifica Salida Patron
1 ) 1 | 1 , 1 (
1 ) 0 | 0 , 1 (

w w
i i
=d(x)x =d(x)x
i i
w w
1 1
=w =w
1 1
+ + w w
1 1
=1+(+1)*1=2 =1+(+1)*1=2
w w
2 2
=w =w
2 2
+ + w w
2 2
=0+(+1)*1=1 =0+(+1)*1=1
w w
0 0
=w =w
0 0
+ + w w
0 0
= =- -1.5+(+1)*1= 1.5+(+1)*1=- -0.5 0.5
3
10
prb@2007 19
Ejemplo: AND Ejemplo: AND
El Perceptrn
) ( 1 1 1
) ( 0 1 0
) ( 0 0 1
) ( 0 0 0
2 1
B
A
A
A
AND x x
x
1
y
2
1
x
2
-0.5
Mal
Bien
Bien
Clasifica Salida Patron
1 ) 0 | 1 , 0 (
1 ) 0 | 0 , 0 (
1 ) 1 | 1 , 1 (
+

+
w w
i i
=d(x)x =d(x)x
i i
w w
1 1
=w =w
1 1
+ + w w
1 1
=2+( =2+(- -1)*0=1 1)*0=1
w w
2 2
=w =w
2 2
+ + w w
2 2
=1+( =1+(- -1)*1=0 1)*1=0
w w
0 0
=w =w
0 0
+ + w w
0 0
= =- -0.5+( 0.5+(- -1)*1= 1)*1=- -1.5 1.5
4
prb@2007 20
Ejemplo: AND Ejemplo: AND
El Perceptrn
) ( 1 1 1
) ( 0 1 0
) ( 0 0 1
) ( 0 0 0
2 1
B
A
A
A
AND x x
x
1
y
1
0
x
2
-1.5
Mal
Clasifica Salida Patron
1 ) 0 | 0 , 1 ( +
w w
i i
=d(x)x =d(x)x
i i
w w
1 1
=w =w
1 1
+ + w w
1 1
=1+( =1+(- -1)*1=0 1)*1=0
w w
2 2
=w =w
2 2
+ + w w
2 2
=0+( =0+(- -1)*0=0 1)*0=0
w w
0 0
=w =w
0 0
+ + w w
0 0
= =- -1.5+( 1.5+(- -1)*1= 1)*1=- -2.5 2.5
5
11
prb@2007 21
Ejemplo: AND Ejemplo: AND
El Perceptrn
) ( 1 1 1
) ( 0 1 0
) ( 0 0 1
) ( 0 0 0
2 1
B
A
A
A
AND x x
x
1
y
0
0
x
2
-2.5
Mal
Clasifica Salida Patron
1 ) 1 | 1 , 1 (
w w
i i
=d(x)x =d(x)x
i i
w w
1 1
=w =w
1 1
+ + w w
1 1
=0+(+1)*1=1 =0+(+1)*1=1
w w
2 2
=w =w
2 2
+ + w w
2 2
=0+(+1)*1=1 =0+(+1)*1=1
w w
0 0
=w =w
0 0
+ + w w
0 0
= =- -2.5+(+1)*1= 2.5+(+1)*1=- -1.5 1.5
6
prb@2007 22
Ejemplo: AND Ejemplo: AND
El Perceptrn
) ( 1 1 1
) ( 0 1 0
) ( 0 0 1
) ( 0 0 0
2 1
B
A
A
A
AND x x
x
1
y
1
1
x
2
-1.5
Bien
Bien
Bien
Bien
Clasifica Salida Patron
1 ) 1 | 1 , 1 (
1 ) 0 | 0 , 1 (
1 ) 0 | 1 , 0 (
1 ) 0 | 0 , 0 (
+

5 . 1 0 5 . 1 1 1
1 2 2 1
= = + x x x x
7
12
prb@2007 23
Ejemplo pr Ejemplo pr ctico... ctico...
El Perceptrn
Set de ejemplos durante Set de ejemplos durante
el entranamiento el entranamiento
Ejemplos fuera del entrenamiento para Ejemplos fuera del entrenamiento para
verificar capacidad de generalizaci verificar capacidad de generalizaci n n
prb@2007 24
Paso 1 Paso 1
El Perceptrn
clear clear; ;
map1=(0:255)/255; map1=(0:255)/255;
map map=[map1' map1' map1']; =[map1' map1' map1'];
figure(1); figure(1);
COLORMAP( COLORMAP(map map); );
CLASE=[1 1 1 1 CLASE=[1 1 1 1 - -1 1 - -1 1 - -1 1 - -1]; 1];
PESOS= PESOS=rand rand(1,1024); (1,1024);
UMB= UMB=rand rand(1,1); (1,1);
|

\
|
+ =

=

n
i
i i
x w F y
1
Respuestas Respuestas
correctas para correctas para
los 8 ejemplos de los 8 ejemplos de
entrenamiento entrenamiento
13
prb@2007 25
Paso 1 Paso 1
El Perceptrn
index index=1; =1;
i=0; i=0;
while while i<200 i<200
A= A=double double( (imread imread(['f' num2str( (['f' num2str(index index) '. ) '.bmp' bmp'])); ]));
subplot subplot(2,1,1); (2,1,1); image image(A); (A);
CAPA_ENTRADA=[]; CAPA_ENTRADA=[];
for for f=1:32 f=1:32, , CAPA_ENTRADA=[CAPA_ENTRADA A(f,:)]; CAPA_ENTRADA=[CAPA_ENTRADA A(f,:)];end end; ;
Y Y= =sum sum(CAPA_ENTRADA.*PESOS+UMB); (CAPA_ENTRADA.*PESOS+UMB);
if if ( (Y Y>0 & CLASE( >0 & CLASE(index index)<0) | ( )<0) | (Y Y<0 & CLASE( <0 & CLASE(index index)>0) )>0)
disp disp('ERROR') ('ERROR')
PESOS=PESOS+CLASE( PESOS=PESOS+CLASE(index index)*CAPA_ENTRADA; )*CAPA_ENTRADA;
UMB=UMB+CLASE( UMB=UMB+CLASE(index index); );
end end; ;
index index= =index index+1; +1;
if index if index>8 >8, , index index=1; =1; end end; ;
i=i+1; i=i+1;
end end; ;
|

\
|
+ =

=

n
i
i i
x w F y
1
Lee imagen 32x32 Lee imagen 32x32
Transforma en Transforma en
vector de 1024 vector de 1024
w w
i i
=w =w
i i
+ + w w
i i
=w =w
i i
+d(x)x +d(x)x
i i
El ciclo while se deber El ciclo while se deber a realizar hasta a realizar hasta
que todos los ejemplos sean clasificados que todos los ejemplos sean clasificados
correctamente de manera consecutiva. correctamente de manera consecutiva.
prb@2007 26
El Perceptrn ADALINE
ADALINE (ADAptive LInear NEuron): Neuron Lineal Adaptativa ADALINE (ADAptive LInear NEuron): Neuron Lineal Adaptativa
La salida del perceptr La salida del perceptr n en binaria. n en binaria.
La regla de aprendizaje del perceptr La regla de aprendizaje del perceptr n no mide el grado n no mide el grado
de de error error . .
Widrow & Hoff, 1960 proponen ADALINE. Widrow & Hoff, 1960 proponen ADALINE.
Consiste simplemente en una transformaci Consiste simplemente en una transformaci n que n que
permite adaptar una entrada X a una salida Y. permite adaptar una entrada X a una salida Y.
+ =

=
n
i
i i
x w y
1
r
14
prb@2007 27
ADALINE
La regla de aprendizaje de ADALINE considera el error entre la La regla de aprendizaje de ADALINE considera el error entre la
salida lograda salida lograda y y versus la salida deseada versus la salida deseada d d
i
p
p p i
x y d w

= ) (
y d
r
r

Esta regla se conoce como REGLA DELTA Esta regla se conoce como REGLA DELTA
La constante La constante se denomina TASA DE APRENDIZAJE se denomina TASA DE APRENDIZAJE
prb@2007 28
ADALINE
Al igual que en el perceptr Al igual que en el perceptr n los pasos son: n los pasos son:
1. 1. Inicializar los pesos en forma aleatoria Inicializar los pesos en forma aleatoria
2. 2. Introducir PATRON de entrada Introducir PATRON de entrada
3. 3. Calcular salida Y, y obtener diferencia Calcular salida Y, y obtener diferencia
4. 4. Para todos los pesos, multiplizar dicha diferencia por la Para todos los pesos, multiplizar dicha diferencia por la
entrada correspondiente y ponderarla por la tasa entrada correspondiente y ponderarla por la tasa
5. 5. Actualizar todos los pesos w Actualizar todos los pesos w
i i
= w = w
i i
+ + w w
i i
6. 6. Si no se ha cumplido el criterio de convergencia, regresar a Si no se ha cumplido el criterio de convergencia, regresar a
2 2. Si se han acabado todos los patrones, empezar de nuevo . Si se han acabado todos los patrones, empezar de nuevo
a introducir patrones. a introducir patrones.


p
p p
y d ) (
15
prb@2007 29
ADALINE
Ejemplo: Decodificador Binario a Decimal Ejemplo: Decodificador Binario a Decimal

=
i
i i
x w y
| |
| |
| |
| |
| |
| |
| | 7 1 1 1
6 0 1 1
5 1 0 1
4 0 0 1
3 1 1 0
2 0 1 0
1 1 0 0
x
1
0.84
0.394
x
2
x
3
0.783
tasa tasa =0.3 =0.3
0
prb@2007 30
ADALINE
Ejemplo: Decodificador Binario a Decimal Ejemplo: Decodificador Binario a Decimal
783 . 0 1 783 . 0 0 394 . 0 0 84 . 0 = + + = y
| |
| |
| |
| |
| |
| |
| | 7 1 1 1
6 0 1 1
5 1 0 1
4 0 0 1
3 1 1 0
2 0 1 0
1 1 0 0
x
1
0.84
0.394
x
2
x
3
0.783
tasa tasa =0.3 =0.3
1
217 . 0 783 . 0 1 ) ( = = =

p
p p
y d E
848 . 0 1 217 . 0 3 . 0 783 . 0
394 . 0
84 . 0
3 3 3
2 2 2
1 1 1
= + = + =
= + =
= + =
x E w w
x E w w
x E w w

16
prb@2007 31
ADALINE
Ejemplo: Decodificador Binario a Decimal Ejemplo: Decodificador Binario a Decimal
394 . 0 0 848 . 0 1 394 . 0 0 84 . 0 = + + = y
| |
| |
| |
| |
| |
| |
| | 7 1 1 1
6 0 1 1
5 1 0 1
4 0 0 1
3 1 1 0
2 0 1 0
1 1 0 0
x
1
0.84
0.394
x
2
x
3
0.848
tasa tasa =0.3 =0.3
2
61 . 1 394 . 0 2 ) ( = = =

p
p p
y d E
848 . 0
876 . 0 1 61 . 1 3 . 0 394 . 0
84 . 0
3 3 3
2 2 2
1 1 1
= + =
= + = + =
= + =
Ex w w
Ex w w
Ex w w

prb@2007 32
ADALINE
Ejemplo: Decodificador Binario a Decimal Ejemplo: Decodificador Binario a Decimal
881 . 6 1 825 . 1 1 966 . 1 1 09 . 3 = + + = y
| |
| |
| |
| |
| |
| |
| | 7 1 1 1
6 0 1 1
5 1 0 1
4 0 0 1
3 1 1 0
2 0 1 0
1 1 0 0
x
1
0...
0...
x
2
x
3
0...
tasa tasa =0.3 =0.3
7
12 . 0 881 . 6 7 ) ( = = =

p
p p
y d E
861 . 1 12 . 0 3 . 0 825 . 1
002 . 2 12 . 0 3 . 0 966 . 1
126 . 3 12 . 0 3 . 0 09 . 3
3 3 3
2 2 2
1 1 1
= + = + =
= + = + =
= + = + =
x E w w
x E w w
x E w w

Resultado Resultado
despues de la despues de la
primera iteraci primera iteraci n n
del del
entrenamiento entrenamiento
17
prb@2007 33
ADALINE
Ejemplo: visualizaci Ejemplo: visualizaci n de los pesos seg n de los pesos seg n iteraciones.. n iteraciones..
00 . 1 00 . 2 00 . 4 10
00 . 1 00 . 2 00 . 4 9
00 . 1 00 . 2 00 . 4 8
00 . 1 00 . 2 00 . 4 7
01 . 1 00 . 2 99 . 3 6
02 . 1 99 . 1 96 . 3 5
1 . 1 98 . 1 92 . 3 4
2 . 1 98 . 1 82 . 3 3
42 . 1 98 . 1 61 . 3 2
86 . 1 00 . 2 12 . 3 1
Pesos Iteracin
> La tasa de aprendizaje > La tasa de aprendizaje
tambi tambi n puede ser adaptativa. n puede ser adaptativa.
> Por ejemplo al inicio el valor > Por ejemplo al inicio el valor
puede ser alto, para dar puede ser alto, para dar
grandes pasos grandes pasos de correcci de correcci n n
del error y para salir de del error y para salir de
m m nimos locales. nimos locales.
> Sin embargo al final del > Sin embargo al final del
entrenamiento debe disminuir entrenamiento debe disminuir
para hacer correcciones finas. para hacer correcciones finas.
prb@2007 34
Sin embargo...
El uso del Perceptr El uso del Perceptr n o de las redes ADALINE permite n o de las redes ADALINE permite
aproximar de manera f aproximar de manera f cil, cualquier tipo de funci cil, cualquier tipo de funci n o sistemas, n o sistemas,
s s lo conociendo un conjunto de ejemplos. lo conociendo un conjunto de ejemplos.
De esta manera cualquier sistema (caja negra), se puede De esta manera cualquier sistema (caja negra), se puede
representar por una red. representar por una red.
Sin embargo, despu Sin embargo, despu s de la d s de la d cada del 50 se demostr cada del 50 se demostr que que
estas t estas t cnicas poseen grandes limitaciones. cnicas poseen grandes limitaciones.
Un ejemplo cl Un ejemplo cl sico es el OR Exclusivo. sico es el OR Exclusivo.
CONCLUSION: CONCLUSION: stas t stas t cnicas s cnicas s lo pueden lo pueden
resolver sistemas donde los ejemplos son resolver sistemas donde los ejemplos son
linealmente separables. linealmente separables.
18
prb@2007 35
Sin embargo...
OR Exclusivo. OR Exclusivo.
x
1
y
?
?
x
2
?
0
0
1
1
x
1
x
2
?
0
0
1
1
x
2
x
1
El Perceptr El Perceptr n o ADALINE n o ADALINE
nunca convergen!! nunca convergen!!
Soluci Soluci n: varias redes en n: varias redes en
cascada cascada complejidad!! complejidad!!
prb@2007 36
Sin embargo...
19
prb@2007 37
Perceptrn Multicapa
Corresponde a una generalizaci Corresponde a una generalizaci n del Perceptr n del Perceptr n y Adaline n y Adaline
1969, Minsky & Papert mostraron que el uso de varios 1969, Minsky & Papert mostraron que el uso de varios
perceptrones simples (neuronas ocultas) puede ser una soluci perceptrones simples (neuronas ocultas) puede ser una soluci n n
para problemas no lineales. Sin embargo no dejaron en claro para problemas no lineales. Sin embargo no dejaron en claro
como se puede entrenar (ajustar los pesos ocultos) como se puede entrenar (ajustar los pesos ocultos)
1986, Rumelhart & ..., present 1986, Rumelhart & ..., present un m un m todo para retropropagar el todo para retropropagar el
error medido en la salida hacia las neuronas ocultas. Se error medido en la salida hacia las neuronas ocultas. Se
denomina REGLA DELTA GENERALIZADA. denomina REGLA DELTA GENERALIZADA.
1989, Cybenko, Hornik, han demostrado que el Perceptr 1989, Cybenko, Hornik, han demostrado que el Perceptr n n
Multicapa es un aproximador universal. Cualquier funci Multicapa es un aproximador universal. Cualquier funci n n
continua sobre R continua sobre R
n n
, puede ser aproximada, con al menos una , puede ser aproximada, con al menos una
capa oculta. capa oculta.
prb@2007 38
Perceptrn Multicapa
El Perceptr El Perceptr n Multicapa: n Multicapa: puede aprender a partir de ejemplos, puede aprender a partir de ejemplos,
aproximar relaciones no lineales, filtrar ruido, modelar sistema aproximar relaciones no lineales, filtrar ruido, modelar sistemas... s...
Con Con xito ha sido aplicado a: xito ha sido aplicado a:
Reconocimiento del habla (Cohen, 93) Reconocimiento del habla (Cohen, 93)
Reconocimiento de caracteres (Sackinger, 92) Reconocimiento de caracteres (Sackinger, 92)
Reconocimiento de caracteres escritos (Guyon, 91) Reconocimiento de caracteres escritos (Guyon, 91)
Control de Procesos (Werbos, 89) Control de Procesos (Werbos, 89)
Modelamiento de Sistemas Din Modelamiento de Sistemas Din micos (Narendra, 90) micos (Narendra, 90)
Conducci Conducci n de veh n de veh culos (Pomerleau, 92) culos (Pomerleau, 92)
Diagn Diagn sticos m sticos m dicos (Baxt, 92) dicos (Baxt, 92)
Predicci Predicci n de Series Temporales (Weiggend, 90) n de Series Temporales (Weiggend, 90)
Etc... Etc...
20
prb@2007 39
Perceptrn Multicapa
Arquitectura: Arquitectura:
CAPA DE ENTRADA CAPA DE ENTRADA
CAPAS OCULTAS CAPAS OCULTAS
CAPA DE SALIDA CAPA DE SALIDA
Todas las neuronas transmiten Todas las neuronas transmiten
informaci informaci n hacia delante: se n hacia delante: se
denominan redes denominan redes feedforward feedforward
Cada neurona posee un umbral Cada neurona posee un umbral
independiente. Se considera como una independiente. Se considera como una
entrada m entrada m s cuya entrada es 1. s cuya entrada es 1.
Generalmente se utilizan resde Generalmente se utilizan resde
completamente conectadas completamente conectadas
Funci Funci n de activaci n de activaci n de las neuronas: n de las neuronas:
sigmoidal, hiperb sigmoidal, hiperb lica. lica.
prb@2007 40
Perceptrn Multicapa
Funci Funci n de activaci n de activaci n de las neuronas: n de las neuronas:
sigmoidal, hiperb sigmoidal, hiperb lica lica son equivalentes (f son equivalentes (f
2 2
=2f =2f
1 1
- -1) 1)
0
1
Sigmoidal
x
e
x f

+
=
1
1
) (
x
x
e
e
x f

=
1
1
) (
-1
1
Hiperblica
La derivada de la f. Sigmoidal es: f(x) La derivada de la f. Sigmoidal es: f(x) =f(x)(1 =f(x)(1- -f(x)) f(x))
21
prb@2007 41
Perceptrn Multicapa
Algoritmo BACKPROPAGATION: Algoritmo BACKPROPAGATION:
Cada neurona de salida distribuye hacia atr Cada neurona de salida distribuye hacia atr s su error s su error a las a las
neuronas ocultas que se conectan a ella, ponderado por el valor neuronas ocultas que se conectan a ella, ponderado por el valor
de la conexi de la conexi n. n.
Cada neurona oculta recibe un Cada neurona oculta recibe un de cada neurona de salida. de cada neurona de salida.
La suma de estas es el t La suma de estas es el t rmino rmino de la neurona oculta. de la neurona oculta.
Se repite el proceso hacia atr Se repite el proceso hacia atr s... Por ello el nombre s... Por ello el nombre
retropropagaci retropropagaci n del error n del error . .
prb@2007 42
Perceptrn Multicapa
Algoritmo BACKPROPAGATION: Algoritmo BACKPROPAGATION:
Pesos de la capa oculta 1, y umbrales de Pesos de la capa oculta 1, y umbrales de
la capa de salida: la capa de salida:
i nodos
j nodos
) 1 ( ) (
i i i i i
y y y s =
j i ji ji
x w w
'
+ =
i i i
u u
'
+ =
22
prb@2007 43
Perceptrn Multicapa
Algoritmo BACKPROPAGATION: Algoritmo BACKPROPAGATION:
Pesos de la capa entrada, y umbrales de Pesos de la capa entrada, y umbrales de
la capa de salida: la capa de salida:
i nodos
j nodos

=
i
i ji j j j
w x x ) 1 (
k nodos
k j kj kj
x w w
'
+ =
j j j
u u
'
+ =
prb@2007 44
v
11
Perceptrn Multicapa
Ejemplo: XOR Ejemplo: XOR
Capa i
Capa j
Capa k
y
x
1
x
2
a
1
a
2
w
11
w
12
w
21
w
22
v
21
) 1 ( ) ( y y y s
i
=
2
'
12 12
1
'
11 11


a v v
a v v
i
i


+ =
+ =
i
ui ui
'
1 1
+ =
ui
1
...

1 1
'
11 11
x w w
j
+ =

=
i
i
i
j
v a a
1 1 1 1
) 1 (
uj
1
uj
2
j
uj uj
1
'
1 1
+ =
TAREA: Implementar esta TAREA: Implementar esta
pregunta de prueba. pregunta de prueba.