Sie sind auf Seite 1von 43

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

Bruno Luiz de Assis Pio http://buritisozinho.blogspot.com/

Bruno Pio

II

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

Bruno Luiz de Assis Pio http://buritisozinho.blogspot.com/

Uma introduo s redes neurais artificiais em estudos de ecologia

Braslia Edio do Autor Dezembro de 2009 III

Bruno Pio

Para Todos

IV

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

OBSERVAES: Este livro foi escrito independentemente, ou seja, sem ajuda. Caso encontre algum erro, falta de referncia (no quero me apropriar da idia de ningum, ento se acredita que estou plagiando algum, me avise para as devidas correes), tenha sugestes ou queira apenas falar comigo, entre em contado em:

http://buritisozinho.blogspot.com/
Caso voc tenha adquirido uma cpia online e gostou pelo menos da iniciativa do autor, ento faa uma doao, basta entrar no meu blog para saber como fazer. A doao em um sistema de distribuio gratuita a melhor maneira de valorizar o autor com o que voc pode e de acordo com o que voc acha justo. Este livro est licenciado sob Creative Commons Atribuio - Uso no-Comercial - Compartilhamento pela mesma licena 2.5 Brasil. Mais detalhes em: http://creativecommons.org/ ou http://creativecommons.org/licenses/by-nc-sa/2.5/br/ ou http://creativecommons.org/licenses/by-nc-sa/2.5/br/legalcode

ISBN: 978-85-910208-0-5

Bruno Pio

Sumrio
INTRODUO ............................................................................................ 1 BREVE HISTRICO ....................................................................................... 3 O NEURNIO BIOLGICO (NATURAL) .......................................................... 3 O NEURNIO ARTIFICIAL............................................................................. 4 FUNO DE ATIVAO E FUNO DE TRANSFERNCIA ............................... 5 APRENDIZADO ............................................................................................ 6 Regra Delta ........................................................................................... 7 Regra de Hebb ...................................................................................... 8 Aprendizagem Competitiva ................................................................... 8 Curvas de Aprendizagem ...................................................................... 9 REALIMENTAO ..................................................................................... 10 A REDE NEURAL........................................................................................ 11 PERCEPTRON........................................................................................... 11 PERCEPTRON DE MLTIPLAS CAMADAS (MULTLAYER PERCEPTRON - MLP) .............................................................................. 19 NMERO TIMO DE NEURNIOS OCULTOS .............................................. 23 REDES CONVOLUTIVAS............................................................................. 24 ILUMINANDO A ''CAIXA PRETA'' ...................................................... 26 REFERNCIAS BIBLIOGRFICAS...................................................... 34

VI

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

Introduo
As presses para compreender e gerir o ambiente natural muito maior agora do que jamais poderia ter sido concebido 50 anos atrs pela perda da biodiversidade em uma escala sem precedentes, pela fragmentao excessiva das paisagens, alm da adio de poluentes com o potencial de alterar climas e envenenar ambientes em uma escala global (Lek & Gugan, 1999). Alm disso, dados ecolgicos so normalmente muito complexos e no lineares. Por exemplo, espcies podem apresentar variabilidade espacial e temporal com mudanas nas condies ambientais, incluindo condies histricas. A composio e a abundncia de espcies so tambm afetadas por predadores, concorrentes, e parasitas. Muitas espcies so raras e, conseqentemente, os dados ecolgicos podem conter muitos zeros. Em contrapartida, algumas espcies podem ser observadas com grande freqncia e/ou alta densidade. Devido a estas dificuldades, ecologistas esto continuamente buscando novos paradigmas de modelagem (zesmi et al, 2006). Se desenvolvssemos um modelo matemtico para dar um resultado diante de uma determinada situao, teramos que prever todas as situaes possveis para associar as variveis pertinentes a cada situao. Porm, existem casos em que simplesmente no possvel prever exatamente todas as situaes. Desta forma, quando acontecesse uma destas situaes inesperadas, ou o modelo retorna um resultado inesperado ou simplesmente no se aplica. A rede neural artificial e a biolgica no agem assim, pois, baseadas no conhecimento sinapticamente acumulado, tomar alguma ao

Bruno Pio

perante a nova situao ponderando pelo julgamento dos elementos que aprendeu terem relevncia. Redes neurais artificiais (RNAs) foram relatadas em terem vantagens nos estudos ecolgicos onde os dados raramente encontram pressupostos estatsticos paramtricos e onde as relaes no-lineares so prevalecentes. Elas tambm foram identificadas a apresentar um desempenho melhor do que os modelos lineares e generalizam bem a novos dados. No entanto, redes neurais artificiais tambm possuem desvantagens. Muitos parmetros devem ser determinados com algumas orientaes e no possuem procedimento padro para definir sua arquitetura. No existe mtodo global para determinar quando parar o treinamento e, portanto, o treinamento excessivo problemtico. Redes neurais so sensveis composio do conjunto de dados e da formao inicial dos parmetros da rede (zesmi et al, 2006), e elas tambm tm sido marcadas como uma ''caixa preta'' porque fornecem pouca explicao sobre a influncia relativa das variveis independentes no processo de predio. A natureza de ''caixa preta'' das RNAs um dos principais problemas em relao aos tradicionais mtodos estatsticos que podem facilmente quantificar a influncia das variveis independentes no processo de modelagem, bem como fornecer uma medida do grau de confiana em relao sua contribuio. Na dcada de 1990, houve uma carncia de estudos tericos ou formas prticas de particionar as contribuies das variveis independentes em RNAs (Smith, 1994), apresentando, assim, uma desvantagem substancial nas cincias ecolgicas onde a interpretao dos modelos estatsticos desejvel para obter conhecimento sobre relaes causais que conduzem os fenmenos ecolgicos (Olden & Jackson, 2002), o que mais tarde deixou de ser um problema,

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

como veremos em um captulo especfico apenas para interpretar uma RNA.

Breve histrico
Ecologistas comearam a usar redes neurais artificiais para modelagem na dcada de 1990 (zesmi et al, 2006). As RNAs imitam o processo de aprendizagem do crebro de um animal e pode processar problemas complexos envolvendo dados no lineares, mesmo que os dados sejam imprecisos e com rudos (Lek & Gugan, 1999). As redes Neurais foram desenvolvidas pelo neurofisiologista McCulloch e pelo matemtico Walter Pitts da Universidade de Illinois, fazendo uma analogia entre clulas nervosas e o processo em um artigo intitulado A Logical Calculus of Ideas Immanent in Nervous Activity em 1943.

O neurnio biolgico (natural)


O neurnio artificial foi fundamentado nos elementos bsicos do neurnio biolgico: dendritos, soma e axnio. Os dendritos recebem os estmulos de outros neurnios, o corpo do neurnio, chamado de soma, recebe e processa estas informaes e o axnio transmite os estmulos processados no corpo. Assim, as informaes captadas nos dendritos so ajustadas eletricamente e enviadas ao soma e, se esta informao atingir certo limite de voltagem, segue pelo axnio. Caso

Bruno Pio

contrrio a informao considerada irrelevante e interrompida, no seguindo adiante. Este ajuste nos dendritos pode-se chamar de pesos nos neurnios artificiais, que permanecendo fixos, pode-se chamar de memria, e caso sejam ajustados, pode-se chamar de aprendizado.

O neurnio artificial
O neurnio artificial de McCulloch e Pitts possui o seguinte formato matemtico:

Figura 1. Representao do neurnio artificial de McCulloch e Pitts. Os valores de x so os dados de entrada, w so os pesos sinpticos, v a funo de ativao, T a funo de transferncia do neurnio e y a resposta dada.

O neurnio matemtico, similarmente ao natural, recebe um ou mais sinais de entrada e devolve um nico sinal de sada, que pode ser distribudo como sinal de sada da rede, ou como sinal de entrada para um ou vrios outros neurnios da camada

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

posterior. Os sinais de entrada chegam simultaneamente aos neurnios, por isso as redes so classificadas como instrumentos de processamento paralelo. Os dendritos e axnios so representados matematicamente apenas pelas sinapses e a intensidade da ligao representada por uma grandeza denominada peso sinptico, simbolizada pela letra w. Quando as entradas x so apresentadas ao neurnio, so multiplicadas pelos pesos sinpticos correspondentes w, gerando as entradas ponderadas. O neurnio ento totaliza todos estes produtos, e o resultado deste somatrio denominado pela letra v (Ludwig Junior & Costa, 2007).

Funo de ativao e funo de transferncia


Esta funo de somatria v se denomina funo de combinao ou funo de ativao. Este valor ento apresentado a uma funo de transferncia, que tem dentre outras finalidades, a de evitar o acrscimo progressivo dos valores de sada ao longo das camadas da rede, visto que tais funes possuem valores mximos e mnimos contidos em intervalos determinados. Note que este modelo matemtico simplificado de um neurnio esttico, ou seja, no considera a dinmica do neurnio natural (Ludwig Junior & Costa, 2007). Em modelos mais complexos, a funo de ativao possui um processamento atribudo que pode usar, por exemplo, o valor prvio de sada como uma entrada para o prprio neurnio (auto-excitao), para ento ser processado novamente e passado para a funo de transferncia que produzir o valor de sada do neurnio. Pode-se incluir uma polarizao ou bias ao somatrio da funo de ativao com o intuito de aumentar o 5

Bruno Pio

grau de liberdade desta funo, e conseqentemente a capacidade de aproximao da rede. Seu ajuste parecido com o ajuste dos pesos sinpticos. A funo de transferncia tambm conhecida como limiar lgico (threshold). Esta funo define e envia para fora do neurnio o valor da funo ativao. As funes de transferncia mais conhecidas so: Limite rspido: F(T) = 1se v x F(T) = 0 se v < x x = limiar escolhido Funo sigmide logstica: y = 1 / (1 + e-av) a = parmetro de inclinao

Aprendizado
O processo de aprendizado acontece basicamente de duas formas: supervisionado e no-supervisionado. O aprendizado supervisionado deve possuir pares de entrada e sada de dados, onde cada dado que entra, deve ser verificado se a sada obtida confere com a sada desejada por um supervisor. Se for diferente, deve ser feito o ajuste dos pesos sinpticos at que a taxa de acerto deve estar dentro de uma faixa considerada satisfatria. O ajuste sinptico o aprendizado em cada neurnio do fato apresentado. Ou seja, cada neurnio, conjuntamente com todos os outros, representa a informao que atravessou a rede. O ajuste realizado em funo de um clculo que aponta a quantidade de erro do resultado (sada), seja supervisionado ou no-supervisionado. Esse ajuste procura corrigir os pesos de

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

modo que se produza a sada desejada diante da respectiva entrada. Existem muitos tipos de clculos para este fim. O aprendizado no-supervisionado, no requer dados de sada desejados, usando apenas valores de entrada. A rede se organiza de acordo com seus prprios critrios de forma que acaba classificando os dados de entrada sem a necessidade de um supervisor. Estes critrios geralmente envolvem competio e cooperao entre os neurnios.

Regra Delta
O aprendizado supervisionado mais encontrado o clculo chamado de Regra Delta, onde se pretende minimizar o erro da resposta atual da rede em relao sada desejada, e possui o seguinte formato (Tafner et al, 1996): wi (n+1) = wi (n) + i i = c * E * xi Onde: i = correo associada com a entrada xi wi (n+1) = novo valor do peso wi (n) = valor do velho peso E = sada desejada sada obtida c = constante de aprendizado (normalmente 1 quando a rede opera com valores binrios)

Bruno Pio

Regra de Hebb
O aprendizado no-supervisionado Hebbiano, apesar de necessitar de pares de entrada e sada para o treinamento, no existe a figura do supervisor. A regra de Hebb prope que o peso de uma conexo sinptica deve ser ajustado se houver sincronismo entre os nveis de atividade da entrada e sada. Assim, se dois neurnios, em lados distintos de uma sinapse, so ativados simultaneamente, tem-se um fortalecimento desta sinapse. Caso no seja simultneo, esta sinapse ser enfraquecida ou eliminada. Deste modo, possui ento o seguinte formato: wi (n+1) = c * Yi * Xi Onde: wi (n+1) = novo valor do peso Yi = valor de sada do neurnio i Xi = valor de entrada do neurnio i c = constante de aprendizado (normalmente 1 quando a rede opera com valores binrios)

Aprendizagem Competitiva
Na aprendizagem competitiva, os neurnios ou os neurnios de sada de uma rede competem entre si para serem os nicos ativos, ou seja, em um determinado instante apenas um neurnio estar ativo. A idia por trs disto que cada neurnio de sada estar especializado em reconhecer um nico determinado padro dentro dos dados apresentados, sendo ento

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

recomendado ter tantos neurnios de sada quantos forem os padres a serem reconhecidos. Para funcionar, os pesos sinpticos iniciais devem ser diferentes e preferencialmente aleatrios. Vence o neurnio que obtiver a maior sada, recebendo como sada o valor 1 enquanto os neurnios perdedores recebem o valor 0, sendo a realimentao (veja adiante) entre os neurnios, essencial para que haja realmente uma competio, onde os neurnios exercero inibies nos outros competidores por essa realimentao. A aprendizagem competitiva padro leva em conta que a soma dos pesos sinpticos seja igual a 1 e que a aprendizagem seja: wi(n+1) = Xi wi(n); wi(n+1) = 0; caso vena a competio. caso perca a competio.

Onde: wi (n+1) = novo valor do peso Xi = valor de entrada do neurnio i wi (n) = valor do velho peso

Curvas de Aprendizagem
A curva de aprendizagem serve essencialmente para mostrar graficamente como est o andamento da aprendizagem atravs do erro quadrado mdio estimado ou mesmo apenas o erro em funo do nmero de iteraes. Com a curva de aprendizagem, se torna mais fcil observar e definir quando se ir parar o treinamento, como por exemplo, quando atingir 10%

Bruno Pio

do valor inicial do erro quadrado mdio ou quantas iteraes so suficientes para atingir o valor desejado de erro. A importncia desta curva no muito clara com um neurnio e poucos dados de entrada, mas se torna interessante na medida em que os nmeros aumentam.

Realimentao
A realimentao ocorre quando a sada v influencia a entrada x de algum modo, sendo calculado no peso sinptico w adicionado de um operador de atraso sada, sendo unitrio ou no. Assim, a sada v seria calculada e inserida no mesmo neurnio como se fosse a entrada x, para ento ter o valor esperado da sada v(n+1). Esta realimentao pode ser feita vrias vezes antes de se ter o valor esperado da sada v(n+1) e pode-se ser feita tanto para realimentar a mesma entrada do neurnio, chamada de auto-realimentao, ou servir de dado para outra entrada x do neurnio.

10

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

Figura 2. Realimentao e auto-realimentao. A diferena consiste na autorealimentao entrar no lugar da entrada de origem x enquanto na realimentao possui sua prpria entrada.

A rede neural
A combinao de neurnios em uma ou mais camadas denomina-se rede neural artificial (RNA). Em geral possuem: uma camada de entrada ou de distribuio, que na verdade no possui neurnios, apenas ns de nmero igual ao nmero de dados de entrada para a distribuio dos dados de entrada para cada neurnio da camada seguinte; uma ou mais camadas ocultas: onde em cada camada oculta os neurnios capacitam a rede; uma camada de sada: existem um nmero de neurnios iguais ao nmero de dados de sada da rede.

Perceptron
Em 1958 o perceptron foi publicado por Frank Rosenblatt. a arquitetura mais simples de rede, apresentando apenas uma camada de neurnios de entrada e outra de sada. Para demonstrao de uma situao clssica de perceptron com funo de transferncia de limite rspido com dois sinais de entrada e um neurnio na camada de sada, este aps o treinamento, ser capaz de classificar quatro animais em duas classes, conforme segue:

11

Bruno Pio

Mamfero Ave Rato X Sagi X Coruja-buraqueira X Seriema X Sendo a funo de transferncia usada: F(T) = 1se v > 0 F(T) = 0 se v 0 Temos os nicos resultados possveis do nosso neurnio os valores 0 e 1. Assim, os dados de sada escolhidos foram: Mamfero = 0 Ave = 1 Codificando os animais para a base binria para serem possveis de processamento pelo perceptron, temos ento: Rato = 00 Sagi = 01 Coruja-buraqueira = 10 Seriema = 11 Observando os dados em um grfico, veremos a seguinte situao:

12

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

0; 1

1; 1

0 0

0; 0 1

1; 0 2

Figura 3. Grfico demonstrativo da distribuio dos dados, onde 0,0 = Rato; 0,1 = Sagi; 1,0 = Coruja-buraqueira e 1,1 = Seriema.

Complementando o perceptron, teremos: Ajuste sinptico supervisionado: Regra Delta com taxa de aprendizado = 1. Pesos sinpticos = 0 Peso bias = 0, mas o valor de entrada ser sempre 1 e constante neste exemplo funo de ativao: v = 1bi + wi.xi Assim, se iniciarmos o treinamento com Seriema (11), o clculo do valor da funo de ativao ser o somatrio do peso de bias 0 vezes o seu valor de entrada 1 + o valor do peso sinptico da primeira entrada da Seriema 0 vezes o seu valor de entrada 1 + o valor do peso sinptico da segunda entrada da Seriema 0 vezes o seu valor de entrada 1:

13

Bruno Pio

v=0x1+0x1+0x1=0 E o valor da funo de transferncia ser: v 0, ento F(T) = 0, ou seja, Seriema Mamfero. Como a sada no est correta, calcula-se o erro e os novos valores dos pesos sinpticos e bias: E=10=1 wi (n+1) = wi (n) + c * E * xi w1 = 0 + 1 * 1 * 1 = 1 w2 = 0 + 1 * 1 * 1 = 1 bias = 0 + 1 * 1 * 1 = 1 Seguindo o treinamento com Sagi (01), obtm-se: v=1x1+0x1+1x1=2 F(T) = 1 E = 0 1 = -1 w1 = 1 + 1 * 1 * 0 = 1 w2 = 1 + 1 * (-1) * 1 = 0 bias = 1 + 1 * (-1) * 1 = 0 Seguindo o treinamento com Coruja-buraqueira (10), obtm-se: v=0x1+1x1+0x0=1 F(T) = 1 E = 1 1 = 0 (A sada est certa! Ento no h alteraes nos pesos.) w1 = 1 + 1 * 0 * 1 = 1 w2 = 0 + 1 * 0 * 0 = 0

14

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

bias = 0 + 1 * 0 * 1 = 0 Seguindo o treinamento com Rato (00), obtm-se: v=0x1+1x0+0x0=0 F(T) = 0 E = 0 0 = 0 (A sada est certa! Ento no h alteraes nos pesos.) w1 = 1 + 1 * 0 * 0 = 1 w2 = 0 + 1 * 0 * 0 = 0 bias = 0 + 1 * 0 * 1 = 0 Como faltou Seriema e Sagi para completar o aprendizado, repete-se o treinamento. Ao se repetir todo o treinamento, encontra-se que o erro mdio ser zero, significando que a rede aprendeu a classificar os animais em suas respectivas classes atravs de um limite de classificao entre as classes, este limite a funo de ativao. Com uma observao mais detalhada na figura 4, verifica-se o limite logo na segunda iterao, no necessitando assim todo o processo.
Entrada Entrada F(T) F(T) 1 2 v desejado calc E w1 w2 bias Seriema 1 1 0 1 0 1 1 1 1 Sagui 0 1 2 0 1 -1 1 0 0 Coruja 1 0 1 1 1 0 1 0 0 Rato 0 0 0 0 0 0 1 0 0 Seriema 1 1 1 1 1 0 1 0 0 Sagui 0 1 0 0 0 0 1 0 0 Coruja 1 0 1 1 1 0 1 0 0 Rato 0 0 0 0 0 0 1 0 0 Figura 4. Tabela com os dados do perceptron demonstrado.

15

Bruno Pio

A rede treinada teria assim os seguintes pesos sinpticos e bias: w1 = 1 w2 = 0 bias = 0 Assim, para classificao, a funo de transferncia seria igualada a zero, que o limite escolhido na funo de transferncia: v = 1b + w1x1 + w2x2 = 0 Ou seja, valores onde X1 e X2 resultam v = 0. Resolvendo: v = 1*0 + 1*x1 + 0*x2 = 0 x1 = 0 Temos ento:

Figura 5. Separao das classes dos animais com a funo de ativao v = 0.

16

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

Como a funo de transferncia nos diz: F(T) = Ave se v > 0 F(T) = Mamfero se v 0 Para complementar, temos a curva de aprendizagem:
1,5 1 0,5 0 0 -0,5 -1 -1,5 2 4 6 8 10

Figura 6. Curva de aprendizagem do perceptron.

Ento est demonstrado o aprendizado do perceptron. Mas e caso trocssemos a classe de algum animal na seqncia de aprendizado? Ao invs de: Rato = 00 Sagi = 01 Coruja-buraqueira = 10 Seriema = 11 Fosse:

17

Bruno Pio

Rato = 10 Sagi = 01 Coruja-buraqueira = 00 Seriema = 11 Ou seja, o Rato pudesse ser uma ave e a Corujaburaqueira um mamfero? Veramos que o perceptron no poderia aprender tal regra. O motivo por trs disso a forma linear de classificao. Assim o perceptron no conseguiria separar linearmente as duas classes, ou seja, simplesmente separ-las com uma linha, nos mostrando que uma anlise prvia dos dados pode se tornar essencial. Torna-se importante assim como os dados so mostrados aos neurnios, sendo necessrio muitas vezes um tratamento prvio dos dados antes de qualquer treinamento. Um tratamento comumente usado a normalizao dos dados para que estes fiquem com os valores entre 0 e 1 quando a sada for dentro deste intervalo.

Figura 7. impossibilidade do perceptron de separar linearmente as classes.

18

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

Perceptron de mltiplas camadas (Multlayer perceptron - MLP)


uma rede que possui uma camada de entrada com tantos ns forem os dados de entrada, uma ou mais camadas ocultas e uma camada de sada com nmero de neurnios igual ao nmero de sinais de sada, funcionando como uma seqncia de perceptrons interconectados onde o sinal segue somente para frente. A aprendizagem no MLP que mais conhecida o algoritmo de retropropagao de erro (Back-Propagation). Cybenko (1989) demonstrou que uma camada oculta suficiente para aproximar qualquer funo contnua (restrita algumas funes de transferncia, como a sigmide) e duas ou mais camadas ocultas ampliam o universo de aproximao a qualquer funo, contnua ou no.

Figura 8. Exemplo de MLP. Este exemplo possui duas entradas, dois neurnios ocultos e um neurnio de sada.

Resumidamente, o algoritmo pode ser descrito em algumas etapas: 1. Inicializa os pesos sinpticos; 19

Bruno Pio

2. Insere-se os dados de entrada (exemplo dado); 3. Calcula-se a sada de todos os neurnios, desde a camada de entrada at a camada de sada, nesta ordem; 4. Calcula-se na camada de sada: a. O erro para cada neurnio (E = sada desejada sada obtida), o erro instantneo, ou seja, o erro daquela iterao Egi(n) definido pela metade do somatrio de cada erro ao quadrado e o erro global mdio, que a mdia aritmtica dos erros instantneos de cada exemplo dado: 1 i 2 Egi (n) = E i (n) 2 i =1 b. O gradiente local para todo neurnio da camada de sada e os ajustes dos pesos sinpticos e do bias (observando que cada peso deve ser ajustado de acordo com o neurnio da penltima camada que enviou a resposta) de acordo com:

20

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

wi (n+1) = wi (n) + i i = c * E * D * xi Ou i = -c * G * t G = -E * D Onde: i = correo associada com a entrada xi wi (n+1) = novo valor do peso wi (n) = valor do velho peso E = sada desejada sada obtida c = constante de aprendizado D = a derivada da funo de transferncia de valor t xi = no caso, a entrada xi valor da funo de transferncia do neurnio anterior G = gradiente local 5. Calcula-se na penltima camada (camada oculta): a. O gradiente local, sendo aqui, a derivada da funo de transferncia vezes o somatrio da multiplicao do gradiente local da camada de sada vezes o seu peso sinptico w:

G = D (G i +1wi +1)
i i

Onde: G = gradiente local na camada i D = a derivada da funo de transferncia w = peso sinptico

21

Bruno Pio

b. Os novos pesos e bias desta camada de acordo com: wi (n+1) = wi (n) + i i = -c * G * xi Onde: i = correo associada com a entrada xi wi (n+1) = novo valor do peso wi (n) = valor do velho peso c = constante de aprendizado xi = no caso de mais camadas, a entrada xi valor da funo de transferncia do neurnio anterior ou, no caso de neurnio de primeira camada oculta, o valor de entrada G = gradiente local da camada seguinte 6. Para demais camadas ocultas, repete-se o passo 4; 7. Recalcular o valor de sada com os novos pesos e bias para verificar o novo valor do erro mdio global. Caso no seja aceitvel, volta ao passo 1, se for, encerra o treinamento. Existem outras formas de se parar o treinamento, uma mais bsica simplesmente limitar o nmero de repeties do algoritmo.

22

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

Nmero timo de Neurnios Ocultos


No existe um padro que possa definir um nmero timo de neurnios ocultos em um Percepetron de mltiplas camadas, mas uma idia bsica seria de ter o menor nmero possvel que produza o resultado desejado principalmente pelo total de informao calculada durante o treinamento da rede. Os neurnios ocultos so responsveis pela deteco das caractersticas dos dados apresentados, ou seja, sero responsveis pela generalizao ou memorizao dos dados. A generalizao importante principalmente na entrada de dados novos totalmente diferentes dos dados de treinamento, forando a rede a tomar uma deciso classificatria ao invs de simplesmente ter memorizado qual resposta dar em cada situao. A rede pode memorizar os dados de treinamento quando ocorre treinamento excessivo, perdendo assim a habilidade de generalizar. Pode-se ter uma idia do aprendizado confrontando os dados de sada com os dados de entrada. Podemos utilizar o perceptron dado como exemplo para classificar quatro animais, plotando no grfico o F(T) calculado no decorrer do tempo.

23

Bruno Pio

1,2 1 0,8 0,6 0,4 0,2 0 0 2 4 6 8 10

Figura 9. Dados de sada do perceptron ao longo do treinamento.

Observa-se no grfico um andamento grosseiro. Levando-se em conta que a memorizao simplesmente uma verificao a uma tabela de consulta, por exemplo, implica-se ento a um andamento brusco no processo de memorizao, onde h apenas uma consulta aos pesos sinpticos para classificar os dados de entrada. Assim podemos dizer que o nosso perceptron apenas memorizou os dados de entrada de acordo com o grfico. Se o nosso perceptron tivesse o poder de generalizar, ele teria um andamento muito mais suave durante o treinamento, pois a generalizao busca a funo mais simples na falta de qualquer conhecimento anterior.

Redes Convolutivas
Uma rede convolutiva um perceptron de mltiplas camadas projetado especificamente para reconhecer formas

24

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

bidimensionais, por exemplo, uma imagem, com um alto grau de invarincia quanto a translao, escalonamento, inclinao e outras formas de distoro (Haykin , 2001). Por exemplo, a convoluo de uma imagem (N x N) com um kernel (K x K) pode ser entendido por uma janela deslizante (K x K) sobre a imagem de entrada iterativamente. Para cada posio da janela, um pixel de sada gerado tomando a mdia do kernel com a entrada de pixels. Uma rede convolutiva possui diversas camadas e cada uma com diversos mapas. A primeira camada tem apenas um mapa caracterstico que a imagem de entrada em si. Nas camadas seguintes, cada mapa caracterstico mantm um certo nmero de kernels igual ao nmero dos mapas na camada anterior. O tamanho de cada kernel em um mapa um parmetro de projeto. Os valores de pixel em um mapa so obtidos por convoluo do kernel com os mapas correspondentes da camada anterior. O nmero de mapas de recurso na ltima camada igual ao nmero de opes de sada, ou seja, resultados desejados.

25

Bruno Pio

Figura 10. Exemplo de convoluo. http://www1.i2r.a-star.edu.sg/~irkhan/conn2.html

Iluminando a ''caixa preta''


Para melhorar o treinamento, quando os dados so limitados, Scardi (2001) recomendou treinamentos forados com conhecimentos tericos e metamodelos. Metamodelos combinam dados reais e previses de outro modelo. O predomnio de um tipo de dado tambm pode afetar o desempenho do modelo. Tourenq et al. (1999) verificaram que a

26

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

utilizao de um nmero igual de presena / ausncia de dados resultou em um modelo com a maior preciso em um teste com dez amostras de treinamento. Caso contrrio, o MLP foi sensvel ao nmero de presenas e ausncias no treinamento de dados e previu o resultado mais freqente. Generalizando, existem outros mtodos para controlar a complexidade do modelo da rede neural, que inclui a regularizao, o treinamento com rudo, e parada antecipada. A regularizao envolve adicionar uma penalidade para a funo de erro. Uma penalidade comum o decaimento do peso, o que incentiva os pesos a permanecerem pequenos. desejvel manter o peso relativamente pequeno, porque grandes valores para os pesos acabam em um sobre-ajuste (Bishop, 1995). Um treinamento com o rudo, ou seja, adicionando rudo entrada, tambm outra forma de reduzir a complexidade da RNA. O rudo vai tornar mais difcil para a rede ajustar exatamente os dados, portanto, reduzindo um sobre-ajuste e melhorando a generalizao. Um exemplo de treinamento com o rudo foi a modelagem de produo primria de fitoplncton em Scardi (2001). Uma das maiores desvantagens do uso da MLP que no h um mtodo ideal para determinar o nmero de iteraes de treinamento. Existem basicamente trs mtodos: (1) escolher um nvel de erro definida pelo usurio; (2) usar um mtodo de interrupo precoce; ou (3) utilizar dados de teste. O problema com o primeiro mtodo que difcil decidir o nvel de erro apropriado. O erro normalmente vai diminuindo at certo nmero de iteraes e no fica muito menor, no entanto, algumas vezes neste momento, a rede j pode ser classificada antecipadamente como com excesso de treinamento. Ao examinar a contribuio da varivel de entrada, podemos ver o quanto cada varivel contribui para a sada do

27

Bruno Pio

modelo (zesmi e zesmi, 1999). A relevncia de uma varivel de entrada definida como a soma dos quadrados dos pesos para essa entrada dividida pela soma total dos quadrados dos pesos de todas as variveis de entrada. Assim, variveis de alta relevncia so mais importantes no modelo. A interpretao de diagramas neurais (Neural interpretation diagrams - NIDs) pode ser feita para compreender como o modelo desenvolve os pesos sinpticos de diferentes variveis de entrada e de que forma as variveis de entrada interagem para dar a resposta de sada (zesmi e zesmi, 1999). Nas NIDs, os pesos das conexes so representados pelo peso dos pixels das linhas escaladas de acordo com os pesos sinpticos, ou seja, linhas negras representam sinais positivos e linhas cinzas representam sinais negativos. Tambm podemos olhar para a espessura das conexes para ver quais variveis so mais importantes. Podemos ver ento, como as variveis de entrada interagem e qual a sua contribuio para a sada do modelo olhando a camada oculta. No entanto, a interpretao de diagramas neurais mais til quando o nmero de neurnios e conexes limitado. Diagramas com 20 ou mais variveis e vrios neurnios ficam com muitas linhas sobrepostas, sendo complicado obter quaisquer entendimentos.

28

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

Figura 11. Exemplo de NID em um Neurnio de RNA.

Um teste de randomizao foi desenvolvido para avaliar a significncia estatstica de pesos sinpticos e as variveis de entrada (Olden e Jackson, 2002). Nesta abordagem, as sadas so misturadas ao acaso, uma rede neural construda utilizando os dados ao acaso, e todos os pesos de entrada e sada da camada oculta (produto dos pesos da entrada na camada oculta e da sada da camada oculta) so guardados. Este procedimento repetido vrias vezes para gerar uma distribuio nula para cada peso da entrada da camada oculta e da sada. Este valor ento comparado com o valor real do modelo para calcular o nvel de significncia. Com este teste de randomizao, pode-se eliminar os pesos que tm pouca influncia sobre a rede neural, simplificando o modelo. Com as ligaes insignificantes removidas, mais fcil interpretar a forma como o modelo faz previses com um NID. Alm disso, o teste de randomizao identifica as variveis independentes que contribuem significativamente para a predio do modelo. As derivadas parciais (partial derivatives - PaD) da sada da rede com relao a variveis de entrada podem ser usadas para mostrar a influncia das variveis do modelo

29

Bruno Pio

(Dimopoulos et al., 1999). Ao plotar as derivadas parciais da sada da rede com relao a uma varivel de entrada, pode-se ver como a sada da rede muda com o aumento dos valores da varivel de entrada. A conexo entre a entrada e sada dos neurnios a matriz jacobiana, onde seus elementos so as derivadas parciais de primeira ordem de uma funo vetorial. Assim, para uma funo de transferncia sigmide em uma MLP de trs camadas (uma camada de entrada, uma oculta e outra de sada com um nico neurnio), a derivada parcial pode ser calculada como: ni

je

= s j wis i ij (1 i ij ) wei
i =1

Onde: sj = a derivada da funo de transferncia do neurnio de sada da MLP em relao a sua entrada iij = a sada do inssimo neurnio oculto em relao a sua entrada wis = o peso sinptico entre o neurnio de sada e o inssimo neurnio oculto wei = o peso sinptico entre o ensimo neurnio de entrada e o inssimo neurnio oculto Com a srie das derivadas parciais plotadas em um grfico em relao s variveis de entrada, temos acesso direto a influncia da varivel de entrada em relao sada. A sensibilidade do modelo pode ser calculada como o somatrio de todos os quadrados das derivadas parciais para cada varivel de entrada:

30

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

SSD = (d je)
e i =1

ni

Contudo, em ecologia, as relaes so resultados de condies multivariadas e no lineares, onde os fenmenos so raramente causados por uma simples causa ou perturbao nica. Por estas razes, Gevreya e colaboradores (2006) propuseram uma modificao ao mtodo PaD, denominado por eles de PaD2, implementado para analisar a contribuio de todas as possveis combinaes de pares das variveis de entrada, levando em considerao a interao em duas vias entre as variveis. Assim, para uma funo de transferncia sigmide em uma MLP de trs camadas (uma camada de entrada, uma oculta e outra de sada com um nico neurnio), a derivada parcial pode ser calculada como:
d
j 12

s s w w I
j j h =1 1h h0

nh

hj

(1 I ) w w I (1 I ) + w w w I (1 I )(1 2 I )
nh nh hj h =1 2h h0 hj hj h =1 1h 2h h0 hj hj hj

Onde: sj = a derivada da funo de transferncia do neurnio de sada da MLP em relao a sua entrada ihj = a sada do hnssimo neurnio oculto em relao a sua entrada wh0 = o peso sinptico entre o neurnio de sada e o hnssimo neurnio oculto w1h = o peso sinptico entre a primeira entrada estudada e o hnssimo neurnio oculto w2h = o peso sinptico entre a segunda entrada estudada e o hnssimo neurnio oculto A formulao matemtica proposta por Dimopoulos et al. (1999) das PaDs apenas o resultado final generalizado 31

Bruno Pio

destas derivadas parciais em trs camadas de neurnios e todos os seus pesos sinpticos, o que quase impossvel publicar todos os clculos at chegar no resultado em que se chegou, mas podemos mostrar o nosso exemplo aqui do perceptron que bem sucinto. Ento como exemplo, vamos fazer a matriz jacobiana de nosso perceptron. A idia somente fazer as derivadas parciais de primeira ordem do neurnio, funcionando como as taxas de variao. No caso de MLPs, funciona do mesmo jeito, apenas muda a situao, onde calculado o ltimo neurnio, lembrando que no clculo da funo deste est implcita a funo dos neurnios ocultos. Assim como a funo de ativao do nosso perceptron : v = 1b + w1x1 + w2x2; E a de transferncia : v 0; Temos ento as derivadas parciais: w1 0; w2 0; Com os pesos finais e bias: w1 = 1; w2 = 0; bias = 0;

32

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

No chegamos concluso nenhuma. Isto acontece simplesmente por temos uma funo linear e derivar tal funo no ir funcionar para testar as entradas. Em funes, lineares uma sada interessante seria utilizar a prpria funo, tendo os pesos como a taxa de variao das variveis. Verificamos assim no nosso neurnio que: v = 1b + w1x1 + w2x2; v = 1*0 + 1*x1 + 0*x2; v = x1; Com esta srie plotada em um grfico em relao s variveis de entrada, temos acesso direto influncia da varivel de entrada em relao sada, mostrando total influncia dos mamferos, demonstrada na figura 5.

33

Bruno Pio

Referncias Bibliogrficas
CYBENKO, G.V. Approximation by Superpositions of a Sigmoidal function, Mathematics of Control, Signals and Systems, vol. 2 no. 4 pp. 303-314. 1989. DIMOPOULOS, I., CHRONOPOULOS, J., CHRONOPOULOU-SERELI, A., LEK, S. Neural network models to study relationships between lead concentration in grasses and permanent urban descriptors in Athens city (Greece). Ecological Modelling 120, 157165. 1999. GEVREYA, M.; DIMOPOULOS, I.; LEK, S. Two-way interaction of input variables in the sensitivity analysis of neural network models. Ecological Modelling 195, 4350. 2006. HAYKIN, S. Redes Neurais: princpios e prtica; trad. ENGEL, P. M. 2.ed. Porto Alegre: Bookman. 899p. 2001. LEK, S.; GUGAN, J.F. 1999. Artificial neural networks as a tool in ecological modelling, an introduction. Ecological Modelling 120, 6573. 1999. LUDWIG JUNIOR, O; COSTA, E. M. M. Redes Neurais Fundamentos e Aplicaes com Programas em C. Rio de janeiro: Editora Cincia Moderna Ltda. 136 pginas - 1a edio 2007 OLDEN J. D; JACKSON, D. A. Illuminating the black box - a randomization approach for understanding variable

34

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

contributions in artificial neural networks. Ecological Modelling 154, 135150. 2002. OLDEN, J.D., JACKSON, D.A. Illuminating the black box: a randomization approach for understanding variable contributions in artificial neural networks. Ecological Modelling 154, 135150. 2002. ZESMI, S. L.; TANB, C. O.; ZESMI, U. Methodological issues in building, training, and testing artificial neural networks in ecological applications. Ecological Modelling 195, 8393. 2006. ZESMI, S.L., ZESMI, U. An artificial neural network approach to spatial habitat modelling with interspecific interaction. Ecological Modelling 116, 1531. 1999. ROSENBLATT, F. The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain, Cornell Aeronautical Laboratory, Psychological Review, v65, No. 6, pp. 386-408. 1958. SCARDI, M. Advances in neural network modeling of phytoplankton primary production. Ecological Modelling 146, 3345. 2001. SMITH, M., Neural Networks for Statistical Modeling. Van Nostrand Reinhold, New York, USA. 1994. TAFNER, Malcon A; XEREZ, Marcos de; RODRIGUES FILHO, Ilson W. Redes neurais artificiais: Introduo e princpios de neurocomputao. Blumenau: Ekon, 199 p. 1996.

35

Bruno Pio

TOURENQ, C., et al. Use of artificial neural networks for predicting rice crop damage by greater flamingos in the Camargue, France. Ecological Modelling 120, 349358. 1999.

36

Uma Introduo s Redes Neurais Artificiais para Estudos em Ecologia

37

Das könnte Ihnen auch gefallen