51
Adalin e 21/11/1 1 61 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada Rede Adaline (ADAptive LINEar) Proposta pôr Widrow e Hoff em 1960 Função de ativação é linear Mais usada em problemas de regressão

Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Embed Size (px)

Citation preview

Page 1: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Adaline

21/11/11 61Redes Neurais - André Ponce de Leon F. de

Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Rede Adaline (ADAptive LINEar) Proposta pôr Widrow e Hoff em 1960 Função de ativação é linear

Mais usada em problemas de regressão

Page 2: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Adaline

a

21/11/11 62Redes Neurais - André Ponce de Leon F. de

Estado de ativação 1 = ativo 0 = inativo (ou -1)

Função de ativação linear

f (u) = u = ∑ i=0:d xiwi

Termo θ é considerado também (w0 = θ )

Page 3: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Adaline corresponde a um grau de liberdade a mais

Deslocamento da função de ativação em relação à origem do sistema de coordenadas Em Perceptron era limiar de ativação do neurônio

f(x) = ∑ i=0:n xiwi = w .x

Para uma Adaline de d entradas a saída f(x) é:f(x) = w0 + w1x1 + w2x2 + ... + wdxd

Page 4: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Adaline

1

.

Logo, saída corresponde a uma combinação linear das entradas xi

Pesos da combinação obtidos por meio de treinamento

y = w0 + w1x1 + w2x2 + ... + wdxd

x0 = +1 w0 =θ

x w1 y

x2 w2

.

.

xd wd

Page 5: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Adaline

21/11/11 65Redes Neurais - André Ponce de Leon F. de

Treinamento Supervisionado Correção de erro (regra Delta)

Δwi = η xi(yd - y) (yd ≠y) Δwi = 0 (yd = y)

Reajuste gradual do peso Leva em conta distância entre saída e resposta desejada

Page 6: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Aprendizado Seja um par de treinamento (x, yd)

Erro quadrático: e2 = (yd – w.x)2

e2 = (yd)2 –2ydw.x + (w.x)2

Encontrar o w que leve a menor e2

Superfície de erro

Na realidade deseja-se encontrar o mínimo da superfície correspondente à soma das superfícies

de erro de todos os dados de treinamento

Page 7: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Aprendizado

Para o conjunto de treinamento com n dados Função de erro (custo):

J = ½ ∑ i=1:n(ydi – w.xi)2

Algoritmo de treinamento deve atualizar os pesos visando atingir o mínimo de J

Page 8: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Aprendizado Dada uma condição inicial w(0), qual a direção do ajuste a ser aplicado para que w se aproxime

do mínimo de J? Pelo gradiente da função de custo no ponto

Gradiente possui a mesma direção da maior variação de erro ajuste deve ser na direção contrária

Δw(t)α-J

Page 9: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Aprendizado Gradiente

Page 10: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Aprendizado

η = taxa de aprendizado Define velocidade com que o vetor de pesos é modificado

Equação de ajuste:

w(t+1) = w(t) + η e x(t)

Page 11: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Algoritmo de treinamento

Algoritmo de treinamento de RNA AdalineEntrada: Conjunto de treinamento D = {(x ,y ), i = 1,...n}

i i

Saída: Rede Perceptron com pesos ajustados Iniciar pesos da rede com valores baixos repita

para cada x façai

Calcular valor da saída produzida pela rede f(x )i

erro e = y - f(x )i i

se e > entãoAjustar pesos do neurônio w(t+1) = w(t) + ex(t)

até que erro <

21/11/11 71Redes Neurais - André Ponce de Leon F. de

Page 12: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Algoritmo de teste

Uso da RNA treinada

Algoritmo de teste de RNA AdalineEntrada: Exemplo de teste x e RNAdosSaída: previsão para x

Adaline com pesos ajusta-

Apresentar x à entrada da RNACalcular a saída f(x)Retorne f(x)

21/11/11 72Redes Neurais - André Ponce de Leon F. de

Page 13: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Problemas com redes de umaúnica camada Redes de uma camada geram apenas fronteiras lineares

Grande número de aplicações importantes são não lineares Exemplo: XOR

Page 14: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Problemas

com Perceptron

Ex. XOR

1

0, 0 00, 1 11, 0 11, 1 0

Page 15: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Problemas com Perceptron Solução: utilizar mais de uma camada

Camada 1: uma rede Perceptron para cada grupo de entradas linearmente separáveis Camada 2: uma rede combina as saídas das redes da primeira camada, produzindo a

classificação final Como treinar?

Page 16: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Problemas

com

Perceptron

1

3

2

Page 17: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Rede multicamadas Modelo de rede mais popular

Resolvem problemas mais complexos do que oPerceptron simples e Adaline

Possuem uma ou mais camadas intermediárias Funções de ativação não-lineares em pelo menos uma das camadas intermediárias

Sempre vai existir uma rede com uma camada equivalen- te a uma multicamadas com funções de ativação lineares

Transformações não-lineares sucessivas

Page 18: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Rede multicamadas Grande Funcionalidade

Uma camada intermediária aproxima:

Qualquer função contínua ou Booleana

Duas camadas intermediárias aproximam:

Qualquer função Qualidade da aproximação depende da complexidade da rede

Usar muitas camadas e/ou neurônios Risco de overfitting!

Page 19: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Perceptron multicamadas MLP – Multilayer Perceptron

Uma ou mais camadas intermediárias de neurônios Função de ativação Sigmoide ou Tangente Hiperbólica

Arquitetura mais comum: completamente conectada Cada neurônio realiza uma função específica

Função implementada é uma combinação das funções realiza- das pelos neurônios da camada anterior conectados a ele

Termo θ usado para desvio da função em relação à origemTodos neurônios vão ter um w0 = θ (ou - θ ) com entrada fixa -1 (ou +1)

Page 20: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Perceptron multicamadas

Page 21: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

MLPs

Funções cada vez

Função implementada por cada neurônio Formada pela combinação das funções

implementadas por neurônios da camada anterior Camada 1: hiperplanos no espaço de entradas Camada 2: regiões convexas

Número de lados = número de unidades na camada anterior

Camada 3: Combinações de figuras convexas, produzindo formatos abstratos

Número de figuras convexas = número de unidades da camada anterior

mais complexas

Page 22: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

MLPs

Combinação das funções desempenha das por cada

neurônio define a função

associada à RNA

Page 23: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

MLPs

1 2 k

Camada de saída: um neurônio para cada um dos rótulos presentes

Classificação: função de ativação Sigmoide ou tangente hiperbólica

Regressão: função de ativação linear

Saída para um objeto x: y = [y , y , ..., y ]t, k = número de rótulos

Classificação: vetor y para cada objeto de entrada tem valor 1na posição associada à classe do objeto e 0 nas demais posições

Page 24: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

MLPs

Treinamento por correção de erros Camada de saída: comparação entre vetor de saída dos neurônios e vetor de valores desejados

Classificação: rede classifica objeto corretamente quando a saída mais elevada é a do neurônio correspondente à

classe correta do exemplo Se valores são baixos ou mais de um neurônio dá valor de saída alto, a rede não tem condições de prever

Camadas intermediárias: Qual a saída desejada de uma camada itermediária? Algoritmo Backpropagation (retropropagação de erros)

Page 25: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

MLPs

Algoritmo Backpropagation Estimar o erro das camadas intermediárias por efeito que elas causam no erro da camada de saída

Erro da saída é retroalimentado para as camadas intermediárias Requer funções de ativação contínuas e diferenciáveis

Regra Delta generalizada

Page 26: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Backpropagation Treinamento: iteração de duas fases

Cada fase percorre a rede em dois sentidos

Sinal (forward)

Erro (backward)

Page 27: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Backpropagation

camada de saída éapresentado à rede

pesos de entradada primeira camada

primeira camadaValores de saída são

Treinamento: iteração de duas fases

Fase Forward Fase backward

“Para frente” “Para trás”

Cada objeto de entrada é Erro de cada

neurônio da

Neurônios são percorridos usados para ajustar seus

intermediária até a saída Ajuste prossegue até a

comparados aos intermediária

desejados

Page 28: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Rede MLP

camada de saída

21/11/11 88Sistemas Inteligentes - André Ponce de Leon

camadas intermediáriascamada de

entrada

conexões

Page 29: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Back-propagation

100

André Ponce de Leon de Carvalho

Page 30: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Back-propagation

101

André Ponce de Leon de Carvalho

Treinamento Derivada parcial define ajuste dos pesos: mede contribuição de cada peso no erro da rede

Derivada positiva peso está provocando aumento na diferença entre a saída produzida e a desejada Sua magnitude deve ser reduzida para baixar o erro Derivada negativa peso está contribuindo para que saída produzida seja mais próxima da desejada Seu valor deve ser aumentado

Page 31: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Treinamento

ij

ij

102

André Ponce de Leon de Carvalho

Algoritmo Back-propagation

Iniciar todas as conexões com valores aleatórios

Repita

para cada par de treinamento (x, y)

para cada camada i := 1 a N

para cada neurônio j := 1 a Mi

Calcular a saída f (x)

erro = y - f (x)

para cada camada i := N a 1

para cada neurônio j:= 1 a Mi

Atualizar pesos

até que erro < (ou número máximo de ciclos)

Page 32: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Treinamento

103

André Ponce de Leon de Carvalho

Page 33: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Treinamento

104

André Ponce de Leon de Carvalho

Page 34: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Treinamento

105

André Ponce de Leon de Carvalho

Page 35: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Treinamento

106

André Ponce de Leon de Carvalho

Page 36: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Treinamento

107

André Ponce de Leon de Carvalho

Page 37: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Teste

ij

Algoritmo de teste de RNA MLP

Apresentar dado x a ser reconhecido

para cada camada i := 1 a Npara cada neurônio j := 1 a Mi

Calcular a saída f (x)

Se classificação: discretizar a saída(verifica o maior valor produzido; se valores forem baixos ou muito próximos, rejeitar)

Page 38: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Termo momentum

Para reduzir influência da escolha do valor de η Adiciona uma fração α do valor anterior

de atualização dos pesos ao atual

Quantifica grau de importância da variação do ciclo anterior

Quando o gradiente se mantém apontando na mesma direção, o tamanho dos passos na direção

do mínimo crescerá Atenção: se ambos η e α forem muito

grandes, há o risco de passar pelo mínimo

Page 39: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Termo

momentum

convergência (lenta)

Caminho seguidoutilizando momento Solução original de

convergência (lenta

Page 40: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Variações

Versão padrão: ajuste de pesos para cada objeto individualmente

Variação batch: pesos são ajustados uma única vez para cada ciclo

Page 41: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Variações

Mínimos locais: solução estável que não é a melhor solução Incidência pode ser reduzida Empregando taxa de aprendizado decrescente Adicionando nós intermediários

Utilizando termo de momentum

Backpropagation é muito lento em superfícies complexas Utilizar métodos de segunda ordem Outros algoritmos Ex.: RPROP, Newton, etc.

Page 42: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Critérios de parada

Diferentes critérios podem ser usados: Número máximo de ciclos Taxa máxima de erro

Early stop: estratégia para evitar overfitting Separa parte dos dados de treinamento para validação Dados de validação são apresentados à rede a cada l ciclos Treinamento é finalizado quando erro em validação começa a aumentar

Page 43: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Critérios de parada

Early stop

Page 44: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Convergência do algoritmo

Superfície de erro apresenta mínimos locais e global para problemas complexos Objetivo é atingir mínimo global

Não há teorema de convergência Rede pode convergir para mínimo local ou demorar muito para encontrar solução adequada

Page 45: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Projeto da arquitetura de RNA

Escolhas de função de ativação e topologia da rede

Número de camadas e neurônios, padrão das conexões

Geralmente empíricas (tentativa e erro) Problema de busca

Page 46: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Projeto

daarquitetura

deRNA

de RNAs e combina asDiversas arquiteturas são

resultados

elevado custo de tempo Genéticos na busca e

apenas uma camada Grande custo computacional

Abordagens:

Empírica Meta-heurística

Busca cega, tentativa e erro Gera conjunto de variações

testadas e comparadas que apresentam melhores

Mais utilizada, mas com Geralmente usa Algoritmos

Algumas heurísticas: testar variações

intermediária, pois já tembastante poder expressivo

Page 47: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Projeto

daarquitetura

deRNA

neurônios e conexões aum grande número de

sem neurônios intermediá-Poda remove conexões ou

Abordagens:

Poda (pruning) Construtiva

Começa com uma RNA com Gradualmente insere novos

neurônios uma RNA inicialmente

neurônios redundantes ou rios

irrelevantes

Page 48: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Observações

Atributos devem ser numéricos Categóricos devem ser pré-processados

É necessário normalizar os dadosSimilar a k-NN Relacionado também a ter crescimento muito grande dos valores de peso

Page 49: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Vantagens RNAs

Várias soluções de sucesso em problemas práticos (principalmente percepção e controle)

Tolerância a falhas e ruídos

Page 50: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

Desvantagens RNAs

Capacidade preditiva ainda está aquém à do cérebro

Dificuldade de interpretação do modelo gerado(caixas-pretas)

Escolha de melhor conjunto de parâmetros

Page 51: Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não leva em con- ta distância entre saída e resposta desejada

A

Referências

Slides de: Prof Dr André C. P. L. F. de Carvalho Prof Dr Ricardo Campello Prof Dr Marcilio Carlos Pereira de Souto Livro: A. P. Braga, A. C. P. L. F. Carvalho, T. B. Ludermir, Redes

Neurais Artificiais: teoria e aplicações, 2007, Ed LTC