Apresentação sobre redes neurais

Download Report

Transcript Apresentação sobre redes neurais

Redes neurais artificiais

Prof. João Henrique - 2013

Inspiração biológica O neurônio é a unidade básica cerebral, especializada

excitabilidade

na e transmissão

transmissão

de informações, devido às propriedades de de mensagens nervosas.

Modelo do neurônio biológico

Fluxo de informação  A soma e os dendritos forma a superfície de entrada do neurônio e o axônio forma a superfície de saída da informação.

A informação  Na realidade, a mensagem transmitida

entre os neurônios é o impulso elétrico

propagado entre os mesmos, captado por receptores nervososos.

Modelo matemático do neurônio  McCulloch e Pitts (1943): Perceptron;  Impulsos representados por sinais de entrada, x i  O estímulo é representado pelos pesos sinápticos;

Pesos sinápticos  Valores aleatórios (aprendizagem por tentativa e erro);  Maior peso, mais excitatório é o estímulo;  Excitatório ou inibitório;  Vários algoritmos para calcular os pesos.

Soma ou corpo celular 

Função

aditiva: por seu peso; somatória da multiplicação de cada sinal de entrada  Função de ativação: indica qual será o resultado do processamento, passado então ao axônio.

Modelo do neurônio artificial

Representação matemática

u k

=

m

å

j

= 1

w kj

.

x i

x: sinal de entrada, w: peso sináptico e m: número de sinais de entrada no neurônio i

Função de ativação

Função de ativação logística j (

u

) = 1 + 1 exp -

au

Redes neurais artificiais  Tipicamente formada por neurônios interconectados em camadas, onde cada neurônio interfere em outro;  Representadas normalmente por grafos direcionados, onde os vértices são os neurônios e as arestas são as sinapses;

Representação de redes neurais

Aquisição de conhecimento  Se a situação gerada pela combinação de características for informada à rede, o aprendizado é supervisionado. Caso contrário, será não supervisionado;  O conhecimento é armazenado na forma dos pesos das conexões, ajustados sempre para melhorar o processo de tomada de decisões;  O ajuste dos pesos é feito pelo algoritmo de aprendizagem. O mais utilizado é o backpropagation.

Construção da rede neural  Decisões importantes:  Topologia;  Algoritmo de aprendizagem;  Função de ativação.

Topologia de redes neurais  Diz respeito à disposição dos neurônios, e está intimamente relacionada ao algoritmo de aprendizagem.

Topologia: feed-forward

Feed-forward: características  Neurônios organizados em camadas;  A camada inicial (input) recebe os dados de entrada;  Camadas intermediárias são chamadas de ocultas;  Cada neurônio de uma camada é conectado a todos da próxima camada;  Não há conexão entre neurônios da mesma camada.

Feed-backward: características  A saída de um neurônio é usada como alimentação do mesmo neurônio ou de um neurônio de camada anterior.

Mapas auto-organizáveis  Os neurônios são forçados a competir entre si;  Entenda isso como um neurônio que oferece a melhor resposta a um estímulo;  A melhor resposta ganha a competição e este será o neurônio ativado em cada iteração;  As redes deste tipo mais conhecidas são as Redes de Kohonen.

Redes de Kohonen: exemplo

O neurônio vencedor é o de cor mais clara, próximo ao centro do mapa

O Processo de aprendizagem  Atualização da representação interna do sistema em resposta a um estímulo externo;  Basicamente se dá por meio do ajuste de pesos sinápticos e ativação de regras de neurônios individuais;  Normalmente dividida em 4 tipos, vistos adiante.

#1: Correção de erro  Característica do aprendizado supervisionado (saída esperada é conhecida)  Muda os pesos sinápticos a cada iteração, após comparar a saída da rede com a saída esperada;  O ajuste leva, quase sempre, a erros gradativamente menores;

#2: Aprendizagem Hebbiana  Postulado de Donald Hebb;  “Se dois neurônios em ambos os lados da sinapse são ativados sincrona e simltaneamente, então a força daquela conexão deve ser seletivamente aumentada”;  A atividade dos neurônios gera o ajuste dos pesos.

#3: Aprendizagem de Boltzmann

#4: Aprendizagem competitiva  Veja os slides das redes competitivas

Perceptron de Múltiplas Camadas  Redes MLP são redes alimentadas adiante que possuem uma ou mais camadas de neurônios entre as camadas de entrada e saída, chamada de camada oculta.

 Esta camada adiciona um poder maior em relação àsredes Perceptron de camada única, que classifica apenas padrões linearmente separáveis, sendo os neurônios ocultos responsáveis por capturar a não linearidade dos dados.

Perceptron de Múltiplas Camadas  Neste modelo todos os neurônios são ligados aos neurônios da camada sub-sequente, não havendo ligação com os neurônios laterais (da mesma camada) e também não ocorre realimentação.

 A aprendizagem de uma rede neural MLP é um processo iterativo, conhecido como aprendizagem de diminuir o erro nas próximas iterações.

por experiência, no qual padrões de treinamento (exemplos) são apresentados a rede e com base nos erros obtidos, são realizados ajustes nos pesos sinápticos, com o intuito

Treinamento no MPL  O principal algoritmo de treinamento é o algoritmo de retropropagação de erro (error backpropagation), baseado na regra de aprendizagem por correção de erro, que consiste basicamente de dois passos, um para frente e outro para trás.

Treinamento na MLP: frente  O passo para frente é chamado de propagação, os valores provindos dos neurônios de entrada (nós fontes) são aplicados aos neurônios ocultos e posteriormente suas saídas são aplicadas como entradas aos neurônios da camada final, obtendo a resposta da rede. Durante este passo os pesos sinápticos da rede são todos fixos

Treinamento MPL: trás  o passo para trás é incumbido de ajustar os pesos sinápticos, por meio do cálculo do erro realizado na camada de saída, os pesos sinápticos entre as camadas antecessoras são ajustados de acordo com uma regra de correção de erro.

Perceptron de múltiplas camadas

Algoritmo da Backpropagation

MLP: problemas ao implementar  Padrões adequadamente representados;  Número de camadas escondidas;  Número de neurônios nas camadas escondidas;  Super-treinamento.

Outros modelos: SOM  Self Organized Maps  Aprendizagem não-supervisionada  Proposta por Teuvo Kohonen em 1982

SOM: bases biológicas  Utilizando conhecimento biológico, a rede de Kohonen utiliza-se de duas camadas, a camada de entrada e a grade pós-sináptica ou mapa de características, sendo a úlltima um arranjo bi-dimensional de neurônios.

SOM: esquema

SOM: mais detalhes  O mapa auto-organizável é treinado utilizando uma aprendizagem híbrida composta por aprendizagem Hebbiana e competitiva, onde os neurônios da grade pós-sináptica competem entre si, com base em uma medida de similaridade com o sinal de entrada, o neurônio mais similar é dito ser o vencedor.

SOM: mais detalhes  A distância euclidiana é geralmente utilizada como medida de similaridade.

 O algoritmo responsável pela formação do mapa começa pela atribuição de valores iniciais dos pesos sinápticos da grade, atribuindo valores pequenos gerados aleatoriamente.

SOM: competição  Para cada padrão de entrada, os neurônios da grade competem entre si, calculando a distância euclidiana entre seus pesos sinápticos e os valores do padrão de entrada, sendo o neurônio com a menor distância o vencedor (Aprendizagem Competitiva);

SOM: cooperação  O neurônio vencedor determina uma área, vizinhança topológica, na qual os neurônios cooperarão entre si (Aprendizagem Hebbiana);

SOM: adaptação sináptica  Determinada a vizinhança, os neurônios cooperam de modo a atualizarem seus pesos sinápticos, sendo que os mais próximos do neurônio vencedor sofrem modificações mais significativas do que os neurônios mais distantes.

SOM: vizinhança gaussiana

SOM: aplicação  Clusterização de dados, ou seja, agrupamento de dados intrinsecamente semelhantes, utilizado quando nada é conhecido sobre os dados. Os mapas de Kohonen podem ser aplicados em compressão de dados, uma vez que dados de alta dimensionalidade são mapeados em um espaço de baixa dimensão, preservando seu conteúdo

Aplicações de redes neurais  Basicamente, o problema de classificação consiste em classificar padrões de entrada entre classes previamente conhecidas, tomando como base de conhecimento algumas características do problema aplicado.

Aplicações de redes neurais  A clusterização pode ser vista como um problema de classificação de padrões, quando é desconhecido previamente quantas e quais são as classes a serem classificadas. A este tipo de problema aplicam-se redes que utilizem aprendizagem não-supervisionada, podendo destacar a Rede de Kohonen.

Conclusões  As redes neurais são modelos pertencentes ao paradigma de aprendizagem conexionista indutivo, na qual um conjunto de unidades simples de processamento (neurônios), são fortemente conectados, formando uma complexa e altamente robusta ferramenta de aquisição do conhecimento.