Uma Introdução as Redes Neurais - TATIBANA, Cassia

Uma Introdução as Redes Neurais - TATIBANA, Cassia

(Parte 3 de 6)

A rede neural artificial é um sistema de neurônios ligados por conexões sinápticas e dividido em neurônios de entrada, que recebem estímulos do meio externo, neurônios internos ou hidden (ocultos) e neurônios de saída, que se comunicam com o exterior. A forma de arranjar perceptrons em camadas é denominado Multilayer Perceptron. O multilayer perceptron foi concebido para resolver problemas mais complexos, os quais não poderiam ser resolvidos pelo modelo de neurônio básico. Um único perceptron ou uma combinação das saídas de alguns perceptrons poderia realizar uma operação XOR, porém, seria incapaz de aprendê-la. Para isto são necessárias mais conexões, os quais só existem em uma rede de perceptrons dispostos em camadas. Os neurônios internos são de suma importância na rede neural pois provou-se que sem estes torna-se impossível a resolução de problemas linearmente não separáveis. Em outras palavras pode-se dizer que uma rede é composta por várias unidades de processamento, cujo funcionamento é bastante simples. Essas unidades, geralmente são conectadas por canais de comunicação que estão associados a determinado peso. As unidades fazem operações apenas sobre seus dados locais, que são entradas recebidas pelas suas conexões. O comportamento inteligente de uma Rede Neural Artificial vem das interações entre as unidades de processamento da rede.

A maioria dos modelos de redes neurais possui alguma regra de treinamento, onde os pesos de suas conexões são ajustados de acordo com os padrões apresentados. Em outras palavras, elas aprendem através de exemplos. Arquiteturas neurais são tipicamente organizadas em camadas, com unidades que podem estar conectadas às unidades da camada posterior.

A rede neural passa por um processo de treinamento a partir dos casos reais conhecidos, adquirindo, a partir daí, a sistemática necessária para executar adequadamente o processo desejado dos dados fornecidos. Sendo assim, a rede neural é capaz de extrair regras básicas a partir de dados reais, diferindo da computação programada, onde é necessário um conjunto de regras rígidas pré-fixadas e algoritmos.

Página 13 de 31Uma Introdução às Redes Neurais

fig08-Organização em camadas.

Usualmente as camadas são classificadas em três grupos:

Camada de Entrada: onde os padrões são apresentados à rede; Camadas Intermediárias ou Ocultas: onde é feita a maior parte do processamento, através das conexões ponderadas; podem ser consideradas como extratoras de características; Camada de Saída: onde o resultado final é concluído e apresentado.

Redes neurais são também classificadas de acordo com a arquitetura em que foram implementadas, topologia, características de seus nós, regras de treinamento, e tipos de modelos.

Classificação de Redes Neurais Artificiais

Página 14 de 31Uma Introdução às Redes Neurais

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 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 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

fig11-Rede Simétrica

Processos de Aprendizado de uma Rede Neural Artificial<>

A propriedade mais importante das redes neurais é a habilidade de aprender de seu ambiente e com isso melhorar seu desempenho. Isso é feito através de um processo iterativo de ajustes aplicado a seus pesos, o treinamento. O aprendizado ocorre quando a rede neural atinge uma solução generalizada para uma classe de problemas.

Denomina-se algortmo de aprendizado a um conjunto de regras bem definidas para a solução de um problema de aprendizado. Existem muitos tipos de algoritmos de aprendizado específicos para determinados modelos de redes neurais, estes algoritmos diferem entre si principalmente pelo modo como os pesos são modificados.

A rede neural se baseia nos dados para extrair um modelo geral. Portanto, a fase de aprendizado deve ser rigorosa e verdadeira, a fim de se evitar modelos espúrios. Todo o conhecimento de uma rede neural está armazenado nas sinapses, ou seja, nos pesos atribuídos às conexões entre os neurônios. De 50 a 90% do total de dados deve ser separado para o treinamento da rede neural, dados estes escolhidos aleatoriamente, a fim de que a rede "aprenda" as regras e não "decore" exemplos. O restante dos dados só é apresentado à rede neural na fase de testes a fim de que ela possa "deduzir" corretamente o interrelacionamento entre os dados.

Outro fator importante é a maneira pela qual uma rede neural se relaciona com o ambiente. Nesse contexto existem os seguintes paradigmas de aprendizado:

1. Por independência de quem aprende

As Redes Neurais Artificiais aprendem por memorização, contato, exemplos, por analogia, por exploração e também por descoberta.

2. Por retroação do mundo

Página 18 de 31Uma Introdução às Redes Neurais

Diz repeito a ausência ou presença de de realimentação explícita do mundo exterior, ou seja, que em certos intervalos de tempo um agente assinala acertos e erros.

2.1 Aprendizado Supervisionado: utiliza um agente externo que indica à rede um comportamento bom ou ruim de acordo com o padrão de entrada

(Parte 3 de 6)

Comentários