Inteligência Artificial - Redes Neurais no MatLab - Algoritmo Error Back-Propagation

Tipo de documento:Relatório

Área de estudo:Engenharias

Documento 1

Existem várias formas de simular RNA em computadores, desde o desenvolvimento completo de um programa específico, escrito em linguagem C++ Fortran, entre outras, ou utilizar pacotes de programas comerciais, desenvolvidos para simulação computacional de RNA. Dentre estes pacotes existe o programa MATLAB (MATrix LABoratory), que é um sistema baseado em matrizes, utilizado para cálculos matemáticos aplicados a engenharia. Todos os dados utilizados pelo MATLAB são matrizes, e o programa funciona como uma espécie de linguagem desenvolvida para a manipulação de matrizes. O MATLAB possui um grande número de sub-rotinas chamadas toolbox, utilizadas para determinados comandos específicos e para a obtenção de saídas gráficas. Entre os vários toolbox existentes para o MATLAB, existe um para a simulação de RNA.

w1,R Os quais depois de somados dão origem a matriz WP, com uma coluna, como pode ser visto na Figura 4. Fig. Representação de uma entrada do tipo vetor no MATLAB Para dois ou mais neurônios por camada deve-se representar a RNA no MATLAB conforme a Figura 5. Fig. Representação de mais de um neurônio por camada no MATLAB A Figura 6 mostra a representação no MATLAB de uma RNA de múltiplas camadas de neurônios. e Beale, M. Inteligência Artificial Redes Neurais Artificiais O ALGORITMO DE RETROPROPAGAÇÃO DO ERRO (ERROR BACK-PROPAGATION) 7 O ALGORITMO DE RETROPROPAGAÇÃO DO ERRO (ERROR BACK-PROPAGATION) PROF. DR. FILIPE WILTGEN O algoritmo de treinamento Back-Propagation original foi criado na década de 80, seu funcionamento é simples e sua topologia pode ser do tipo feedforward ou feedback com múltiplas camadas (MLP).

Durante o processo de treinamento com o algoritmo original a rede opera sempre em seqüência de dois passos. Uma vez calculado o erro referente à camada de saída, pode-se calcular, no sentido contrário do fluxo de informação (retropropagando), o erro para cada camada subseqüente, com base no que foi calculado na camada posterior (sentido do fluxo de informação), conforme ilustra a Figura 7. Fluxo de Informação Atualização dos Pesos entre a segunda camada escondida e a entrada w11 Entrada w12 w13 Pesos Atualização dos Pesos entre a primeira camada escondida e a segunda w31 w21 Σi Atualização dos Pesos entre a saída e a primeira camada escondida w22 Σi w23 w32 Σi Saída Cálculo do Erro w33 Pesos Pesos Retropropagação do Erro Fig.

– Sentido do fluxo de informação e de retropropagação do erro Na Figura 8 é possível observar uma ilustração de uma RNA do tipo MLP com mais de uma camada escondida, que servirá como base para a demonstração dos cálculos referentes ao processo de treinamento com algoritmo BP. Na Figura 8 cada camada de neurônios, possui um tipo de função de transferência. Nas camadas escondidas a função de transferência é do tipo tangente hiperbólica, e na camada de neurônios na saída, a função de transferência é do tipo linear. É possível então perceber que a atualização dos pesos pelo algoritmo BP possui a forma: onde a saída e a entrada, referem-se às extremidades (neurônios) n e m de cada uma das conexões (pesos).

A expressão 11 permite determinar o valor do erro (δ) para cada unidade h (neurônio) da segunda camada escondida, a partir dos dados de entrada da RNA, e dos valores de erro obtidos a partir da camada de saída. Analogamente obtém-se também os valores do erro para cada neurônio da primeira camada escondida. Os pesos sinápticos das conexões são os mesmos utilizados na propagação da informação, porém agora serão ajustados conforme o erro se retropropaga, atualizando todos os pesos da RNA. No BP a atualização dos pesos ocorre através de incrementos, ou seja, inicialmente um determinado padrão é apresentado a RNA, os pesos são então atualizados antes que um próximo padrão de entrada seja apresentado a RNA.

901 R$ para obter acesso e baixar trabalho pronto

Apenas no StudyBank

Modelo original

Para download