Redes Neurais
Artificiais
Redes Neurais Artificiais
• RNA: estruturas distribuídas
formadas por grande número
de unidades de processamento
conectadas entre si
• RNA: Eficientes onde
métodos tradicionais têm se
mostrado inadequados
Características das Redes Neurais
Artificiais
• Aprendem através de exemplos
• Adaptabilidade
• Capacidade de generalização
• Agrupar e organizar dados
• Tolerância a falhas
• Implementação rápida
Potenciais áreas de aplicação das
RNAs
• Classificação de padrões
• Clustering/categorização
• Aproximação de funções
• Previsão
• Otimização
• Memória endereçável pelo conteúdo
• Controle
Redes Neurais:
Inspiração Biológica
“What is real? How do you define real? If you’re talking about what you can feel, what you can smell, what you can taste and see, then real is simply electrical signals
interpreted by your brain. This is the world that you know.”
Inspiração Biológica
• O trabalho em Redes Neurais Artificiais (RNA), tem sido
motivado desde o começo pelo reconhecimento de que o cérebro humano processa informações de uma forma
inteiramente diferente do computador digital convencional.
• O cérebro é um sistema de processamento de informação
altamente Complexo, Não-Linear e Paralelo.
Considere uma tarefa de processamento que é realizada corriqueiramente pelo cérebro: a visão humana.
O reconhecimento perceptivo (exemplo, reconhecer um rosto
familiar em uma cena não-familiar) pode ser realizado pelo cérebro em poucos milésimos de segundo.
Inspiração Biológica
•
Como o cérebro é capaz de realizar o reconhecimento
perceptivo, e outras tantas tarefas complexas, em um
intervalo tão curto de tempo, ao passo que tarefas de
complexidade muito menor podem levar dias para
serem executadas em um computador convencional?
•
No momento do nascimento, o cérebro de uma criança
tem uma grande estrutura e a habilidade de
desenvolver suas próprias regras através do que
usualmente denominamos “experiência”.
•
Na sua forma geral, uma rede neural é uma máquina
projetada para modelar/simular a maneira como o
cérebro realiza uma tarefa particular ou uma função de
interesse.
Inspiração Biológica
• Modelos inspirados no cérebro humano
– Compostas por várias unidades de processamento (“neurônios”)
– Interligadas por um grande número de conexões (“sinapses”)
Inspiração Biológica
•
A aprendizagem é resultado de alterações locais nos
neurônios.
•
Fisicamente, existem diversas formas de modificações
possíveis em um neurônio:
dendritos podem nascer, bem como serem removidos;
alguns dendritos se esticam ou se encolhem, permitindo ou eliminando, respectivamente, a conexão com outras células; novas sinapses podem ser criadas ou sofrer alterações;
sinapses também podem ser removidas;
•
A aprendizagem via modulação sináptica é o mecanismo mais
importante para as redes neurais, sejam elas biológicas ou
Inspiração Biológica
• A memória também é resultado de um processo
adaptativo das sinapses.
• Um dos resultados de um processo de
aprendizagem é a criação de um padrão de
conexões sinápticas duradouro, que resulta na
memorização de uma determinada experiência.
• A aprendizagem pode ser vista como o processo
adaptativo da estrutura sináptica, enquanto a
Inspiração Biológica
• O neurônio artificial (McCulloch-Pitts – 1943)
– Funções de classificação binária – Função de ativação
Perceptron
Rede mais simples para classificação de padrões linearmente
separáveis
Estado de ativação
1 – Ativo -1 – Inativo
Função de ativação
ai(t+1)=f(ui(t)) ai(t+1)= -1 se ui(t) < Ɵ 1 se ui(t) >= Ɵ
nx
w
u
a(u(t)) u(t)a(u(t)) = sinal [u(t)]
Perceptron – Modelo de Neurônio
1 x slide 15
0w
nx
2x
3x
1w
3w
2w
nw
limiar 01
0
x
n i i i n i i ix
w
x
w
1 0Compara com zero Se >= 0 então “on” c.c. “off”
Perceptron
•Função de saída = função identidade •Treinamento
– Supervisionado – Correção do erro
• Em que a saída do perceptron é y e a saída desejada é d
•Teorema da convergência: se é possível classificar um conjunto de entradas linearmente separáveis, uma rede Perceptron fará a classificação
•* Taxa de aprendizagem(Ƞ ) introduzida por Rosenblatt (1958) que estende o modelo de McCulloch-Pitts a estímulos que podem assumir valores contínuos, em oposição aos valores apenas binários
) ( ) 1 ( w x d y wi i
i Algoritmo de Treinamento
1. Iniciar todas as conexões w
ijcom valores
aleatórios entre 0 e 1.
2. Repita
Para cada par de treinamento (X, d) Calcular a saída y
Se (d != y) então
Atualizar peso dos neurônios
Até erro ser aceitável ou atingir um numero x de iteração
Algoritmo de Teste
1. Apresentar o padrão X a ser reconhecido
2. Calcular a saída y
3. Se (z = y)
•
Então
•
X pertence a Classe 1
•
Senão
•
X pertence a Classe 2
Exemplo Perceptron
• Classificação 1 Quadrúpede 0 bípede • Padrões de Treinamento 4 características + classificação Amostras: slide 19Animal Carac 1 Carac 2 Carac 3 Carac 4 Classe
Cão 1 -1 1 1 1 Gato 1 1 1 1 1 Cavalo 1 1 -1 1 1 Homem -1 -1 -1 1 0 Galinha -1 1 -1 1 0 Avestruz 1 -1 1 -1 0
Exemplo Perceptron
•
Função de Ativação
F(a) = 1 se u(x) >= Ɵ F(a) = -1 se u(x) < Ɵ•
Função Saída
Se F(a) = 1 então Y = 1 Se F(a) = -1 então Y = 0•
Taxa de Aprendizagem
ƞ = 1•
Limiar
Ɵ = 1Exemplo Perceptron
Perceptron
Animal c1 c2 c3 c4 u(x) a(x) yo yd w1 w2 w3 w4
0 0 0 0 Cão 1 -1 1 1 1 Gato 1 1 1 1 1 Cavalo 1 1 -1 1 1 Homem -1 -1 -1 1 0 Galinha -1 1 -1 1 0 Avestruz 1 -1 1 -1 0 Cão 1 -1 1 1 1 Gato 1 1 1 1 1 Cavalo 1 1 -1 1 1 Homem -1 -1 -1 1 0 Galinha -1 1 -1 1 0 Avestruz 1 -1 1 -1 0 slide 21
Resposta
Perceptron
Animal c1 c2 c3 c4 u(x) a(x) yo yd w1 w2 w3 w4
0 0 0 0 Cão 1 -1 1 1 0 -1 0 1 1 -1 1 1 Gato 1 1 1 1 2 1 1 1 1 -1 1 1 Cavalo 1 1 -1 1 0 -1 0 1 2 0 0 2 Homem -1 -1 -1 1 0 -1 0 0 2 0 0 2 Galinha -1 1 -1 1 0 -1 0 0 2 0 0 2 Avestruz 1 -1 1 -1 0 -1 0 0 2 0 0 2 Cão 1 -1 1 1 4 1 1 1 2 0 0 2 Gato 1 1 1 1 4 1 1 1 2 0 0 2 Cavalo 1 1 -1 1 4 1 1 1 2 0 0 2
Exercício
• Considere um perceptron de duas entradas (x1 e
x2) e uma saída (y). Com função de ativação
limiar similar a questão anterior, entretanto com Ө
desconhecido. Taxa de aprendizagem igual a 0.4
• Determine a rede perceptron que implemente as
funções booleanas:
a) AND
b) OR
Exercício
• Dada uma rede do tipo Perceptron formada três
terminais de entrada, utilizando pesos iniciais w0
= 0.4, w1 = -0.6 e w2 = 0.6, função limiar Ɵ = 0.5
e uma taxa de aprendizado = 0.4, responda os
itens abaixo:
a) Ensinar a rede a gerar a saída -1 para o padrão 001 e a saída +1 para os padrão 110
Adaline
• O Adaline é elemento linear cuja saída y é
simplesmente uma combinação linear das
componentes do vetor de entrada x:
•Treinamento
– Supervisionado
– Correção de erro (regra LMS (Least Mean Square) – delta,
Widrow-Hoff
)
Adaline
) ( ) ( ) ( ) ( 2 1 ) ( )) ( ( ) 1 ( 1 2 ) 1 ( o d i i i o d i n i i i o o d i i i y y x w w y y x J grad x w y y y J w J J grad J grad w w
slide 27Algoritmo de Treinamento
1. Iniciar todas as conexões w
ijcom valores
aleatórios dentro de um intervalo;
2. Repita
Para cada par de treinamento (X, d) Calcular a saída y
Se (d – y > erro aceitável) então Atualizar peso dos neurônios
Até erro ser aceitável ou se atingir um numero de ciclos máximo
Adaline x Perceptron
• Enquanto o perceptron utiliza normalmente uma
função degrau (limiar) e por isso é bastante
utilizado para classificação, o Adaline utiliza uma
função linear e é utilizado para aproximação de
funções ou regressão linear
• O parâmetro Ɵ no Adaline serve como um fator de
descolamento da função de ativação em relação a
origem. Já no Perceptron esse parâmetro
determina onde ocorrerá a separação linear do
Exercício
Utilizando a rede Adaline, encontre a função que gerou
os seguintes dados:
O valor de Ɵ é 0, a taxa de aprendizagem é 0,1. Os
pesos iniciais de w1 é 2 e w2 é 3. A taxa mínima de
erro é 0,005 em módulo.
X1 X2 Y 2 2 6 3 3 9 2 1 4 1 1 3 1 2 5Aprendizado em Batch
m j j o j d j i i i m j j o j d j i n i i i j o m j j o j d i i i y y x m w w y y x m J grad x w y y y m J w J J grad J grad w w 1 ) 1 ( 1 1 1 2 ) 1 ( ) ( 1 ) ( 1 ) ( ) ( 2 1 ) ( )) ( (
slide 31Redes Neurais:
Modelagem
Estrutura das Redes Neurais
Artificiais
slide 33 camadas intermediárias camada de saída camada de entrada conexõesConceitos básicos
• Estrutura geral das RNA
– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia
Conceitos básicos
• Estrutura geral das RNA
– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia slide 35
Unidades de processamento
• Função: receber entradas de conjunto de
unidades A, computar função sobre entradas e
enviar resultado para conjunto de unidades B
• Entrada total:
u
x w
j j j N
1 f (xw)x
1x
2 y w1 w2 wN f (a(xiwi))Conceitos básicos
• Estrutura geral das RNA
– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia slide 37
Estado de ativação
• Representa o estado dos neurônios da rede
• Pode assumir valores
– Binários (0 e 1)
– Bipolares (-1 e +1) – Reais
Conceitos básicos
• Estrutura geral das RNA
– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia slide 39
Funções de ativação
• Processa conjunto de entradas recebidas e o
transforma em estado de ativação
• Função de ativação
– Atualiza estado de ativação
• a(t + 1) = F [a(t), u(t)] • a(t + 1) = F [u(t)]
– Atualização
• Síncrona (mais comum) • Assíncrona
Funções de ativação
Funções de ativação mais comuns:
a(t + 1) = u(t) (linear)
a(t + 1) =
a(t + 1) = 1/(1 + e- lu(t)) (sigmoid logística)
a(t + 1) = (1 - e-lu(t)) (tangente hiperbólica)
(1 +e-lu(t))
slide 41
1 , se u(t) ≥ q 0, se u(t) < q
Funções de ativação
Função Linear
F[u(t)]u(t)
Funções de ativação
Função Limiar Unipolar
slide 43 F[u(t)] u(t) F[u(t)] =
0, se u(t) <
1, se u(t)
Funções de ativação
Função Limiar Bipolar
F[u(t)]
u(t)
F[u(t)] = sinal [u(t)]
F[u(t)] =
-1, se u(t) <
1, se u(t)
Funções de ativação
Função piecewise linear
slide 45 F[u(t)] u(t) F[u(t)] = -1, se u(t) < - +1, se u(t) > - u(t) 1 -1
Funções de ativação
Função Sigmoid Logística(Unipolar)
F[u(t)]
F[u(t)] = 1/(1 + e
- lu(t))
Funções de ativação
Função Tangente Hiperbóbica (Sigmoid Bipolar)
slide 47
F[u(t)] =
(1 +e
-lu(t))
(1 - e
-lu(t))
F[u(t)] +1 -1Conceitos básicos
• Estrutura geral das RNA
– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia
Funções de saída
• Função de saída
– Transforma estado de ativação de uma unidade em seu sinal de saída
• yi (t) = ƒi (ai (t))
– Geralmente é uma função identidade
Valores de entrada e saída
• Sinais de entrada e saída de uma RNA geralmente são
números reais
– Números devem estar dentro de um intervalo
• Tipicamente entre -1 e +1 ou 0 e 1
• Codificação realizada pelo projetista da rede
• Em alguns dados há a necessidade de normalização.
– Técnicas de Normalização:
• Valor normalizado = (valor-média)/(maior – menor) • Valor normalizado = (valor-menor)/(maior – menor)
Conceitos básicos
• Estrutura geral das RNA
– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia slide 51
Conexões
• Definem como neurônios estão interligados
– Nós são conectados entre si através de conexões específicas
• Codificam conhecimento da rede
– Uma conexão geralmente tem um valor de ponderamento ou peso associada a ela
Conexões
• Tipos de conexões (wik(t)) – Excitatória: (wik(t) > 0) – Inibitória: (wik(t) < 0) – Conexão inexistente: (wik(t) = 0) • Número de conexões de um nó– in: número de conexões de entrada – out: número de conexões de saída
– Exemplo:4 conexões de entrada no neurônio em destaque e 2 de saída
Conceitos básicos
• Estrutura geral das RNA
– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia
Topologia
• Número de camadas
– Uma camada (Ex Perceptron, Adaline) – Multi-camadas (Ex MLP)
• Completamente conectada • Parcialmente conectada • Localmente conectada
Completamente conectada
Parcialmente conectada
slide 57
Parcialmente conectada
Topologia
• Arranjo das conexões
– Redes feedforward
• Não existem loops de conexões
– Redes recorrentes
• Conexões apresentam loops
• Mais utilizadas em sistemas dinâmicos
– Lattices
• Matriz n-dimensional de neurônios
Projeto de Redes
Neurais: Arquitetura
e Forma de
Aprendizado
Projeto da Rede Neural
• Escolha da Topologia
• Selecionar arquitetura adequada para a rede
– Número de camadas
– Número de nós da camada de entrada igual a quantidade de características do padrão
• Pré-processamento pode aumentar ou diminuir número de nós
Aprendizado em RNAs
• Capacidade de aprender a partir de seu ambiente e
melhorar sua performance com o tempo
• Parâmetros livres de uma RNA são adaptados
através de estímulos fornecidos pelo ambiente
– Processo iterativo de ajustes aplicado a sinapses e thresholds
– Idealmente, a RNA sabe mais sobre seu ambiente após cada iteração
• RNA deve produzir para cada conjunto de
entradas apresentado o conjunto de saídas
Aprendizado em RNAs
• Mecanismos de aprendizado
– Modificação de pesos (wij(t)) associados às conexões
– Acréscimo e/ou eliminação de conexões/neurônios
• Algoritmos de aprendizado
– Conjunto de regras bem definidas para a solução de um problema de aprendizado
– Grande variedade
• Cada um com suas vantagens
• Diferem na maneira como ajuste ∆wik(t) é realizado
Aprendizado por correção de erro
• Taxa de aprendizado (η) 0 < h < 1
– Taxas pequenas
– Taxas grandes
Média das entradas anteriores Estimativas estáveis de peso Aprendizado lento
Aprendizado rápido
Captação de mudanças no processo
Multi Layer
Perceptron
Exercício
• Repetir o exercício do perceptron com as portas
AND e OR para a função XOR
O neurônio de McCulloch-Pitts não é capaz de implementar a função XOR!!!
Poder de Representação
• O modelo de McCulloch-Pitts consegue
representar qualquer função booleana linearmente
separável:
Poder de Representação
• Para resolver tal problema, é necessário fazer a
composição de neurônios (Rede Neural Artificial)
Exercício
• No que diz respeito às redes neurais, assinale a opção correta.
a) O treinamento de uma rede neural tem tempo determinado de execução.
b) Não há problemas em realizar o teste de desempenho de uma rede neural com o mesmo conjunto de dados usado para o treinamento.
c) O número de pesos de uma rede neural não influencia a rapidez com que ela processa dados.
d) O aprendizado supervisionado é o paradigma de treinamento mais utilizado para desenvolver aplicações de redes neurais para classificação e predição. e) O número de camadas ocultas de uma rede de alimentação direta é
inversamente proporcional ao aumento do espaço de hipóteses que ela pode representar.
Rede Multilayer Perceptron
•
Arquitetura de RNA mais utilizada
•
Possuem uma ou mais camadas intermediárias de nós
Função de ativação mais utilizada é sigmóide logística
•
Treinamento de redes MLP
Grande variedade de Algoritmos Geralmente supervisionados
Estáticos
Não alteram estrutura da rede Backpropagation, Rprop
Construtivos
Alteram estrutura da rede Upstar, Cascade Correlation
Treinamento de redes MLP
• Treinamento estático
– MLPs com formatos e tamanhos diferentes podem utilizar mesma regra de aprendizado
• Topologias diferentes podem resolver o mesmo problema
– Regra mais utilizada: backpropagation
Backpropagation
• Rede é treinada com pares entrada-saída
• Cada entrada de treinamento está associada a uma
saída desejada
• Treinamento em duas fases, cada uma percorrendo
a rede em um sentido
– Fase forward – Fase backward
Sinal (forward)
Aprendizado
slide 75 camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d aRNA - Aprendizado
camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d aRNA - Aprendizado
slide 77 camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d aRNA - Aprendizado
camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d aRNA - Aprendizado
slide 79 camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d aRNA - Aprendizado
camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d aRNA - Aprendizado
slide 81 camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a S a í d a D e s e j a d a ErroRNA - Aprendizado
camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d aRNA - Aprendizado
slide 83 camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d aRNA - Aprendizado
camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d aBackpropagation
•
Fase Forward
Entrada é apresentada à primeira camada da rede
Após os neurônios da camada i calcularem seus sinais de saída, os neurônios da camada i + 1 calculam seus sinais de saída
Saídas produzidas pelos neurônios da última camada são comparadas às saídas desejadas
Erro para cada neurônio da camada de saída é calculado
•
Fase Backward
A partir da última camada:
O nó ajusta seu peso de modo a reduzir o seu erro
Nós das camadas anteriores tem seu erro definidos por:
Erros dos nós da camada seguinte conectados a ele ponderados pelos pesos das conexões entre eles
Backpropagation
• Treina redes MLP produzindo representações
internas necessárias para nós intermediários
• Supor que cada combinação de pesos e thresholds
corresponda a um ponto em uma superfície de
solução
– Solução = pontos mais baixos da superfície
– Procura minimizar erro ajustando pesos e thresholds para que eles correspondam aos pontos mais baixos da superfície
Backpropagation
• Gradiente de uma função está na
direção e sentido onde a função
tem taxa de variação máxima
– Garantido de achar uma solução para superfícies simples
• Backpropagation fornece
aproximação da trajetória no
espaço de peso computado pelo
método do gradiente descendente
Backpropagation
Processamento
Forward (calcula a saida) teste
Backward (ajusta os pesos) treinamento Estados de ativação 1 (+1) = ativo 0 (-1) = inativo Função de ativação Não linear
Diferenciável , contínua e, geralmente, não decrescente Sigmoidal
ai(t + 1) = 1/(1 + e- ui(t)) (sigmoid logística)
ai(t + 1) = (1 - e-ui(t)) (tang. hiperbólica)
(1 +e-ui (t)) a[u(t)] 1 u(t) F[u(t)] +1 -1 u(t) Sigmoid
Backpropagation
• Funcionamento do algoritmo:
– Ponto de partida para obter a expressão de ajuste de pesos: slide 89
j j j y d E ( )2 21 Função custo do erro para um padrão,
considerando todos os nodos de saída.
i j i j w E w
Para caminhar em direção ao mínimo,o peso é ajustado com sinal contrário
Backpropagation
• Interpretação gráfica: Busca do mínimo global.
w E (erro de treinamento) w0 w > 0 d E d w < 0 d E d w > 0 w < 0 w0
Backpropagation
•
A partir desta idéia, fazendo manipulações
matemáticas, obtemos a expressão de ajuste de pesos:
•
Em cada iteração, o algoritmo realiza duas fases:
Forward (a rede gera suas saídas a partir das entradas), Backward (a rede ajusta seus pesos a partir das saídas).
slide 91
w f net caso contráriosaída de nodo for se net f y d t onde t x t w onde w t w t w j l j l l j j j j i j i j i j i j i j ), ( ' ) ( ), ( ' ) ( ) ( ) ( ) ( ) ( ) 1 (
Backpropagation
• Fase Forward: Apresenta-se o padrão à rede, que
gera uma saída.
Padrão y
(Saída da rede)
Backpropagation
• Fase Backward: Ajusta os pesos da rede a partir da
camada de saída.
slide 93
w f net caso contráriosaída de nodo for se net f y d t onde t x t w j l j l l j j j j i j i j ), ( ' ) ( ), ( ' ) ( ) ( ) ( ) ( w é de um nodo de saída: w = x w y f x = ( d – y ) f ’(net) Saída desejada net = wi xi
Backpropagation
w f net caso contráriosaída de nodo for se net f y d t onde t x t w j l j l l j j j j i j i j ), ( ' ) ( ), ( ' ) ( ) ( ) ( ) (
w1 não é de um nodo de saída:
w1 = 1 x1 w1 1 = ( w ) f ’(net1) net1 f x1 w Calculado anteriormente
Treinamento
1)
Iniciar todas as conexões com valores aleatórios
2)
ciclo = 0
3)
Repita
erro = 0
ciclo = ciclo + 1
Para cada par de treinamento (X, d) Para cada camada k := 1 a N
Para cada neurônio J := 1 a Mk Calcular a saída yjk
Se erro > e
Então Para cada camada k := N a 1
Para cada neurônio J := 1 a Mk Atualizar pesos
Até erro < e ou até ciclo > qtdMax
Teste
1) Apresentar padrão X a ser reconhecido
2) Para cada camada k := 1 a N
Para cada neurônio J := 1 a Mk
Calcular a saída yjk
Comparar saída yNj com dcj para cada classe c
Classificar padrão como pertencente a classe
cuja saída desejada é mais próxima da saída
produzida
MLPs como classificadores
• Função implementada por cada neurônio é
formada pela combinação das funções
implementadas por neurônios da camada anterior
– Camada 1: linhas retas no espaço de decisão – Camada 2: regiões contínuas
• Número de lados = número de unidades na camada 1
– Camada 3: Combinações de figuras contínuas, produzindo formatos abstratos
Regiões contínuas
Aberta Aberta Fechada
Fechada Fechada
Combinações de regiões contínuas
Unidades intermediárias
• Número de camadas intermediárias necessárias
– 1 camada: suficiente para aproximar qualquer função contínua ou Booleana
– 2 camadas: suficiente para aproximar qualquer função – 3 ou mais camadas: pode facilitar o treinamento da rede
• Cada vez que o erro é propagado para a camada anterior, ele se torna menos útil
Unidades intermediárias
Número de neurônios nas camadas intermediárias
Em geral não é conhecido
Utilizar função do número de entradas e saídas
Não há garantias
Número de pesos vezes dez é menor que o número de exemplos
Apenas reduz overfitting
Se o número de exemplos for muito maior que o número de pesos, overfitting é improvável, mas pode ocorrer underfitting
Depende de:
Número de exemplos de treinamento Quantidade de ruído
Complexidade da função a ser aprendida
Generalização
• Classificação correta de padrões não utilizados no
treinamento
• Ocorre através da detecção de características
relevantes do padrão de entrada
• Padrões desconhecidos são atribuídos a classes
cujos padrões apresentam características
semelhantes
Dificuldades de aprendizado
•
Backpropagation é muito lento em superfícies
complexas
Considerar efeitos de segunda ordem para gradiente descendente (Rprop)
•
Mínimos locais: solução estável que não fornece
saída correta
Taxa de aprendizado decrescente Adicionar nós intermediários
Utilizar momentum Adicionar ruído
Dificuldades de aprendizado
• Overfitting
– Depois de um certo ponto do treinamento, a rede piora ao invés de melhorar
– Memoriza padrões de treinamento, incluindo suas peculiaridades (piora generalização)
– Alternativas
• Encerrar treinamento cedo • Reduzir pesos
Atualização dos pesos
• Ciclo
– Apresentação de todos os exemplos de treinamento durante o aprendizado
• Abordagens para atualização dos pesos
– Por padrão (online)
• Exemplos devem ser apresentados em ordem aleatória
– Por ciclo (batch)
Atualização dos pesos
• Por padrão
– Pesos atualizados após apresentação de cada padrão – Estável se taxa de aprendizado e momentum forem
pequenos (reduzir progressivamente as taxas) – Altas taxas rede instável
– Mais rápida, principalmente se o conjunto de treinamento for grande e redundante
Atualização dos pesos
• Por ciclo
– Pesos atualizados depois que todos os padrões de treinamento forem apresentados
– Geralmente mais estável
– Pode ser lento se o conjunto de treinamento for grande e redundante
– Estimativa mais precisa do vetor gradiente