Adaline 21/11/116161 Redes Neurais - André Ponce de Leon F. de Perceptron: ajuste de pesos não...

Preview:

Citation preview

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

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 = θ )

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

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

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

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

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

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

Aprendizado Gradiente

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)

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

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

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

Problemas

com Perceptron

Ex. XOR

1

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

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?

Problemas

com

Perceptron

1

3

2

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

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!

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)

Perceptron multicamadas

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

MLPs

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

neurônio define a função

associada à RNA

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

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)

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

Backpropagation Treinamento: iteração de duas fases

Cada fase percorre a rede em dois sentidos

Sinal (forward)

Erro (backward)

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

Rede MLP

camada de saída

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

camadas intermediáriascamada de

entrada

conexões

Back-propagation

100

André Ponce de Leon de Carvalho

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

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)

Treinamento

103

André Ponce de Leon de Carvalho

Treinamento

104

André Ponce de Leon de Carvalho

Treinamento

105

André Ponce de Leon de Carvalho

Treinamento

106

André Ponce de Leon de Carvalho

Treinamento

107

André Ponce de Leon de Carvalho

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)

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

Termo

momentum

convergência (lenta)

Caminho seguidoutilizando momento Solução original de

convergência (lenta

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

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.

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

Critérios de parada

Early stop

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

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

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

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

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

Vantagens RNAs

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

Tolerância a falhas e ruídos

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

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

Recommended