diapositivas redes neuronales

26
 1 “ Neural Net wor k Toolbox de MATLAB” Instructor: Juan Carlos Moctezuma Eugenio Ciencias Computacionales - INAOE Septiembre 2006 1 Juan Carlos Moctezuma Eugenio Neural Network Toolbox Agenda 1. Introducción a las Redes Neuronales Artificiales 2. Intr oducción al Neu ral Network Toolbox 3. Redes Perceptrón 4. Redes Backpropagation 5. Redes Recurrentes tipo Hopfield 6. Laboratorios

Upload: marcelo-andres-bravo-mackenney

Post on 20-Jul-2015

382 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: diapositivas redes neuronales

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

Page 2: diapositivas redes neuronales

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.

Page 3: diapositivas redes neuronales

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)

Page 4: diapositivas redes neuronales

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

Page 5: diapositivas redes neuronales

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

Page 6: diapositivas redes neuronales

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

Page 7: diapositivas redes neuronales

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

Page 8: diapositivas redes neuronales

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)

Page 9: diapositivas redes neuronales

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

Page 10: diapositivas redes neuronales

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

Page 11: diapositivas redes neuronales

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

Page 12: diapositivas redes neuronales

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

Page 13: diapositivas redes neuronales

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:

Page 14: diapositivas redes neuronales

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

Page 15: diapositivas redes neuronales

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

Page 16: diapositivas redes neuronales

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

Page 17: diapositivas redes neuronales

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

Page 18: diapositivas redes neuronales

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

Page 19: diapositivas redes neuronales

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

Page 20: diapositivas redes neuronales

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

Page 21: diapositivas redes neuronales

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

Page 22: diapositivas redes neuronales

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

Page 23: diapositivas redes neuronales

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

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

Page 24: diapositivas redes neuronales

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

Page 25: diapositivas redes neuronales

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

Page 26: diapositivas redes neuronales

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]