Escolar Documentos
Profissional Documentos
Cultura Documentos
Reconhecimento de Padres
Multi-Layer Perceptron
(MLP)
Redes Neuronais
Crebro humano.
Mais fascinante processador existente.
Aprox. 10 bilhes de neurnios conectados
atravs de sinapses.
Sinapses transmitem estmulos e o resultado
pode ser estendido por todo o corpo humano.
Mark I - Perceptron
1967-1982.
Pesquisas silenciosas.
1987.
Primeira conferncia IEEE Int. Conf. On Neural Nets.
Neurnio
Dendritos:
Receber os estmulos transmitidos por outros
neurnios.
Corpo (somma).
Coletar e combinar informaes vindas de outros
neurnios.
Axnio.
Transmite estmulos para outras clulas.
Estrutura de processamento de
informao distribuda paralelamente na
forma de um grafo direcionado.
Crebro X Computador
Parmetro
Crebro
Computador
Material
Orgnico
Metal e Plstico
Velocidade
Milisegundos
Nanosegundos
Tipo de Processamento
Paralelo
Sequncial
Armazenamento
Adaptativo
Esttico
Controle de Processos
Distribudo
Centralizado
Nmero de Elementos
Processados
1011 a 1014
105 a 106
10.000
< 10
Neurnio artificial
[PERCEPTRON]
Perceptron
Resolve problemas linearmente separveis
somente.
Problemas reais, entretanto, na maioria das
vezes so mais complexos.
Exemplo
Considere por exemplo, o problema XOR
w1
x1
w2
x2
Exemplo
X1
X2
X3
Output
Camada Escondida
Essa camada pode ser vista como um
extrator de caractersticas, ou seja, a
grosso modo, o neurnio escondido seria
uma caracterstica a mais
O que torna o problema do XOR linearmente
separvel.
Camadas X Fronteiras
O problema de atribuio de
crditos
Quando temos uma camada escondida,
surge o problema de atribuio de
crditos aos neurnios desta camada
No existem targets como na camada de
sada.
Perodo entre 58 e 82 foi dedicado a resolver
esse problema
Soluo foi o algoritmo conhecido como
Backpropagation.
David E. Rumelhart et al (1986)
1
1 eS
0.91
0.08
1.00
0.10
Podemos usar como regra de deciso um limiar igual a 0.9, por exemplo.
BackProp
net j wij oi
i 1
onde n o nmero de unidades
ligadas ao
neurnio j e
o j f (net j )
BackProp
BackProp
O valor corrente de ativao de um
neurnio k ok e o target tk
Aps realizar os passos 1, 2, e 3, o
prximo passo consiste em calcular o
erro, o qual pode ser realizado atravs da
seguinte equao
k (t k ok )ok (1 ok )
BackProp: Exemplo
Considere uma rede inicializada da
seguinte forma
Nesse caso
BackProp: Exemplo
A frmula para atualizar os pesos W entre
o neurnio i e j
wij ` wij j oi
onde eta uma constante pequena e
positiva camada de taxa de
aprendizagem (learning rate)
Usando uma taxa de 0.1, temos
BackProp: Exemplo
wxz 0 0.1 0.125 1 0.0125
wyz 0 0.1 0.125 0 0
whz 0 0.1 0.125 0.5 0.00625
wbz 0 0.1 0.125 1 0.0125
A frmula para calcular o erro dos neurnios da camada escondida
i oi (1 oi ) k wik
k
h oh (1 oh ) z whz
BackProp:Exemplo
Nesse caso teramos
BackProp:Exemplo
Aps aplicarmos todos os padres,
teramos o seguinte
1
0.4998
0.4998
0.4998
0.4997
Aspectos Prticos
Alguns aspectos prticos devem ser
considerados na utilizao de redes neurais
MLP.
Taxa de aprendizagem
Momentum
Online vs batch
Shuffle
Normalizao
Inicializao dos pesos
Generalizao
Referncia Interessante:
Efficient Backprop, Y. LeCun et al,
1998
Taxa de Aprendizagem
Taxas muito pequenas tornam o processo
bastante lento.
Taxas muito grandes tornam o processo
rpido.
Podem no trazer os resultados ideais.
Superfcie do
erro
Erro mnimo
Taxa pequena
Taxa grande
Taxa de Aprendizagem
O ideal comear com uma taxa grande
e reduzir durante as iteraes.
Permite a explorao global no incio
(exploration) a local (exploitation) quando
o algoritmo estiver prximo do timo
global.
Geralmente valores entre 0.05 e 0.75
fornecem bons resultados.
Momentum
uma estratgia usada para evitar mnimos
locais. Considere a seguinte superfcie
Momentum
Considere, por exemplo, que uma bola
seja solta no incio da superfcie.
Se ela tiver momentum suficiente, ela vai
conseguir passar os trs mnimos locais e
alcanar o mnimo global.
wij wij j ok
Normalmente 0<= <= 0.9
On-line vs Batch
A diferena est no momento em que os pesos so
atualizados.
Na verso on-line, os pesos so atualizados a cada
padro apresentado a rede.
Na verso batch, todos os pesos so somados durante
uma iterao (todos os padres) e s ento os pesos
so atualizados.
Verso batch
Interessante para aplicaes que possam ser paralelizadas.
Verso online
Geralmente converge mais rapidamente.
Normalizao
A normalizao interessante quando existem
caractersticas em diversas unidades dentro do
vetor de caractersticas.
Nesses casos, valores muito altos podem
saturar a funo de ativao.
Uma maneira bastante simples de normalizar os
dados consiste em somar todas as
caractersticas e dividir pela soma
Outra normalizao bastante usada a
normalizao Z-score.
Normalizao
Para redes neurais MLP, geralmente
interessante ter as caractersticas com
mdia prxima de zero
X
Z
Normalizao
As caractersticas devem ser no
correlacionadas se possvel
Quando temos poucas caractersticas
podemos verificar isso facilmente.
Com vrias caractersticas, o problema se
torna muito mais complexo.
Mtodos de seleo de caractersticas.
Generalizao
Um aspecto bastante importante quando
treinamos um classificador garantir que
o mesmo tenha um bom poder de
generalizao.
Evitar overfitting.
Generalizao
A cada iterao, devemos monitorar o
desempenho na base de validao.
No raro observar o seguinte
desempenho
Generalizao
Uma outra estratgia a validao
cruzada.
Interessante quando a base no muito
grande
Separar alguns exemplos para validao pode
prejudicar o treinamento.
Generalizao
A cada iterao a partio usada para
validao trocada.
1. iterao
2. iterao
3. iterao
Tamanho da Rede
Geralmente uma camada escondida
suficiente.
Em poucos casos voc vai precisar adicionar
uma segunda camada escondida.
No existe uma formula matemtica para se
encontrar o nmero de neurnios.
Emprico
Dica prtica
Comece com uma rede menor, pois a aprendizagem
vai ser mais rpida.