Algoritmos de Aprendizado
Algoritmos de Aprendizado •Regra de Hebb
•Perceptron
•Delta Rule (Least Mean Square)
•Multi-Layer Perceptrons (Back Propagation)
•Hopfield
•Competitive Learning •Radial Basis Function
Multi
Multi--Layer PerceptronsLayer Perceptrons
• Redes de apenas uma camadauma camada só
representam funções linearmentelinearmente separáveis
Multi
Multi--Layer PerceptronsLayer Perceptrons
• Redes de apenas uma camada só representam funções linearmente separáveis
• Redes de múltiplas camadasmúltiplas camadas
solucionam essa restrição
Multi
Multi--Layer PerceptronsLayer Perceptrons
Rede de 3 camadas: 5 / 5 / 3 / 4
Multi
Multi--Layer PerceptronsLayer Perceptrons
• Redes de apenas uma camada só representam funções linearmente separáveis
• Redes de múltiplas camadas
solucionam essa restrição
• O desenvolvimento do algoritmo BackBack
Propagation
Propagation foi um dos motivos para o ressurgimentoressurgimento da área de RedesRedes
Neurais
Neurais
Back Propagation
Back Propagation
• O grande desafiodesafio foi achar um algoritmo
de aprendizado para a atualização dosatualização dos
pesos
Back Propagation
Back Propagation
• O grande desafiodesafio foi achar um algoritmo
de aprendizado para a atualização dosatualização dos
pesos
pesos das camadas intermediárias.
• Idéia Central:
– Os erroserros dos elementos processadores da
camada de saída
camada de saída (conhecidos pelo treinamentotreinamento supervisionado
supervisionado) são retro-propagadosretro-propagados para as
camadas intermediárias camadas intermediárias Back Propagation Back Propagation Padrão de Entrada: vetor X x1 x2 xi sj netj wj1 wj2 wji Bias = θj +1
Back Propagation
Back Propagation
•
• Características Básicas:Características Básicas:
Back Propagation
Back Propagation
•
• Características Básicas:Características Básicas:
Back Propagation
Back Propagation
•
• Características Básicas:Características Básicas:
– Regra de Propagação netj = Σ xi.wji + θj – Função de Ativação Função NNãão-Linearo-Linear,
diferenci
diferenciáávelvel em todos os pontos.
Back Propagation
Back Propagation
•
• Características Básicas:Características Básicas:
– Regra de Propagação netj = Σ xi.wji + θj – Função de Ativação Função NNãão-Linearo-Linear,
diferenci
diferenciáávelvel em todos os pontos. – Topologia MMúúltiplasltiplas camadas.
Back Propagation
Back Propagation
•
• Características Básicas:Características Básicas:
– Regra de Propagação netj = Σ xi.wji + θj – Função de Ativação Função NNãão-Linearo-Linear,
diferenci
diferenciáávelvel em todos os pontos. – Topologia MMúúltiplasltiplas camadas.
– Algoritmo de Aprendizado Supervisionado
Back Propagation
Back Propagation
•
• Características Básicas:Características Básicas:
– Regra de Propagação netj = Σ xi.wji + θj – Função de Ativação Função NNãão-Linearo-Linear,
diferenci
diferenciáávelvel em todos os pontos. – Topologia MMúúltiplasltiplas camadas.
– Algoritmo de Aprendizado Supervisionado – Valores de Entrada/Saída Binários e/ou
Back Propagation Back Propagation Topologia: Topologia: PE1 Camadas Escondidas Camada Camada de Saída de Saída Entrada Entrada PEm PEk PEj PEi PE1 PE1 PE1 Processo de Aprendizado Processo de Aprendizado • Processo de minimizaçãominimização do erro
quadrático pelo método do GradienteGradiente
Descendente
Descendente ∆wji = -η δE
Processo de Aprendizado
Processo de Aprendizado • Processo de minimizaçãominimização do erro
quadrático pelo método do GradienteGradiente
Descendente
Descendente ∆wji = -η δE
δwji
• Cada peso peso sinsináápticoptico i i do elemento processador jj é atualizado
proporcionalmente ao negativo danegativo da
derivada parcial do erro
derivada parcial do erro deste
processador com relação ao peso.
Processo de Aprendizado
Processo de Aprendizado Onde o erro quadrático do processador j
referente ao padrão p é definido como:
• Epj = 1 (tpj - spj)2 2
• tpj = valor desejado de saída do padrão p para o processador j da camada de saída
• spj = estado de ativação do processador j da camada de saída ao se apresentar o padrão p
Processo de Aprendizado
Processo de Aprendizado Na verdade, deve-se minimizarminimizaro erro de
todos os processadores
todos os processadores da camada de saída, para todos os padrõestodos os padrões
Usa-se o EESSESSE SSum of um of SSquared quared EErrorsrrors
Processo de Aprendizado
Processo de Aprendizado
E
ESSESSE SSum of um of SSquared quared EErrorsrrors • ESSE = 1 Σp Σj (tpj - spj)2
2
• tpj = valor desejado de saída do padrão p para o processador j da camada de saída
• spj = estado de ativação do processador j da camada de saída quando apresentado o padrão p
Cálculo de Cálculo de
∆
∆
w
w
jiji ∆wji = -η δEp δwji Cálculo de Cálculo de∆
∆
w
w
jiji ∆wji = -η δEp = - η δEp δnetj δwji δnetj δwjiCálculo de
Cálculo de
∆
∆
w
w
jiji ∆wji = -η δEp = - η δEp δnetj δwji δnetj δwji e ejj ej = - δEp δnetj Cálculo de Cálculo de∆
∆
w
w
jiji ∆wji = -η δEp = - η δEp δnetj δwji δnetj δwji netj = Σ si.wji + θj ej = - δEp δnetj e ejjCálculo de
Cálculo de
∆
∆
w
w
jiji ∆wji = -η δEp = - η δEp δnetj δwji δnetj δwji netj = Σ si.wji + θj e ejj s sii ej = - δEp δnetj Cálculo de Cálculo de∆
∆
w
w
jiji ∆wji = -η δEp = - η δEp δnetj δwji δnetj δwjinetj = Σ si.wji + θj
∆wji = η . eejj . ssii ej = - δEp
Cálculo de
Cálculo de eejj
Cálculo de
Cálculo de eejj
Cálculo de
Cálculo de eejj
ej = -δEp δnetj
Depende da camada à qual o processador jj pertence:
Cálculo de Cálculo de eejj δEp= δEp . δsj δnetj δsj δnetj ej = -δEp δnetj
Cálculo de Cálculo de eejj δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj
Depende da camada à qual o processador jj pertence:
Cálculo de Cálculo de eejj δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj
Depende da camada à qual o processador jj pertence:
F
Cálculo de Cálculo de eejj δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj
Depende da camada à qual o processador jj pertence:
F F’’((netnetjj)) Cálculo de Cálculo de eejj δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj
Depende da camada à qual o processador jj pertence:
F
F’’((netnetjj)) Se j ∈ Camada de Saída ☺
Cálculo de Cálculo de eejj j j ∈∈Camada de SaCamada de Saíídada δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) E Epp==ΣΣjj 1 ( 1 (ttjj - - s sjj))2 2 2 2 Cálculo de Cálculo de eejj j j ∈∈Camada de SaCamada de Saíídada δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) E Epp==ΣΣjj 1 ( 1 (ttjj - - s sjj))2 2 2 2 [[ 2 . 2 . 1 (1 (ttjj - - s sjj).(-1)]).(-1)] 2 2
Cálculo de Cálculo de eejj j j ∈∈Camada de SaCamada de Saíídada δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) E Epp==ΣΣjj 1 ( 1 (ttjj - - s sjj))2 2 2 2 [[ 2 . 2 . 1 (1 (ttjj - - s sjj).(-1)]).(-1)] 2 2
ej == - - [ [ --((ttjj - - s sjj) ] ) ] . . FF’’((netnetjj))= = (tj - sj) F’(netj)
Cálculo de
Cálculo de eejj
j
j ∈∈Camada EscondidaCamada Escondida
δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) E Epp = f( = f(sj) = ?) = ?
• Pelo aprendizado supervisionadoaprendizado supervisionado, só se conhece o erro na camada de saerro na camada de saíídada((eekk)); • Erro na saída ((eekk)) é função do potencialpotencial
interno
interno do processador ((netnetkk););
• O netk depende dos estados de ativaestados de ativaçãçãoo dos processadores da camada anterior ((ssjj) ) e dos pesos das conexões ((wwkjkj););
• Portanto, ssjj de uma camada escondida afeta, em maior ou menor grau
em maior ou menor grau, o erro de todos os processadores da camada subsequente.
Cálculo de
Cálculo de eejj
j
j ∈∈Camada EscondidaCamada Escondida
F(net) Processador j j da camada escondida PE1 PE2 PEk w1j w2j wkj e1 Cálculo de Cálculo de eejj j
j ∈∈Camada EscondidaCamada Escondida
sj sj
sj
e2
Cálculo de
Cálculo de eejj
j
j ∈∈Camada EscondidaCamada Escondida
δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) δ E Epp = = δ [ 1 Σk (tk - sk)2 ] δsj δsj 2 Cálculo de Cálculo de eejj j
j ∈∈Camada EscondidaCamada Escondida
δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) δ E Epp = = δ [ 1 Σk (tk - sk)2 ] δsj δsj 2 = 2. 1 [ Σk (tk - sk) ] .(-1). δsk 2 δsj
Cálculo de
Cálculo de eejj
j
j ∈∈Camada EscondidaCamada Escondida
δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) δ E Epp = = δ [ 1 Σk (tk - sk)2 ] δsj δsj 2 = 2. 1 [ Σk (tk - sk) ] .(-1). δsk 2 δsj
= - [ Σk (tk - sk) ] . FF’’((netnetkk) . ) . δδnetnetkk
δδssjj
Cálculo de
Cálculo de eejj
j
j ∈∈Camada EscondidaCamada Escondida
δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) δ E Epp = = δ [ 1 Σk (tk - sk)2 ] δsj δsj 2 = 2. 1 [ Σk (tk - sk) ] .(-1). δsk 2 δsj
= - [ Σk (tk - sk) ] . FF’’((netnetkk) . ) . δδnetnetkk
δδssjj
Cálculo de
Cálculo de eejj
j
j ∈∈Camada EscondidaCamada Escondida
δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) δ E Epp = = δ [ 1 Σk (tk - sk)2 ] δsj δsj 2 = 2. 1 [ Σk (tk - sk) ] .(-1). δsk 2 δsj
= - [ Σk (tk - sk) ] . FF’’((netnetkk) . ) . δδnetnetkk δδssjj ej= - {- = - {- Σkek. . wwkjkj} . F} . F’’((netnetjj)) Cálculo de Cálculo de eejj j
j ∈∈Camada EscondidaCamada Escondida
δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) δ E Epp = = δ [ 1 Σk (tk - sk)2 ] δsj δsj 2 = 2. 1 [ Σk (tk - sk) ] .(-1). δsk 2 δsj
= - [ Σk (tk - sk) ] . FF’’((netnetkk) . ) . δδnetnetkk
δδssjj
Processo de Aprendizado
Processo de Aprendizado • Em resumo, após o cálculo da derivada,
tem-se:
–∆wji = η.si.ej
Onde:
si valor de entrada recebido pela conexão ii
ej valor calculado do erro do processador jj
Cálculo do Erro (
Cálculo do Erro ( Cálculo do Erro (eejj)) Processador j pertence à Processador j pertence à Camada de Saída Camada de Saída:: Cálculo do Erro ( Cálculo do Erro (eejj)) Processador j pertence à Processador j pertence à Camada de Saída Camada de Saída:: ej = (tj - sj). δ F(net) δ net
Cálculo do Erro ( Cálculo do Erro (eejj)) Processador j pertence à Processador j pertence à Camada de Saída Camada de Saída:: ej = (tj - sj). δ F(net) δ net F(net) wji s sii saída:ssjj Processador j j da camada de saída Valor desejado de saída: ttjj Cálculo do Erro ( Cálculo do Erro (eejj)) Processador j pertence à Processador j pertence à Camada Escondida Camada Escondida::
Cálculo do Erro ( Cálculo do Erro (eejj)) Processador j pertence à Processador j pertence à Camada Escondida Camada Escondida:: ej = (Σ ek.wkj).δ F(net) δ net Cálculo do Erro ( Cálculo do Erro (eejj)) Processador j pertence à Processador j pertence à Camada Escondida Camada Escondida:: ej = (Σ ek.wkj).δ F(net) δ net F(net) wji s sii Processador j j da camada escondida PE1 PE2 PEk w1j w2j wkj e1 e2 ek
Processo
Processo de de AprendizadoAprendizado
O algoritmo Back Propagation tem portanto
duas fases, para cada padrão apresentado:
Processo
Processo de de AprendizadoAprendizado
O algoritmo Back Propagation tem portanto
duas fases, para cada padrão apresentado:
–
–Feed-Forward Feed-Forward as entradasentradas se propagam pela rede, da camada de entrada até a
Processo
Processo de de AprendizadoAprendizado
O algoritmo Back Propagation tem portanto
duas fases, para cada padrão apresentado:
–
–FeedFeed--Forward Forward as entradasentradas se propagam pela rede, da camada de entrada até a
camada de saída. –
–FeedFeed--BackwardBackward oserros se propagamerros na diredireção contrção contráária ao fluxo de dadosria ao fluxo de dados, indo da camada de saída até a primeira camada escondida.
Processo de Aprendizado
Processo de Aprendizado Fase 1: Feed-Forward
PE1
2 Camadas Escondidas CamadaCamada
de Saída de Saída Entrada Entrada PEm PE PE1 PE1 Valor de entrada Fluxo de Dados Fluxo de Dados
Processo de Aprendizado Processo de Aprendizado PE1 Camada Camada de Saída de Saída Entrada Entrada PEm PEk PEi PE1 PE1 Valor de entrada Fase 1: Feed-Forward 2 Camadas Escondidas Fluxo de Dados Fluxo de Dados Processo de Aprendizado Processo de Aprendizado PE1 Camada Camada de Saída de Saída Entrada Entrada PEm PE PE1 PE1 Valor de entrada Fase 1: Feed-Forward 2 Camadas Escondidas Fluxo de Dados Fluxo de Dados
Processo de Aprendizado Processo de Aprendizado PE1 Camada Camada de Saída de Saída Entrada Entrada PEm PEk PEi PE1 PE1 Valor de entrada Fase 1: Feed-Forward 2 Camadas Escondidas Fluxo de Dados Fluxo de Dados Processo de Aprendizado Processo de Aprendizado PE1 PEm PEk PEi PE1 PE1 Valor alvo Fase 2: Feed-Backward
Cálculo do erro da camada de saída
s smm s s22 s s11 t tmm t t22 t t11 Fluxo de Erros Fluxo de Erros
Processo de Aprendizado Processo de Aprendizado PE1 PEm PEk PEi PE1 PE1 Fase 2: Feed-Backward
Atualização dos pesos da camada de saída
s smm s s22 s s11 t tmm t t22 t t11 em e1 e1 e1 e1 em emem w w2121 w wmkmk w w1111 w wm1m1 ∆wmk = η.sk.em ∆wmk = η.sk.em Fluxo de Erros Fluxo de Erros Processo de Aprendizado Processo de Aprendizado PE1 PEm PEk PEi PE1 PE1 Fase 2: Feed-Backward
Cálculo do erro da 2° camada escondida
s smm s s22 s s11 t tmm t t22 t t11 em e1 e1 e1 e1 em emem w w2121 w wmkmk w w1111 w wm1m1 Fluxo de Erros Fluxo de Erros
Processo de Aprendizado Processo de Aprendizado PE1 PEm PEk PEi PE1 PE1 Fase 2: Feed-Backward
Atualização dos pesos da 2° camada escondida
∆wki = η.si.ek ∆ ∆wwkiki= = ηη.s.sii..eekk e1 ek ek ek ek e1 e1 e1 w wkiki w w3131 w wk1k1 w w2121 w w1111 Fluxo de Erros Fluxo de Erros Processo de Aprendizado Processo de Aprendizado PE1 PEm PEk PEi PE1 PE1 Fase 2: Feed-Backward
Cálculo do erro da 1° camada escondida
e1 ek ek ek ek e1 e1 e1 w wkiki w w3131 w wk1k1 w w2121 w w1111 Fluxo de Erros Fluxo de Erros
Processo de Aprendizado Processo de Aprendizado PE1 PEm PEk PEj PE1 PE1 Fase 2: Feed-Backward
Atualização dos pesos da 1° camada escondida
∆wji = η.si.ej ∆ ∆wwjiji= = ηη.s.sii..eejj ej ej ej ej e1 e1 e1 e1 Fluxo de Erros Fluxo de Erros w wj3j3 w wjiji w wj2j2wwj1j1 Processo de Aprendizado Processo de Aprendizado Este procedimento de aprendizado é
repetido
repetido diversas vezesdiversas vezes, até que, para
todos os processadores da camada de todos os processadores da camada de saída
saída e para todos os padrões detodos os padrões de treinamento
treinamento, o , erro erro seja menor do que o especificado.
Algoritmo de Aprendizado
Algoritmo de Aprendizado
Inicialização
Inicialização::
pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)
Algoritmo de Aprendizado
Algoritmo de Aprendizado
Inicialização
Inicialização::
pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)
Treinamento:
Treinamento:
Loop até que o erroerro de cada processador de saída seja ≤≤tolertolerâânciancia, para todos os padrões do conjunto de treinamento.
Algoritmo de Aprendizado
Algoritmo de Aprendizado
Inicialização
Inicialização::
pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)
Treinamento:
Treinamento:
Loop até que o erroerro de cada processador de saída seja ≤≤tolertolerâânciancia, para todos os padrões do conjunto de treinamento.
Aplica-se um padrpadrãão de entrada o de entrada XXii com o respectivo vetor devetor de sa saíída da YYii desejado. desejado Algoritmo de Aprendizado Algoritmo de Aprendizado Inicialização Inicialização::
pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)
Treinamento:
Treinamento:
Loop até que o erroerro de cada processador de saída seja ≤≤tolertolerâânciancia, para todos os padrões do conjunto de treinamento.
Aplica-se um padrpadrãão de entrada o de entrada XXii com o respectivo vetor devetor de sa
saíída da YYii desejado. desejado
Calcula-se as sasaíídasdas dos processadores, começando da primeira camada escondida até a camada de saída.
Algoritmo de Aprendizado
Algoritmo de Aprendizado
Inicialização
Inicialização::
pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)
Treinamento:
Treinamento:
Loop até que o erroerro de cada processador de saída seja ≤≤tolertolerâânciancia, para todos os padrões do conjunto de treinamento.
Aplica-se um padrpadrãão de entrada o de entrada XXii com o respectivo vetor devetor de sa
saíída da YYii desejado. desejado
Calcula-se as sasaíídasdas dos processadores, começando da primeira camada escondida até a camada de saída.
Calcula-se oerroerro para cada processador da camada de saída. Se
erro
erro ≤≤tolertolerâânciancia, para todos os processadores, volta ao passovolta ao passo .
Algoritmo de Aprendizado
Algoritmo de Aprendizado
Inicialização
Inicialização::
pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)
Treinamento:
Treinamento:
Loop até que o erroerro de cada processador de saída seja ≤≤tolertolerâânciancia, para todos os padrões do conjunto de treinamento.
Aplica-se um padrpadrãão de entrada o de entrada XXii com o respectivo vetor devetor de sa
saíída da YYii desejado. desejado
Calcula-se as sasaíídasdas dos processadores, começando da primeira camada escondida até a camada de saída.
Calcula-se oerroerro para cada processador da camada de saída. Se
erro
erro ≤≤tolertolerâânciancia, para todos os processadores, volta ao passovolta ao passo .
Atualiza os pesos
Atualiza os pesos de cada processador, começando pela camada
Algoritmo de Aprendizado
Algoritmo de Aprendizado
Inicialização
Inicialização::
pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)
Treinamento:
Treinamento:
Loop até que o erroerro de cada processador de saída seja ≤≤tolertolerâânciancia, para todos os padrões do conjunto de treinamento.
Aplica-se um padrpadrãão de entrada o de entrada XXii com o respectivo vetor devetor de sa
saíída da YYii desejado. desejado
Calcula-se as sasaíídasdas dos processadores, começando da primeira camada escondida até a camada de saída.
Calcula-se oerroerro para cada processador da camada de saída. Se
erro
erro ≤≤tolertolerâânciancia, para todos os processadores, volta ao passovolta ao passo .
Atualiza os pesos
Atualiza os pesos de cada processador, começando pela camada
de saída, até a primeira camada escondida. Volta ao passo
Avaliação do Algoritmo
Avaliação do Algoritmo • Foi demonstrado (Cybenko 1989) que a
Multi
Multi--Layer PerceptronLayer Perceptron é um Aproximador
Aproximador UniversalUniversal, isto é, pode
Avaliação do Algoritmo
Avaliação do Algoritmo • Foi demonstrado (Cybenko 1989) que a
Multi
Multi--Layer PerceptronLayer Perceptron é um Aproximador
Aproximador UniversalUniversal, isto é, pode
representar qualquer função.
• O BP é o algoritmo de Redes Neuraisalgoritmo mais utilizado
mais utilizado em aplicações práticas
de previsãoprevisão, classificaçãoclassificação e
reconhecimento de padrões
reconhecimento de padrões em geral.
Capacidade das
Capacidade das Multi Multi--LayerLayer Perceptrons
Capacidade das MLP
Capacidade das MLP
Mostrou-se que 2 camadas escondidas são suficientes para representar regiões derepresentar
qualquer tipo.
Cybenko 88 ⇒ “Continuos valued neural networks with
two hidden layers are sufficient”, Technical report,
Departmento of Computer Science, Tufts University, 1988. Lippmann 87 ⇒ “An Introduction to Computing with Neural
Networks”, ASSP Magazine, pp. 4-22, April 1987.
Capacidade das MLP Capacidade das MLP AND AND OR OR
Capacidade das MLP
Capacidade das MLP Demonstrou-se que as Multi-Layer
Perceptrons com uma camada escondida
são AproximadoresAproximadores Universais Universais
Capacidade das MLP
Capacidade das MLP Demonstrou-se que as Multi-Layer
Perceptrons com uma camada escondida
são AproximadoresAproximadores Universais Universais (funções contínuas)..
capacidade de aproximar, com precisão
arbitrária, essencialmente qualquer
mapeamento contcontíínuonuo do hipercubo [-1, +1] no intervalo (-1, +1).
Cybenko 89 ⇒ “Approximation by superpositions of a Sigmoidal Function”, Mathematics of Control, Signals and
BP /
BP / Aproximador Aproximador UniversalUniversal
Teorema de kolmogorov:
Qualquer mapeamento f(x) contínuo de uma entrada
p-dimensional (p ≥ 2) em uma saída m-dimensional
pode ser implementado exatamente por uma rede de p
entradas, com uma camada escondida de 2p+1 processadores e m processadores de saída.
BP /
BP / Aproximador Aproximador UniversalUniversal
Teorema de kolmogorov:
Qualquer mapeamento f(x) contínuo de uma entrada
p-dimensional (p ≥ 2) em uma saída m-dimensional
pode ser implementado exatamente por uma rede de p
entradas, com uma camada escondida de 2p+1 processadores e m processadores de saída.
BP /
BP / Aproximador Aproximador UniversalUniversal
⇒Verificou-se que o erro decresce na ordem de , conforme o número NN de padrões aumenta. ) / 1 ( N O BP /
BP / Aproximador Aproximador UniversalUniversal
⇒Verificou-se que o erro decresce na ordem de , conforme o número NN de padrões aumenta.
⇒Verificou-se também que o erro decresce
na ordem de em função do número MM de processadores escondidos.
) / 1 ( N O ) / 1 ( M O
BP /
BP / Aproximador Aproximador UniversalUniversal
⇒Verificou-se que o erro decresce na ordem de , conforme o número NN de padrões aumenta.
⇒Verificou-se também que o erro decresce
na ordem de em função do número MM de processadores escondidos. ⇒“Rule of Thumb”
onde N= # de padrões;
M = # de processadores escondidos;
p = dimensão da entrada (Mp ≈ # de parâmetros); ε = erro mínimo desejado.
) / 1 ( N O ) / 1 ( M O ) / (Mp ε O N > BP /
BP / Aproximador Aproximador UniversalUniversal
BP /
BP / Aproximador Aproximador UniversalUniversal
⇒Por que se utiliza mais de uma camada? ⇒A declaração que se necessita de um
número “suficientemente grande” de
processadores na camada escondida.
BP /
BP / Aproximador Aproximador UniversalUniversal
⇒Por que se utiliza mais de uma camada? ⇒A declaração que se necessita de um
número “suficientemente grande” de
processadores na camada escondida.
⇒Quando f(x) a ser aproximada é não
BP /
BP / Aproximador Aproximador UniversalUniversal
⇒Por que se utiliza mais de uma camada? ⇒A declaração que se necessita de um
número “suficientemente grande” de
processadores na camada escondida.
⇒Quando f(x) a ser aproximada é não
contínua.
⇒O número de processadores na camada única pode tender a infinito.
BP /
BP / Aproximador Aproximador UniversalUniversal
⇒Por que se utiliza mais de uma camada?
Rede com duas camadas escondidas
Rede com uma camada escondida
BP /
BP / Aproximador Aproximador UniversalUniversal
⇒
⇒Problema de múltiplas camadasProblema de múltiplas camadas intermediárias
intermediárias:
⇒cada vez que o erro medido é retro-propagado para a camada anterior, ele se torna menos precisomenos preciso.