View
222
Download
0
Category
Tags:
Preview:
Citation preview
Computacion inteligente
El perceptron
Nov 2005
2
Agenda History Perceptron structure Perceptron as a two-class classifier The Perceptron as a Logic Operator Perceptron Learning Perceptron Convergence Theorem Examples Perceptron Limitation
Historia
Nov 2005
4
Historia 1943 El perceptron fue derivado del modelo de una neurona biologica del cerebro por Mc Culloch & Pitts
En principio las redes neuronales artificiales podrian computar cualquier funcion aritmetica o logica.
La red de McCulloch y Pitts no podian aprender.
1949 Hebb propone una ley de aprendizaje que explicaba como una red de neuronas aprendia
Nov 2005
5
Historia 1957 Rosenblatt desarrolla el Perceptron, una red neuronal en hardware para reconocimiento de caracteres
Rosenblatt diseño el perceptron con vista a explicar y modelar las habilidades de reconocimientos de patrones de los sistemas visuales biologicos
1958 Rosenblatt se acredita con el algorimo de aprendizaje del perceptron
Nov 2005
6Perceptron elemental de Rosenblatt El problema consiste simplemente en
determinar si el patron de entrada es una “p” o no
Nov 2005
7
Historia 1969 Minsky & Papert - limitacion del perceptron
El famoso problema de la “XOR” Muerte de las ANNs
1974-1986 Diferentes personas resuelven los problemas del perceptron:
Algoritmos para entrenar perceptrones multicapa feedforward
Back-propagation del error (Rumelhart et al 1986) Re-emergen las ANNs
Estructura del perceptron
Nov 2005
9
Estructura del perceptron
Nov 2005
10
Estructura del perceptron Patrones de entrada representados por el
vector x
wi es un peso modificable asociado con la señal
de entrada xi
La suma pesada de las entradas se aplica al hard limiter, con un valor umbral b
El umbral b = w0 puede verse como un peso entre la unidad de entrada y una señal ficticia de valor x0 = 1
Nov 2005
11
Estructura del perceptron La suma pesada de las entradas se aplica al
hard limiter, el cual produce una salida igual a
+1 si su entrada es positiva,
-1 si es negativa.
El hard limiter es, entonces
otherwise 0
0x if 1)x(step
otherwise 1
0x if 1)xsgn(
Nov 2005
12
Estructura del perceptron En general, el hard limiter puede ser
sgn(x): la funcion signo, o, hardlims(x) step(x): la funcion paso, or, hardlim(x)
otherwise 0
0x if 1)x(step
otherwise 1
0x if 1)xsgn(
Matlab toolbox
Nov 2005
13Modelo matematico del perceptron
Salida de la neurona
Forma vectorial
1
n
i ii
a hardlims w x b
Ta hardlims w xb incluida
El perceptron como un
clasificador de dos clases
Nov 2005
15El perceptron como un clasificador de dos clases
El proposito del perceptron es clasificar las entradas, x1, x2, . . ., xn, en una de dos clases, digamos A1 y A2.
Los patrones de entrada pertenecen a una de dos clases.
Esto solo puede suceder cuando ellos son linealmente separables
Nov 2005
16El perceptron con dos entradas
La frontera de decision esta determinada por
1 1 2 2 0w x w x b
0Tw x
Nov 2005
17Una frontera de decision en el perceptron
x1
x2
w = (w1, w2, b) = (1, -1, 0)
Nov 2005
18Una frontera de decision en el perceptron
x1
x2 wT. x = 0
=> 1. x1 - 1. x2 + 0.1 = 0
=> x1 - x2 = 0
=> x1 = x2
w = (w1, w2, b) = (1, -1, 0)
Nov 2005
19Una frontera de decision en el perceptron
wT. x = 0
=> 1. x1 - 1. x2 + 0.1 = 0
=> x1 - x2 = 0
=> x1 = x2
x1
x2
Esta es la ecuacion para la frontera de decision
w = (w1, w2, b) = (1, -1, 0)
Nov 2005
20Una frontera de decision en el perceptron
wT. x = 0
x1
x2
wT. x < 0 => x1 - x2 < 0
=> x1 < x2
Esta es la ecuacion para la region de decision region -1
w = (w1, w2, b) = (1, -1, 0)
Nov 2005
21Una frontera de decision en el perceptron
wT. x = 0
x1
x2
wT. x > 0 => x1 - x2 > 0
=> x1 > x2
Esta es la ecuacion para la region de decision region +1
w = (w1, w2, b) = (1, -1, 0)
Nov 2005
22
Ejemplo numerico
La frontera de decision con
1 2 1 0p p
1
2
1
1
1
w
w
b
Nov 2005
23El perceptron con tres entradas
La frontera de decision esta determinada por
1 1 2 2 3 3 0w x w x w x b
0Tw x
Nov 2005
24El perceptron con n entradas
En el caso de un perceptron elemental, el espacio n-dimensional esta dividido en dos regiones de decision por un hiperplano.
El hiperplano esta definido por la funcion:
1
0n
i ii
w x b
Nov 2005
25Ejemplo: La imagen de un “3”
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 +1
+1
+1
+1
-1 -1
-1 -1 -1 -1 -1 +1
-1 -1
-1 -1 -1 +1
+1
+1
-1 -1
-1 -1 -1 -1 -1 +1
-1 -1
-1 -1 -1 -1 - 1 +1
-1 -1
-1 -1 +1
+1
+1
+1
-1 -1
-1 -1 -1 -1 -1 -1 -1 -1
Ejercicio: Construya las entradas para el perceptron
El perceptron como un operador
logico
Nov 2005
27
El perceptron como un operador logico El perceptron como una AND logica
3b
2
2w
x1
x2
1
1
0 1 1 1 01
0 1 0 0
000
x & yyx
outputinputs
Tabla de verdad de la AND
Nov 2005
28El perceptron como una AND
1 1 1 01
0 1 0 0
000
x & yyx
outputinputs
Truth Table for Logical AND
2x+2y-31 -3
y +2
x +2 if sum < 0 : 0
else : 1
en
trad
as
peso
s
suma salida
Nov 2005
29The Perceptron as a Logic Operator The Perceptron as a Logic OR
1b
2
2w
x 1
x 2
1
1
0 1 1 1 01
0 1 0 0
110
x | yyx
outputinputs
Tabla de verdad de la AND
Nov 2005
30
El perceptron como una OR
1 1 1 01
0 1 0 0
110
x | yyx
outputinputs
Tabla de verdad de la OR
2x+2y-11 -1
y +2
x +2 if sum < 0 : 0
else : 1
en
trad
a
peso
s
suma salida
Nov 2005
31
El perceptron como un operador logico Ejercicio
Demuestre que una neurona perceptron con los siguientes pesos y polarizacion implementa una compuerta OR
1
2b 1
1w
Aprendizaje en el perceptron
Nov 2005
34Aprendizaje en las NNs artificiales Por regla de aprendizaje entendemos un
procedimiento para modificar los pesos de una red.
El proposito de la regla de aprendizaje es entrenar la red para que ejecute una tarea.
Este procedimiento se denomina tambien algoritmo de entrenamiento
Nov 2005
36
Aprendizaje supervisado A la regla de aprendizaje se le proporciona
un conjunto de ejemplos (el conjunto de entrenamiento) de la conducta apropiada de la red
xk : Entrada a la red
tk : Salida correcta (target)
1 1 2 2, , , , , ,N Nx t x t x t
Nov 2005
37
Aprendizaje supervisado Las entradas se aplican a la red, las
salidas de la red se comparan con la salidas correctas (targets)
y(k) : Salida de la red
t(k) : Salida correcta (target)
e k t k y k
Nov 2005
38
Aprendizaje supervisado La regla de aprendizaje se usa para ajustar
los pesos de la red para mover las salidas de la red hacia las salidas correctas (targets).
wnew: Pesos actualizados wold: Pesos iniciales
new oldw w w Los pesos se ajustan de acuerdo al error
Nov 2005
39
Aprendizaje supervisado
new oldw w w
Los pesos se ajustan de acuerdo al error
Nov 2005
40Entrenamiento del perceptron ¿Como se puede entrenar una perceptron
para una tarea de clasificacion?
Tratamos de hallar los valores de los pesos de tal manera que los ejemplos de entrenamiento sean clasificados correctamente.
Geometricamente, tratamos de hallar un hiper-plano que separe los ejemplos en dos clases
Nov 2005
41Entrenamiento del perceptron Rosenblatt (1958) propone un algoritmo de
aprendizaje para las redes neuronales artificiales
Comenzar con un conjunto de entrenamiento (ejemplos de entradas y salidas deseadas correspondientes)
Entrenar la red para que reconozca los ejemplos en el conjunto de entrenamiento (ajustando los pesos)
Una vez entrenada, la red puede ser aplicada a ejemplos nuevos
Nov 2005
42Algoritmo de aprendizaje del perceptron1. Inicializar los pesos con valores aleatorios.
2. Iterar por el conjunto de entrenamiento, comparando la salida de la red con la salida deseada para cada ejemplo.
3. Si todos los ejemplos son clasificados correctamente, PARAR.
4. Si no, actualizar los pesos para cada ejemplo incorrecto:
Si salida = -1, pero deberia ser 1
Si salida = 1 pero deberia ser -1
5. Volver al PASO 2
Nov 2005
43
Variables y parametros Conjunto de entrenamiento S de ejemplos {x,t}
x es el vector de entrada
t la salida deseada
Ejemplo: La AND
S = {(0,0),0}, {(0,1),0}, {(1,0),0}, {(1,1),1}
Nov 2005
44
Variables y parametros Variables y parametros en la iteracion k del algoritmo de
aprendizaje:
vector de entrada: x(k) = [+1, x1(k), x2(k), …, xm(k)]T
Vector de pesos: w(k) = [b(k), w1(k), w2(k), …, wm(k)]T
polarizacion: b(k)
respuesta de la red: y(k)
respuesta deseada: t(k)
Velocidad de aprendizaje: > 0
Nov 2005
45Regla de aprendizaje del perceptron Si en la iteracion k, la salida de la red es y(k) y la salida
deseada es t(k), entonces el error esta dado por:
donde k = 1, 2, 3, . . .
La iteracion k se refiere aqui al k-esimo ejemplo de entrenamiento presentado al perceptron.
e k t k y k
Nov 2005
46Regla de aprendizaje del perceptron Regla de aprendizaje del perceptron
1w k w k e k x k
e k t k y k
Si el error, e(k), es positivo, se necesita incrementar la salida del perceptron y(k), pero si es negativo, se necesita decrementar y(k).
Nov 2005
47
Algoritmo de entrenamiento Paso 1: Inicializacion
Seleccionar los pesos iniciales w1, w2,…, wm y la polarizacion b con numeros aleatorios.
Paso 2: Activacion
Presentar las entradas al perceptron x1(k), x2(k),…, xm(k).
Calcular la salida de la red en la iteracion k = 1
1
sgn m
i ii
y k x k w k b
Nov 2005
48
Algoritmo de entrenamiento Paso 3: Actualizacion de los pesos
Actualizar los pesos del perceptron
Paso 4: Iteracion
Incrementar k en uno, volver al Paso 2 y repetir el proceso hasta la convergencia.
1w k w k e k x k
e k t k y k
Teorema de la convergencia del
perceptron
Nov 2005
50
Teorema de la convergencia
El algoritmo de aprendizaje siempre encontrara los pesos que clasifiquen las entradas, si tales pesos existen.
Razon clave para el interes en el perceptron
x1
x2
0
01
1
1
0
1
Minsky & Papert demostraron que tales pesos existen si y solamente si el problema es linealmente separable
Nov 2005
51
Teorema de la convergencia Teorema
Suponga que las clases C1, C2 son linealmente separables.
Entonces, el algoritmo del perceptron aplicado a C1C2 termina con exito despues de un numero finito de iteraciones.
Esto es:
Existe un numero entero N tal que para todo k ≥ N, el error e(k) = 0, y entonces
1w k w k
Nov 2005
52
Teorema de la convergencia
Prueba:
Por simplicidad asumimos
w(1) = 0, = 1.
Y el contador de iteraciones k cuenta solamente los pasos en los que se corrige el vector de pesos
Nov 2005
53
Teorema de la convergencia Entonces
2 1 1 1
3 2 2 2
1
w w e x
w w e x
w k w k e k x k
1 1 1 2 2w k e x e x e k x k
Prueba:
Nov 2005
54
Teorema de la convergencia
Ya que C1 y C2 son linealmente separables entonces existe w* tal que clasifica correctamente a todos los vectores de entrada, x C.
Sea
1
1k
T T
j
w w k e j w x j
1
2
0
0
T
T
x C w x
x C w x
Prueba:
1
2
1
1
C
C
Nov 2005
55
Teorema de la convergencia
Ya que todos los vectores de entrada x(j) han sido clasificados incorrectamente,
es estrictamente positivo.
Te j w x j
Si
Entonces e(j)>0
0Tw x j
Si
Entonces e(j)<0
0Tw x j
e k t k y k
Prueba:
Nov 2005
56
Teorema de la convergencia Tenemos entonces
1
1 0k
T T
j
w w k e j w x j
1Tw w k ka
min T
ja e j w x j
Prueba:
Nov 2005
57
Teorema de la convergencia Por la desigualdad de Cauchy-Schwarz
2
2
2
11
Tw w kw k
w
22
21
kaw k
w
Prueba:
Nov 2005
58
Teorema de la convergencia Consideremos ahora otro camino:
2 21w j w j Q
2 2 21 2 Tw j w j e j x j e j w j x j
2max
jQ e j x j
0Te j w j x j
Los vectores x(j) son clasificados incorrectamente
Prueba:
Nov 2005
59
Teorema de la convergencia Entonces
21w k Qk
22
21ka
Qk w kw
2
21ka
Q w
Prueba:
Nov 2005
60
Teorema de la convergencia
Por lo tanto k no puede ser mayor que kmax tal que:
Entonces el algoritmo termina con exito al menos en kmax iteraciones
2
max 2
Q wk
a
Prueba:
Nov 2005
61
observaciones El algorimo converge a la clasificacion
correcta
si los datos de entrenamiento son linealmente separables
y la velocidad de aprendizaje es lo suficientemente pequeña
La Soluion w* no es unica, ya que si w*Tx =0 define un hiper-plano, tambien lo hace w*’ = αw*.
Ejemplos
Nov 2005
63
Aprendizaje del perceptron
t=1t=-1
w=[0.25 –0.1 0.5]x2 = 0.2 x1 – 0.5
o=1
o=-1
(x,t)=([-1,-1],1)o=sgn(0.25+0.1-0.5) =-1
w=[0.2 –0.2 –0.2]
(x,t)=([2,1],-1)o=sgn(0.45-0.6+0.3) =1
w=[-0.2 –0.4 –0.2]
(x,t)=([1,1],1)o=sgn(0.25-0.7+0.1) =-1
w=[0.2 0.2 0.2]
Nov 2005
64
Otro ejemplo
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 +1
+1
+1
+1
-1 -1
-1 -1 -1 -1 -1 +1
-1 -1
-1 -1 -1 +1
+1
+1
-1 -1
-1 -1 -1 -1 -1 +1
-1 -1
-1 -1 -1 -1 - 1 +1
-1 -1
-1 -1 +1
+1
+1
+1
-1 -1
-1 -1 -1 -1 -1 -1 -1 -1
¿Como entrenar al perceptron para reconocer este 3?
Nov 2005
65
Otro ejemplo ¿Como entrenar al perceptron para reconocer
este 3?
Asignar –1 a los pesos con valores de entrada que son iguales a
–1, +1 a los pesos con valores de entrada que son iguales a
+1, y –63 a la polarizacion.
La salida del perceptron sera 1 cuando se le presente un tres “perfecto”, y al menos –1 para cualquier otro patron.
Nov 2005
66
Otro ejemplo
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 +1
+1
+1
+1
-1 -1
-1 -1 -1 -1 -1 +1
-1 -1
-1 -1 -1 +1
+1
+1
-1 -1
-1 +1
-1 -1 -1 +1
-1 -1
-1 -1 -1 -1 - 1 +1
-1 -1
-1 -1 +1
+1
+1
+1
-1 -1
-1 -1 -1 -1 -1 -1 -1 -1
¿Que pasa si el 3 a ser reconocido es ligeramente diferente?
Nov 2005
67
Otro ejemplo ¿Que pasa si el 3 a ser reconocido es ligeramente
diferente?
El 3 original con un bit corrupto produce una suma igual a –1.
Si la polarizacion se hace igual a –61 entonces tambien este 3 corrupto sera reconocido, asi como todos los patrones con un bit corrupto.
El sistema es capaz de generalizar al considerar solo un ejemplo de patron corrupto!
Limitacion del perceptron
Nov 2005
69
Limitaciones
Se garantiza la convergencia de la regla de aprendizaje del perceptron a una solucion en un numero finito de pasos, siempre que exista una solucion.
Las dos clases deben ser linealmente separables.
Nov 2005
70
Limitaciones Problemas no linealmente separables
Trate de dibujar una linea recta entre vectores de dos clases
Nov 2005
71El problema de la OR exclusiva (XOR) Proposito: Clasificar un vector binario de
entrada
X Y Clase
Par deseado i/o 1 0 0 0
Par deseado i/o 2 0 1 1
Par deseado i/o 3 1 0 1
Par deseado i/o 4 1 1 0
En la clase 0 si el vector tiene un numero par de 1’s o 0’s,
En la clase 1 en caso contrario
Nov 2005
72
Objecion de Minsky-Papert
i 2
i 1
1
?
La simple operacion de la OR exclusive
(XOR)no puede ser resuelta usando un perceptron
lineal con polarizacion.
Por lo tanto,
probablemente problemas mas importantes no
pueden ser resueltos con el perceptron
lineal.
Nov 2005
73
El problema XOR resuelto El problema de la XOR puede ser resuelto
usando un perceptron de dos capas
neurona 2
neurona 3
neurona 1
x2
x1
Nov 2005
74
El problema XOR resuelto El problema de la XOR puede ser resuelto
usando un perceptron de dos capas
1
1
11
1-2
-1
0.50.5
-1
1.5-1
f()
f()
f()
Nov 2005
75
1 2 1
1 2 1
31
23
02
Neurona 1.
x x y
x x y
x2
O
1
x1
1
1 1.5-1
f()
x1 x2 y1
1 1 1
1 0 0
0 1 0
0 0 0
Nov 2005
76
1 2 2
1 2 2
0.5 1
0.5 0
Neurona 2.
x x y
x x y
x2
O
1
x11
1
0.5
f()
x1 x2 y2
1 1 1
1 0 1
0 1 1
0 0 0
Nov 2005
77
El problema XOR resuelto
1
-2
-1
0.5
f()y1
y2
y3
1 2 3
1 2 3
2 0.5 1
2 0.5 0
Neurona 3.
y y y
y y y
y1 y2 y3
1 1 0
1 0 0
0 1 1
0 0 0
Nov 2005
78y1 y2 y3
1 1 0
1 0 0
0 1 1
0 0 0
x1 x2 y1
1 1 1
1 0 0
0 1 0
0 0 0
x1 x2 y2
1 1 1
1 0 1
0 1 1
0 0 0
x2
O1
x1
x2
O
1
x1
La neurona 3 realiza la operación XOR.
x2
O
1 x1
1 OO
O
1
Neurona 1 Neurona 2
1 2 3
1 2 3
2 0.5 1
2 0.5 0
Neurona 3.
y y y
y y y
Nov 2005
79
El problema XOR resuelto Conclusion:
Por medio de estructuras multicapas es posible clasificar problemas que no son linealmente separables
El perceptron: ejemplo en MATLAB
Nov 2005
81
Ejemplo en MATLAB PART 1: Generation of the training and
validation sets
X = 2*rand(p-1,2*N)-1;% Una matriz (p − 1) × 2N de numeros aleatorios uniformemente distribuidos en el intervalo [−1, +1]
nn = randperm(2*N);
nn = nn(1:N);
X(:,nn) = sin(X(:,nn));
% Se “colorean” las columnas de la matriz X indicadas por nn
X = [X; ones(1,2*N)]; % Al final de cada vector de entrada se agrega un 1 para implementar la polarizacion
Nov 2005
82
Ejemplo en MATLAB PARTE 1: Generacion de los conjuntos de
entrenamiento y validacion
wht = 3*rand(1,p)-1;
wht = wht/norm(wht);
% Este es un vector unitario ortogonal al plano de separacion aumentado. Es tambien el vector de pesos a encontrar (target).
D = (wht*X >= 0); % La clasficacion para cada punto del espacio de entrada con respecto al numero de la clase, 0 or 1.
Nov 2005
83
Ejemplo en MATLAB PARTE 2: Visualisacion de los patrones de
entrada-salida.
pr = [1, 3]; Xp = X(pr, :);
wp = wht([pr p]); % projeccion del vector de pesos
c0 = find(D==0); c1 = find(D==1);
plot(Xp(1,c0),Xp(2,c0),’o’, Xp(1,c1),Xp(2,c1),’x’)
% El espacio de entrada es de dimension p, por lo tanto dificil de visualizar. Entonce, se dibujan proyecciones de los patrones de entrada en un plano 2D, digamos el plano (x1 − x3).
Nov 2005
84
Ejemplo en MATLAB PARTE 3: Aprendizaje
C = 50;
E = [C+1, zeros(1,C)];
WW = zeros(C*N,p);
c = 1 ;
cw = 0 ;
% Maximo numero de epocas de entrenamiento
% Inicializacion del vector de la suma total de errores al cuadrado en una epoca.
% La matriz WW almacenara los vectores de pesos wh.
% c es un contador de epocas
% cw contador de actualizaciones de pesos total
Nov 2005
85
Ejemplo en MATLAB: Aprendizaje
while (E(c)>1)|(c==1)
c = c+1 ;
% El lazo interno prueba todos los ejemplos de entrenamiento.
for n = 1:N
eps = D(n) - ((wh*X(:,n)) >= 0); % e(n) = d(n) − y(n)
wh = wh + eta*eps*X(:,n)’; % La ley de aprendizaje
cw = cw + 1;
WW(cw,:)=wh/norm(wh); % El vector de pesos normalizado se almacena en WW para graficar el desempeño
E(c) = E(c) + abs(eps); % |e| = e^2
end;
Nov 2005
86
Fuentes Martin Hagan, Neural Network Design Demonstrations. PWS
Publishing Company. 1994 Heikki Koivo, Neuro-Fuzzy Computing in Automation, course
material. Control Engineering Laboratory. Helsinki University of Technology. Spring 2002.
Jeen-Shing Wang, Course: Introduction to Neural Networks. Lecture notes. Department of Electrical Engineering. National Cheng Kung University. Fall, 2005
Wen Yu, Advanced Fuzzy neural networks. Lecture notes. Departamento de Control Automatico. CINVESTAV-IPN. 2005
Andrew P. Paplinski, CSE5301 Neuro-Fuzzy Computing (Neural Networks and Fuzzy Systems). Lecture Notes. Monash University, Australia. 1 June 2005.
Nov 2005
87
Sources J-Shing Roger Jang, Chuen-Tsai Sun and Eiji Mizutani, Slides
for Ch. 5 of “Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence”, First Edition, Prentice Hall, 1997.
Djamel Bouchaffra. Soft Computing. Course materials. Oakland University. Fall 2005
Lucidi delle lezioni, Soft Computing. Materiale Didattico. Dipartimento di Elettronica e Informazione. Politecnico di Milano. 2004
Handbook of Neural Computation. release 97/1. IOP Publishing Ltd and Oxford University Press. 1997
A. S. Hodel, Neural Networks, notes of ELEC 6240 course. Dept. ECE, Auburn University. November 19, 2003.
Recommended