Adaline

Perceptron: ajuste de pesos não leva em conta 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

21/11/11
Mais usada em problemas de regressão
Redes Neurais - André Ponce de Leon F. de
61
Adaline

Estado de ativação



1 = ativo
0 = inativo (ou -1)
Função de ativação linear

fa(u) = u = ∑

21/11/11
i=0:d
x iw i
Termo θ é considerado também (w0 = θ )
Redes Neurais - André Ponce de Leon F. de
62
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

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
x
1
x2
w0 =θ
w1
w2
.
.
.
xd
wd
y
Adaline

Treinamento


Supervisionado
Correção de erro (regra Delta)

Δ w = η x (y - y)
i
i d

Δw

i
≠y)
(yd = y)
Reajuste gradual do peso

21/11/11
=0
(yd
Leva em conta distância entre saída e resposta desejada
Redes Neurais - André Ponce de Leon F. de
65
Aprendizado

Seja um par de treinamento (x, yd)

Erro quadrático: e2 = (yd – w.x)2


Encontrar o w que leve a menor e2


e2 = (yd)2 –2ydw.x + (w.x)2
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 Adaline
Entrada: Conjunto de treinamento D = {(xi ,yi), i = 1,...n}
Saída: Rede Perceptron com pesos ajustados
Iniciar pesos da rede com valores baixos
repita
para cada xi faça
Calcular valor da saída produzida pela rede f(xi)
erro e = yi - f(xi)
se e > então
Ajustar pesos do neurônio w(t+1) = w(t) + ex(t)
até que erro <
21/11/11
Redes Neurais - André Ponce de Leon F. de
71
Algoritmo de teste

Uso da RNA treinada
Algoritmo de teste de RNA Adaline
Entrada: Exemplo de teste x e RNA Adaline com pesos ajustados
Saída: previsão para x
Apresentar x à entrada da RNA
Calcular a saída f(x)
Retorne f(x)
21/11/11
Redes Neurais - André Ponce de Leon F. de
72
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
0, 0
0, 1
1, 0
1, 1
0
1
1
0
Ex. XOR
1
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 o
Perceptron 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 equivalente 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:


Duas camadas intermediárias aproximam:



Qualquer função contínua ou Booleana
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 realizadas pelos neurônios da camada anterior conectados a ele
Termo θ usado para desvio da função em relação à origem
Todos neurônios vão ter um w0 = θ (ou - θ ) com entrada fixa -1 (ou
+1)
Perceptron multicamadas
MLPs

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
Funções cada vez
mais complexas
MLPs
Combinação
das funções
desempenha
das por cada
neurônio
define a
função
associada à
RNA
MLPs

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 = [y1, y2, ..., yk]t, k = número de rótulos
Classificação: vetor y para cada objeto de entrada tem valor 1
na 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

Treinamento: iteração de duas fases
Fase Forward
Fase backward
“Para frente”
Cada objeto de entrada é
apresentado à rede
Neurônios são percorridos
da primeira camada
intermediária até a saída
Valores de saída são
comparados aos
desejados
“Para trás”
Erro de cada neurônio da
camada de saída é
usados para ajustar seus
pesos de entrada
Ajuste prossegue até a
primeira camada
intermediária
Rede MLP
camadas intermediárias
camada de
saída
camada de
entrada
conexões
21/11/11
Sistemas Inteligentes - André Ponce de Leon
88
Back-propagation
André Ponce de Leon de Carvalho
100
Back-propagation

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
André Ponce de Leon de Carvalho
101
Treinamento
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)
ij
erro = y - f (x)
ij
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)
André Ponce de Leon de Carvalho
102
Treinamento
André Ponce de Leon de Carvalho
103
Treinamento
André Ponce de Leon de Carvalho
104
Treinamento
André Ponce de Leon de Carvalho
105
Treinamento
André Ponce de Leon de Carvalho
106
Treinamento
André Ponce de Leon de Carvalho
107
Teste
Algoritmo de teste de RNA MLP
Apresentar dado x a ser reconhecido
para cada camada i := 1 a N
para cada neurônio j := 1 a Mi
Calcular a saída f (x)
ij
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
Caminho seguido
utilizando momento
Solução original de
convergência (lenta)
(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 da arquitetura de RNA

Abordagens:
Empírica
Meta-heurística
Busca cega, tentativa e erro
Diversas arquiteturas são
testadas e comparadas
Mais utilizada, mas com
elevado custo de tempo
Gera conjunto de variações
de RNAs e combina as
que apresentam melhores
resultados
Geralmente usa Algoritmos
Genéticos na busca e
variações
Grande custo computacional
Algumas heurísticas: testar
apenas uma camada
intermediária, pois já tem
bastante poder expressivo
Projeto da arquitetura de RNA

Abordagens:
Poda (pruning)
Construtiva
Começa com uma RNA com
um grande número de
neurônios
Poda remove conexões ou
neurônios redundantes ou
irrelevantes
Gradualmente insere novos
neurônios e conexões a
uma RNA inicialmente
sem neurônios intermediários
Observações

Atributos devem ser numéricos


Categóricos devem ser pré-processados
É necessário normalizar os dados

Similar 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
Referências
A
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
Download

Cap7RN2