Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Uma Introdução as Redes Neurais - TATIBANA, Cassia, Notas de estudo de Engenharia de Materiais

- - -

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 23/01/2008

vera-freitas-4
vera-freitas-4 🇧🇷

4 documentos

Pré-visualização parcial do texto

Baixe Uma Introdução as Redes Neurais - TATIBANA, Cassia e outras Notas de estudo em PDF para Engenharia de Materiais, somente na Docsity! Seja bem vindo à homepage de Redes Neurais. Aqui você terá noções básicas de redes neurais, passando por seu histórico, topologias, suas aplicações, passos para se desenvolver aplicações utilizando conceitos de redes neurais, chegando até exemplos práticos desenvolvidos por empresas espalhadas pelo mundo todo e que podem ser visitadas pela internet. Se você deseja conhecer as referências bibliográficas utilizadas neste trabalho, siga este link. Cassia Yuri Tatibana Deisi Yuki Kaetsu Índice: Resumo desta Página Uma Introdução às Redes Neurais Histórico Neurocomputação Motivação A Rede Neural Artificial Classificação de Redes Neurais Artificiais Página 1 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... Topologias Aprendizado da Rede Desenvolvimento de Aplicações Aplicações de Redes Neurais Por que utilizar redes neurais? Considerações Finais Links para outros sites Programas de simulação - Downloads Referências Bibliográficas Resumo desta Página Esta página se propõe a descrever os principais tópicos referentes à redes neurais, desde seu surgimento até propostas de implementação em inúmeras aplicações atuais. Iniciando com uma introdução ao assunto, descrevemos o funcionamento de células humanas, na qual se baseou todo o funcionamento das unidades componentes das redes neurais. No tópico histórico descrevemos o surgimento, propostas iniciais de redes neurais, conflitos e progressos neste tema. Seguimos com um quadro comparativo entre o cérebro humano e o computador, e entre máquinas tradicionais e máquinas baseadas no conceito de redes neurais. No tópico Motivação, descrevemos os diversos motivos que levam inúmeros estudiosos a trabalhar e desenvolver redes neurais. Descrevemos ainda, no tópico Classificação de Redes Neurais e Topologias de redes neurais, aspectos referentes à descrição destas a partir de suas características de desenvolvimento e aplicação. Descreveremos brevemente alguns conceitos e teorias que descrevem o aprendizado de uma rede neural, e passaremos a uma coletânea de aplicações das mesmas que se encontram em desenvolvimento ou em fase de projeto. O tópico links para outros sites traz diversos endereços interessantes de outras universidades, centros de pesquisas ou até empresas que procuram aproveitar e desenvolver as vantagens de redes neurais. E finalmente em Considerações finais, apresentamos algumas observações decorrentes de pesquisas e estudos realizados durante o desenvolvimento desta página. Página 2 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... desenvolvimento posterior que para o próprio desenvolvimento. Também proveniente deste período de tempo foi a construção do primeiro neuro computador, denominado Snark, por Mavin Minsky, em 1951. O Snark operava com sucesso a partir de um ponto de partida técnico, ajustando seus pesos automaticamente, entretanto, ele nunca executou qualquer função de processamento de informação interessante, mas serviu de inspiração para as idéias de estruturas que o sucederam. Em 1956 no "Darthmouth College" nasceram os dois paradigmas da Inteligência Artificial, a simbólica e o conexionista. A Inteligência Artificial Simbólica tenta simular o comportamento inteligente humano desconsiderando os mecanismos responsaveis por tal. Já a Inteligência Artificial Conexionista acredita que construíndo-se um sistema que simule a estrutura do cérebro, este sistema apresentará inteligência, ou seja, será capaz de aprender, assimilar, errar e aprender com seus erros. O primeiro neuro computador a obter sucesso (Mark I Perceptron) surgiu em 1957 e 1958, criado por Frank Rosenblatt, Charles Wightman e outros. Devido a profundidade de seus estudos, suas contribuições técnicas e de sua maneira moderna de pensar, muitos o vêem como o fundador da neuro computação na forma em que a temos hoje. Seu interesse inicial para a criação do Perceptron era o reconhecimento de padrões. Após Rosenblatt, Bernard Widrow, com a ajuda de alguns estudantes, desenvolveram um novo tipo de elemento de processamento de redes neurais chamado de Adaline, equipado com uma poderosa lei de aprendizado, que diferente do Perceptron ainda permanece em uso. Widrow também fundou a primeira companhia de hardware de neurocomputadores e componentes. Infelizmente, os anos seguintes foram marcados por um entusiasmo exagerado de muitos pesquisadores, que passaram a publicar mais e mais artigos e livros que faziam uma previsão pouco confiável para a época, sobre máquinas tão poderosas quanto o cérebro humano que surgiriam em um curto espaço de tempo. Isto tirou quase toda a credibilidade dos estudos desta área e causou grandes aborrecimentos aos técnicos de outras áreas. Um período de pesquisa silenciosa seguiu-se durante 1967 a 1982, quando poucas pesquisas foram publicadas devido aos fatos ocorridos anteriormente. Entretanto, aqueles que pesquisavam nesta época, e todos os que se seguiram no decorrer de treze anos conseguiram novamente estabelecer um campo concreto para o renascimento da área. Nos anos 80, muitos dos pesquisadores foram bastante corajosos e passaram a publicar diversas propostas para a exploração de desenvolvimento de redes neurais bem como suas aplicações. Porém talvez o fato mais importante deste período tenha ocorrido quando Ira Skurnick, um administrador de programas da DARPA (Defense Advanced Research Projects Agency) decidiu ouvir os argumentos da neuro computação e seus projetistas, e divergindo dos caminhos tradicionais dos conhecimentos convencionais, fundou em 1983 pesquisas em neuro computação. Este ato não só abriu as portas para a neuro computação, como também deu à DARPA o status de uma das líderes mundiais em se tratando de "moda" tecnológica. Página 5 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... Outra "potência" que emergiu neste período foi John Hopfield, renomado físico de reputação mundial, se interessou pela neuro computação, e escreveu artigos que percorreram o mundo todo persuadindo centenas de cientistas, matemáticos, e tecnólogos altamente qualificados a se unirem esta nova área emergente. Apesar de um terço dos pesquisadores da área terem aderido à mesma pela influência de Hopfield, foi em 1986 que este campo de pesquisa "explodiu" com a publicação do livro "Parallel Distributed Processing" (Processamento Distribuído Paralelo) editado por David Rumelhart e James McClelland. Em 1987 ocorreu em São Francisco a primeira conferência de redes neurais em tempos modernos, a IEEE International Conference on Neural Networks, e também foi formada a International Neural Networks Society (INNS). A partir destes acontecimentos decorreram a fundação do INNS journal em 1989, seguido do Neural Computation e do IEEE Transactions on Neural Networks em 1990. Desde 1987, muitas universidades anunciaram a formação de institutos de pesquisa e programas de educação em neuro computação. Alguns dos fatos mencionados são listados abaixo:  neurofisiologista McCulloch e matemático Walter Pitts (1943), cujo trabalho fazia uma analogia entre células vivas e o processo eletrônico, simulando o comportamento do neurônio natural, onde o neurônio possuia apenas uma saída, que era uma função de entrada (threshold) da soma do valor de suas diversas entradas; fig02-Neurônio artificial projetado por McCulloch  psicólogo Donald Hebb (1949), demostrou que a capacidade da aprendizagem em redes neurais vem da alteração da eficiência sináptica, isto é, a conexão somente é reforçada se tanto as células pré-sinápticas quanto as pós-sinápticas estiverem excitadas;  e Rosemblatt (1958) mostrou em seu livro (Principles of Neurodynamics) o modelo dos "Perceptrons". Nele, os neurônios eram organizados em camada de entrada e saída, onde os pesos das conexões eram adaptados a fim de se atingir a eficiência Página 6 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... sináptica; fig03-Rede de perceptrons proposta por Rosemblatt  Em 1960 surgiu a rede ADALINE(ADAptative LInear Network) e o MADALINE (Many ADALINE) perceptron, proposto por Widrow e Hoff. O ADALINE/MADALINE utilizou saídas analógicas em uma arquitetura de três camadas. fig04-Redes ADALINE e MADALINE Muitos históricos desconsideram a existência de pesquisa nesssa área nos anos 60 e 70 e apontam uma retomada das pesquisas com a publicação dos trabalhos do físico e biólogo Hopfield (1982) relatando a utilização de redes simétricas para otimização, através de um algoritmo de aprendizagem que estabilizava uma rede binária simétrica com realimentação. Rumelhart, Hinton e Williams introduziram o poderoso método Backpropagation. Página 7 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... A partir do momento em que as máquinas começaram evoluir, um grande desejo do homem tem sido a criação de uma máquina que possa operar independentemente do controle humano. Uma máquina cuja independência seja desenvolvida de acordo com seu próprio aprendizado e que tenha a capacidade de iteragir com ambientes incertos (desconhecidos por ela), uma máquina que possa ser chamada de autônoma, inteligente ou cognitiva. O sucesso de uma máquina autônoma dependeria única e exclusivamente de sua capacidade de lidar com uma variedade de eventos inesperados no ambiente em que opera. Estas máquinas teriam maior capacidade de aprender tarefas de alto nível cognitivo que não são facilmente manipuladas por máquinas atuais, e continuariam a se adaptar e realizar tais tarefas gradativamente com maior eficiência, mesmo que em condições de ambiente imprevisíveis. Então, seriam muito úteis onde a iteração humana é perigosa, tediosa ou impossível; como em reatores nucleares, combate ao fogo, operações militares, exploração do espaço a distâncias em que um a nave espacial estaria fora do alcance do controle na terra porém eviando informações. Organismos humanos são uma fonte de motivação para o desenvolvimento destas máquinas, e proporcionam diversas dicas para o desenvolvimento de algoritmos de aprendizado e adaptação . Assim, espera-se que algumas das características de organismos biológicos de aprendizado e adaptação estejam presentes nas mesmas. Enquanto computadores funcionam de modo sequencial, proporcionando maior eficiência na resolução de tarefas nas quais devem ser sequidas etapas. O cérebro humano funciona de modo paralelo, e sendo extremamente conectado é mais eficiente na resolução de tarefas que exigem várias variáveis. O motivo pelo qual máquinas inspiradas na biologia são diferentes das máquinas atuais se encontra no fato de que as máquinas atuais baseiam seu processamento explicitamente em modelos matemáticos. Mecanismos de controle baseado em mecanismos neurais entretanto, não são baseados em modelos, utilizam cálculos matemáticos para efetuar suas operações porém podem coordenar diversos graus de liberdade durante a execução de tarefas manipulativas e em ambientes desestruturados. Eles são capazes de lidar com tarefas complicadas sem que tenham que desenvolver um modelo matemático e nem um modelo do ambiente em que operam. Baseado nas características de seres biológicos, acredita-se que surgirá em um futuro próximo, uma geração completa de novos sistemas computacionais, muito mais eficientes e inteligentes que os sistemas atuais. Página 10 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... Uma Introdução às Redes Neurais Artificiais As redes neurais artificiais consistem em um método de solucionar problemas de inteligência artificial, construíndo um sistema que tenha circuitos que simulem o cérebro humano, inclusive seu comportamento, ou seja, aprendendo, errando e fazendo descobertas. São mais que isso, são técnicas computacionais que apresentam um modelo inspirado na estrutura neural de organismos inteligentes e que adquirem conhecimento através da experiência. Uma grande rede neural artificial pode ter centenas ou milhares de unidades de processamento, enquanto que o cérebro de um mamífero pode ter muitos bilhões de neurônios. Apesar da complexidade da redes neurais não permitir uma única definição, as linhas seguintes seguem como uma tentativa das inúmeras definições ou interpretações do que seja realmente uma rede neural. Um grafo direcionado é um objeto geométrico que consiste de um conjunto de pontos, chamados nós, ao longo de um conjunto de segmentos de linhas direcionadas entre eles. Uma rede neural é uma estrutura de processamento de informação distribuída paralelamente na forma de um grafo direcionado, com algumas restrições e definições próprias. Os nós deste grafo são chamados elementos de processamento. Suas arestas são conexões, que funcionam como caminhos de condução instantânea de sinais em uma única direção, de forma que seus elementos de processamento podem receber qualquer número de conexões de entrada. Estas estruturas podem possuir memória local, e também possuir qualquer número de conexões de saída desde que os sinais nestas conexões sejam os mesmos. Portanto, estes elementos tem na verdade uma única conexão de saída, que pode dividir-se em cópias para formar múltiplas conexões, sendo que todos carregam o mesmo sinal. Então, a única entrada permitida para a função de transferência (que cada elemento de processamento possui) são os valores armazenados na memória local do elemento de processamento e os valores atuais dos sinais de entrada nas conexões recebidas pelo elemento de processamento. Os únicos valores de saída permitidos a partir da função de transferência são valores armazenados na memória local do elemento de processamento, e o sinal de saída do mesmo. A funcão de transferência pode operar continuamente ou episodicamente. Sendo que no segundo caso, deve existir uma entrada chamada "activate" que causa o ativamento da função de transferência com o sinal de entrada corrente e com valores da memória local, e produzir um sinal de saída atualizado (ocasionalmente alterando valores da memória). E no primeiro caso, os elementos estão sempre ativados, e a entrada "activate" chega através de uma conexão de um elemento de processamento agendado que também é parte Página 11 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... da rede. Sinais de entrada para uma rede neural a partir de fora da rede chegam através de conexões que se originam do mundo externo, saídas da rede para o mundo externo são conexões que deixam a rede. De forma geral, a operação de uma célula da rede se resume em:  Sinais são apresentados à entrada;  Cada sinal é multiplicado por um peso que indica sua influência na saída da unidade;  É feita a soma ponderada dos sinais que produz um nível de atividade;  Se este nível excede um limite (threshold) a unidade produz uma saída; 1. O Neurônio Artificial e a Rede Neural Assim como o sistema nervoso é composto por bilhões de células nervosas, a rede neural artificial também seria formada por unidades que nada mais são que pequenos módulos que simulam o funcionamento de um neurônio. Estes módulos devem funcionar de acordo com os elementos em que foram inspirados, recebendo e retransmitindo informações. 2.O Neurônio Artificial O fisiologista Warrem MacCulloch interpretou o funcionamento do neurônio biológico como sendo um circuito de entradas binárias combinadas por uma soma ponderada (com pesos) produzindo uma entrada efetiva: fig06-Modelo de McCulloch e Pitts No modelo geral de neurônio (fig06) as entradas WiUi são combinadas usando uma função F, para produzir um estado de ativação do neurônio (correspondente à freqüência de descarga do neurônio biológico).As entradas chegam através dos dentritos e tem um peso atribuído pela sinapse. Página 12 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... Um dos objetivos da pesquisa sobre redes neurais na computação é desenvolver morfologias neurais matemáticas, não necessariamente baseada na biologia, que podem realizar funções diversas. Na maior parte dos casos, modelos neurais são compostos de muitos elementos não lineares que operam em paralelo e que são classificados de acordo com padrões ligados à biologia. Quando um processo é criado visando utilizar aspectos de redes neurais começam com o desenvolvimento de um neurônio artificial ou computacional baseado no entendimento de estruturas biológicas neurais, seguidas do aprendizado de mecanismos voltados para um determinado conjunto de aplicações. Ou em outras palavras, seguindo as três etapas:  O desenvolvimento de modelos neurais motivado por neurônios biológicos;  Modelos de estruturas e conexões sinápticas;  O aprendizado das regras (um método de ajuste de pesos ou forças de conexões internodais) Por causa de diferenças entre algumas ou às vezes todas as entidades envolvidas, diferentes estruturas de redes neurais tem sido desenvolvidas por pesquisadores. Do ponto de vista estrutural, a arquitetura de redes neurais pode ser classificada como estática, dinâmica ou fuzzy, e de única camada ou múltiplas camadas (seu significado é melhor especificado na parte de Topologia de Redes Neurais Artificiais). Além disso, diferenças computacionais surgem também quando se trata da maneira com que são feitas as conexões existentes entres os neurônios. Estas conexões podem ser estritamente no sentido de ida, no sentido de ida e volta, lateralmente conectadas, topologicamente ordenadas ou híbridas. A aplicação de redes neurais pode ser classificada em classes distintas: Reconhecimento de padrões e Classificação; Processamento de imagem e visão; Identificação de sistema e controle e Processamento de sinais. É importante verificar que uma determinada aplicação de um sistema baseado em rede neural não precisa necessariamente ser classificada em apenas uma das citadas acima. Topologias de Redes Neurais Artificiais Disposição dos Neurônios: De acordo com Rummelhart, a rede neural deve possuir no mínimo duas camadas, a Página 15 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... de entrada de dados e a da saída dos resultados. Como a rede apresenta desempenho muito limitado com somente duas camadas, a adição de uma camada intermediária faz-se necessária. Neste tipo de configuração, cada neurônio está ligado com todos os outros das camadas vizinhas, mas neurônios da mesma camada não se comunicam, além da comunicação ser unidirecional, apresentando assim um comportamento estático. Já a rede neural de Hopfield apresenta comportamento dinâmico e fluxo de dados multidirecional devido à integração total dos neurônios, desaparecendo assim a idéia da camadas bem distintas. Com isso seu funcionamento é mais complexo, havendo certas complicações, seja na fase de aprendizado quanto na fase de testes. Seu uso é direcionado à problemas de minimização e otimização, como por exemplo de percurso de caminhões. fig09-modelos de Rummelhart e Hopfield Há pesquisadores como HECHT - NIELSEN, que afirmam que com apenas uma camada oculta já é possível calcular uma função arbitrária qualquer a partir de dados fornecidos. De acordo com HECHT - NIELSEN, a camada oculta deve ter por volta de 2i+1 neurônios, onde i é o número de variáveis de entrada. Outros, no caso de CYBENKO, defendem o uso de duas camadas ocultas. No caso de KUDRICKY, empiricamente observou-se que para cada 3 neurônios da primeira camada oculta era preciso um da segunda camada. Já LIPPMANN afirma que a segunda camada oculta deve ter o dobro de neurônios da camada de saída. No caso de apenas uma camada oculta ela deverá ter s(i+1) neurônios, onde s é o número de neurônios de saída e i o número de neurônios na entrada. Outros autores definem o número máximo como: Omax = c / 10.(i+s) onde s: número de neurônios de saída  i: número de neurônios na entrada Em redes pequenas o número de neurônios da camada oculta pode ser a média geométrica entre o número de neurônios de entrada pelo número de neurôrios de saída. Independente de cada abordagem, quanto mais camadas de neurônios, melhor é o Página 16 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... desempenho da rede neural pois aumenta a capacidade de aprendizado, melhorando a precisão com que ela delimita regiões de decisão. Estas regiões de decisão são intervalos fixos onde a resposta pode estar. A camada de entrada possui um neurônio especial chamado de "bias" e serve para aumentar os graus de liberdade, permitindo uma melhor adaptação, por parte da rede neural, ao conhecimento à ela fornecido. Ciclos: 1. Redes Diretas São redes neurais cujo grafo não possui ciclos e podem ser representadas em camadas. Por exemplo, os neurônios que recebem sinais de excitação do meio externo estao na camada de entrada; os neurônios que estão na saída são chamados de camada de saída. fig10-Rede Direta 2. Redes com ciclos São redes em que o grafo de conectividade contém pelo menos um ciclo. São também chamadas redes com realimentação ou com feedback. 3. Redes simétricas São redes cuja matriz (do grafo de conectividade) é simétrica, sendo um caso particular das redes com ciclos. Página 17 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... repetidamente ou persistentemente toma parte em ativá-la, algum processo crescente ou mudança metabolica se apossa de uma ou ambas as células de forma que a eficiência de A, assim como a de uma das células B excitadas, são aumentadas". Assim como o modelo de McCulloch-Pitts, esta lei de aprendizagem não explica tudo sobre este tema, porém, de uma forma ou de outra, ela está presente em muitos modelos de redes neurais que conhecemos hoje. Utilizaremos como exemplo, o condicionamento clássico, o experimento de Pavlov, para ilustrar a idéia anteriormente exposta. Pelo fato das conexões através de neurônios ocorrerem através de sinapses, é realmente razoável imaginar que qualquer mudança que ocorra durante o aprendizado ocorra nestas. Hebb teorizou que a área da junção sináptica aumenta. Teorias mais recentes afirmam que o responsável por isto é um aumento na taxa de liberação neurotransmissora efetuada pela célula pré-sináptica. Em qualquer evento, mudanças certamente ocorrem na sinapse. Se nem a célula pré, nem a pós sináptica são alteradas como um todo, outras respostas, que não são relacionadas ao experimento podem ser reforçadas. Desenvolvimento de Aplicações Esta página procura ilustrar os passos necessários para o desenvolvimento de aplicações utilizando redes neurais artificiais. 1 e 2. Coleta de dados e separação em conjuntos Os dois primeiros passos do processo de desenvolvimento de redes neurais artificiais são a coleta de dados relativos ao problema e a sua separação em um conjunto de treinamento e um conjunto de testes. Esta tarefa requer uma análise cuidadosa sobre o problema para minimizar ambiguidades e erros nos dados. Além disso, os dados coletados devem ser significativos e cobrir amplamente o domínio do problema; não devem cobrir apenas as operações normais ou rotineiras, mas também as exceções e as condições nos limites do domínio do problema. Normalmente, os dados coletados são separados em duas categorias: dados de treinamento, que serão utilizados para o treinamento da rede e dados de teste, que serão Página 20 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... utilizados para verificar sua performance sob condições reais de utilização. Além dessa divisão, pode-se usar também uma subdivisão do conjunto de treinamento, criando um conjunto de validação, utilizado para verificar a eficiência da rede quanto a sua capacidade de generalização durante o treinamento, e podendo ser empregado como critério de parada do treinamento. Depois de determinados estes conjuntos, eles são geralmente colocados em ordem aleatória para prevenção de tendências associadas à ordem de apresentação dos dados. Além disso, pode ser necessário pré-processar estes dados, através de normalizações, escalonamentos e conversões de formato para torná-los mais apropriados à sua utilização na rede. 3. Configuração da rede O terceiro passo é a definição da configuração da rede, que pode ser dividido em três etapas: 3.1 Seleção do paradigma neural apropriado à aplicação. 3.2 Determinação da topologia da rede a ser utilizada - o número de camadas, o número de unidades em cada camada, etc. 3.3 Determinação de parâmetros do algoritmo de treinamento e funções de ativação. Este passo tem um grande impacto na performance do sistema resultante. Existem metodologias, "dicas" e "truques" na condução destas tarefas. Normalmente estas escolhas são feitas de forma empírica. A definição da configuração de redes neurais é ainda considerada uma arte, que requer grande experiência dos projetistas. 4. Treinamento O quarto passo é o treinamento da rede. Nesta fase, seguindo o algoritmo de treinamento escolhido, serão ajustados os pesos das conexões. É importante considerar, nesta fase, alguns aspectos tais como a inicialização da rede, o modo de treinamento e o tempo de treinamento. Uma boa escolha dos valores iniciais dos pesos da rede pode diminuir o tempo necessário para o treinamento. Normalmente, os valores iniciais dos pesos da rede são números aleatórios uniformemente distribuídos, em um intervalo definido. A escolha errada destes pesos pode levar a uma saturação prematura. Nguyen e Widrow encontraram uma função que pode ser utilizada para determinar valores iniciais melhores que valores puramente aleatórios. Quanto ao modo de treinamento, na prática é mais utilizado o modo padrão devido ao menor armazenamento de dados, além de ser menos suscetível ao problema de Página 21 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... mínimos locais, devido à pesquisa de natureza estocástica que realiza. Por outro lado, no modo batch se tem uma melhor estimativa do vetor gradiente, o que torna o treinamento mais estável. A eficiência relativa dos dois modos de treinamento depende do problema que está sendo tratado. Quanto ao tempo de treinamento, vários fatores podem influenciar a sua duração, porém sempre será necessário utilizar algum critério de parada. O critério de parada do algoritmo backpropagation não é bem definido, e geralmente é utilizado um número máximo de ciclos. Mas, devem ser considerados a taxa de erro médio por ciclo, e a capacidade de generalização da rede. Pode ocorrer que em um determinado instante do treinamento a generalização comece a degenerar, causando o problema de over-training, ou seja a rede se especializa no conjunto de dados do treinamento e perde a capacidade de generalização. O treinamento deve ser interrompido quando a rede apresentar uma boa capacidade de generalização e quando a taxa de erro for suficientemente pequena, ou seja menor que um erro admissível. Assim, deve-se encontrar um ponto ótimo de parada com erro mínimo e capacidade de generalização máxima. 5. Teste O quinto passo é o teste da rede. Durante esta fase o conjunto de teste é utilizado para determinar a performance da rede com dados que não foram previamente utilizados. A performance da rede, medida nesta fase, é uma boa indicação de sua performance real. Devem ser considerados ainda outros testes como análise do comportamento da rede utilizando entradas especiais e análise dos pesos atuais da rede, pois se existirem valores muito pequenos, as conexões associadas podem ser consideradas insignificantes e assim serem eliminadas (prunning). De modo inverso, valores substantivamente maiores que os outros poderiam indicar que houve over-training da rede. 6. Integração Finalmente, com a rede treinada e avaliada, ela pode ser integrada em um sistema do ambiente operacional da aplicação. Para maior eficiência da solução, este sistema deverá conter facilidades de utilização como interface conveniente e facilidades de aquisição de dados através de planilhas eletrônicas, interfaces com unidades de processamento de sinais, ou arquivos padronizados. Uma boa documentação do sistema e o treinamento de usuários são necessários para o sucesso do mesmo. Além disso, o sistema deve periodicamente monitorar sua performance e fazer a manutenção da rede quando for necessário ou indicar aos projetistas a necessidade de retreinamento. Outras melhorias poderão ainda ser sugeridas quando os usuários forem se tornando mais familiares com o sistema, estas sugestões poderão ser muito úteis em novas versões ou em novos produtos. Página 22 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut...  robótica;  classificação de dados;  reconhecimento de padrões em linhas de montagem ;  filtros contra ruídos eletrônicos;  análise de imagens;  análise de voz;  avaliação de crédito;  análise de aroma e odor- um projeto que está em desenvolvimento, buscando a análise de odor via nariz eletrônico;  análise e diagnóstico de descargas parciais pelo reconhecimento do padrão acústico- trata-se de uma tese de mestrado cujo objetivo é criar um sistema com capacidades de classificar o padrão acústico de uma descarga parcial ; Para estas e muitas outras aplicações existem páginas relacionadas em links para outros sites relacionados, inclusive com alguns simuladores, e listagens de programas fontes. Por que utilizar Redes Neurais? De acordo com diversas estruturas neurais e algoritmos de aprendizagem propostos por vários pesquisadores, redes neurais possuem certas características exclusivas de sistemas biológicos. Tais características entram em conflito com os tradicionais métodos computacionais. Sistemas de computação baseados em redes neurais tem a capacidade de receber ao mesmo tempo várias entradas e distribuí-las de maneira organizada. Geralmente, as informações armazenadas por uma rede neural é compartilhada por todas as suas unidades de processamento. Característica que contrasta com os atuais esquemas de memória, onde a informação fica confinada em um determinado endereço. Em um sistema de rede neural, a informação pode parecer ter representação redundante, porém, o fato de que ela se encontre distribuída por todos os elementos da rede significa que mesmo que parte da rede seja destruída, a informação contida nesta parte ainda estará presente na rede, e poderá ser recuperada. Portanto, a redundância na representação de informações em uma rede neural, diferente de outros sistemas, transforma-se em uma vantagem, que torna o sistema tolerante a falhas. Os atributos de uma rede neural, tais como aprender através de exemplos, generalizações redundantes, e tolerância a falhas, proporcionam fortes incentivos para a escolha de redes neurais como uma escolha apropriada para aproximação para a modelagem de sistemas biológicos. Todo o potencial de uma rede neural pode ser enumerado nos parágrafos seguintes. Página 25 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... O modelo de rede neural tem muitos neurônios conectados por pesos com capacidade de adaptação que que podem ser arranjados em uma estrutura paralela. Por causa deste paralelismo, a falha de alguns nêurons não causam efeitos significantes para a performance de todo o sistema, o que é chamado de tolerância a falhas. A principal força na estrutura de redes neurais reside em sua habilidades de adaptação e aprendizagem. A habilidade de adaptação e aprendizagem pelo ambiente significa que modelos de redes neurais podem lidar com dados imprecisos e situações não totalmente definidas. Uma rede treinada de maneira razoável tem a habilidade de generalizar quando é apresentada à entradas que não estão presentes em dados já conhecidos por ela. A característica mais significante de redes neurais está em sua habilidade de aproximar qualquer função continua não linear de um grau de correção desejado. Esta habilidade das redes neurais as tem tornado útil para modelar sistemas não lineares na combinação de controladores não lineares. Redes Neurais podem ter várias entradas e várias saídas, eles são facilmente aplicáveis à sistemas com muitas variáveis. Com o avanço em tecnologias de hardware, existem componentes com funções voltadas á sistemas com implementações voltadas para redes neurais, o que traz uma velocidade adicional à computação neural. Arquivos para download - Neuroimitator V3.1 para Windows 3.1 da Neuroma-RD Ltd: Ferramenta que permite à pesquisadores construir uma arquitetura arbitrária de rede neural e decidir parâmetros de neurônios envolvidos e conexões sinápticas. Download da versão 3.1 demo para Windows 3.1 (325K). Download da biblioteca MFC250.DLL para Windows 3.1 (175K). Esta biblioteca é necessária para o funcionamento do Neuroimitator. Verifique se você já não o possui em seu subdiretório System de seu Windows. - NeuroSolutions Demo v3.0: Um ambiente de simulação orientado a objeto para Redes Neurais para estudos de sistemas distribuídos complexos difíceis de serem estudados apenas na teoria. Suas ferramentas de vizualização permitem que o usuário verifique o Página 26 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... comportamento da rede sem que seja necessário esperar até o fim de seu treinamento, além de permitir que parâmetros sejam alterados durante a execução da mesma. Download Versão Demo do Arquivo #1 (1.0M). Download Versão Demo do Arquivo #2 (1.3M). Instruções para instalação: Copie ns2demo1.zip e ns2demo2.zip para seu disco rígido; Vá para o diretório onde estão os arquivos copiados; Digite: "md disk1" Digite: "pkunzip ns2demo1.zip disk1" Digite: "mkdir disk2" Digite: "pkunzip ns2demo2.zip disk2" Inicie o Windows. A partir do Gerenciador de Arquivos localize o arquivo "disk1\setup.exe" Duplo-click neste arquivo. -Applets for Neural Networks and Artificial Life . Diversos aplicativos em java com arquivos para download com manual, código fonte, documentação e instruções de instalação. Links para outros sites relacionados An Introduction To Neural Networks - Uma página que explica o que é uma rede neural e porque utilizar uma rede neural, tendo também classes de treinamento. Possui um exemplo prático da aplicação de redes neurais e vários outros artigos de projetos onde se aplicam redes neurais. Neural Network FAQ - Este site é um ftp que tem uma série de FAQs (na verdade são sete) que conseguem abordar desde o mais básico ponto das redes neurais até livros sobre Página 27 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut... Considerações finais: Apesar da neurocomputação ter praticamente nascido juntamente com a computação programada nas décadas de 40 e 50, deve-se salientar que a implementação de uma rede neural naquela época era inviável, pois a fase de aprendizado, a fase mais difícil e demorada no desenvolvimento de uma rede, dependia (e ainda depende) de complicados algorítmos e de um número grande de iterações, algo que um ENIAC em 1946 não teria tanta disposição de fazê-lo. Hoje, com a tecnologia dos chips VLSI, a implementação das redes neurais tem sido facilitada. Todas as informações aqui expostas nos levam a crer que o campo de redes neurais artificiais é acima de tudo extremamente vasto e promissor. Por ser um assunto que surgiu a muito tempo atrás, ganhou muita credibilidade, e devido á novas descobertas relacionadas a ela a cada instante, tornou-se bastante atrativo para profissionais de domínios distintos, tornando-se um assunto interdisciplinar. Os conhecimentos obtidos até hoje atraem o interesse de profissionais tais como psicologos, neurofisiologistas, engenheiros, cientistas cognitivos, e cientistas da computação, que buscam, cada um em sua área, novos caminhos através da computação neural. Referências Bibliográficas  Filho, Edson Costa de Barros Carvalho., Modelagem, Aplicações e Implementações de redes Neurais. Anais da IV Escola Regional de Informática da SBC Regional Sul, 21 a 27 de abril de 1996. Páginas 36 - 53.  Barreto, Jorge M., Introdução às Redes Neurais Artificiais. Anais V Escola Regional de Informática da SBC Regional Sul, 5 a 10 de maio de 1997. Páginas 41 - 71.  Gorni, Antônio Augusto, Redes Neurais Artificiais - Uma Abordagem revolucionária em Inteligência Artificial. Revista MicroSistemas edição 133 páginas 14 a 25 e edição 134 páginas 14 a 17, Ano XII  Gupta, Madan M.e Rao, Dandina H. - Neuro-Control Systems. Um volume selecionado reeditado. IEEE Neural Networks Council, Sponsor.  Yoshida, Keila M. - Redes Neurais e suas aplicações em Inteligência Artificial. Trabalho de graduação de 1996 Página 30 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut...  Kovács, Zsolt L. - redes Neurais Artificias. Segunda edição, editora Collegium Cognitio, 1996  Hecht-Nielsen, Robert-Neurocomputing. HNC, Inc. and University of California, San Diego.  Freeman, James A./Skapura, David M., Neural Networks - Algorithms, Aplications and Programming Techniques. Loral Space Information Systems and Adjunct Faculty, School of Natural and Applied Sciences University of Houston at Clear Lake. Demais referências bibliográficas, vide página Links para outros sites. Página 31 de 31Uma Introdução às Redes Neurais 28/8/2004file://C:\Documents%20and%20Settings\ro\Meus%20documentos\CursosApostilasTut...
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved