View
406
Download
0
Embed Size (px)
Citation preview
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 1/26
“ Neural NetworkToolbox de MATLAB”
Instructor:
Juan Carlos Moctezuma Eugenio
Ciencias Computacionales - INAOE
Septiembre 2006
1
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Agenda
1. Introducción a las Redes Neuronales Artificiales
2. Introducción al Neural Network Toolbox
3. Redes Perceptrón
4. Redes Backpropagation
5. Redes Recurrentes tipo Hopfield
6. Laboratorios
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 2/26
2
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Introducción
Los sistemas de cómputo de hoy en día, son exitosos en laresolución de problemas matemáticos o científicos, perodefinitivamente tienen una gran incapacidad para interpretar elmundo tal y como nosotros los humanos lo hacemos, más
específicamente como nuestro cerebro lo hace.
Características del cerebro humano:
Su robustez y tolerancia a fallas, mueren neuronas sin afectar su
desempeño
Flexibilidad, se ajusta a nuevos ambientes por medio de un proceso de
aprendizaje, no hay que programarlo
Puede manejar información difusa
Es altamente paralelo
Es pequeño y compacto
3
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Las redes neuronales artificiales han surgido como un intento dedesarrollar sistemas que emulen estas características del cerebro
De esta forma podemos definir a las redes neuronales artificiales
(RNA) como modelos matemáticos ó computacionales inspiradosen sistemas biológicos, adaptados y simulados en computadoras
convencionales
Las características más importantes de las RNA son:
Habilidad de Aprendizaje. Las RNA pueden modificar sucomportamiento en respuesta al medio ambiente.
Generalización. Una vez entrenada, una RNA es, hasta cierto grado,insensible a variaciones pequeñas en sus entradas. Esto es, las RNA
producen sistemas capaces de manejar el mundo "imperfecto" en quevivimos.
Abstracción. Algunas RNA son capaces de abstraer la esencia de unaserie de entradas. Se pueden abstraer patrones perfectos de modelos
distorsionados.
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 3/26
4
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Modelo computacional
El elemento más básico del cerebro es la neurona, la cual por sisola no hace mucho pero juntamos millones de ellas entonces sevuelven poderosas
El modelo computacional de una neurona artificial es una imitación
del proceso de una neurona biológica
5
Juan Carlos Moctezuma EugenioNeural Network Toolbox
∑
X1
X2
Xp
TF
Wk1
Wk2
Wkp
Uk
Threshold
yk
Modelo desglosado de la neurona
La neurona esta constituida por: lazos sinápticos (X*W), mezclador
lineal (U) y una función de activación (TF)
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 4/26
6
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Función de Transferencia
Es quizás la característica principal de las neuronas, la que mejor
define el comportamiento de la misma. Se encarga de calcular elnivel o estado de activación de la neurona en función de la entradatotal
7
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Modelo de una capa
Dentro de una red neuronal, los elementos de procesamiento seencuentran agrupados por capas, una capa es una colección deneuronas; de acuerdo a la ubicación de la capa en la RNA, éstarecibe diferentes nombres:
Capa de entrada
Capa oculta
Capa de salida
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 5/26
8
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Modelo de una red multicapa
Una red multicapa simplemente es una red que contiene variascapas en su estructura, la forma en que las capas se encuentranconectadas es fundamental para poder clasificar a la red
9
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Agenda
1. Introducción a las Redes Neuronales Artificiales
2. Introducción al Neural Network Toolbox
3. Redes Perceptrón
4. Redes Backpropagation
5. Redes Recurrentes tipo Hopfield
6. Laboratorios
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 6/26
10
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Neural Network Toolbox
El Neural Network Toolbox de MATLAB modela soloabstracciones simples de los modelos de redes biológicas.
Comúnmente se entrenan por aprendizaje supervisado, aunque
también soporta el aprendizaje no supervisado y el diseño directo
11
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Modelo de la neurona en MATLAB
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 7/26
12
Juan Carlos Moctezuma EugenioNeural Network Toolbox
MATLAB cuenta con una gran variedad de funciones de
transferencia dependiendo el fin para el que va a ser utilizadala red, aquí presentamos 6 funciones:
Funciones de Transferencia
13
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Capa de neuronas en MATLAB
Una simple neurona no puede hacer mucho. Sin embargo, muchas
neuronas pueden combinarse en una o varias capas y así hacer a la
red más poderosa
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 8/26
14
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Redes Multicapa en MATLAB
15
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Redes multicapa (notación abreviada)
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 9/26
16
Juan Carlos Moctezuma EugenioNeural Network Toolbox
IW – pesos de entradas
LW – pesos de capas
LWc1,c2n1,n2
Peso que viene de la neurona n2 de la capa c1 y que va hacia la
neurona n1 de la capa c1
Superíndices – información de las capas
Subíndices – información de la entrada/neurona fuente y la neurona/salida
destino
Notación
17
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Agenda
1. Introducción a las Redes Neuronales Artificiales
2. Introducción al Neural Network Toolbox
3. Redes Perceptrón
4. Redes Backpropagation
5. Redes Recurrentes tipo Hopfield
6. Laboratorios
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 10/26
18
Juan Carlos Moctezuma EugenioNeural Network Toolbox
El perceptrón
Este tipo de red es ampliamente usado en problemas simples de
clasificación de patrones.
19
Juan Carlos Moctezuma EugenioNeural Network Toolbox
net = newp (PR, S);
PR – matriz de Rx2
a1 b1
a2 b2
aR bR
[ai bi] = intervalo de la i–ésima entrada
S – números de neuronas
Arquitectura del Perceptrón
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 11/26
20
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Neural
Network
Object
Architecture
SubObject Structures
Functions
Parameters
Weight and Biases values
Other (User Stuff)
architecture:
numInputs numLayers biasConnect inputConnect
layerConnect outputConnect targetConnect
subobject structures:
inputs layers outputst targets biases
inputWeight layerWeights
functions:
adaptFcn initFcn performFcn trainFcn
parameters:
adaptParam: .passestrainParam: .epochs, .goal, .show, .time
weight and bias values:
IW LW b
Objetos tipo red neuronal
En MATLAB cuando se crea una red neuronal en realidad lo que seesta creando es un objeto con diferentes campos o propiedades
21
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Proceso de Aprendizaje
Aprendizaje.- es el proceso mediante el cual la red va
modificando sus pesos y ganancias de tal manera que al finaldel 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 eseestímulo
3. La red neuronal responde de una nueva forma al entorno, como
resultado de los cambios ocurridos en su estructura interna
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 12/26
22
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Learning Process
Learning algorithms (rules)
-Calculate net’ output
-Comparate with the target
-Get Error
-Change weights and biases
Learning paradigms
Enviroment Teacher
∑Learning
System
+
_
Taxonomía del proceso de aprendizaje
23
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Reglas de aprendizaje en MATLAB
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 13/26
24
Juan Carlos Moctezuma EugenioNeural Network Toolbox
P = T =
Patrón de entrada
Número de
entradas
Salida deseada para determinado
patrón de entrada
Número de
salidas
Tipos de Entrenamiento
Inremental Training: Los pesos y ganancias de la red sonactualizados o cambiados cada vez que se presenta un patrón deentrada
Batching Training: Los pesos y ganancias de la red son
cambiados solamente hasta que todos los patrones de entrada hansido presentados
25
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Regla de aprendizaje del Perceptrón
El perceptrón es un tipo de red de aprendizaje supervisado, es
decir, necesita conocer los valores esperados (targets) para cadauna de las entradas (a) presentadas
Generalmente ocupan funciones de transferencia tipo hardlim yhardlims
La regla de aprendizaje que sigue el perceptrón para la
actualización de sus pesos es la siguiente:
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 14/26
26
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Sesión práctica
Aprendizaje del Perceptróny
Estructura de las Redes Neuronalesen MATLAB
27
Juan Carlos Moctezuma EugenioNeural Network Toolbox
sensores
Motor
chico
mediano
grande
mega
Red Neuronal
Se desea realizar un clasificador de 4 tipos diferentes de cajas
usando 6 sensores
Lab 1: Aplicación del Perceptrón
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 15/26
28
Juan Carlos Moctezuma EugenioNeural Network Toolbox
1
0
1
1
0
0
M0
1
1
0
0
0
0
M1
Motor
Mega111111
Grande111011
Mediano111001
Mediano111010
Chico101001
Chico101010
L0L1H0H1W0W1
Tamaño dela caja
LargoAltoAncho
W1
W0
H1
H0
L1
L0
M1
M0W0
W1
H0
H1
L0L1
29
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Agenda
1. Introducción a las Redes Neuronales Artificiales
2. Introducción al Neural Network Toolbox
3. Redes Perceptrón
4. Redes Backpropagation
5. Redes Recurrentes tipo Hopfield
6. Laboratorios
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 16/26
30
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Tipo de Red de aprendizaje supervisado que se basa en un algoritmo
de gradiente descendiente (LMS Algorithm Widrow-Hoff).
El patrón de entrada se propaga por la red hasta generar la salida,
después se calcula el error; éstas salidas de error se propagan hacia las
neuronas de la capa anterior. Cada neurona solo tiene una contribución
del error total
El error que genera la red en función de sus pesos es una superficie de
n dimensiones, al evaluar el gradiente se obtiene la dirección en la cual
la superficie tiene un mayor crecimiento, por lo tanto se toma la
dirección opuesta (negativa) para minimizar el error
Redes Backpropagation
31
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Las funciones de transferencia deben de ser continuas. Además
se buscan funciones cuya derivada dependa de la función sin
derivar.
Arquitectura Backpropagation
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 17/26
32
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Algoritmo Estándarg
k – gradiente
α k – learning rate
traingd – aprendizaje por gradiente descendiente (Estándar)
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 aproximación usando la matriz Jacobian
AlgoritmoEstándar
Técnicas
Heurísticas
Técnicas
Optimización
Numérica
-momentum
-lr variable
-gradiente conjugado
-Newton (Hessian matrix)
-Levenberg-M (Jacobian matrix)
Algoritmos Backpropagation
33
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Redes Backpropagation en MATLAB
newff(PR, tam, transfer, train)
PR – matriz de Rx2 en donde se indican los intervalos que puedentomar las R entradas de la red
tam – número de neuronas de la capa
transfer – función de transferencia expresada como cell array
train – método de entrenamiento de la red
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 18/26
34
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Pre-procesamiento y Post-procesamiento
El entrenamiento en redes neuronales puede volverse más eficientesi realizamos un pre-procesamiento principalmente a entradas ytargets
Hay veces que antes de entrenar la red es útil escalar las entradas
y targets de tal forma que se distribuyan en un rango específico,para esto se usa la función ‘premnmx’
Los datos son “normalizados” en el rango [-1 1] y se deben de usar
los datos normalizados para probar la red
La función ‘postmnmx’ sirve para que los datos regresen a suestado original
Si se quiere aplicar un nuevo set de entradas pero con la
distribución de los datos normalizados entonces se ocupa la función
‘tramnmx’
35
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Análisis post-entrenamiento
La eficiencia de una red entrenada puede ser medida viendo los
errores que arroja la red durante el entrenamiento o bien validandoel set de training, pero algunas veces es útil medir la red con másdetalle. Una opción es medir la eficiencia por análisis regresivo.
“m” y “b” corresponden a la pendiente y a la intersección en el eje
de las ordenadas respectivamente, es decir, representan la mejorregresión lineal que relaciona los targets con las salidas de la red
“r” es un coeficiente de correlación entre los targets y las salidas,
toma valores entre 0 y 1, donde 1 indica una perfecta correlación
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 19/26
36
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Resultados arrojados por ‘postreg’
37
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Sesión práctica
Redes Backpropagation
en MATLAB
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 20/26
38
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Hidden layer
(tansig function)
Output layer
(purelin function)
p t
p
t
Lab 2: Aplicación del Backpropagation
Se desea realizar un red neuronal la cual se comporte como unaproximador de funciones dado un set discreto de valores deentrada
39
Juan Carlos Moctezuma EugenioNeural Network Toolbox
La GUI deberá tener las siguientes características:
Un cuadro de texto para indicar el rango de la función
Un cuadro de texto para indicar la función
Un cuadro de texto que indique el número de neuronas en lacapa 1
Un grupo de radiobuttons que me ofrezca al menos 5 opcionesde entrenamiento
Un botón para entrenar la red
Un botón en donde compare la función original con la obtenidapor la red neuronal
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 21/26
40
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Agenda
1. Introducción a las Redes Neuronales Artificiales
2. Introducción al Neural Network Toolbox
3. Redes Perceptrón
4. Redes Backpropagation
5. Redes Recurrentes tipo Hopfield
6. Laboratorios
41
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Redes recurrentes tipo Hopfield
La principal característica de las redes recurrentes en cuanto a su
arquitectura es que poseen retroalimentaciones
El toolbox de MATLAB soporta 2 tipos de redes recurrentes: lasredes Elman y las redes Hopfield, ésta última será la que
estudiaremos en este curso
La red Hopfield es usada para almacenar uno o más conjuntos devectores de equilibrio (stable target vectors).
Estos vectores sirven como estados de equilibrio; para cuando sepresente una entrada a la red, entonces la salida converge a uno de
estos vectores de equilibrio
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 22/26
42
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Representación gráfica del comportamiento
Supongamos que tenemos una red de 2 neuronas (el número deentradas que podemos tener será igual al número de neuronas),además tenemos 2 patrones a grabar [-1 1] y [1 -1]
43
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Arquitectura Hopfield
Este tipo de red puede grabar (como una memoria) uno o varios
patrones de entrada, los cuales son presentados como condicionesiniciales
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 23/26
44
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Una representación quizá más desglosada de la arquitecturaHopfield sería la siguiente:
Xo X X1
n-1
n-1X
Xo´X ´
ο
n-2
n-1
1
n-2
X´
1
µ
µ
µ
µ
45
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Se calculan los pesos de la red Wij (salida de la j-ésima neuronaa la entrada de la i-ésima neurona)
Se muestra a la red un patrón de entrada cualquiera (completo oincompleto)
La red empieza a iterar hasta que la salida converge (es estable)
M = número de clases por aprender
Xsi = i-ésimo elemento de la s-ésima clase
Entrenamiento de una red Hopfield
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 24/26
46
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Declarando una red hopfield
La declaración y entrenamiento de la red se ejecuta con una solafunción que se llama ‘newhop’, en realidad lo que hace esta funciónes calcular los pesos colocando como condición inicial a la matriz T
10x5
nethop = newhop(T);
Y = sim(nethop,{Q TS},{}, {Ai}); Ai = set de entradas a probar
Q = Dimensión de Ai
TS = número de iteraciones
T =
5 patrones a grabar,
con 10 entradas
47
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Sesión práctica
Redes tipo Hopfield
en MATLAB
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 25/26
48
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Patrones a grabar: A, I, E, 1, 2
Red Hopfield
Lab 3: Aplicación Hopfield
Se desea realizar una red que grabe M patrones de entrada (eneste caso serán letras o números) de una matriz de 5x5. Despuésque se haya entrenado la red se presentarán entradas con ruido(letras mal hechas) de tal forma que la red converja al patrón más
parecido (letra más parecida)
49
Juan Carlos Moctezuma EugenioNeural Network Toolbox
La red se realizará en una interfaz gráfica de usuario y deberá tenerlas siguientes especificaciones:
Un cuadro de texto que indique cuantos patrones deseo grabar
Otro cuadro de texto en donde se indique por medio de unamatriz de tamaño 5x5 la cual contendrá solo 0’s y 1’s que
segmento estará prendido y que segmento estará apagado
Otro cuadro de texto para indicar el número de iteraciones
Un botón que vaya grabando cada patrón introducido por elusuario para que al final se tenga la matriz T
Un botón que sea para entrenar la red
Otro botón que visualice los resultados de la red ya entrenada
para así comparar resultados
5/17/2018 diapositivas redes neuronales - slidepdf.com
http://slidepdf.com/reader/full/diapositivas-redes-neuronales 26/26
50
Juan Carlos Moctezuma EugenioNeural Network Toolbox
Gracias por su atenciónOtros cursos:
- Análisis Numérico y Aplicaciones al Cálculo y Álgebra- Graficación en 2D y 3D
- Desarrollo de Interfaces Gráficas de Usuario- Procesamiento de Imágenes
- Adquisición de Datos- Adquisición de Imágenes
- Diseño de Sistemas Digitales en FPGAs usando MATLAB- Diseño de Sistemas Digitales en FPGAs usando VHDL
Para información acerca de los [email protected]