redes neurais puc

Upload: duilio-ferronatto-leite

Post on 24-Feb-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Redes Neurais PUC

    1/23

    3Redes Neurais

    3.1. Introduo

    As redes neurais artificiais, ou comumente conhecidas como Neural

    Networks, foram motivadas em princpio pela extraordinria capacidade do

    crebro humano para executar tarefas de grande complexidade, no lineares e com

    processamento paralelo da informao, tais como reconhecimento de padres,

    percepo, classificao, generalizao de conceitos e controle motor. Estes fatos

    geraram o interesse do estudo detalhado da constituio do crebro e sua

    mimetizao na concepo de sistemas com as capacidades acima referidas,

    designadas por redes neurais artificiais (ANN).

    As redes neurais (NN) esto constitudas por unidades bsicas independentes

    designadas como neurnios (processadores ou ns). Cada unidade possui ligaes

    para outras unidades, as quais se comunicam entre si atravs de sinapses,

    formando uma rede de ns, da o nome de rede neural.

    As primeiras informaes sobre redes neurais surgiram em 1943, com o

    primeiro modelo lgico-matemtico de um neurnio biolgico, que foi

    desenvolvido pelo neurofisilogo Warren McCulloch, doInstituto Tecnolgico de

    Massachusetts, e do matemtico Walter Pitts, da Universidade de Illinois.

    Desenvolveram um modelo matemtico de neurnio simulando o comportamento

    de uma clula nervosa, a qual consistia num modelo de resistores variveis e

    amplificadores.

    As redes neurais realizam o processamento de informaes baseado na

    organizao dos neurnios do crebro, as quais tm a capacidade de aprender e

    tomar decises baseadas na aprendizagem. Uma rede neural interpretada como

    uma estrutura neural de organismos inteligentes, capaz de armazenarconhecimento baseado em aprendizagem e da experincia.

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    2/23

    37

    Uma rede neural um processador maciamente paralelo, distribudo,

    constitudo por unidades de processamento simples, que tm a capacidade de

    armazenamento de conhecimento experimental e de torn-lo disponvel para uso.

    As redes neurais so semelhantes ao crebro pelos seguintes aspectos [14]:

    O conhecimento obtido pela rede neural a partir do ambiente,

    atravs do processo de aprendizado.

    A fora de conexo entre cada neurnio, conhecida como peso

    sinptico, usada para armazenar o conhecimento aprendido.

    3.2. Estrutura do neurnio

    O neurnio a unidade fundamental de processamento de informao para aoperao de uma NN. Neurnios so elementos processadores interligados,

    trabalhando em paralelo para desempenhar uma determinada tarefa. A Figura 3.1

    mostra a estrutura de um neurnio biolgico, e na Figura 3.2 apresenta-se o

    modelo de um neurnio artificial, na qual se desenham formas bsicas que

    constituem umaNN. Os elementos bsicos identificados no modelo neural so: os

    pesos de conexo, o Net e a Funo de ativao[15].

    Figura 3.1. Esquema bsico do neurnio biolgico.

    O neurnio recebe mltiplos sinais de outros neurnios atravs de seus

    dentritos, e cada um destes sinais so multiplicados pelo prprio peso da conexo.

    Estes sinais so adicionados no corpo celular ou funo somatria, e quando este

    sinal composto alcana um valor umbral, um sinal potencial enviado peloaxnio, o qual a sada do neurnio [14].

    Dentritos

    CorpoCelular

    Axnio

    Terminaispsinpticos

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    3/23

    38

    Figura 3.2. Modelo bsico de um neurnio Artificial Perceptron.

    onde x so as entradas, kn so os pesos ou parmetros da rede, os quais

    representam a memria da rede, k conhecido como o termo polarizador (bias),

    kNet representa a combinao linear dos pesos, e kS representa a sada do

    neurnio.

    O modelo do neurnio da Figura 3.2, alm das entradas, tambm tem um

    termo constante chamado bias k , o qual tem a funo de aumentar ou diminuir

    a entrada kNet da funo de ativao, modificando este positiva ou

    negativamente.

    3.2.1. Peso de conexo

    O valor de sinapses, ou conexo, caracterizado por um peso.

    Especificamente, o sinal de entrada jx da sinapse j conectada para o neurnio k

    multiplicado pelo peso sinptico kj . O primeiro sub-ndice faz referncia ao

    neurnio, e o segundo faz referncia entrada.

    3.2.2. Funo Somatrio (Net)

    ANet definida como uma funo soma, e executa o somatrio dos sinaisproduzidos pelo produto entre os sinais de entrada e os pesos de conexo

    x1

    x2

    xn

    SadaPesos SinpticosEntradas

    Net k

    FunoSomatria

    Bias

    k1

    FunoAtivao

    k2

    kn

    F(Net k)S k

    k

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    4/23

    39

    (sinapses) de cada neurnio. Esta operao representa uma combinao linear:

    1

    .p

    k kj j k

    j

    Net x =

    = + (3.1)

    3.2.3. Funo de Ativao

    A funo de ativao uma funo que determina o nvel de ativao do

    neurnio artificial, o qual limita a amplitude do sinal de sada do neurnio para

    uma faixa de valores finitos. Geralmente, escreve-se a faixa de amplitude

    normalizada da sada de um neurnio como um intervalo fechado [0,1] ou [-1,1]

    [14][16].

    Funo Degrau

    Modelo proposto por McCulloch e Pits[1943], esta funo de

    ativao modela a caracterstica de todo - ou- nada do neurnio, e

    expressa pela equao:

    1 Se 0( )

    0 Se 0k

    k

    k

    NetF Net

    Net

    =

  • 7/24/2019 Redes Neurais PUC

    5/23

    40

    .

    1( )

    1 kk a NetF Net

    e

    =+

    (3.4)

    onde a o parmetro de inclinao da funologsige kNet o

    valor de ativao do neurnio. Na Figura 3.3(c), apresenta-se afuno logsig, e observa-se que medida que o parmetro a

    aumenta, tendendo-o ao infinito, esta funo comporta-se como uma

    funo de grau.

    Funo de Ativao Tansig

    Na Figura 3.3 (d) apresenta-se a funo Tansig. Esta funo tambm

    possui a forma sigmoidal, e a segunda funo mais utilizada naconstruo de ANN. A principal diferena com relao funo

    Logsig que pode assumir valores na faixa de [-1, 1], e definida

    pela equao.

    .

    2( ) 1

    1 kk a NetF Net

    e

    = +

    (3.5)

    O parmetro a , assim como na Equao (3.4), determina a

    inclinao da funo.

    Figura 3.3. Funes de Ativao: (a) Funo de Grau. (b) Funo linear. (c) Funo

    Logsig. (d) Funo Tansig.

    -1 -0.5 0 0.5 1

    0

    0.5

    1

    Funo de ativao de Grau

    (a) Netk

    F(Netk)

    -1 -0.5 0 0.5 1

    0

    0.5

    1

    Funo de ativao Linear

    (b) Netk

    F(Netk)

    -8 -6 -4 -2 0 2 4 6 8

    0

    0.5

    1

    Funo de ativao Logsig

    (c) Netk

    F(Netk)

    a=2

    a=1

    a=0.5

    -6 -4 -2 0 2 4 6

    -1

    -0.5

    0

    0.5

    1

    Funo de ativao Tansig

    (d) Netk

    F(Netk)

    a=2

    a=1

    a=0.5

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    6/23

    41

    3.3. Arquitetura das Redes Neurais

    A arquitetura das redes neurais artificiais pode ser formada por uma ou mais

    camadas de neurnios. Estas camadas esto formadas por neurnios enfileirados e

    ligados entre si. A entrada de uma camada intermediria p a sada da camada

    anterior 1p ou a camada de entrada, e a sada desta mesma camada p

    uma entrada da camada seguinte 1p + ou a camada de sada, como se apresenta

    na Figura 3.4.

    As redes neurais, baseadas em sua arquitetura, so classificadas em dois

    grupos, as redes Perceptron e as redes Multilayer Perceptron (MLP).

    3.3.1. Rede Perceptron

    O perceptron foi proposto por Rosenblatt [1962], dando continuidade ao

    trabalho de McCulloch-Pitts. Este pode ser considerado o primeiro modelo de

    redes neurais, e capaz de aprender somente sobre problemas linearmente

    separveis. Sua arquitetura consiste em uma camada de entrada e uma de sada,

    como se apresenta na Figura 3.4.

    Figura 3.4. Rede perceptron com kNeurnios de sada.

    onde [ ]1 2 ... nX x x x= representa a camada de entrada, kN o k simo

    neurnio, jk o peso do neurnio kN em relao entrada jx , e kS representa

    x 1

    x 2

    x n kn

    1

    S 1

    S 2

    S k

    k

    11 21

    k1 12

    22

    k2 2n

    1n

    N 1

    N 2

    N k

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    7/23

    42

    a k sima sada.

    Seguindo a regra de propagao, o valor de Net do j simo neurnio

    definido pela equao

    1.

    k

    j ji i j

    i

    Net x =

    = + (3.6)

    Geralmente, nas redes perceptron a funo de ativao a funo Degrau,

    e sua sada jS determinada por

    1 Se 0

    0 Se 0j

    j

    j

    NetS

    Net

    >=

    (3.7)

    Durante o processo de treinamento do perceptron, busca-se encontrar umconjunto de pesos que determine uma reta que separe as diferentes classes, de

    maneira que a rede possa classificar corretamente as entradas apresentadas. O

    algoritmo de aprendizado para obter os pesos desejados determinado de a

    maneira descrita a seguir.

    Para um padro de entrada, obtm-se uma sada da rede js , com seu

    respectivo valor de sada desejado jt . O erro na sada definido por

    j j je t s= (3.8)

    Ento, a variao do peso ji definida por

    . .ji i jx e = (3.9)

    onde a taxa de aprendizado.

    Entretanto, os pesos so atualizados depois de cada entrada com a regra

    1 . .t t t t ji ji ji ji i jx e + = + = + (3.10)

    O algoritmo de aprendizado aplicado em um dos neurnios da rede

    perceptron o mesmo para todos os demais neurnios.

    O perceptron de um nico neurnio limitado a trabalhar na classificao

    de padres com apenas duas classes. Entretanto, o incremento dos neurnios na

    camada de sada do perceptron permite classificar padres de mais de duasclasses, sempre que as classes forem linearmente separveis [17].

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    8/23

    43

    3.3.2. Rede Multilayer Perceptron

    A rede multilayer perceptron (MLP) considerada como uma das mais

    importantes ANN. Este tipo de rede tem sido aplicado com sucesso em diversas

    reas, na soluo de problemas complexos, desempenhando tarefas declassificao de padres, reconhecimento de voz, reconhecimento de imagem, e

    controle. Uma vez que as redes perceptron s representam funes linearmente

    separveis, um dos motivos do ressurgimento da rea de redes neurais foi devido

    ao desenvolvimento do algoritmo BackPropagation. A rede MLP uma

    generalizao da rede perceptron estudada na seo anterior.

    As ANN do tipo MLP esto constitudas de trs partes: a primeira parte denominada camada de entrada (input layer), a qual constituda de um conjunto

    de unidades sensoriais; a segunda parte constituda de uma ou mais camadas

    escondidas (hidden layers); e a terceira parte constituda de uma camada

    denominada camada de sada (ouput layer). Com exceo da camada de entrada,

    todas as outras camadas esto constitudas por neurnios, as quais implicam em

    um esforo computacional.

    Na Figura 3.5, apresenta-se a arquitetura de uma rede neural MLP com uma

    camada de entrada constituda de n unidades sensoriais, duas camadas escondidas

    constituda de i e j neurnios respectivamente, e uma camada de sada constituda

    de k neurnios, formando a arquiteturaMLP(n-i-j-k).

    Figura 3.5. Arquitetura de uma rede neural MLP (n-i-j-k).

    S 1

    S 2

    S k

    M 1

    M 2

    M i

    N 1

    N 2

    N

    O 1

    O 2

    O k

    X 1

    X 2

    X n

    Camada deEntrada

    CamadaEscondidas

    Camada deSada

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    9/23

    44

    Algumas caractersticas bsicas das redesMLP so as seguintes:

    A funo de ativao de cada um dos neurnios da rede uma

    funo no-linear. Uma caracterstica importante desta funo que

    precisa ser suave e diferencivel em todos os pontos. Geralmente, a

    funo de ativao que satisfaz estes requerimentos uma funo

    no-linear sigmoidal, as mais comuns utilizadas so as funes

    Logsige Tansig.

    As redesMLP so constitudas de uma ou mais camadas escondidas,

    que contm neurnios que no formam parte da camada de entrada

    ou sada da rede. Estes neurnios escondidos permitem que a rede

    possa aprender tarefas mais complexas progressivamente, pelo

    processo de aprendizado.

    Uma rede MLP uma rede feedforward, onde o fluxo de dados

    sempre em uma nica direo. Assim, a sadas dos neurnios de uma

    camada qualquer se conectam unicamente s entradas dos neurnios

    da camada seguinte. Portanto, o sinal de entrada se propaga atravs

    da rede em um s sentido, isto , no existe realimentao.

    As redesMLPapresentam um alto grau de conectividade ou podem

    ser completamente conectada, o que determinado pelas sinapses da

    rede, caso em que um neurnio de uma camada qualquer conectado

    a todos os neurnios da camada seguinte. Alm disso, uma rede

    MLPpode ser parcialmente conectada, no caso em que alguma das

    sinapses esteja faltando. Na prtica, a falta de algumas sinapses

    dentro da rede representada fazendo o peso das sinapses igual a

    zero. Entretanto, neste estudo consideram-se redes MLP

    completamente conectadas.

    A combinao destas caractersticas, junto com a capacidade de

    aprendizagem, produto da experincia atravs do processo de treinamento das

    redesMLP, determina o esforo computacional.

    O nmero de variveis ou ns da camada de entrada determinado pela

    complexidade do problema e a dimensionalidade do espao de observao, de

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    10/23

    45

    onde so gerados os sinais de entrada. O nmero de neurnios na camada de sada

    determinado pela dimensionalidade da resposta desejada. Alm disso, a

    configurao e modelagem de uma rede MLP tm como objetivo determinao

    dos seguintes aspectos:

    1. A determinao do nmero de camadas escondidas.

    2. A determinao do nmero de neurnios em cada uma das camadas

    escondida.

    3. A determinao do valor dos pesos de conexo e as funes de ativao.

    Existe uma variedade de metodologias para a escolha destes aspectos, mas

    normalmente estas so feitas de forma emprica. Na Figura 3.6, apresentam-se

    estes aspectos.

    Figura 3.6. Configurao da rede MLP.

    O tamanho do modelo deANN determinado pelos aspectos 1 e 2 acima,

    mas no h regras para a determinao de tais especificaes, sendo geralmentedeterminados baseado na experincia do especialista. O nmero de camadas

    escondidas em umaANNinflui na relao entrada-sada. Isto , umaANNcom um

    maior nmero de camadas escondidas tem melhor capacidade de extrair as

    caractersticas de algum processo aleatrio desconhecido, sobre o qual a rede esta

    tentando adquirir conhecimento. O incremento excessivo do nmero de camadas

    escondidas e neurnios dentro daANNproduzem uma rede muito grande que no

    responder corretamente a padres nunca vistos. Isto , devido rede extrairmuitas caractersticas,ela pode tentar, de forma inapropriada, modelar tambm o

    RedeMLP

    X1

    X2

    Xp

    M1

    M2

    Mi

    N1

    N2

    Nn

    S1

    S2

    Sk

    "m" CamadasEscondidas

    CamadaEntrada

    CamadaSaida

    Peso de Conexo"n" Neuronios

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    11/23

    46

    rudo. E um nmero muito pequeno de camadas escondidas e neurnios produz

    uma ANN muito pequena, que no capaz de armazenar todos os padres

    necessrios, a ponto de no modelar fielmente os dados. Alm disso, uma rede

    muito grande demanda um maior esforo computacional, ento se deve ter um

    compromisso entre Convergnciae Generalizao.

    A Convergncia a capacidade da rede de aprender todos os padres do

    conjunto de treinamento, a qual esta estritamente relacionada com o tamanho da

    rede. Entanto, a Generalizao a capacidade de um modelo de aprendizado

    responder corretamente a padres novos que lhe so apresentados. Um modelo

    com boa generalizao aquele que responde corretamente a padres contidos na

    base de dados, e tambm a padres novos contidos na base de teste. A capacidade

    de generalizao o principal objetivo no processo de aprendizado.

    Outro aspecto est relacionado com a determinao da funo de ativao

    de cada um dos neurnios, e do algoritmo de treinamento utilizado para obter os

    pesos de conexo desejados que resolva o problema ou tarefa. Um dos algoritmos

    de treino que tem sido aplicado na soluo de diversos problemas complexos o

    algoritmo conhecido na literatura como backpropagation, o qual baseado na

    retro-propagao do erro.

    A idia bsica do algoritmo backpropagation foi descrita por Werbos em

    sua tese de doutorado na Universidade de Harvard em 1974. No entanto, o

    algoritmo de aprendizado backpropagation surgiu aps 1985, atravs da

    publicao do livro Parallel Distributed Processingde Rumelhart e McClelland

    em 1986.

    Alm do algoritmo backpropagation, existem vrios algoritmos de

    aprendizado, ou tambm chamados regras de aprendizado, algumas das quais so

    o algoritmo de aprendizado Levenberg Marquardt (utiliza uma aproximao do

    mtodo de Newton), o algoritmo do gradiente descendente (usado pelo algoritmo

    backpropagation), algoritmos competitivos que se caracterizam pelas conexes

    laterais dos neurnios com seus vizinhos, estabelecendo uma competio entre osneurnios (usado pelas redes Hopfiel e Kohonen).

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    12/23

    47

    A obteno dos pesos desejados da ANN obtida mediante a atualizao

    de pesos no processo de treinamento, o que pode ser feito de duas maneiras,Batch

    ou Incremental.

    No processo de treinamento Batch ou por ciclos, a atualizao dos pesos

    acontece somente aps a apresentao de todos os padres do conjunto de

    treinamento. Assim, todos os padres so avaliados com a mesma configurao de

    pesos. Entretanto, no treinamentoIncremental (ou por Padro), a atualizao dos

    pesos feita aps a apresentao de cada novo padro. Isto leva a que a rede

    aprenda melhor o ltimo padro apresentado, e por isso recomendvel

    apresentar os dados de forma aleatria.

    A eficincia dos dois mtodos de treinamento depende do problema em

    questo. O processo de treinamento (aprendizado) mantido at que os pesos se

    estabilizem e o erro quadrtico mdio seja suficientemente pequeno, ou seja,

    menor que um erro admissvel, de modo que o objetivo desejado seja atingido.

    Assim, deve-se encontrar um ponto timo de parada com erro mnimo e mxima

    capacidade de generalizao.

    Aps o processo de treinamento, algumas vezes a ANN pode se

    especializar demasiadamente em relao aos padres do conjunto de treinamento,

    gerando um problema de aprendizado conhecido como super-aprendizado ou

    over-fitting. Geralmente este problema pode ser evitado por meio de um mtodo

    Early Stopping. Este mtodo divide o conjunto de padres em um novo conjunto

    de treinamento e validao, aps cada varredura do conjunto de treinamento, arede avaliada com o conjunto de validao. O algoritmo pra, quando o

    desempenho com o teste de validao deixa de melhorar.

    O procedimento de treinamento utilizado o treinamento Supervisionado,

    a rede treinada com um conjunto de dados de treinamento que fornece rede os

    valores de entrada e seus respectivos valores de sada desejada, como apresentado

    na Figura 3.7.

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    13/23

    48

    Figura 3.7. Treinamento Supervisionado.

    3.4. Algoritmo Backpropagation

    Backpropagation o algoritmo de treinamento mais utilizado pelas ANN.

    Este algoritmo de tipo supervisionado, e consiste no ajuste dos pesos da rede

    baseado na minimizao do erro mdio quadrtico pelo algoritmo do gradiente

    descendente. Portanto, uma parte essencial do algoritmo o clculo das derivadas

    parciais do erro em relao aos parmetros da ANN. O desenvolvimento deste

    algoritmo permitiu resolver o problema da atualizao dos pesos nas camadas

    escondidas, e com este o ressurgimento das redes neurais.

    3.4.1. Fases do Algoritmo Backpropagation

    O algoritmo composto de duas fases: Propagao e Retropropagao,

    descritos a seguir.

    3.4.1.1. Propagao (forward)

    Nesta fase, um conjunto de padres aplicado na camada de entrada da

    ANN, e a resposta desta propagada como entrada na seguinte camada. Este efeito

    propagado atravs da rede, camada a camada, at que finalmente produzido

    um conjunto de sada como a resposta atual da rede. Durante esta etapa, os pesos

    sinpticos da rede so fixos. Observe na Figura 3.9(b) que o sinal flui atravs da

    rede no sentido direito, da esquerda para a direita. Estes sinais que se propagam de

    forma direta, neurnio a neurnio, atravs da rede desde a entrada at a sada, sodenominados Sinais Funcionais. Esta denominao nasceu do fato de estes sinais

    Pesos da Rede

    Clculo doErroSada

    desejada (t)

    Sada (s)

    erro (e)

    Padres deEntrada (x)

    Dados deTreinamento

    ANN

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    14/23

    49

    serem obtidos na sada de cada neurnio como uma funo dos sinais de entrada

    de cada um. Na Figura 3.9(a), apresenta-se a fase de propagao em uma rede

    MLP(4-3-2) [14].

    Figura 3.9. (a) Fase de propagao (b) Sinais Funcionais.

    3.4.1.2. Retropropagao (backward)

    Na fase de Retropropagao, desde a camada de sada at a camada de

    entrada so ajustados todos os pesos sinpticos em concordncia com uma

    correlao do erro. Especificamente, a resposta atual da rede subtrada de uma

    resposta desejada (target), gerando um sinal erro. Este sinal de erro novamente retropropagado atravs da rede no sentido contrario ao sinal funcional, da o nome

    de error back-propagation.

    Os pesos daANNso ajustados para fazer com que a resposta atual da rede

    se aproxime resposta desejada. E o erro originado em um neurnio na camada de

    sada da rede, que propagado de volta atravs da rede, camada a camada,

    denominado como sinal de erro. Este sinal referido como sinal de erro porque o

    clculo do erro em cada neurnio da rede uma funo de erro de algum tipo. NaFigura 3.10, apresenta-se a fase de retropropagao e os sinais de erro [14].

    S 1

    S 2

    N1

    O1

    O2

    X1

    X2

    Camada deEntrada

    CamadaEscondida

    Camada deSaida

    X3

    X4

    N2

    N3

    S 1N1

    O1

    N2

    Entradas

    Sadas

    PesosNeurnios

    Saida

    Neuronios Intermedios

    SinaisFuncionais

    (a)

    (b)

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    15/23

    50

    Figura 3.10. (a) Fase de Retro-propagao (b) Sinais de erro.

    3.4.2. Algoritmo de Aprendizado

    O algoritmo de aprendizado backpropagation baseado na propagao do

    erro, que inicia na camada de sada e vai para as camadas anteriores daANN, de

    acordo com o grau de participao que cada neurnio teve no nvel posterior.

    Antes de passar descrio do algoritmo, conveniente fazer algumas

    consideraes quanto s caractersticas bsicas daANN:

    Topologia da rede Mltiplas camadas (MLP).

    Funo de ativao Funo no-linear, diferencivel em todo o

    domnio.

    Tipo de aprendizado supervisionado.

    Regra de propagao 1

    .k

    j ji i j

    i

    Net x =

    = + .

    Valores de entrada sada binrios ou contnuos.

    E1

    E2

    N1

    O1

    O2

    X1

    X2

    CamadaEscondida

    Camada deSada

    X3

    X4

    N2

    N3

    E1N1

    O1

    N2

    Entra

    das

    Sadas

    Pesos

    Sinais deerro

    (a)

    (b)

    Camada deEntrada

    Ajuste dosPesos

    E=T-S

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    16/23

    51

    O processo de aprendizado do algoritmo backpropagation tem como

    objetivo a atualizao dos pesos sinpticos da rede, o que feito por meio da

    minimizao do erro quadrtico mdio pelo mtodo do Gradiente Descendente.

    Baseado neste mtodo, o fator de atualizao do pesoij

    relativo entrada i do

    neurnio j dado por

    .ij

    ij

    E

    =

    (3.11)

    onde, ij a variao do peso do neurnio j da conexo i , a taxa de

    aprendizado, e E o somatrio do erro quadrtico mdio total.

    O valor do erro quadrtico mdio total (E) definido pela Equao (3.12),

    como a soma do erro quadrtico mdio de todo os padres [19].

    2

    1

    1. ( )

    2

    kp p

    i i

    p i

    E t s=

    = (3.12)

    onde, p o numero de padres, k o numero de neurnios na sada, e pit ep

    is

    so o valor desejado e a sada gerada pela rede para o neurnio i quando

    apresentado o padro p . Alm disso, pode-se assumir sem perda de generalidade

    que a minimizao de cada padro vai a levar minimizao do erro total, de

    modo que o erro passa a ser definido por

    2

    1

    1. ( )

    2

    k

    i i

    i

    E t s=

    = (3.13)

    3.4.2.1. Calculo da ij

    Usando a regra da cadeia na Equao (3.11), pode-se expressar

    . . . jij

    ij j ij

    netE E

    net

    = =

    (3.14)

    Onde, .j i ij jnet s = + , e assim

    ji

    ij

    net S

    = (3.15)

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    17/23

    52

    onde, is o valor de entrada recebido pela conexo i do neurnio j .

    Entretanto, o outro termo da Equao (3.14) o valor calculado do erro do

    neurnio j . Este termo depende da camada na qual se encontra o neurnio, e

    representado por

    j

    j

    Ee

    net

    =

    (3.16)

    Assim, das equaes acima, pode-se estabelecer que

    . .ij i js e = (3.17)

    Entretanto, o valor do peso atualizado definido por

    1 1 . .t t t t ij ij ij ij i js e + += + = + (3.18)

    onde, 1tij+ o valor de peso atualizado, tij o valor de peso na iterao anterior

    no processo de aprendizado, e tij a variao do peso.

    3.4.2.2. Calculo do Erro (je )

    Usando a regra da cadeia na Equao (3.16), pode-se estabelecer que:

    . jj

    j j j

    sE Ee

    net s net

    = =

    (3.19)

    onde ( )j js net = , ento:

    ( ) jj

    j

    snet

    net

    =

    (3.20)

    Entretanto, o valor do termo depende da camada qual pertence o

    neurnio j .

    Na camada de sada

    O neurnio j pertence camada de sada, como apresentado na Figura

    3.11. O valor de E calculado pela Equao (3.13), de modo que o termo

    js

    E

    js

    E

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    18/23

    53

    calculado por

    ( )j j

    j

    Et s

    s

    =

    (3.21)

    Assim, o valor do de je para o neurnio j na camada de sada

    ( ). ( )j j j je t s net = (3.22)

    Figura 3.11. Clculo de erro je na camada de sada.

    Na camada escondida

    O caso em que o neurnio j pertence camada escondida apresentado na

    Figura 3.12.

    Figura 3.12. Calculo de erro je na camada escondida.

    O valor de E para este neurnio j calculado pela Equao (3.13),

    tomando em considerao a propagao do erro da camada seguinte. O termo

    j

    E

    s

    calculado por

    w1j

    (net)

    Neurnio j

    CamadaEscondida

    si wij

    Propagao daSinal de Erro

    N1

    N2

    Nk

    w2j

    wkj

    e2

    ek

    e1

    saida

    t

    Si wij

    saidadesejada

    sj(net)

    Neurnio j

    Camada desaida

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    19/23

    54

    21 .( )2 k k

    E t s=

    ( ). kk k

    kj j

    sEt s

    s s

    =

    (3.23)

    Usando a regra da cadeia na Equao (3.23), pode-se estabelecer que:

    ( ). . ( ). ( ).k kk k k k k jk k kj k j

    s net Et s t s net

    s net s

    = =

    ( . )k jk

    kj

    Ee

    s

    =

    (3.24)

    O valor de je para o neurnio j na camada escondida ento

    ( . ). ( )j k jk jk

    e e net = (3.25)

    3.4.3. Parmetros de Aprendizado

    O algoritmo backpropagation faz a aprendizagem da rede atravs de um

    processo iterativo de ajuste dos pesos, seguindo uma trajetria de movimento

    sobre a superfcie de erro no espao de pesos sinpticos, a qual, a cada instante,

    segue a direo de minimizao de erro, podendo chegar ao mnimo global.

    Alguns parmetros que influenciam o desempenho do processo de aprendizagem

    so Taxa de Aprendizadoe Termo de Momentum.

    3.4.3.1. Taxa de Aprendizado ()

    A taxa de aprendizado () um parmetro constante no intervalo [0,1] que

    interfere na convergncia do processo de aprendizado. A influncia deste

    parmetro esta relacionada mudana nos pesos sinpticos. Assim, uma taxa de

    aprendizado muito pequena implica numa trajetria suave e pequenas mudanas

    nos pesos a cada iterao. No entanto, requer-se um tempo de treinamento muito

    longo, e dependendo da inicializao dos pesos possvel cair no problema de

    mnimo local, pois a ANN nesse caso no consegue calcular uma mudana nos

    pesos que faa a rede sair do mnimo local. Na Figura 3.13 apresenta-se o efeito

    produzido com uma pequena.

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    20/23

    55

    Figura 3.13. Taxa de aprendizado pequeno, com problema do mnimo local.

    Entretanto, se a taxa de aprendizado for muito grande (perto de 1), ocorre

    uma maior mudana nos pesos, aumentando a velocidade do aprendizado, o que

    pode levar a oscilaes em torno do mnimo global. Assim, que a taxa de

    aprendizado no deve ser muito pequena, nem muito grande. Na Figura 3.14,

    mostra-se o efeito causado por uma taxa de aprendizado muito grande [19].

    Figura 3.14. Taxa de aprendizado grande, com problema de oscilaes.

    O ideal seria utilizar a maior taxa de aprendizado possvel que no levasse a

    uma oscilao, obtendo o aprendizado mais rpido. De acordo com BEALE [20],

    a taxa de aprendizado () deveria ser decrementada progressivamente, de modo

    que o gradiente descendente pelo qual so atualizados os pesos possa encontrar

    uma melhor soluo. Desta forma, utiliza-se uma taxa de aprendizado ( )

    MnimoGlobal

    MnimoLocal

    erro

    Pesoswij

    erromnimo

    Grandes mudanaslevam a oscilaes

    Aprendizado rpido

    MnimoGlobal

    MnimoLocal

    erro

    Pesos wij

    errominimo

    Pequenas mudanas levama um aprendizado lento

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    21/23

    56

    adaptativa, a qual inicia com um valor grande, e que decresce exponencialmente

    medida que o treinamento evolui.

    3.4.3.2. Termo de Momentum ( )

    Uma maneira de aumentar a taxa de aprendizado sem levar oscilao

    durante a execuo do algoritmo backpropagation est na modificao da

    Equao (3.17) para incluir o termo momentum, o qual determina as mudanas

    passadas dos pesos. Deste modo, o termo de momentum leva em considerao o

    efeito das mudanas anteriores dos pesos na direo do movimento atual dos

    pesos. A mudana dos pesos tomando em considerao o efeito do termo de

    momentum determinada por1 . . .t tij i j ijs e

    + = + (3.26)

    onde, 1tij+ e tij so a variao do peso do neurnio j em relao conexo i

    no instante 1t+ e trespectivamente, a taxa de aprendizado, e o termo de

    momentum. Na Figura 3.15, apresenta-se o efeito do termo de momentum na

    aprendizagem da rede [14], [19].

    Figura 3.15. Aprendizado com Termo de Momentum.

    (a) Pequeno

    Aprendizado sem Termo Momento

    supe

    rfcie

    deErr

    o

    supe

    rfcie

    deErr

    o

    (b) Grande

    suave e lentoOscilaese rpido

    (a) Pequeno

    Aprendizado com Termo Momento

    supe

    rfcie

    deErr

    o

    supe

    rfcie

    deErr

    o

    (b) Grande

    Aprendizadorpido

    Aprendizadorpido

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    22/23

    57

    3.5.Modelagem da ANN

    Alguns fatores importantes para a modelagem da ANN que influem no

    desempenho das redes so:

    Seleo de variveis

    Na maioria das aplicaes, as bases de dados contm um grande nmero

    de atributos ou variveis, os quais so introduzidos com o objetivo de obter um

    melhor desempenho. Entretanto, na maioria dos casos, muito destes dados so

    redundantes ou irrelevantes. Portanto, o problema est na seleo das

    caractersticas ou variveis mais relevantes dentre todos os atributos da base de

    dados. Neste sentido, alguns dos algoritmos que possuem a capacidade de escolhade variveis em um menor tempo e custo computacional so a correlao cruzada,

    a auto-correlao, o estimador por mnimos quadrados (LSM), e SIE (Single Input

    Effectiveness).

    Limpeza de dados

    Geralmente, na etapa de obteno da base de dados, suas transformaes

    podem levar a conter valores incorretos, ausncia de dados, e inconsistncias.

    Deste modo, a limpeza de dados importante no desempenho do modelo. Esteproblema superado pelo conhecimento dos limites dos dados, a identificao de

    outliers baseado na visualizao, e o uso de informaes estatsticas para

    estabelecer como neutros os dados ausentes ou incorretos.

    Representao das variveis

    Dependendo do tipo de dado e do comportamento, as variveis podem

    ser codificadas para obter um melhor aprendizado. Assim, os dados podem ser

    representados como discretos ou contnuos. A representao discreta transformaos dados em uma representao.

    Normalizao

    A normalizao torna-se importante quando existem dados muito

    dispersos no domnio da varivel. Nesses casos, valores muito altos podem saturar

    a funo de ativao. Assim, uma maneira fcil de normalizar os dados consiste

    em somar todas as caractersticas e dividir pela soma. Outros tipos de

    normalizao consistem na diviso pela faixa mxima de valores, ou tambm

    subtrair do valor mdio e dividir pelo desvio padro.

    PUC-Rio-CertificaoDigitalN0721406/CA

  • 7/24/2019 Redes Neurais PUC

    23/23

    58

    Generalizao

    Um aspecto bastante importante ao longo do processo de treinamento

    garantir que a rede tenha uma boa generalizao. O mtodo mais comum de se

    garantir uma boa generalizao consiste em reservar uma parte da base de dados

    para validar a generalizao.

    3.6. Vantagens e Desvantagens das ANN

    Algumas das principais vantagens e desvantagens, apresentada em aplicaes

    praticas, pelasANN so as seguintes:

    3.6.1.Vantagens das ANN

    A capacidade de lidar com informaes incompletas e ruidosas,

    verificando-se a capacidade da rede em fornecer uma sada satisfatria.

    No necessria informao sobre o ambiente a priori, pois o

    aprendizado feito atravs da apresentao de padres rede.

    Processamento paralelo.

    Habilidade de aprender por meio de exemplos, e a capacidade de

    generalizao a partir dos padres de treinamento, fornecendo sadas

    satisfatrias a padres novos que no foram vistos durante o treinamento.

    3.6.2.Desvantagens das ANN

    A dificuldade de justificar o comportamento das ANN em determinadas

    situaes, isto pois so consideradas como caixas pretas, nas quais no

    se sabe por que a rede chega a um determinado resultado [21]. Nas ANN que utilizam o algoritmo de backpropagation o tempo de

    treinamento tende a ser muito longo. Esta uma limitao para

    arquiteturas muito grande ou grande quantidade de dados de treinamento.

    A dificuldade em determinar a arquitetura ideal daANN, de modo que ela

    seja grande o suficiente para conseguir resolver o problema, e ao mesmo

    tempo pequeno o suficiente para apresentar um treinamento rpido [22].

    Dependendo do tipo de aprendizagem, outra desvantagem nas ANN anecessidade de ter uma base de dados para o processo de treinamento.

    PUC-Rio-CertificaoDigitalN0721406/CA