92944528 diapositivas redes neuronales

Upload: jessyrojas741876

Post on 28-Oct-2015

46 views

Category:

Documents


0 download

TRANSCRIPT

  • 1 Neural Network Toolbox de MATLAB

    Instructor:

    Juan Carlos Moctezuma EugenioCiencias Computacionales - INAOE

    Septiembre 2006

    1

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    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

  • 22

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    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

    3

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Las redes neuronales artificiales han surgido como un intento dedesarrollar 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.

  • 34

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Modelo computacional

    El elemento ms bsico del cerebro es la neurona, la cual por sisola no hace mucho pero juntamos millones de ellas entonces se vuelven poderosasEl modelo computacional de una neurona artificial es una imitacin del proceso de una neurona biolgica

    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 sinpticos (X*W), mezclador lineal (U) y una funcin de activacin (TF)

  • 46

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Funcin de TransferenciaEs 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

    7

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Modelo de una capa

    Dentro de una red neuronal, los elementos de procesamiento se encuentran agrupados por capas, una capa es una coleccin de neuronas; de acuerdo a la ubicacin de la capa en la RNA, sta recibe diferentes nombres:

    Capa de entrada Capa oculta Capa de salida

  • 58

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Modelo de una red multicapa

    Una red multicapa simplemente es una red que contiene varias capas en su estructura, la forma en que las capas se encuentran conectadas es fundamental para poder clasificar a la red

    9

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    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

  • 610

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Neural Network Toolbox

    El Neural Network Toolbox de MATLAB modela solo abstracciones simples de los modelos de redes biolgicas. Comnmente se entrenan por aprendizaje supervisado, aunque tambin soporta el aprendizaje no supervisado y el diseo directo

    11

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Modelo de la neurona en MATLAB

  • 712

    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 utilizada la red, aqu presentamos 6 funciones:

    Funciones de Transferencia

    13

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Capa de neuronas en MATLABUna simple neurona no puede hacer mucho. Sin embargo, muchas neuronas pueden combinarse en una o varias capas y as hacer a la red ms poderosa

  • 814

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Redes Multicapa en MATLAB

    15

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Redes multicapa (notacin abreviada)

  • 916

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    IW pesos de entradasLW 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 capasSubndices informacin de la entrada/neurona fuente y la neurona/salida

    destino

    Notacin

    17

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    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

    18

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    El perceptrn

    Este tipo de red es ampliamente usado en problemas simples de clasificacin de patrones.

    19

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    net = newp (PR, S);

    PR matriz de Rx2

    a1 b1a2 b2

    aR bR

    [ai bi] = intervalo de la isima entradaS nmeros de neuronas

    Arquitectura del Perceptrn

  • 11

    20

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    NeuralNetworkObject

    Architecture

    SubObject Structures

    Functions

    Parameters

    Weight and Biases values

    Other (User Stuff)

    architecture:numInputs numLayers biasConnect inputConnectlayerConnect outputConnect targetConnect

    subobject structures:inputs layers outputst targets biasesinputWeight layerWeights

    functions:adaptFcn initFcn performFcn trainFcn

    parameters:adaptParam: .passestrainParam: .epochs, .goal, .show, .time

    weight and bias values:IW LW b

    Objetos tipo red neuronalEn 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 AprendizajeAprendizaje.- 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 entorno2. La red neuronal experimenta cambios como resultado de ese

    estmulo3. La red neuronal responde de una nueva forma al entorno, como

    resultado de los cambios ocurridos en su estructura interna

  • 12

    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

    LearningSystem

    +

    _

    Taxonoma del proceso de aprendizaje

    23

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Reglas de aprendizaje en MATLAB

  • 13

    24

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    P = T =

    Patrn de entrada

    Nmero deentradas

    Salida deseada para determinadopatrn de entrada

    Nmero desalidas

    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

    25

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Regla de aprendizaje del PerceptrnEl perceptrn es un tipo de red de aprendizaje supervisado, es decir, necesita conocer los valores esperados (targets) para cada una de las entradas (a) presentadas

    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:

  • 14

    26

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Sesin prctica

    Aprendizaje del Perceptrny

    Estructura de las Redes Neuronalesen MATLAB

    27

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    sensores

    Motor

    chicomediano

    grandemega

    Red Neuronal

    Se desea realizar un clasificador de 4 tipos diferentes de cajasusando 6 sensores

    Lab 1: Aplicacin del Perceptrn

  • 15

    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

    Tamao de la caja

    LargoAltoAncho

    W1W0H1H0L1L0

    M1

    M0W0

    W1

    H0

    H1

    L0L1

    29

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    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

  • 16

    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 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

    Redes Backpropagation

    31

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Las funciones de transferencia deben de ser continuas. Adems se buscan funciones cuya derivada dependa de la funcin sin derivar.

    Arquitectura Backpropagation

  • 17

    32

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Algoritmo Estndar g k gradiente k learning rate

    traingd aprendizaje por gradiente descendiente (Estndar)traingdm gradiente descendiente con momentum (low-pass filter)traingda, traingdx gradiente descendiente, variando el learning ratetrainlm - Levenberg-Marquardt basado en la matriz Hessiana pero

    hecha con una aproximacin usando la matriz Jacobian

    AlgoritmoEstndar

    TcnicasHeursticas

    TcnicasOptimizacinNumrica

    -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 pueden tomar las R entradas de la red

    tam nmero de neuronas de la capa transfer funcin de transferencia expresada como cell array train mtodo de entrenamiento de la red

  • 18

    34

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Pre-procesamiento y Post-procesamiento

    El entrenamiento en redes neuronales puede volverse ms eficiente si realizamos un pre-procesamiento principalmente a entradas y targetsHay 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 premnmxLos datos son normalizados en el rango [-1 1] y se deben de usar los datos normalizados para probar la redLa funcin postmnmx sirve para que los datos regresen a su estado originalSi se quiere aplicar un nuevo set de entradas pero con la distribucin de los datos normalizados entonces se ocupa la funcin tramnmx

    35

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    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 mejorregresin lineal que relaciona los targets con las salidas de la redr es un coeficiente de correlacin entre los targets y las salidas, toma valores entre 0 y 1, donde 1 indica una perfecta correlacin

  • 19

    36

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Resultados arrojados por postreg

    37

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Sesin prctica

    Redes Backpropagationen MATLAB

  • 20

    38

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Hidden layer(tansig function)

    Output layer(purelin function)

    p t

    p

    t

    Lab 2: Aplicacin del Backpropagation

    Se desea realizar un red neuronal la cual se comporte como un aproximador de funciones dado un set discreto de valores de entrada

    39

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    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

  • 21

    40

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    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

    41

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Redes recurrentes tipo Hopfield

    La principal caracterstica de las redes recurrentes en cuanto a su arquitectura es que poseen retroalimentaciones

    El toolbox de MATLAB soporta 2 tipos de redes recurrentes: las redes Elman y las redes Hopfield, sta ltima ser la que estudiaremos en este curso

    La red Hopfield es usada para almacenar uno o ms conjuntos de vectores 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

  • 22

    42

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Representacin grfica del comportamiento

    Supongamos que tenemos una red de 2 neuronas (el nmero de entradas que podemos tener ser igual al nmero de neuronas), adems 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

  • 23

    44

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Una representacin quiz ms desglosada de la arquitectura Hopfield sera la siguiente:

    Xo X X1

    n-1

    n-1X

    Xo X

    n-2n-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 neurona a la entrada de la i-sima neurona)

    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)

    M = nmero de clases por aprenderXsi = i-simo elemento de la s-sima clase

    Entrenamiento de una red Hopfield

  • 24

    46

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Declarando una red hopfield

    La declaracin y entrenamiento de la red se ejecuta con una solafuncin que se llama newhop, en realidad lo que hace esta funcin es calcular los pesos colocando como condicin inicial a la matriz T

    10x5

    nethop = newhop(T);

    Y = sim(nethop,{Q TS},{}, {Ai}); Ai = set de entradas a probarQ = Dimensin de AiTS = nmero de iteraciones

    T = 5 patrones a grabar,con 10 entradas

    47

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Sesin prctica

    Redes tipo Hopfielden MATLAB

  • 25

    48

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Patrones a grabar: A, I, E, 1, 2

    Red Hopfield

    Lab 3: Aplicacin Hopfield

    Se desea realizar una red que grabe M patrones de entrada (en este caso sern letras o nmeros) de una matriz de 5x5. Despus que se haya entrenado la red se presentarn entradas con ruido (letras mal hechas) de tal forma que la red converja al patrn ms parecido (letra ms parecida)

    49

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    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

  • 26

    50

    Juan Carlos Moctezuma EugenioNeural Network Toolbox

    Gracias por su atencin

    Otros cursos:

    - Anlisis Numrico y Aplicaciones al Clculo y lgebra- Graficacin en 2D y 3D

    - Desarrollo de Interfaces Grficas de Usuario- Procesamiento de Imgenes

    - Adquisicin de Datos- Adquisicin de Imgenes

    - Diseo de Sistemas Digitales en FPGAs usando MATLAB- Diseo de Sistemas Digitales en FPGAs usando VHDL

    Para informacin acerca de los [email protected]