Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Computacion inteligente
13/04/2017 Computacion inteligente El perceptron
2
Agenda History Perceptron structure
13/04/2017 Agenda History Perceptron structure Perceptron as a two-class classifier The Perceptron as a Logic Operator Perceptron Learning Perceptron Convergence Theorem Examples Perceptron Limitation Nov 2005
3
13/04/2017 Historia
4
Historia 1943 El perceptron fue derivado del modelo de una
13/04/2017 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 W. S. McCullough and W. Pitts. A logical calculus of the ideas of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5:115{133, 1943 McCullough & Pitts: (1943): use of NN as computational tool D. O. Hebb. The Organization of Behavior: A Neuropsychological Theory. Wiley, New York, st rule for self-organized learning Nov 2005
5
Historia 1957 Rosenblatt desarrolla el Perceptron, una red
13/04/2017 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 F. Rosenblatt. The perceptron: A probabilistic model for information storage and organization in the brain. Psychological Review, 65:386{408, 1958 for perceptron (learning with a teacher) Nov 2005
6
Perceptron elemental de Rosenblatt
13/04/2017 Perceptron 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
13/04/2017 Historia 1969 Minsky & Papert - limitacion del perceptron El famoso problema de la “XOR” Muerte de las ANNs 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 M. Minksy and S. Papert. Perceptrons: An Introduction to Computational Geometry. MIT Press, 1969. B. Widrow and M. E. Ho, Jr. Adaptive switching circuits. In IRE WESCON Convention Record, pages 96{104 Widrow-Ho delta rule (least mean square) Nov 2005
8
Estructura del perceptron
13/04/2017 Estructura del perceptron
9
Estructura del perceptron
13/04/2017 Estructura del perceptron Nov 2005
10
Estructura del perceptron
13/04/2017 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
13/04/2017 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 Nov 2005
12
Estructura del perceptron
13/04/2017 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) Matlab toolbox Nov 2005
13
Modelo matematico del perceptron
13/04/2017 Modelo matematico del perceptron Salida de la neurona Forma vectorial b incluida Nov 2005
14
El perceptron como un clasificador de dos clases
13/04/2017 El perceptron como un clasificador de dos clases
15
El perceptron como un clasificador de dos clases
13/04/2017 El 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
16
El perceptron con dos entradas
13/04/2017 El perceptron con dos entradas La frontera de decision esta determinada por Nov 2005
17
Una frontera de decision en el perceptron
13/04/2017 Una frontera de decision en el perceptron w = (w1, w2, b) = (1, -1, 0) x1 x2 Nov 2005
18
Una frontera de decision en el perceptron
13/04/2017 Una frontera de decision en el perceptron w = (w1, w2, b) = (1, -1, 0) wT. x = 0 => 1. x x = 0 => x1 - x2 = 0 => x1 = x2 x1 x2 Nov 2005
19
Una frontera de decision en el perceptron
13/04/2017 Una frontera de decision en el perceptron w = (w1, w2, b) = (1, -1, 0) wT. x = 0 => 1. x x = 0 => x1 - x2 = 0 => x1 = x2 x1 x2 Esta es la ecuacion para la frontera de decision Nov 2005
20
Una frontera de decision en el perceptron
13/04/2017 Una frontera de decision en el perceptron Esta es la ecuacion para la region de decision region -1 w = (w1, w2, b) = (1, -1, 0) wT. x = 0 x1 x2 wT. x < 0 => x1 - x2 < 0 => x1 < x2 Nov 2005
21
Una frontera de decision en el perceptron
13/04/2017 Una frontera de decision en el perceptron w = (w1, w2, b) = (1, -1, 0) wT. x = 0 x1 x2 wT. x > 0 => x1 - x2 > 0 => x1 > x2 Esta es la ecuacion para la region de decision region +1 Nov 2005
22
13/04/2017 Ejemplo numerico La frontera de decision con Nov 2005
23
El perceptron con tres entradas
13/04/2017 El perceptron con tres entradas La frontera de decision esta determinada por Nov 2005
24
El perceptron con n entradas
13/04/2017 El 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: Nov 2005
25
Ejemplo: La imagen de un “3”
13/04/2017 Ejemplo: La imagen de un “3” -1 +1 - 1 Ejercicio: Construya las entradas para el perceptron Nov 2005
26
El perceptron como un operador logico
13/04/2017 El perceptron como un operador logico
27
El perceptron como un operador logico
13/04/2017 El perceptron como un operador logico El perceptron como una AND logica x 1 2 1 x & y y x output inputs Tabla de verdad de la AND Nov 2005
28
El perceptron como una AND
13/04/2017 El perceptron como una AND 1 x & y y x output inputs Truth Table for Logical AND 2x+2y-3 y x if sum < 0 : 0 else : 1 entradas pesos suma salida Nov 2005
29
The Perceptron as a Logic Operator
13/04/2017 The Perceptron as a Logic Operator The Perceptron as a Logic OR x 1 2 1 x | y y x output inputs Tabla de verdad de la AND Nov 2005
30
El perceptron como una OR
13/04/2017 El perceptron como una OR 1 x | y y x output inputs Tabla de verdad de la OR 2x+2y-1 y x if sum < 0 : 0 else : 1 entrada pesos suma salida Nov 2005
31
El perceptron como un operador logico
13/04/2017 El perceptron como un operador logico Ejercicio Demuestre que una neurona perceptron con los siguientes pesos y polarizacion implementa una compuerta OR Nov 2005
32
Aprendizaje en el perceptron
13/04/2017 Aprendizaje en el perceptron
33
Aprendizaje en las NNs naturales
13/04/2017 Aprendizaje en las NNs naturales Al nivel neuronal el aprendizaje ocurre por Cambio en los pesos sinapticos, Eliminacion de algunas sinapsis, y construccion de nuevas. Este procedimiento es llamado la regla de aprendizaje Nov 2005
34
Aprendizaje en las NNs artificiales
13/04/2017 Aprendizaje 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
35
Paradigmas de aprendizaje
13/04/2017 Paradigmas de aprendizaje Aprendizaje supervisado Aprendizaje no supervisado Aprendizaje por reforzamiento Classificacion Control Aproximacion de funciones Memorias Asociativas Clustering Nov 2005
36
Aprendizaje supervisado
13/04/2017 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) Nov 2005
37
Aprendizaje supervisado
13/04/2017 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) Nov 2005
38
Aprendizaje supervisado
13/04/2017 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 Los pesos se ajustan de acuerdo al error Nov 2005
39
Aprendizaje supervisado
13/04/2017 Aprendizaje supervisado Los pesos se ajustan de acuerdo al error Nov 2005
40
Entrenamiento del perceptron
13/04/2017 Entrenamiento 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
41
Entrenamiento del perceptron
13/04/2017 Entrenamiento 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
42
Algoritmo de aprendizaje del perceptron
13/04/2017 Algoritmo de aprendizaje del perceptron Inicializar los pesos con valores aleatorios. Iterar por el conjunto de entrenamiento, comparando la salida de la red con la salida deseada para cada ejemplo. Si todos los ejemplos son clasificados correctamente, PARAR. Si no, actualizar los pesos para cada ejemplo incorrecto: Si salida = -1, pero deberia ser 1 Si salida = 1 pero deberia ser -1 Volver al PASO 2 Nov 2005
43
Variables y parametros
13/04/2017 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
13/04/2017 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
45
Regla de aprendizaje del perceptron
13/04/2017 Regla 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. Nov 2005
46
Regla de aprendizaje del perceptron
13/04/2017 Regla de aprendizaje del perceptron Regla de aprendizaje del perceptron 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
13/04/2017 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 Nov 2005
48
Algoritmo de entrenamiento
13/04/2017 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. Nov 2005
49
Teorema de la convergencia del perceptron
13/04/2017 Teorema de la convergencia del perceptron
50
Teorema de la convergencia
13/04/2017 Teorema de la convergencia El algoritmo de aprendizaje siempre encontrara los pesos que clasifiquen las entradas, si tales pesos existen. Minsky & Papert demostraron que tales pesos existen si y solamente si el problema es linealmente separable Razon clave para el interes en el perceptron Nov 2005
51
Teorema de la convergencia
13/04/2017 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 Nov 2005
52
Teorema de la convergencia
13/04/2017 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
13/04/2017 Teorema de la convergencia Prueba: Entonces Nov 2005
54
Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Ya que C1 y C2 son linealmente separables entonces existe w* tal que clasifica correctamente a todos los vectores de entrada, x C. Sea Nov 2005
55
Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Ya que todos los vectores de entrada x(j) han sido clasificados incorrectamente, es estrictamente positivo. Si Entonces e(j)>0 Si Entonces e(j)<0 Nov 2005
56
Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Tenemos entonces Nov 2005
57
Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Por la desigualdad de Cauchy-Schwarz Nov 2005
58
Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Consideremos ahora otro camino: Los vectores x(j) son clasificados incorrectamente Nov 2005
59
Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Entonces Nov 2005
60
Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Por lo tanto k no puede ser mayor que kmax tal que: Entonces el algoritmo termina con exito al menos en kmax iteraciones Nov 2005
61
observaciones El algorimo converge a la clasificacion correcta
13/04/2017 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*. Nov 2005
62
13/04/2017 Ejemplos
63
Aprendizaje del perceptron
13/04/2017 Aprendizaje del perceptron t=-1 t=1 o=1 (x,t)=([2,1],-1) o=sgn( ) =1 w=[0.25 – ] x2 = 0.2 x1 – 0.5 o=-1 w=[0.2 –0.2 –0.2] (x,t)=([-1,-1],1) o=sgn( ) =-1 (x,t)=([1,1],1) o=sgn( ) =-1 w=[ ] w=[-0.2 –0.4 –0.2] Nov 2005
64
Otro ejemplo ¿Como entrenar al perceptron para reconocer este 3? -1 +1
13/04/2017 Otro ejemplo ¿Como entrenar al perceptron para reconocer este 3? -1 +1 - 1 Nov 2005
65
Otro ejemplo ¿Como entrenar al perceptron para reconocer este 3?
13/04/2017 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
¿Que pasa si el 3 a ser reconocido es ligeramente diferente?
13/04/2017 Otro ejemplo ¿Que pasa si el 3 a ser reconocido es ligeramente diferente? -1 +1 - 1 Nov 2005
67
13/04/2017 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! Nov 2005
68
Limitacion del perceptron
13/04/2017 Limitacion del perceptron
69
13/04/2017 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
13/04/2017 Limitaciones Problemas no linealmente separables Trate de dibujar una linea recta entre vectores de dos clases Nov 2005
71
El problema de la OR exclusiva (XOR)
13/04/2017 El problema de la OR exclusiva (XOR) Proposito: Clasificar un vector binario de entrada En la clase 0 si el vector tiene un numero par de 1’s o 0’s, En la clase 1 en caso contrario X Y Clase Par deseado i/o 1 Par deseado i/o 2 1 Par deseado i/o 3 Par deseado i/o 4 Nov 2005
72
Objecion de Minsky-Papert
13/04/2017 Objecion de Minsky-Papert 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. i 2 i 1 1 ? Nov 2005
73
El problema XOR resuelto
13/04/2017 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
13/04/2017 El problema XOR resuelto El problema de la XOR puede ser resuelto usando un perceptron de dos capas 1 -2 -1 0.5 1.5 f() Nov 2005
75
13/04/2017 x2 O 1 x1 1 1.5 -1 f() Nov 2005
76
13/04/2017 x2 O 1 x1 1 0.5 f() Nov 2005
77
El problema XOR resuelto
13/04/2017 El problema XOR resuelto 1 -2 -1 0.5 f() y1 y2 y3 Nov 2005
78
La neurona 3 realiza la operación XOR.
13/04/2017 Neurona 1 Neurona 2 x2 O 1 x1 x2 O 1 x1 x2 O 1 x1 La neurona 3 realiza la operación XOR. Nov 2005
79
El problema XOR resuelto
13/04/2017 El problema XOR resuelto Conclusion: Por medio de estructuras multicapas es posible clasificar problemas que no son linealmente separables Nov 2005
80
El perceptron: ejemplo en MATLAB
13/04/2017 El perceptron: ejemplo en MATLAB
81
Ejemplo en MATLAB PART 1: Generation of the training and validation sets % Una matriz (p − 1) × 2N de numeros aleatorios uniformemente distribuidos en el intervalo [−1, +1] X = 2*rand(p-1,2*N)-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 % Al final de cada vector de entrada se agrega un 1 para implementar la polarizacion X = [X; ones(1,2*N)]; Nov 2005
82
Ejemplo en MATLAB PARTE 1: Generacion de los conjuntos de entrenamiento y validacion % Este es un vector unitario ortogonal al plano de separacion aumentado. Es tambien el vector de pesos a encontrar (target). wht = 3*rand(1,p)-1; wht = wht/norm(wht); % La clasficacion para cada punto del espacio de entrada con respecto al numero de la clase, 0 or 1. D = (wht*X >= 0); Nov 2005
83
Ejemplo en MATLAB PARTE 2: Visualisacion de los patrones de entrada-salida. % 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). 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’) 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
13/04/2017 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
13/04/2017 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. Nov 2005
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.