5 - mlp

15
1 Antonio G. Thomé [email protected] Sala - 1013 (021)2598-3268 Modelo MLP Modelo MLP Universidade Federal do Rio de Janeiro www.labic.nce.ufrj.br GRADUAÇÃO - 2007/1 fev-07 2 MLP Multi Layers Perceptron 1. Redes Neurais (RN) de múltiplas camadas resolvem problemas não linearmente separáveis. 2. Uma função contínua sempre pode ser aproximada por uma rede de uma camada oculta, desde que a camada de saída seja linear e a camada oculta utilize uma função de propagação contínua não-constante, limitada e monotonicamente crescente. (Teorema da Aproximação Universal). 3. Uma função qualquer sempre pode ser aproximada por uma rede de duas camadas ocultas. 4. Toda classificação pode ser feita com uma rede com uma camada oculta e uma de saída, ambas não lineares.

Upload: lslima

Post on 12-Sep-2015

214 views

Category:

Documents


1 download

DESCRIPTION

zxx

TRANSCRIPT

  • 1Antonio G. [email protected] - 1013(021)2598-3268

    Modelo MLPModelo MLP

    Universidade Federal do Rio de Janeiro

    www.labic.nce.ufrj.br

    GRADUAO - 2007/1

    fev-072

    MLP Multi Layers Perceptron

    1. Redes Neurais (RN) de mltiplas camadas resolvem problemas no linearmente separveis.

    2. Uma funo contnua sempre pode ser aproximada por uma rede de uma camada oculta, desde que a camada de sada seja linear e a camada oculta utilize uma funo de propagao contnua no-constante, limitada e monotonicamente crescente. (Teorema da Aproximao Universal).

    3. Uma funo qualquer sempre pode ser aproximada por uma rede de duas camadas ocultas.

    4. Toda classificao pode ser feita com uma rede com uma camada oculta e uma de sada, ambas no lineares.

  • 2fev-073

    x1

    x2

    1a camada de pesos ajustveiscamada de sada

    W0

    2a camada de pesos ajustveis1a camada escondida

    W1

    ka camada de pesos ajustveis(K-1)a camada escondida

    vrias camadas de pesos ajustveis; conexo completa; tipo acclica (feedforward)

    Wk-1

    y0

    y1

    ^

    ^

    O Modelo MLPO Modelo MLP

    fev-074

    Esquema de Treinamento - A Regra Delta Generalizada

    o modelo do neurnio

    a funo degrau substituda pela sigmoid ou tangente hiperblica

    x1

    xm wm

    w1

    net

    w0

    +1

    y

    yd

    Xi

    iw xerro

    esquema aprendizagem

    f(net)

    BackpropagationBackpropagation

  • 3fev-075

    z Camada oculta: 2 neurniosz Camada de sada: 1 neurnioz Funo de propagao: sigmides

    Problema do XOR (OU Exclusivo)

    fev-076

    Definio do problema

  • 4fev-077

    Retas definidas pelos Perceptrons da camada oculta.

    x1.x2 + x1.x2

    Reta 1

    Reta 2

    fev-078

    O valor dos nets dos neurnios da camada oculta para cada uma das 4 entradas.

    Net 1

    Net 2

  • 5fev-079

    O valor das sadas dos neurnios da camada oculta para cada uma das 4 entradas. Observe que agora o problema linearmente separvel.

    n1

    n2

    fev-0710

    A reta traada pelo neurnio da camada de sada.

    Reta 3

  • 6fev-0711

    Observe que a reta deixou de ser reta, isso s possvel porque a transformao exercida pela camada escondida no linear.

    A reta traada pelo neurnio da camada de sada projetada no domnio original de x1 e x2.

    fev-0712

    ( )2

    )(2

    )(2

    d2 (k)ykye(k)kE ==

    )()1( kEkWi +

    mtrica de aprendizagem - erro quadrtico

    regra de aprendizagem

    o mesmo da regra delta

    A Regra Delta GeneralizadaA Regra Delta Generalizada

  • 7fev-0713

    o ajuste dos pesos da camada de sada

    W0i

    j

    k

    i

    j

    yi^

    y^j

    )()1(0 kEkW iki + 2))()((

    21)( kykykE idii =

    A Regra Delta GeneralizadaA Regra Delta Generalizada

    fev-0714

    )(/)()(

    )()(

    )()(

    )()()( 0

    0

    00 ktodokwknet

    knetky

    kykE

    kwkEkE

    ki

    i

    i

    i

    i

    i

    ki

    ii

    =

    =

    )(2

    ))()((2)(2

    ))()(()()( 2 kekyky

    kykyky

    kykE

    iidi

    i

    idi

    i

    i ===

    )()1(0 kEkW iki +

    i

    j

    k

    i

    j

    yi^

    0kiw

    ydi

    ei(k)

    A Regra Delta GeneralizadaA Regra Delta Generalizada

  • 8fev-0715

    ))(()(

    ))((()(

    )( 0'0

    0

    knetfknetknetf

    knetky

    ii

    i

    i

    i ==

    )()(

    ))()(()()( 1

    0

    10

    0

    0

    kykw

    kykwkwknet

    kki

    hhi

    ki

    i ==

    )())(()()1( 10'0 kyknetfkekw kiiki +entrada

    Derivada da propagaoerro na camada de sada

    A Regra Delta GeneralizadaA Regra Delta Generalizada

    fev-0716

    o ajuste dos pesos da 1a camada escondida

    i

    j

    h

    ii

    jj

    k1hkw

    )()1(1 kEkWhk + = )(

    21)( kEkE i

    A Regra Delta GeneralizadaA Regra Delta Generalizada

  • 9fev-0717

    =

    = ))()(

    )()(

    )()(

    )()(

    )()((

    )()()( 1

    1

    1

    1

    1

    0

    01 kwknet

    knetky

    kyknet

    knetky

    kykE

    kwkEkE

    hk

    h

    h

    h

    h

    i

    i

    i

    i

    i

    hk

    i

    )()1(1 kEkWhk +

    )())(())())(()(()1( 21'00'1 kyknetfkwknetfkekw hkkkiiihk + retropropagao ponderadado erro de cada neurnio da

    camada de sada

    entradaderivada da propagao

    erro na camada de sadaderivada da propagao

    peso da conexo

    A Regra Delta GeneralizadaA Regra Delta Generalizada

    fev-0718

    Quanto ao perodo de ajustes dos pesos

    por padro (incremental)

    - os pesos so ajustados aps a apresentao de cada exemplo do conjunto de treinamento

    - estvel se a taxa de aprendizado pequena

    - rpida se o conjunto de treinamento grande e redundante

    - requer menos memria

    Estratgias de TreinamentoEstratgias de Treinamento

  • 10

    fev-0719

    Quanto ao perodo de ajustes dos pesos

    por ciclo (batch/epoch)

    - os pesos so ajustados aps a apresentao de todos os exemplos do conjunto de treinamento

    - geralmente mais estvel

    - lenta se o conjunto de treinamento grande e redundante

    - requer mais memria

    Estratgias de TreinamentoEstratgias de Treinamento

    fev-0720

    Quanto ao perodo de ajustes dos pesos

    por bloco

    - combina as abordagens de ajuste por padro e por ciclo

    - os pesos so ajustados aps a apresentao de k exemplos do conjunto de treinamento

    Estratgias de TreinamentoEstratgias de Treinamento

  • 11

    fev-0721

    Quanto ao critrio de parada

    pelo nmero de ciclos de treinamento

    - pra aps a execuo de k ciclos de treinamento

    pelo valor do erro (ou mtrica usada)

    - pra quando valor do erro menor ou igual a pelo critrio de validao

    - pra quando o erro no conjunto de validao pra de decrescer

    Estratgias de TreinamentoEstratgias de Treinamento

    fev-0722

    Quanto a seleo dos conjuntos de dados

    treinamento e teste separados

    - razo 70% e 30% treinamento, teste e validao (50%, 30% e 20%)

    - razo 50%, 30% e 20 % treinamento e teste juntos

    - poucos dados

    Estratgias de TreinamentoEstratgias de Treinamento

  • 12

    fev-0723

    Quanto a arquitetura da rede

    nmero de camadas escondidas

    - uma, duas ou mais?

    nmero de elementos por camada

    - menor / maior que o nmero de entradas?

    funes de propagao

    - linear, sigmoid ou tangente hiperblico?

    infelizmente no existe uma regra que diz qual a melhor configurao de rede para um determinado problema

    Estratgias de TreinamentoEstratgias de Treinamento

    fev-0724

    Velocidade de convergncia, mnimos locais e plats

    taxa de aprendizado adaptativa

    termo de momento

    algoritmos alternativos

    Demos: Steepest descent Variable learning rateMomentumToo large a learning rate

    com momentosem momento

    Dificuldades e Solues no TreinamentoDificuldades e Solues no Treinamento

  • 13

    fev-0725

    Capacidade de aprendizagem

    aumentar o nmero de elementos na camada escondida

    aumentar o nmero de camadas escondidas

    trocar / combinar diferentes funes de propagao

    rever a representao usada para o problema (populao)

    Dificuldades e Solues no TreinamentoDificuldades e Solues no Treinamento

    fev-0726

    Perda de generalizao overfitting

    Demo: Generalization

    generalizao ruim

    boa generalizao

    Dificuldades e Solues no TreinamentoDificuldades e Solues no Treinamento

  • 14

    fev-0727

    Como evitar perda de generalizao?

    pelo critrio da validao

    reduzir (podar) a arquitetura da rede

    adicionar rudo aos dados

    ponto de parada

    erro no treinamento

    erro na validao

    Dificuldades e Solues no TreinamentoDificuldades e Solues no Treinamento

    fev-0728

    Corte e Saturao

    f (net) 0

    corte

    saturao1

    0 net

    f(net)

    Dificuldades e Solues no TreinamentoDificuldades e Solues no Treinamento

  • 15

    fev-0729

    Corte e Saturao

    iniciar com pesos muito prximos de zero

    normalizar e reduzir o valor absoluto das entradas

    adicionar uma constante derivada

    usar mtrica que ao infinito quando a derivada a 0

    )1()(' yynetf =derivada da sigmoid

    21)(' ynetf =derivada da tang. hiperb.

    Dificuldades e Solues no TreinamentoDificuldades e Solues no Treinamento

    fev-0730

    z Gradient descent with momentum and adaptive learn rule backprop.

    z Resilient backprop.z Powell-Beale conjugate

    gradient backpropagationz Fletcher-Powell conjugate

    gradient backpropagationz Gradient descent

    backpropagation

    z BFGS quasi-Newton backpropagation

    z Levenberg-Marquardt backpropagation

    z One-step secant backpropagation

    z Scaled conjugate gradient backpropagation

    z Polak-Ribiere conjugate gradient backpropagation

    Algoritmos alternativosAlgoritmos alternativos