Apresentação sobre redes neurais

Report
Redes neurais artificiais
Prof. João Henrique - 2013
Inspiração biológica
O neurônio é a unidade básica cerebral,
especializada
na
transmissão
de
informações, devido às propriedades de
excitabilidade
e
transmissão
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, xi
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:
somatória
da
multiplicação de cada sinal de entrada
por seu peso;
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
m
uk = å wkj .xi
j=1
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
1
j (u) =
-au
1+ exp
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ãolinearidade 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
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
de diminuir o erro nas próximas iterações.
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.

similar documents