adaline 21/11/116161 redes neurais - andré ponce de leon f. de perceptron: ajuste de pesos não...
TRANSCRIPT
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