Beruflich Dokumente
Kultur Dokumente
Bruno Pio
II
Bruno Pio
Para Todos
IV
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
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,
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.
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
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).
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
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
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
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
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
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:
16
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
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.
18
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
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
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
23
Bruno Pio
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
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
26
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
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
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
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
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
37