Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Instructor:
Septiembre 2006
Agenda
1. Introduccin a las Redes Neuronales Artificiales 2. Introduccin al Neural Network Toolbox 3. Redes Perceptrn 4. Redes Backpropagation 5. Redes Recurrentes tipo Hopfield 6. Laboratorios
Introduccin
Los sistemas de cmputo de hoy en da, son exitosos en la resolucin de problemas matemticos o cientficos, pero definitivamente tienen una gran incapacidad para interpretar el mundo tal y como nosotros los humanos lo hacemos, ms especficamente como nuestro cerebro lo hace. Caractersticas del cerebro humano:
Su robustez y tolerancia a fallas, mueren neuronas sin afectar su desempeo Flexibilidad, se ajusta a nuevos ambientes por medio de un proceso de aprendizaje, no hay que programarlo Puede manejar informacin difusa Es altamente paralelo Es pequeo y compacto
2
Las redes neuronales artificiales han surgido como un intento de desarrollar sistemas que emulen estas caractersticas del cerebro De esta forma podemos definir a las redes neuronales artificiales (RNA) como modelos matemticos computacionales inspirados en sistemas biolgicos, adaptados y simulados en computadoras convencionales Las caractersticas ms importantes de las RNA son:
Habilidad de Aprendizaje. Las RNA pueden modificar su comportamiento en respuesta al medio ambiente. Generalizacin. Una vez entrenada, una RNA es, hasta cierto grado, insensible a variaciones pequeas en sus entradas. Esto es, las RNA producen sistemas capaces de manejar el mundo "imperfecto" en que vivimos. Abstraccin. Algunas RNA son capaces de abstraer la esencia de una serie de entradas. Se pueden abstraer patrones perfectos de modelos distorsionados.
3
Modelo computacional
El elemento ms bsico del cerebro es la neurona, la cual por si sola no hace mucho pero juntamos millones de ellas entonces se vuelven poderosas El modelo computacional de una neurona artificial es una imitacin del proceso de una neurona biolgica
X1 X2
Wk1
Wk2
TF
Uk
Xp
Wkp
yk
Threshold
Funcin de Transferencia
Es quizs la caracterstica principal de las neuronas, la que mejor define el comportamiento de la misma. Se encarga de calcular el nivel o estado de activacin de la neurona en funcin de la entrada total
Agenda
1. Introduccin a las Redes Neuronales Artificiales 2. Introduccin al Neural Network Toolbox 3. Redes Perceptrn 4. Redes Backpropagation 5. Redes Recurrentes tipo Hopfield 6. Laboratorios
10
11
Funciones de Transferencia
MATLAB cuenta con una gran variedad de funciones de transferencia dependiendo el fin para el que va a ser utilizada la red, aqu presentamos 6 funciones:
12
13
14
15
Notacin
IW pesos de entradas LW pesos de capas LWc1,c2 n1,n2 Peso que viene de la neurona n2 de la capa c1 y que va hacia la neurona n1 de la capa c1 Superndices informacin de las capas Subndices informacin de la entrada/neurona fuente y la neurona/salida destino
16
Agenda
1. Introduccin a las Redes Neuronales Artificiales 2. Introduccin al Neural Network Toolbox 3. Redes Perceptrn 4. Redes Backpropagation 5. Redes Recurrentes tipo Hopfield 6. Laboratorios
17
El perceptrn
Este tipo de red es ampliamente usado en problemas simples de clasificacin de patrones.
18
aR
bR
S nmeros de neuronas
19
10
Architecture SubObject Structures Neural Network Object Functions Parameters Weight and Biases values Other (User Stuff)
targets
biases
initFcn
performFcn
trainFcn
parameters: adaptParam: .passes trainParam: .epochs, .goal, .show, .time weight and bias values: IW LW
20
Proceso de Aprendizaje
Aprendizaje.- es el proceso mediante el cual la red va modificando sus pesos y ganancias de tal manera que al final del proceso se tiene el comportamiento deseado El proceso de aprendizaje involucra los siguientes pasos:
1. La red neuronal es estimulada por el entorno 2. La red neuronal experimenta cambios como resultado de ese
estmulo 3. La red neuronal responde de una nueva forma al entorno, como resultado de los cambios ocurridos en su estructura interna
21
11
Learning paradigms
Enviroment Teacher
+
Learning System
22
23
12
Tipos de Entrenamiento
Inremental Training: Los pesos y ganancias de la red son actualizados o cambiados cada vez que se presenta un patrn de entrada Batching Training: Los pesos y ganancias de la red son cambiados solamente hasta que todos los patrones de entrada han sido presentados
Salida deseada para determinado patrn de entrada
Patrn de entrada
P=
Nmero de entradas
T=
Nmero de salidas
24
Generalmente ocupan funciones de transferencia tipo hardlim y hardlims La regla de aprendizaje que sigue el perceptrn para la actualizacin de sus pesos es la siguiente:
25
13
Sesin prctica
26
sensores
Red Neuronal
Motor
27
14
Ancho W1 0 1 0 1 1 1 W0 1 0 1 0 1 1 H1 0 0 0 0 0 1
Alto H0 1 1 1 1 1 1
Largo L1 0 0 1 1 1 1 L0 1 1 1 1 1 1
Motor M1 0 0 0 0 1 1 M0 0 0 1 1 0 1
H1 H0 W1 W0 L1 L0
W1 W0 H1 H0 L1 L0
M1
M0
28
Agenda
1. Introduccin a las Redes Neuronales Artificiales 2. Introduccin al Neural Network Toolbox 3. Redes Perceptrn 4. Redes Backpropagation 5. Redes Recurrentes tipo Hopfield 6. Laboratorios
29
15
Redes Backpropagation
Tipo de Red de aprendizaje supervisado que se basa en un algoritmo de gradiente descendiente (LMS Algorithm Widrow-Hoff). El patrn de entrada se propaga por la red hasta generar la salida, despus se calcula el error; stas salidas de error se propagan hacia las neuronas de la capa anterior. Cada neurona solo tiene una contribucin del error total El error que genera la red en funcin de sus pesos es una superficie de n dimensiones, al evaluar el gradiente se obtiene la direccin en la cual la superficie tiene un mayor crecimiento, por lo tanto se toma la direccin opuesta (negativa) para minimizar el error
30
Arquitectura Backpropagation
Las funciones de transferencia deben de ser continuas. Adems se buscan funciones cuya derivada dependa de la funcin sin derivar.
31
16
traingd aprendizaje por gradiente descendiente (Estndar) traingdm gradiente descendiente con momentum (low-pass filter) traingda, traingdx gradiente descendiente, variando el learning rate trainlm - Levenberg-Marquardt basado en la matriz Hessiana pero hecha con una aproximacin usando la matriz Jacobian
Tcnicas Heursticas Algoritmo Estndar Tcnicas Optimizacin Numrica -momentum -lr variable -gradiente conjugado -Newton (Hessian matrix) -Levenberg-M (Jacobian matrix)
32
33
17
Pre-procesamiento y Post-procesamiento
El entrenamiento en redes neuronales puede volverse ms eficiente si realizamos un pre-procesamiento principalmente a entradas y targets Hay veces que antes de entrenar la red es til escalar las entradas y targets de tal forma que se distribuyan en un rango especfico, para esto se usa la funcin premnmx Los datos son normalizados en el rango [-1 1] y se deben de usar los datos normalizados para probar la red La funcin postmnmx sirve para que los datos regresen a su estado original Si se quiere aplicar un nuevo set de entradas pero con la distribucin de los datos normalizados entonces se ocupa la funcin tramnmx
34
Anlisis post-entrenamiento
La eficiencia de una red entrenada puede ser medida viendo los errores que arroja la red durante el entrenamiento o bien validando el set de training, pero algunas veces es til medir la red con ms detalle. Una opcin es medir la eficiencia por anlisis regresivo.
m y b corresponden a la pendiente y a la interseccin en el eje de las ordenadas respectivamente, es decir, representan la mejor regresin lineal que relaciona los targets con las salidas de la red r es un coeficiente de correlacin entre los targets y las salidas, toma valores entre 0 y 1, donde 1 indica una perfecta correlacin
35
18
36
Sesin prctica
37
19
t p t
Output layer (purelin function) Hidden layer (tansig function)
38
La GUI deber tener las siguientes caractersticas: Un cuadro de texto para indicar el rango de la funcin Un cuadro de texto para indicar la funcin Un cuadro de texto que indique el nmero de neuronas en la capa 1 Un grupo de radiobuttons que me ofrezca al menos 5 opciones de entrenamiento Un botn para entrenar la red Un botn en donde compare la funcin original con la obtenida por la red neuronal
39
20
Agenda
1. Introduccin a las Redes Neuronales Artificiales 2. Introduccin al Neural Network Toolbox 3. Redes Perceptrn 4. Redes Backpropagation 5. Redes Recurrentes tipo Hopfield 6. Laboratorios
40
41
21
42
Arquitectura Hopfield
Este tipo de red puede grabar (como una memoria) uno o varios patrones de entrada, los cuales son presentados como condiciones iniciales
43
22
Xo
X1
Xn-1
44
Se muestra a la red un patrn de entrada cualquiera (completo o incompleto) La red empieza a iterar hasta que la salida converge (es estable)
45
23
T=
10x5 nethop = newhop(T); Y = sim(nethop,{Q TS},{}, {Ai});
46
Sesin prctica
47
24
Patrones a grabar: A, I, E, 1, 2
Red Hopfield
48
La red se realizar en una interfaz grfica de usuario y deber tener las siguientes especificaciones: Un cuadro de texto que indique cuantos patrones deseo grabar Otro cuadro de texto en donde se indique por medio de una matriz de tamao 5x5 la cual contendr solo 0s y 1s que segmento estar prendido y que segmento estar apagado Otro cuadro de texto para indicar el nmero de iteraciones Un botn que vaya grabando cada patrn introducido por el usuario para que al final se tenga la matriz T Un botn que sea para entrenar la red Otro botn que visualice los resultados de la red ya entrenada para as comparar resultados
49
25
26