Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

36
Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning

Transcript of Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Page 1: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Daniela Justiniano de Sousa

Multilayer Neural Networks Machine Learning

Page 2: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Multi-Layer Perceptron (MLP)

• Técnica computacional que apresenta um modelo inspirado na estrutura neural.

• O Perceptron Multi - Camadas é uma extensão do Perceptron de camada única.

Page 3: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Breve histórico• 1958-1967.

– Várias pesquisas mal sucedidas.

• 1969– Minsky & Papert: Perceptron só é capaz de resolver

problemas com dados de classes linearmente separáveis.

• 1967-1982.– Pesquisas silenciosas.

• 1986 –Rumelhart, Hinton e Williams – Algoritmo eficaz de aprendizagem.– introduziram o Backpropagation.

Page 4: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Motivação

• Resolve somente problemas linearmente separáveis e funções lógicas simples.

• Redes Neurais limitadas para aplicações práticas complexas.

Page 5: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Solução definida

• Uma ou mais camadas de nós intermediários às unidades de entrada e saída, chamadas unidades ocultas(hidden).

Page 6: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Estrutura da Rede Multi-Camadas

–Entrada– Intermediárias, ocultas ou escondidas–Saída

Page 7: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Arquitetura Redes Multi-Camadas

• Quantidade de neurônios nas camadas– camada de entrada é dada pelo problema a

ser abordado.– Camada oculta: empírico– Camada saída: nº classes

• Capacidade de mapeamento (camada oculta oculta)

Page 8: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Processo de aprendizado

• Supervisionado• Não-supervisionado• Por reforço

AMBIENTE PROFESSOR

SISTEMA DE APRENDIZAGEM

Σ

VETRO DE ESTADODO AMBIENTE

RESPOTADESEJADA

RESPOTAREAL

SINAL DE ERRO

Page 9: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Treinamento

• Algoritmo Backpropagation

• Compara o resultado gerado pela rede com o valor de saída esperado, ajustando os pesos associados à unidade de saída, caso os valores não sejam iguais, porém este treinamento ocorre em duas fases:

– É realizado em duas fases:

• Fase FORWARD (para frente)• Fase BACKWARD (para trás)

Page 10: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Fase Forward: Cálculo da saída da rede

Fase backward: Correção dos pesos sinápticos

Camadas intermediárias

Camada de entrada

Camada de saída

Padrão

Saída

Desejada

Page 11: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Bias

Backpropagation: Funcionamento

Σ

Função de ativação

Entradas

X1

X2

X3

Saída Y

w1

w2

w3

Page 12: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Backpropagation: descrição matemática

Regra de propagação Função de ativação

Page 13: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Backpropagation: descrição matemática

• Processo de minimização do erro quadrático pelo método do Gradiente Descendente.

• O mínimo da função de erro pode ser calculada pelo Gradiente.

Page 14: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Backpropagation: descrição matemática

Page 15: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Backpropagation

0,42

0,55

0,62

-0,170,81

0,35

0

1

00

11

0,45 0,45

0,63 0,63

0,64 0,64

A

B

C

D

E( 0 – 0, 648) 0, 64 (1- 0, 64) = - 0,147

0,45 (1- 0,45)( -0,147 x 0, 79)= -0.029

0, 63 (1-0, 63)( - 0,147 x 0,32)= -0.0111

00

11

0,45 0,45

0,63 0,63

0,64 0,64

A

B

C

D

E

0,42

0,55

-0,18

0,32

0,62

0,79

Page 16: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.
Page 17: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Aspectos Práticos

• Alguns aspectos práticos devem ser considerados na utilização de redes neurais MLP.

– Taxa de aprendizagem– Superfície do erro– Momentum – Misturando Exemplos– Overfitting e Underfitting

Page 18: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Taxa de Aprendizagem

• Taxas muito pequenas tornam o processo bastante lento.

• Taxas muito grandes tornam o processo rápido.– Podem não trazer os resultados ideais.

Erro mínimo

Superfície doerro

Taxa pequena Taxa grande

Page 19: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Taxa de Aprendizagem

• O ideal é começar com uma taxa grande e reduzir durante as iterações.

• Permite a exploração global no início (exploration) a local (exploitation) quando o algoritmo estiver próximo do ótimo global.

• Geralmente valores entre 0.05 e 0.75 fornecem bons resultados.

Page 20: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Superfície do erro

• A superfície de erro pode ser bastante complexa dependendo da configuração da rede.

Page 21: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Momentum

• É uma estratégia usada para evitar mínimos locais. Considere a seguinte superfície

• Existem três mínimos locais antes do mínimo global.

Page 22: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Backpropagation: descrição matemática

• Normalmente utilizado para acelerar o processo de treinamento da rede e evitar mínimos locais.

• A fórmula completa do ajuste de pesos utilizando Momentum fica:

Page 23: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Misturando Exemplos (Shuffle)

• Redes neuronais aprendem melhor quando diferentes exemplos de diferentes classes são apresentados a rede.

• Se apresentarmos à rede todos os exemplos de uma classe, e assim por diante, os pesos finais tenderão para a última classe– A rede vai “esquecer” o que ela aprendeu antes.

Page 24: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Overfitting

– Muitos neurônios na camada oculta.– A rede memoriza os padrões de treinamento, ao invés

de extrair as características gerais, gravando suas peculiaridades e ruídos.

– Depois de um certo ponto do treinamento, a rede piora ao invés de melhorar.

• Solução: – Encerrar treinamento cedo– Eliminação de pesos e nodos irrelevantes

Page 25: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Underfitting

• Número reduzido de neurônios na camada oculta.

• Não realiza o mapeamento desejado.

• A rede a gastar tempo em excesso tentando encontrar a representação ótima.

Page 26: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Etapas para o desenvolvimento RNA

COLETA DE DADOS E SEPARAÇÃO EM CONJUNTOS

CONFIGURAÇÃO DA REDE

TREINAMENTO

TESTE

INTEGRAÇÃO

Page 27: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Aplicações Redes MultiCamadas

– Reconhecimento de padrões e Classificação;

– Agrupamento ou categorização (clustering);

– Aproximação de funções e modelagem;

– Previsão;– Otimização;– Controle.

Classificação de imagens

Avaliação de crédito e risco

Reconhecimento de caractere

Previsão e modelagem

Auxílio à decisão

Robótica

Bioinformática

Page 28: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

CLASSIFICAÇÃO

• Classificador não-linear.

• O objetivo básico: o ajuste dos parâmetros livres (pesos e bias) de forma a criar uma superfície de decisão que separe os padrões de entrada em classes distintas.

• A classificação é realizada somente fase de Forward.– Unidades de entrada: componentes de um vetor (a ser

classificada) – Unidades de saída: funções discriminantes utilizados para a

classificação ou dados classificados.

Page 29: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Exemplo Classificação

• Classificação de flores íris• Três espécies: setosa, versicolor e virgínica• Parâmetros de medição: comprimento e largura

da pétala / comprimento e largura da sépala.

Page 30: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Exemplo Classificação

Classificação de flor íris - Silva, 2003.

Page 31: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Exemplo Classificação

Reconhecimento de caracteresMilho, 2000.

Page 32: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Exemplo Classificação

• 20 nós na camada de entrada, 5 nós na camada intermediária e 1 nó de saída.

Sistema Especialista de CardiologiaLima Jr, 2011.

Page 33: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Conclusão

• Evolução no poder computacional em relação às redes de camada única;

• Aplicações complexas

• Viabilidade da utilização

• Topologia e Arquitetura

• Algoritmos de treinamento (Ex.: Rprop, Quickprop, Levenberg-Marquardt).

Page 34: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

REFERÊNCIAS

• DUDA, R. O.; HART, P. E.; STORK; D. G. Pattern Classification. 2.ed. Nova Iorque: Wiley-Interscience. 654 p., 2001

• MITCHELL, Tom M. Machine Learning. Boston: WCB/McGraw-Hill, 414P.,1997.

• RUSSEL S. J., NORVIG P. Artificial Intelligence, A Modern Approach, 2.ed. New Jersey: Prentice Hall, 2003.

• http://www.solv.com.br/prof/redeneural/• http://elson_mendes.sites.uol.com.br/rn/index.html• http://www.ufjf.googlecode.com/svn/trunk/../MonogLuizFernando.pdf

Page 35: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Demonstração

• http://www.eee.metu.edu.tr/~halici/courses/543java/NNOC/Backpropagation.html

Page 36: Daniela Justiniano de Sousa Multilayer Neural Networks Machine Learning.

Perguntas