Professional Documents
Culture Documents
Pablo Roncagliolo B.
Nº 21
Redes Neuronales
prb@2007 2
1
Redes Neuronales Básicas
Células de McCulloch&Pitts
El Perceptró
Perceptrón
ADALINE
El Perceptró
Perceptrón Multicapa
prb@2007 3
Celulas de McCulloch-Pitts
1943. Fueron un modelo simplificado del
funcionamiento de las neuronas del cerebro.
Cada cé
célula puede tener dos estados de salida, 0 ó 1.
x1 w1
xi wi Σ S
wn Θ
xn
prb@2007 4
2
Celulas de McCulloch-Pitts
Las cé
células operan en lapsos discretos.
wi Σ
xi
wn Θ
S 1
s(t + 1) =
∑i wi xi (t) > θ
xn
0 ...en caso contrario
Sin embargo, el tamañ
tamaño de estas redes para problemas complejos es
muy elevado. Ademá
Además el mé
método de aprendizaje para redes muy grandes
no es apropiado.
prb@2007 5
Celulas de McCulloch-Pitts
Ejemplo: NOT
-1
x S
-1
x1 ∑x w i i S
0 0 1
1 −1 0
prb@2007 6
3
Celulas de McCulloch-Pitts
Ejemplo: AND
1
x1
1 S
x2 1
x1 x2 ∑x wi i S
0 0 0 0
0 1 1 0
1 0 1 0
1 1 2 1
prb@2007 7
Celulas de McCulloch-Pitts
Ejemplo: OR
1
x1
x2 1 S
0
x1 x2 ∑x wi i S
0 0 0 0
0 1 1 1
1 0 1 1
1 1 2 1
prb@2007 8
4
Celulas de McCulloch-Pitts
?
x1
? S
x2 ?
x1 x2 ∑x wi i S
0 0 0
0 1 1
1 0 1
1 1 0
prb@2007 9
El Perceptrón
Rosenblat generalizó
generalizó las cé
células de McCulloch-
McCulloch-Pitts
Se concibió
concibió como un sistema capaz de realizar tareas de clasificació
clasificación de
forma automá
automática.
La idea era disponer de un sistema que a partir de un conjunto de de
ejemplos (patrones) de clases diferentes, fuera capaz de determinar
determinar las
ecuaciones de las superficies que hací
hacían de frontera de dichas clases.
x1 n
w1
y' = ∑ wi xi
i =1
y’ y
w2 y = F ( y' , σ )
1 si s > σ
x2
σ F (s, σ ) =
−1 en caso contrario
prb@2007 10
5
El Perceptrón
Se puede expresar la misma ecuació
ecuación considerando SIGMA como parte
de la sumatoria de entrada a la funció
función:
n
y = F ∑ wi xi + σ
i =1
1 si s > 0
F (s,σ ) =
− 1 en caso contrario
Ej. Para dos entradas:
y = F (w1 x1 + w2 x2 + σ )
Se observa que el umbral que separa las dos respuestas de la red 1 y
–1, corresponde a una recta con pendiente –w1/w2 e intercepto -σ/w2
prb@2007 11
El Perceptrón
Graficamente, la separació
separación de las dos clases:
prb@2007 12
6
El Perceptrón
En el caso general serí
sería:
r
∀a ∈ A : w1a1 + .... + wn an + σ > 0
y
r
∀b ∈ B : w1b1 + .... + wnbn + σ > 0
Esta es la base del aprendizaje del PERCEPTRON.
prb@2007 13
El Perceptrón
El proceso de aprendizaje:
Sea :
1
d ( x) = clase del vector x =
− 1
PASO 0: Comenzar con valores aleatorios para pesos y umbral.
PASO 1: Seleccionar un ejemplo X del conjunto de entrenamiento.
PASO 2: Si y<>d(x), modificar wi de acuerdo con:
∆wi=d(x)xi
PASO 3: Si no se ha cumplido el criterio de finalizació
finalización, volver a 1
prb@2007 14
7
El Perceptrón
El proceso de aprendizaje:
∆wi=d(x)xi
∆wi = -xi
prb@2007 15
y = F (w1 x1 + w2 x2 + σ )
El Perceptrón 1
F (s, σ ) =
− 1 en
si s > 0
caso contrario
1
Ejemplo: AND x1 x2 AND
0 0 0( A)
1 0 0( A) Patron Salida Clasifica
0 1 0( A) (0,0 | 0) +1 Mal
1 1 1( B )
Actualizo pesos
x1
1
∆wi=d(x)xi
Inicialmente al azar
w1=w2=1 w1=w1+∆w1=1+(-
=1+(-1)*0= 1
Umbral=0.5 1 y
w2=w2+∆w2=1+(-
=1+(-1)*0= 1
x2 0.5
w0=w0+∆w0=0.5+(-
=0.5+(-1)*1= -0.5
prb@2007
1 16
8
y = F (w1 x1 + w2 x2 + σ )
El Perceptrón 1
F (s, σ ) =
− 1 en
si s > 0
caso contrario
2
Ejemplo: AND x1 x2 AND
0 0 0( A) Patron Salida Clasifica
1 0 0( A) (0,1 | 0) +1 Mal
0 1 0( A)
1 1 1( B )
x1
1
∆wi=d(x)xi
w1=w1+∆w1=1+(-
=1+(-1)*0=1
1 y
w2=w2+∆w2=1+(-
=1+(-1)*1=0
x2 -0.5
w0=w0+∆w0=-0.5+(-
0.5+(-1)*1=-
1)*1=-1.5
prb@2007 17
El Perceptrón 3
Ejemplo: AND x1 x2 AND
0 0 0( A) Patron Salida Clasifica
1 0 0( A) (1,0 | 0) −1 Bien
0 1 0( A) (1,1 | 1) −1 Mal
1 1 1( B )
x1
1
∆wi=d(x)xi
w1=w1+∆w1=1+(+1)*1=2
0 y
w2=w2+∆w2=0+(+1)*1=1
x2 -1.5
w0=w0+∆w0=-1.5+(+1)*1=-
1.5+(+1)*1=-0.5
prb@2007 18
9
El Perceptrón 4
Ejemplo: AND x1 x2 AND
0 0 0( A) Patron Salida Clasifica
1 0 0( A) (1,1 | 1) +1 Bien
0 1 0( A) (0,0 | 0) −1 Bien
1 1 1( B ) (0,1 | 0) +1 Mal
x1
2
∆wi=d(x)xi
w1=w1+∆w1=2+(-
=2+(-1)*0=1
1 y
w2=w2+∆w2=1+(-
=1+(-1)*1=0
x2 -0.5
w0=w0+∆w0=-0.5+(-
0.5+(-1)*1=-
1)*1=-1.5
prb@2007 19
El Perceptrón 5
Ejemplo: AND x1 x2 AND
0 0 0( A) Patron Salida Clasifica
1 0 0( A) (1,0 | 0) +1 Mal
0 1 0( A)
1 1 1( B )
x1
1
∆wi=d(x)xi
w1=w1+∆w1=1+(-
=1+(-1)*1=0
0 y
w2=w2+∆w2=0+(-
=0+(-1)*0=0
x2 -1.5
w0=w0+∆w0=-1.5+(-
1.5+(-1)*1=-
1)*1=-2.5
prb@2007 20
10
El Perceptrón 6
Ejemplo: AND x1 x2 AND
0 0 0( A) Patron Salida Clasifica
1 0 0( A) (1,1 | 1) −1 Mal
0 1 0( A)
1 1 1( B )
x1
0
∆wi=d(x)xi
w1=w1+∆w1=0+(+1)*1=1
0 y
w2=w2+∆w2=0+(+1)*1=1
x2 -2.5
w0=w0+∆w0=-2.5+(+1)*1=-
2.5+(+1)*1=-1.5
prb@2007 21
El Perceptrón 7
Ejemplo: AND x1 x2 AND
0 0 0( A) Patron Salida Clasifica
1 0 0( A) (0,0 | 0) −1 Bien
0 1 0( A) (0,1 | 0) −1 Bien
1 1 1( B ) (1,0 | 0) −1 Bien
(1,1 | 1) +1 Bien
x1
1
1 y
x2 -1.5
11
El Perceptrón
Ejemplo prá
práctico...
El Perceptrón
Paso 1
clear;
clear;
map1=(0:255)/255;
Respuestas map=[map1'
map=[map1' map1' map1'];
correctas para figure(1);
los 8 ejemplos de COLORMAP(map
COLORMAP(map);
);
entrenamiento
CLASE=[1 1 1 1 -1 -1 -1 -1];
PESOS=rand
PESOS=rand(1,1024);
(1,1024);
UMB=rand
UMB=rand(1,1);
(1,1);
n
y = F ∑ wi xi + σ
i =1
prb@2007 24
12
El ciclo while se deberí
debería realizar hasta
que todos los ejemplos sean clasificados
El Perceptrón correctamente de manera consecutiva.
index=1;
index=1;
Paso 1 i=0;
while i<200
Lee imagen 32x32 A=double
A=double(
(imread(['f'
imread(['f' num2str(index
num2str(index)
) '.bmp'
'.bmp']));
]));
subplot(2,1,1);
subplot(2,1,1); image(A);
image(A);
CAPA_ENTRADA=[];
Transforma en for f=1:32,
f=1:32, CAPA_ENTRADA=[CAPA_ENTRADA A(f,:)];end
A(f,:)];end;
;
vector de 1024
Y=sum(CAPA_ENTRADA.*PESOS+UMB);
sum(CAPA_ENTRADA.*PESOS+UMB);
if (Y>0 & CLASE(index
CLASE(index)<0)
)<0) | (Y
(Y<0 & CLASE(index
CLASE(index)>0)
)>0)
disp('ERROR')
disp('ERROR')
PESOS=PESOS+CLASE(index
PESOS=PESOS+CLASE(index)*CAPA_ENTRADA;
)*CAPA_ENTRADA;
n
y = F ∑ wi xi + σ UMB=UMB+CLASE(index
UMB=UMB+CLASE(index);
);
i =1 end;
end;
index=
index=index+1;
index+1;
if index>8
index>8,, index=1;
index=1; end;
end;
i=i+1;
end;
end;
wi=wi+∆wi=wi+d(x)xi
prb@2007 25
El Perceptrón ADALINE
ADALINE (ADAptive LInear NEuron): Neuron Lineal Adaptativa
n
r
y = ∑ wi xi + σ
i =1
prb@2007 26
13
ADALINE
La regla de aprendizaje de ADALINE considera el error entre la
salida lograda y versus la salida deseada d
r r
d−y
Esta regla se conoce como REGLA DELTA
∆wi = α ∑ (d p − y p )xi
∀p
La constante α se denomina TASA DE APRENDIZAJE
prb@2007 27
ADALINE
Al igual que en el perceptró
perceptrón los pasos son:
14
ADALINE 0
Ejemplo: Decodificador Binario a Decimal
0 0 1 [1]
tasa α =0.3
0 1 0 [2] x1
0.84
0 1 1 [3] 0.394
1 0 0 [4] x2
1 0 1 [5] 0.783
1 1 0 [6] x3
1 1 1 [7] y = ∑ wi xi
∀i
prb@2007 29
ADALINE 1
Ejemplo: Decodificador Binario a Decimal
x1
0 0 1 [1] 0.84 tasa α =0.3
0 1 0 [2]
0 1 1 [3] x2
0.394
1 0 0 [4] 0.783
1 0 1 [5] x3
y = 0.84·0 + 0.394·0 + 0.783·1 = 0.783
1 1 0 [6] E = ∑ (d p − y p ) = 1 − 0.783 = 0.217
1 1 1 [7] ∀p
w1 = w1 + αE·x1 = 0.84
w2 = w2 + αE·x2 = 0.394
prb@2007
w3 = w3 + αE·x3 = 0.783 + 0.3·0.217·1 = 0.848 30
15
ADALINE 2
Ejemplo: Decodificador Binario a Decimal
x1
0 0 1 [1] 0.84 tasa α =0.3
0 1 0 [2]
0 1 1 [3] x2
0.394
1 0 0 [4] 0.848
1 0 1 [5] x3
y = 0.84·0 + 0.394·1 + 0.848·0 = 0.394
1 1 0 [6] E = ∑ (d p − y p ) = 2 − 0.394 = 1.61
1 1 1 [7] ∀p
w1 = w1 + α ·Ex1 = 0.84
w2 = w2 + α ·Ex2 = 0.394 + 0.3·1.61·1 = 0.876
prb@2007
w3 = w3 + α ·Ex3 = 0.848 31
ADALINE 7
Ejemplo: Decodificador Binario a Decimal
x1
0 0 1 [1] 0... tasa α =0.3
0 1 0 [2]
0 1 1 [3] x2
0...
1 0 0 [4] 0...
1 0 1 [5] x3
y = 3.09·1 + 1.966·1 + 1.825·1 = 6.881
1 1 0 [6] E = ∑ (d p − y p ) = 7 − 6.881 = 0.12
1 1 1 [7] ∀p
16
ADALINE
Ejemplo: visualizació
visualización de los pesos segú
según iteraciones..
Iteración Pesos
1 3.12 2.00 1.86 > La tasa de aprendizaje α
2 3.61 1.98 1.42 tambié
también puede ser adaptativa.
Sin embargo...
El uso del Perceptró
Perceptrón o de las redes ADALINE permite
aproximar de manera fá
fácil, cualquier tipo de funció
función o sistemas,
sólo conociendo un conjunto de ejemplos.
De esta manera cualquier sistema (caja negra), se puede
representar por una red.
Sin embargo, despué
después de la dé
década del 50 se demostró
demostró que
estas té
técnicas poseen grandes limitaciones.
Un ejemplo clá
clásico es el OR Exclusivo.
prb@2007 34
17
Sin embargo...
x2
OR Exclusivo.
x1
?
1 0
?
? y 0 1
x2 x1
?
x2
El Perceptró
Perceptrón o ADALINE 1 0
nunca convergen!!
Solució
Solución: varias redes en
cascada complejidad!!
0 1
prb@2007 x1 35
Sin embargo...
prb@2007 36
18
Perceptrón Multicapa
Corresponde a una generalizació
generalización del Perceptró
Perceptrón y Adaline
1969, Minsky & Papert mostraron que el uso de varios
perceptrones simples (neuronas ocultas) puede ser una solució
solución
para problemas no lineales. Sin embargo no dejaron en claro
como se puede entrenar (ajustar los pesos ocultos)
1986, Rumelhart & ..., presentó
presentó un mé
método para retropropagar el
error medido en la salida hacia las neuronas ocultas. Se
denomina REGLA DELTA GENERALIZADA.
1989, Cybenko, Hornik, han demostrado que el Perceptró
Perceptrón
Multicapa es un aproximador universal. Cualquier funció
función
continua sobre Rn, puede ser aproximada, con al menos una
capa oculta.
prb@2007 37
Perceptrón Multicapa
El Perceptró
Perceptrón Multicapa: puede aprender a partir de ejemplos,
aproximar relaciones no lineales, filtrar ruido, modelar sistemas...
sistemas...
Con éxito ha sido aplicado a:
Reconocimiento del habla (Cohen, 93)
Reconocimiento de caracteres (Sackinger, 92)
Reconocimiento de caracteres escritos (Guyon, 91)
Control de Procesos (Werbos, 89)
Modelamiento de Sistemas Diná
Dinámicos (Narendra, 90)
Conducció
Conducción de vehí
vehículos (Pomerleau, 92)
Diagnó
Diagnósticos mé
médicos (Baxt, 92)
Predicció
Predicción de Series Temporales (Weiggend, 90)
Etc...
prb@2007 38
19
Perceptrón Multicapa
Arquitectura:
CAPA DE ENTRADA
CAPAS OCULTAS
CAPA DE SALIDA
Perceptrón Multicapa
Funció
Función de activació
activación de las neuronas:
sigmoidal, hiperbó
hiperbólica son equivalentes (f2=2f1-1)
Sigmoidal Hiperbólica
1 1
0 -1
1 1 − e− x
f ( x) = f ( x) =
1 + e− x 1 + e− x
La derivada de la f. Sigmoidal es: f(x)’
f(x)’=f(x)(1-
=f(x)(1-f(x))
prb@2007 40
20
Perceptrón Multicapa
Algoritmo BACKPROPAGATION:
prb@2007 41
Perceptrón Multicapa
Algoritmo BACKPROPAGATION:
Pesos de la capa oculta 1, y umbrales de
la capa de salida:
w ji = w'ji + α ·δ i x j
ui = ui' + α ·δ i i nodos
j nodos
δ i = (si − yi )· yi ·(1 − yi )
prb@2007 42
21
Perceptrón Multicapa
Algoritmo BACKPROPAGATION:
Pesos de la capa entrada, y umbrales de
la capa de salida:
wkj = wkj' + α ·δ j xk
u j = u 'j + α ·δ j i nodos
k nodos
δ j = x j (1 − x j )∑ w jiδ i
j nodos
∀i
prb@2007 43
Perceptrón Multicapa
x1
w11
Ejemplo: XOR
w12 uj1 a1 v11
v11 = v + α ·δ ·a1
'
11
i
x2
w21 ui1 y
uj2 a2 v21
v12 = v12' + α ·δ i ·a2 w22
Capa i
Capa k Capa j
ui1 = ui + α ·δ
'
1
i
...
TAREA: Implementar esta
uj1 = uj1' + α ·δ1j
pregunta de prueba.
δ1j = a1 (1 − a1 )∑ v1iδ i
prb@2007
∀i 44
22